Merge pull request #469 from paritytech/segwit_hardcode
Hardcode SegWit deployment
This commit is contained in:
commit
e872cd1e63
|
@ -59,7 +59,7 @@ impl Deserializable for IpAddress {
|
||||||
let bytes: &mut [u8] = &mut [0u8; 12];
|
let bytes: &mut [u8] = &mut [0u8; 12];
|
||||||
try!(reader.read_slice(bytes));
|
try!(reader.read_slice(bytes));
|
||||||
if bytes == &[0u8; 12] {
|
if bytes == &[0u8; 12] {
|
||||||
let mut address: &mut [u8] = &mut [0u8; 4];
|
let address: &mut [u8] = &mut [0u8; 4];
|
||||||
try!(reader.read_slice(address));
|
try!(reader.read_slice(address));
|
||||||
let address = net::Ipv4Addr::new(address[0], address[1], address[2], address[3]);
|
let address = net::Ipv4Addr::new(address[0], address[1], address[2], address[3]);
|
||||||
Ok(IpAddress(net::IpAddr::V4(address)))
|
Ok(IpAddress(net::IpAddr::V4(address)))
|
||||||
|
|
|
@ -38,7 +38,7 @@ impl BlockHeaderBytes {
|
||||||
|
|
||||||
/// Set merkle root hash
|
/// Set merkle root hash
|
||||||
fn set_merkle_root_hash(&mut self, hash: &H256) {
|
fn set_merkle_root_hash(&mut self, hash: &H256) {
|
||||||
let mut merkle_bytes: &mut [u8] = &mut self.data[4 + 32..4 + 32 + 32];
|
let merkle_bytes: &mut [u8] = &mut self.data[4 + 32..4 + 32 + 32];
|
||||||
merkle_bytes.copy_from_slice(&**hash);
|
merkle_bytes.copy_from_slice(&**hash);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -307,7 +307,7 @@ impl Storage {
|
||||||
|
|
||||||
// update score of all packages this transaction is in
|
// update score of all packages this transaction is in
|
||||||
for ancestor_hash in &entry.ancestors {
|
for ancestor_hash in &entry.ancestors {
|
||||||
if let Some(mut ancestor_entry) = self.by_hash.get_mut(ancestor_hash) {
|
if let Some(ancestor_entry) = self.by_hash.get_mut(ancestor_hash) {
|
||||||
let removed = self.references.ordered.by_package_score.remove(&(ancestor_entry as &Entry).into());
|
let removed = self.references.ordered.by_package_score.remove(&(ancestor_entry as &Entry).into());
|
||||||
|
|
||||||
ancestor_entry.package_size += entry.size;
|
ancestor_entry.package_size += entry.size;
|
||||||
|
@ -356,7 +356,7 @@ impl Storage {
|
||||||
let mut ancestors: Option<Vec<H256>> = None;
|
let mut ancestors: Option<Vec<H256>> = None;
|
||||||
|
|
||||||
// modify the entry itself
|
// modify the entry itself
|
||||||
if let Some(mut entry) = self.by_hash.get_mut(h) {
|
if let Some(entry) = self.by_hash.get_mut(h) {
|
||||||
let insert_to_package_score = self.references.ordered.by_package_score.remove(&(entry as &Entry).into());
|
let insert_to_package_score = self.references.ordered.by_package_score.remove(&(entry as &Entry).into());
|
||||||
let insert_to_transaction_score = self.references.ordered.by_transaction_score.remove(&(entry as &Entry).into());
|
let insert_to_transaction_score = self.references.ordered.by_transaction_score.remove(&(entry as &Entry).into());
|
||||||
|
|
||||||
|
@ -379,7 +379,7 @@ impl Storage {
|
||||||
if miner_virtual_fee_change != 0 {
|
if miner_virtual_fee_change != 0 {
|
||||||
ancestors.map(|ancestors| {
|
ancestors.map(|ancestors| {
|
||||||
for ancestor_hash in ancestors {
|
for ancestor_hash in ancestors {
|
||||||
if let Some(mut ancestor_entry) = self.by_hash.get_mut(&ancestor_hash) {
|
if let Some(ancestor_entry) = self.by_hash.get_mut(&ancestor_hash) {
|
||||||
let insert_to_package_score = self.references.ordered.by_package_score.remove(&(ancestor_entry as &Entry).into());
|
let insert_to_package_score = self.references.ordered.by_package_score.remove(&(ancestor_entry as &Entry).into());
|
||||||
ancestor_entry.package_miner_virtual_fee += miner_virtual_fee_change;
|
ancestor_entry.package_miner_virtual_fee += miner_virtual_fee_change;
|
||||||
if insert_to_package_score {
|
if insert_to_package_score {
|
||||||
|
|
|
@ -90,7 +90,7 @@ impl ConsensusParams {
|
||||||
bit: 1,
|
bit: 1,
|
||||||
start_time: 1479168000,
|
start_time: 1479168000,
|
||||||
timeout: 1510704000,
|
timeout: 1510704000,
|
||||||
activation: None,
|
activation: Some(481824),
|
||||||
}),
|
}),
|
||||||
ConsensusFork::BitcoinCash(_) => None,
|
ConsensusFork::BitcoinCash(_) => None,
|
||||||
},
|
},
|
||||||
|
@ -117,7 +117,7 @@ impl ConsensusParams {
|
||||||
bit: 1,
|
bit: 1,
|
||||||
start_time: 1462060800,
|
start_time: 1462060800,
|
||||||
timeout: 1493596800,
|
timeout: 1493596800,
|
||||||
activation: None,
|
activation: Some(834624),
|
||||||
}),
|
}),
|
||||||
ConsensusFork::BitcoinCash(_) => None,
|
ConsensusFork::BitcoinCash(_) => None,
|
||||||
},
|
},
|
||||||
|
|
|
@ -2134,7 +2134,7 @@ pub mod tests {
|
||||||
|
|
||||||
let (_, core, sync) = create_sync(None, None);
|
let (_, core, sync) = create_sync(None, None);
|
||||||
{
|
{
|
||||||
let mut core = core.lock(); let mut chain = core.chain();
|
let mut core = core.lock(); let chain = core.chain();
|
||||||
chain.mark_dead_end_block(&b0.hash());
|
chain.mark_dead_end_block(&b0.hash());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2155,7 +2155,7 @@ pub mod tests {
|
||||||
|
|
||||||
let (_, core, sync) = create_sync(None, None);
|
let (_, core, sync) = create_sync(None, None);
|
||||||
{
|
{
|
||||||
let mut core = core.lock(); let mut chain = core.chain();
|
let mut core = core.lock(); let chain = core.chain();
|
||||||
chain.mark_dead_end_block(&b1.hash());
|
chain.mark_dead_end_block(&b1.hash());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2175,7 +2175,7 @@ pub mod tests {
|
||||||
|
|
||||||
let (_, core, sync) = create_sync(None, None);
|
let (_, core, sync) = create_sync(None, None);
|
||||||
{
|
{
|
||||||
let mut core = core.lock(); let mut chain = core.chain();
|
let mut core = core.lock(); let chain = core.chain();
|
||||||
chain.mark_dead_end_block(&b0.hash());
|
chain.mark_dead_end_block(&b0.hash());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2195,7 +2195,7 @@ pub mod tests {
|
||||||
|
|
||||||
let (_, core, sync) = create_sync(None, None);
|
let (_, core, sync) = create_sync(None, None);
|
||||||
{
|
{
|
||||||
let mut core = core.lock(); let mut chain = core.chain();
|
let mut core = core.lock(); let chain = core.chain();
|
||||||
chain.mark_dead_end_block(&b0.hash());
|
chain.mark_dead_end_block(&b0.hash());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -78,9 +78,9 @@ impl BloomFilter {
|
||||||
pub fn filter_transaction(&self, tx: &IndexedTransaction) -> bool {
|
pub fn filter_transaction(&self, tx: &IndexedTransaction) -> bool {
|
||||||
// check with bloom filter, if set
|
// check with bloom filter, if set
|
||||||
match self.bloom {
|
match self.bloom {
|
||||||
/// if no filter is set for the connection => match everything
|
// if no filter is set for the connection => match everything
|
||||||
None => true,
|
None => true,
|
||||||
/// filter using bloom filter, then update
|
// filter using bloom filter, then update
|
||||||
Some(ref bloom) => {
|
Some(ref bloom) => {
|
||||||
let mut bloom = bloom.lock();
|
let mut bloom = bloom.lock();
|
||||||
let mut is_match = false;
|
let mut is_match = false;
|
||||||
|
|
|
@ -74,7 +74,7 @@ impl ConnectionFilter {
|
||||||
/// Convert `Block` to `MerkleBlock` using this filter
|
/// Convert `Block` to `MerkleBlock` using this filter
|
||||||
pub fn build_merkle_block(&self, block: &IndexedBlock) -> Option<MerkleBlockArtefacts> {
|
pub fn build_merkle_block(&self, block: &IndexedBlock) -> Option<MerkleBlockArtefacts> {
|
||||||
if !self.bloom_filter.is_set() {
|
if !self.bloom_filter.is_set() {
|
||||||
/// only respond when bloom filter is set
|
// only respond when bloom filter is set
|
||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -92,7 +92,7 @@ impl OrphanBlocksPool {
|
||||||
for parent_orphan_key in parent_orphan_keys {
|
for parent_orphan_key in parent_orphan_keys {
|
||||||
if let Entry::Occupied(mut orphan_entry) = self.orphaned_blocks.entry(parent_orphan_key) {
|
if let Entry::Occupied(mut orphan_entry) = self.orphaned_blocks.entry(parent_orphan_key) {
|
||||||
let remove_entry = {
|
let remove_entry = {
|
||||||
let mut orphans = orphan_entry.get_mut();
|
let orphans = orphan_entry.get_mut();
|
||||||
let orphans_keys: HashSet<H256> = orphans.keys().cloned().collect();
|
let orphans_keys: HashSet<H256> = orphans.keys().cloned().collect();
|
||||||
for orphan_to_remove in orphans_keys.intersection(hashes) {
|
for orphan_to_remove in orphans_keys.intersection(hashes) {
|
||||||
self.unknown_blocks.remove(orphan_to_remove);
|
self.unknown_blocks.remove(orphan_to_remove);
|
||||||
|
|
Loading…
Reference in New Issue