mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-11 23:31:07 +00:00
BlockId removal: BlockBuilderProvider::new_block_at (#13401)
* `BlockId` removal: `BlockBuilderProvider::new_block_at` It changes the arguments of `BlockBuilderProvider::new_block_at` from: `BlockId<Block>` to: `Block::Hash` * fmt * fix * more fixes
This commit is contained in:
committed by
GitHub
parent
cd299d2b45
commit
5ef88dd398
@@ -447,7 +447,7 @@ fn uncles_with_multiple_forks() {
|
||||
|
||||
// A1 -> A2
|
||||
let a2 = client
|
||||
.new_block_at(&BlockId::Hash(a1.hash()), Default::default(), false)
|
||||
.new_block_at(a1.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -456,7 +456,7 @@ fn uncles_with_multiple_forks() {
|
||||
|
||||
// A2 -> A3
|
||||
let a3 = client
|
||||
.new_block_at(&BlockId::Hash(a2.hash()), Default::default(), false)
|
||||
.new_block_at(a2.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -465,7 +465,7 @@ fn uncles_with_multiple_forks() {
|
||||
|
||||
// A3 -> A4
|
||||
let a4 = client
|
||||
.new_block_at(&BlockId::Hash(a3.hash()), Default::default(), false)
|
||||
.new_block_at(a3.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -474,7 +474,7 @@ fn uncles_with_multiple_forks() {
|
||||
|
||||
// A4 -> A5
|
||||
let a5 = client
|
||||
.new_block_at(&BlockId::Hash(a4.hash()), Default::default(), false)
|
||||
.new_block_at(a4.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -482,9 +482,7 @@ fn uncles_with_multiple_forks() {
|
||||
block_on(client.import(BlockOrigin::Own, a5.clone())).unwrap();
|
||||
|
||||
// A1 -> B2
|
||||
let mut builder = client
|
||||
.new_block_at(&BlockId::Hash(a1.hash()), Default::default(), false)
|
||||
.unwrap();
|
||||
let mut builder = client.new_block_at(a1.hash(), Default::default(), false).unwrap();
|
||||
// this push is required as otherwise B2 has the same hash as A2 and won't get imported
|
||||
builder
|
||||
.push_transfer(Transfer {
|
||||
@@ -499,7 +497,7 @@ fn uncles_with_multiple_forks() {
|
||||
|
||||
// B2 -> B3
|
||||
let b3 = client
|
||||
.new_block_at(&BlockId::Hash(b2.hash()), Default::default(), false)
|
||||
.new_block_at(b2.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -508,7 +506,7 @@ fn uncles_with_multiple_forks() {
|
||||
|
||||
// B3 -> B4
|
||||
let b4 = client
|
||||
.new_block_at(&BlockId::Hash(b3.hash()), Default::default(), false)
|
||||
.new_block_at(b3.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -516,9 +514,7 @@ fn uncles_with_multiple_forks() {
|
||||
block_on(client.import(BlockOrigin::Own, b4.clone())).unwrap();
|
||||
|
||||
// // B2 -> C3
|
||||
let mut builder = client
|
||||
.new_block_at(&BlockId::Hash(b2.hash()), Default::default(), false)
|
||||
.unwrap();
|
||||
let mut builder = client.new_block_at(b2.hash(), Default::default(), false).unwrap();
|
||||
// this push is required as otherwise C3 has the same hash as B3 and won't get imported
|
||||
builder
|
||||
.push_transfer(Transfer {
|
||||
@@ -532,9 +528,7 @@ fn uncles_with_multiple_forks() {
|
||||
block_on(client.import(BlockOrigin::Own, c3.clone())).unwrap();
|
||||
|
||||
// A1 -> D2
|
||||
let mut builder = client
|
||||
.new_block_at(&BlockId::Hash(a1.hash()), Default::default(), false)
|
||||
.unwrap();
|
||||
let mut builder = client.new_block_at(a1.hash(), Default::default(), false).unwrap();
|
||||
// this push is required as otherwise D2 has the same hash as B2 and won't get imported
|
||||
builder
|
||||
.push_transfer(Transfer {
|
||||
@@ -608,7 +602,7 @@ fn finality_target_on_longest_chain_with_multiple_forks() {
|
||||
|
||||
// A1 -> A2
|
||||
let a2 = client
|
||||
.new_block_at(&BlockId::Hash(a1.hash()), Default::default(), false)
|
||||
.new_block_at(a1.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -617,7 +611,7 @@ fn finality_target_on_longest_chain_with_multiple_forks() {
|
||||
|
||||
// A2 -> A3
|
||||
let a3 = client
|
||||
.new_block_at(&BlockId::Hash(a2.hash()), Default::default(), false)
|
||||
.new_block_at(a2.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -626,7 +620,7 @@ fn finality_target_on_longest_chain_with_multiple_forks() {
|
||||
|
||||
// A3 -> A4
|
||||
let a4 = client
|
||||
.new_block_at(&BlockId::Hash(a3.hash()), Default::default(), false)
|
||||
.new_block_at(a3.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -635,7 +629,7 @@ fn finality_target_on_longest_chain_with_multiple_forks() {
|
||||
|
||||
// A4 -> A5
|
||||
let a5 = client
|
||||
.new_block_at(&BlockId::Hash(a4.hash()), Default::default(), false)
|
||||
.new_block_at(a4.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -643,9 +637,7 @@ fn finality_target_on_longest_chain_with_multiple_forks() {
|
||||
block_on(client.import(BlockOrigin::Own, a5.clone())).unwrap();
|
||||
|
||||
// A1 -> B2
|
||||
let mut builder = client
|
||||
.new_block_at(&BlockId::Hash(a1.hash()), Default::default(), false)
|
||||
.unwrap();
|
||||
let mut builder = client.new_block_at(a1.hash(), Default::default(), false).unwrap();
|
||||
// this push is required as otherwise B2 has the same hash as A2 and won't get imported
|
||||
builder
|
||||
.push_transfer(Transfer {
|
||||
@@ -660,7 +652,7 @@ fn finality_target_on_longest_chain_with_multiple_forks() {
|
||||
|
||||
// B2 -> B3
|
||||
let b3 = client
|
||||
.new_block_at(&BlockId::Hash(b2.hash()), Default::default(), false)
|
||||
.new_block_at(b2.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -669,7 +661,7 @@ fn finality_target_on_longest_chain_with_multiple_forks() {
|
||||
|
||||
// B3 -> B4
|
||||
let b4 = client
|
||||
.new_block_at(&BlockId::Hash(b3.hash()), Default::default(), false)
|
||||
.new_block_at(b3.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -677,9 +669,7 @@ fn finality_target_on_longest_chain_with_multiple_forks() {
|
||||
block_on(client.import(BlockOrigin::Own, b4.clone())).unwrap();
|
||||
|
||||
// B2 -> C3
|
||||
let mut builder = client
|
||||
.new_block_at(&BlockId::Hash(b2.hash()), Default::default(), false)
|
||||
.unwrap();
|
||||
let mut builder = client.new_block_at(b2.hash(), Default::default(), false).unwrap();
|
||||
// this push is required as otherwise C3 has the same hash as B3 and won't get imported
|
||||
builder
|
||||
.push_transfer(Transfer {
|
||||
@@ -693,9 +683,7 @@ fn finality_target_on_longest_chain_with_multiple_forks() {
|
||||
block_on(client.import(BlockOrigin::Own, c3.clone())).unwrap();
|
||||
|
||||
// A1 -> D2
|
||||
let mut builder = client
|
||||
.new_block_at(&BlockId::Hash(a1.hash()), Default::default(), false)
|
||||
.unwrap();
|
||||
let mut builder = client.new_block_at(a1.hash(), Default::default(), false).unwrap();
|
||||
// this push is required as otherwise D2 has the same hash as B2 and won't get imported
|
||||
builder
|
||||
.push_transfer(Transfer {
|
||||
@@ -871,9 +859,7 @@ fn finality_target_with_best_not_on_longest_chain() {
|
||||
block_on(client.import(BlockOrigin::Own, a5.clone())).unwrap();
|
||||
|
||||
// A1 -> B2
|
||||
let mut builder = client
|
||||
.new_block_at(&BlockId::Hash(a1.hash()), Default::default(), false)
|
||||
.unwrap();
|
||||
let mut builder = client.new_block_at(a1.hash(), Default::default(), false).unwrap();
|
||||
// this push is required as otherwise B2 has the same hash as A2 and won't get imported
|
||||
builder
|
||||
.push_transfer(Transfer {
|
||||
@@ -895,7 +881,7 @@ fn finality_target_with_best_not_on_longest_chain() {
|
||||
|
||||
// B2 -> B3
|
||||
let b3 = client
|
||||
.new_block_at(&BlockId::Hash(b2.hash()), Default::default(), false)
|
||||
.new_block_at(b2.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -904,7 +890,7 @@ fn finality_target_with_best_not_on_longest_chain() {
|
||||
|
||||
// B3 -> B4
|
||||
let b4 = client
|
||||
.new_block_at(&BlockId::Hash(b3.hash()), Default::default(), false)
|
||||
.new_block_at(b3.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -940,7 +926,7 @@ fn import_with_justification() {
|
||||
|
||||
// A1 -> A2
|
||||
let a2 = client
|
||||
.new_block_at(&BlockId::Hash(a1.hash()), Default::default(), false)
|
||||
.new_block_at(a1.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -951,7 +937,7 @@ fn import_with_justification() {
|
||||
// A2 -> A3
|
||||
let justification = Justifications::from((TEST_ENGINE_ID, vec![1, 2, 3]));
|
||||
let a3 = client
|
||||
.new_block_at(&BlockId::Hash(a2.hash()), Default::default(), false)
|
||||
.new_block_at(a2.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -982,7 +968,7 @@ fn importing_diverged_finalized_block_should_trigger_reorg() {
|
||||
let mut finality_notifications = client.finality_notification_stream();
|
||||
|
||||
let a1 = client
|
||||
.new_block_at(&BlockId::Number(0), Default::default(), false)
|
||||
.new_block_at(client.chain_info().genesis_hash, Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -990,14 +976,16 @@ fn importing_diverged_finalized_block_should_trigger_reorg() {
|
||||
block_on(client.import(BlockOrigin::Own, a1.clone())).unwrap();
|
||||
|
||||
let a2 = client
|
||||
.new_block_at(&BlockId::Hash(a1.hash()), Default::default(), false)
|
||||
.new_block_at(a1.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
.block;
|
||||
block_on(client.import(BlockOrigin::Own, a2.clone())).unwrap();
|
||||
|
||||
let mut b1 = client.new_block_at(&BlockId::Number(0), Default::default(), false).unwrap();
|
||||
let mut b1 = client
|
||||
.new_block_at(client.chain_info().genesis_hash, Default::default(), false)
|
||||
.unwrap();
|
||||
// needed to make sure B1 gets a different hash from A1
|
||||
b1.push_transfer(Transfer {
|
||||
from: AccountKeyring::Alice.into(),
|
||||
@@ -1035,7 +1023,7 @@ fn finalizing_diverged_block_should_trigger_reorg() {
|
||||
let mut finality_notifications = client.finality_notification_stream();
|
||||
|
||||
let a1 = client
|
||||
.new_block_at(&BlockId::Number(0), Default::default(), false)
|
||||
.new_block_at(client.chain_info().genesis_hash, Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -1043,14 +1031,16 @@ fn finalizing_diverged_block_should_trigger_reorg() {
|
||||
block_on(client.import(BlockOrigin::Own, a1.clone())).unwrap();
|
||||
|
||||
let a2 = client
|
||||
.new_block_at(&BlockId::Hash(a1.hash()), Default::default(), false)
|
||||
.new_block_at(a1.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
.block;
|
||||
block_on(client.import(BlockOrigin::Own, a2.clone())).unwrap();
|
||||
|
||||
let mut b1 = client.new_block_at(&BlockId::Number(0), Default::default(), false).unwrap();
|
||||
let mut b1 = client
|
||||
.new_block_at(client.chain_info().genesis_hash, Default::default(), false)
|
||||
.unwrap();
|
||||
// needed to make sure B1 gets a different hash from A1
|
||||
b1.push_transfer(Transfer {
|
||||
from: AccountKeyring::Alice.into(),
|
||||
@@ -1063,7 +1053,7 @@ fn finalizing_diverged_block_should_trigger_reorg() {
|
||||
block_on(client.import(BlockOrigin::Own, b1.clone())).unwrap();
|
||||
|
||||
let b2 = client
|
||||
.new_block_at(&BlockId::Hash(b1.hash()), Default::default(), false)
|
||||
.new_block_at(b1.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -1089,7 +1079,7 @@ fn finalizing_diverged_block_should_trigger_reorg() {
|
||||
|
||||
// after we build B3 on top of B2 and import it, it should be the new best block
|
||||
let b3 = client
|
||||
.new_block_at(&BlockId::Hash(b2.hash()), Default::default(), false)
|
||||
.new_block_at(b2.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -1121,7 +1111,7 @@ fn finality_notifications_content() {
|
||||
let mut finality_notifications = client.finality_notification_stream();
|
||||
|
||||
let a1 = client
|
||||
.new_block_at(&BlockId::Number(0), Default::default(), false)
|
||||
.new_block_at(client.chain_info().genesis_hash, Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -1129,7 +1119,7 @@ fn finality_notifications_content() {
|
||||
block_on(client.import(BlockOrigin::Own, a1.clone())).unwrap();
|
||||
|
||||
let a2 = client
|
||||
.new_block_at(&BlockId::Hash(a1.hash()), Default::default(), false)
|
||||
.new_block_at(a1.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -1137,14 +1127,16 @@ fn finality_notifications_content() {
|
||||
block_on(client.import(BlockOrigin::Own, a2.clone())).unwrap();
|
||||
|
||||
let a3 = client
|
||||
.new_block_at(&BlockId::Hash(a2.hash()), Default::default(), false)
|
||||
.new_block_at(a2.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
.block;
|
||||
block_on(client.import(BlockOrigin::Own, a3.clone())).unwrap();
|
||||
|
||||
let mut b1 = client.new_block_at(&BlockId::Number(0), Default::default(), false).unwrap();
|
||||
let mut b1 = client
|
||||
.new_block_at(client.chain_info().genesis_hash, Default::default(), false)
|
||||
.unwrap();
|
||||
// needed to make sure B1 gets a different hash from A1
|
||||
b1.push_transfer(Transfer {
|
||||
from: AccountKeyring::Alice.into(),
|
||||
@@ -1157,14 +1149,16 @@ fn finality_notifications_content() {
|
||||
block_on(client.import(BlockOrigin::Own, b1.clone())).unwrap();
|
||||
|
||||
let b2 = client
|
||||
.new_block_at(&BlockId::Hash(b1.hash()), Default::default(), false)
|
||||
.new_block_at(b1.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
.block;
|
||||
block_on(client.import(BlockOrigin::Own, b2.clone())).unwrap();
|
||||
|
||||
let mut c1 = client.new_block_at(&BlockId::Number(0), Default::default(), false).unwrap();
|
||||
let mut c1 = client
|
||||
.new_block_at(client.chain_info().genesis_hash, Default::default(), false)
|
||||
.unwrap();
|
||||
// needed to make sure B1 gets a different hash from A1
|
||||
c1.push_transfer(Transfer {
|
||||
from: AccountKeyring::Alice.into(),
|
||||
@@ -1176,9 +1170,7 @@ fn finality_notifications_content() {
|
||||
let c1 = c1.build().unwrap().block;
|
||||
block_on(client.import(BlockOrigin::Own, c1.clone())).unwrap();
|
||||
|
||||
let mut d3 = client
|
||||
.new_block_at(&BlockId::Hash(a2.hash()), Default::default(), false)
|
||||
.unwrap();
|
||||
let mut d3 = client.new_block_at(a2.hash(), Default::default(), false).unwrap();
|
||||
// needed to make sure D3 gets a different hash from A3
|
||||
d3.push_transfer(Transfer {
|
||||
from: AccountKeyring::Alice.into(),
|
||||
@@ -1191,7 +1183,7 @@ fn finality_notifications_content() {
|
||||
block_on(client.import(BlockOrigin::Own, d3.clone())).unwrap();
|
||||
|
||||
let d4 = client
|
||||
.new_block_at(&BlockId::Hash(d3.hash()), Default::default(), false)
|
||||
.new_block_at(d3.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -1251,7 +1243,9 @@ fn state_reverted_on_reorg() {
|
||||
// G -> A1 -> A2
|
||||
// \
|
||||
// -> B1
|
||||
let mut a1 = client.new_block_at(&BlockId::Number(0), Default::default(), false).unwrap();
|
||||
let mut a1 = client
|
||||
.new_block_at(client.chain_info().genesis_hash, Default::default(), false)
|
||||
.unwrap();
|
||||
a1.push_transfer(Transfer {
|
||||
from: AccountKeyring::Alice.into(),
|
||||
to: AccountKeyring::Bob.into(),
|
||||
@@ -1262,7 +1256,9 @@ fn state_reverted_on_reorg() {
|
||||
let a1 = a1.build().unwrap().block;
|
||||
block_on(client.import(BlockOrigin::Own, a1.clone())).unwrap();
|
||||
|
||||
let mut b1 = client.new_block_at(&BlockId::Number(0), Default::default(), false).unwrap();
|
||||
let mut b1 = client
|
||||
.new_block_at(client.chain_info().genesis_hash, Default::default(), false)
|
||||
.unwrap();
|
||||
b1.push_transfer(Transfer {
|
||||
from: AccountKeyring::Alice.into(),
|
||||
to: AccountKeyring::Ferdie.into(),
|
||||
@@ -1275,9 +1271,7 @@ fn state_reverted_on_reorg() {
|
||||
block_on(client.import_as_best(BlockOrigin::Own, b1.clone())).unwrap();
|
||||
|
||||
assert_eq!(950, current_balance(&client));
|
||||
let mut a2 = client
|
||||
.new_block_at(&BlockId::Hash(a1.hash()), Default::default(), false)
|
||||
.unwrap();
|
||||
let mut a2 = client.new_block_at(a1.hash(), Default::default(), false).unwrap();
|
||||
a2.push_transfer(Transfer {
|
||||
from: AccountKeyring::Alice.into(),
|
||||
to: AccountKeyring::Charlie.into(),
|
||||
@@ -1322,7 +1316,7 @@ fn doesnt_import_blocks_that_revert_finality() {
|
||||
// -> B1 -> B2 -> B3
|
||||
|
||||
let a1 = client
|
||||
.new_block_at(&BlockId::Number(0), Default::default(), false)
|
||||
.new_block_at(client.chain_info().genesis_hash, Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -1330,14 +1324,16 @@ fn doesnt_import_blocks_that_revert_finality() {
|
||||
block_on(client.import(BlockOrigin::Own, a1.clone())).unwrap();
|
||||
|
||||
let a2 = client
|
||||
.new_block_at(&BlockId::Hash(a1.hash()), Default::default(), false)
|
||||
.new_block_at(a1.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
.block;
|
||||
block_on(client.import(BlockOrigin::Own, a2.clone())).unwrap();
|
||||
|
||||
let mut b1 = client.new_block_at(&BlockId::Number(0), Default::default(), false).unwrap();
|
||||
let mut b1 = client
|
||||
.new_block_at(client.chain_info().genesis_hash, Default::default(), false)
|
||||
.unwrap();
|
||||
|
||||
// needed to make sure B1 gets a different hash from A1
|
||||
b1.push_transfer(Transfer {
|
||||
@@ -1351,7 +1347,7 @@ fn doesnt_import_blocks_that_revert_finality() {
|
||||
block_on(client.import(BlockOrigin::Own, b1.clone())).unwrap();
|
||||
|
||||
let b2 = client
|
||||
.new_block_at(&BlockId::Hash(b1.hash()), Default::default(), false)
|
||||
.new_block_at(b1.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -1361,7 +1357,7 @@ fn doesnt_import_blocks_that_revert_finality() {
|
||||
// prepare B3 before we finalize A2, because otherwise we won't be able to
|
||||
// read changes trie configuration after A2 is finalized
|
||||
let b3 = client
|
||||
.new_block_at(&BlockId::Hash(b2.hash()), Default::default(), false)
|
||||
.new_block_at(b2.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -1379,7 +1375,9 @@ fn doesnt_import_blocks_that_revert_finality() {
|
||||
|
||||
// adding a C1 block which is lower than the last finalized should also
|
||||
// fail (with a cheaper check that doesn't require checking ancestry).
|
||||
let mut c1 = client.new_block_at(&BlockId::Number(0), Default::default(), false).unwrap();
|
||||
let mut c1 = client
|
||||
.new_block_at(client.chain_info().genesis_hash, Default::default(), false)
|
||||
.unwrap();
|
||||
|
||||
// needed to make sure C1 gets a different hash from A1 and B1
|
||||
c1.push_transfer(Transfer {
|
||||
@@ -1398,7 +1396,7 @@ fn doesnt_import_blocks_that_revert_finality() {
|
||||
assert_eq!(import_err.to_string(), expected_err.to_string());
|
||||
|
||||
let a3 = client
|
||||
.new_block_at(&BlockId::Hash(a2.hash()), Default::default(), false)
|
||||
.new_block_at(a2.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -1428,16 +1426,34 @@ fn respects_block_rules() {
|
||||
.build()
|
||||
};
|
||||
|
||||
// test modus operandi:
|
||||
//
|
||||
// B[2]
|
||||
// /
|
||||
// G[0]--B[1]
|
||||
// \ \
|
||||
// \ B'[2]
|
||||
// \
|
||||
// B'[1]
|
||||
//
|
||||
// B[1] - block ok
|
||||
// B'[1] - block not ok, added to block_rules::bad
|
||||
//
|
||||
// B[2] - block ok, correct fork for block height==2, added to block_rules::forks
|
||||
// B'[2] - block not ok, (incorrect fork)
|
||||
|
||||
// build B[1]
|
||||
let block_ok = client
|
||||
.new_block_at(&BlockId::Number(0), Default::default(), false)
|
||||
.new_block_at(client.chain_info().genesis_hash, Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
.block;
|
||||
let block_ok_1_hash = block_ok.hash();
|
||||
|
||||
let params = BlockCheckParams {
|
||||
hash: block_ok.hash(),
|
||||
number: 0,
|
||||
number: 1,
|
||||
parent_hash: *block_ok.header().parent_hash(),
|
||||
allow_missing_state: false,
|
||||
allow_missing_parent: false,
|
||||
@@ -1445,15 +1461,16 @@ fn respects_block_rules() {
|
||||
};
|
||||
assert_eq!(block_on(client.check_block(params)).unwrap(), ImportResult::imported(false));
|
||||
|
||||
// this is 0x0d6d6612a10485370d9e085aeea7ec427fb3f34d961c6a816cdbe5cde2278864
|
||||
let mut block_not_ok =
|
||||
client.new_block_at(&BlockId::Number(0), Default::default(), false).unwrap();
|
||||
// build B'[1]
|
||||
let mut block_not_ok = client
|
||||
.new_block_at(client.chain_info().genesis_hash, Default::default(), false)
|
||||
.unwrap();
|
||||
block_not_ok.push_storage_change(vec![0], Some(vec![1])).unwrap();
|
||||
let block_not_ok = block_not_ok.build().unwrap().block;
|
||||
|
||||
let params = BlockCheckParams {
|
||||
hash: block_not_ok.hash(),
|
||||
number: 0,
|
||||
number: 1,
|
||||
parent_hash: *block_not_ok.header().parent_hash(),
|
||||
allow_missing_state: false,
|
||||
allow_missing_parent: false,
|
||||
@@ -1468,34 +1485,35 @@ fn respects_block_rules() {
|
||||
// Now going to the fork
|
||||
block_on(client.import_as_final(BlockOrigin::Own, block_ok)).unwrap();
|
||||
|
||||
// And check good fork
|
||||
let mut block_ok =
|
||||
client.new_block_at(&BlockId::Number(1), Default::default(), false).unwrap();
|
||||
// And check good fork (build B[2])
|
||||
let mut block_ok = client.new_block_at(block_ok_1_hash, Default::default(), false).unwrap();
|
||||
block_ok.push_storage_change(vec![0], Some(vec![2])).unwrap();
|
||||
let block_ok = block_ok.build().unwrap().block;
|
||||
assert_eq!(*block_ok.header().number(), 2);
|
||||
|
||||
let params = BlockCheckParams {
|
||||
hash: block_ok.hash(),
|
||||
number: 1,
|
||||
number: 2,
|
||||
parent_hash: *block_ok.header().parent_hash(),
|
||||
allow_missing_state: false,
|
||||
allow_missing_parent: false,
|
||||
import_existing: false,
|
||||
};
|
||||
if record_only {
|
||||
fork_rules.push((1, block_ok.hash()));
|
||||
fork_rules.push((2, block_ok.hash()));
|
||||
}
|
||||
assert_eq!(block_on(client.check_block(params)).unwrap(), ImportResult::imported(false));
|
||||
|
||||
// And now try bad fork
|
||||
// And now try bad fork (build B'[2])
|
||||
let mut block_not_ok =
|
||||
client.new_block_at(&BlockId::Number(1), Default::default(), false).unwrap();
|
||||
client.new_block_at(block_ok_1_hash, Default::default(), false).unwrap();
|
||||
block_not_ok.push_storage_change(vec![0], Some(vec![3])).unwrap();
|
||||
let block_not_ok = block_not_ok.build().unwrap().block;
|
||||
assert_eq!(*block_not_ok.header().number(), 2);
|
||||
|
||||
let params = BlockCheckParams {
|
||||
hash: block_not_ok.hash(),
|
||||
number: 1,
|
||||
number: 2,
|
||||
parent_hash: *block_not_ok.header().parent_hash(),
|
||||
allow_missing_state: false,
|
||||
allow_missing_parent: false,
|
||||
@@ -1540,13 +1558,15 @@ fn returns_status_for_pruned_blocks() {
|
||||
let mut client = TestClientBuilder::with_backend(backend).build();
|
||||
|
||||
let a1 = client
|
||||
.new_block_at(&BlockId::Number(0), Default::default(), false)
|
||||
.new_block_at(client.chain_info().genesis_hash, Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
.block;
|
||||
|
||||
let mut b1 = client.new_block_at(&BlockId::Number(0), Default::default(), false).unwrap();
|
||||
let mut b1 = client
|
||||
.new_block_at(client.chain_info().genesis_hash, Default::default(), false)
|
||||
.unwrap();
|
||||
|
||||
// b1 is created, but not imported
|
||||
b1.push_transfer(Transfer {
|
||||
@@ -1582,7 +1602,7 @@ fn returns_status_for_pruned_blocks() {
|
||||
assert_eq!(client.block_status(check_block_a1.hash).unwrap(), BlockStatus::InChainWithState);
|
||||
|
||||
let a2 = client
|
||||
.new_block_at(&BlockId::Hash(a1.hash()), Default::default(), false)
|
||||
.new_block_at(a1.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -1610,7 +1630,7 @@ fn returns_status_for_pruned_blocks() {
|
||||
assert_eq!(client.block_status(check_block_a2.hash).unwrap(), BlockStatus::InChainWithState);
|
||||
|
||||
let a3 = client
|
||||
.new_block_at(&BlockId::Hash(a2.hash()), Default::default(), false)
|
||||
.new_block_at(a2.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -1907,7 +1927,7 @@ fn reorg_triggers_a_notification_even_for_sources_that_should_not_trigger_notifi
|
||||
futures::executor::block_on_stream(client.import_notification_stream());
|
||||
|
||||
let a1 = client
|
||||
.new_block_at(&BlockId::Number(0), Default::default(), false)
|
||||
.new_block_at(client.chain_info().genesis_hash, Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -1915,14 +1935,16 @@ fn reorg_triggers_a_notification_even_for_sources_that_should_not_trigger_notifi
|
||||
block_on(client.import(BlockOrigin::NetworkInitialSync, a1.clone())).unwrap();
|
||||
|
||||
let a2 = client
|
||||
.new_block_at(&BlockId::Hash(a1.hash()), Default::default(), false)
|
||||
.new_block_at(a1.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
.block;
|
||||
block_on(client.import(BlockOrigin::NetworkInitialSync, a2.clone())).unwrap();
|
||||
|
||||
let mut b1 = client.new_block_at(&BlockId::Number(0), Default::default(), false).unwrap();
|
||||
let mut b1 = client
|
||||
.new_block_at(client.chain_info().genesis_hash, Default::default(), false)
|
||||
.unwrap();
|
||||
// needed to make sure B1 gets a different hash from A1
|
||||
b1.push_transfer(Transfer {
|
||||
from: AccountKeyring::Alice.into(),
|
||||
@@ -1935,7 +1957,7 @@ fn reorg_triggers_a_notification_even_for_sources_that_should_not_trigger_notifi
|
||||
block_on(client.import(BlockOrigin::NetworkInitialSync, b1.clone())).unwrap();
|
||||
|
||||
let b2 = client
|
||||
.new_block_at(&BlockId::Hash(b1.hash()), Default::default(), false)
|
||||
.new_block_at(b1.hash(), Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
@@ -1971,7 +1993,7 @@ fn use_dalek_ext_works() {
|
||||
);
|
||||
|
||||
let a1 = client
|
||||
.new_block_at(&BlockId::Number(0), Default::default(), false)
|
||||
.new_block_at(client.chain_info().genesis_hash, Default::default(), false)
|
||||
.unwrap()
|
||||
.build()
|
||||
.unwrap()
|
||||
|
||||
Reference in New Issue
Block a user