Skip to content

Commit

Permalink
fix: cellbase input valid_since should be 0
Browse files Browse the repository at this point in the history
  • Loading branch information
jjyr committed Apr 9, 2019
1 parent b233b4f commit 147d919
Show file tree
Hide file tree
Showing 12 changed files with 26 additions and 28 deletions.
4 changes: 2 additions & 2 deletions benches/benches/process_block.rs
Expand Up @@ -135,7 +135,7 @@ fn new_chain() -> (
TempDir,
) {
let cellbase = TransactionBuilder::default()
.input(CellInput::new_cellbase_input(0, 0))
.input(CellInput::new_cellbase_input(0))
.output(CellOutput::new(0, vec![], Script::default(), None))
.build();

Expand Down Expand Up @@ -184,7 +184,7 @@ fn gen_block(blocks: &mut Vec<Block>, parent_index: usize) {
);

let cellbase = TransactionBuilder::default()
.input(CellInput::new_cellbase_input(number, 0))
.input(CellInput::new_cellbase_input(number))
.output(CellOutput::new(0, vec![], Script::default(), None))
.build();

Expand Down
16 changes: 8 additions & 8 deletions chain/src/chain.rs
Expand Up @@ -225,10 +225,10 @@ impl<CI: ChainIndex + 'static> ChainService<CI> {
let current_total_difficulty = chain_state.total_difficulty().clone();

debug!(
target: "chain",
"difficulty current = {}, cannon = {}",
current_total_difficulty,
cannon_total_difficulty,
target: "chain",
"difficulty current = {}, cannon = {}",
current_total_difficulty,
cannon_total_difficulty,
);

if parent_ext.txs_verified == Some(false) {
Expand All @@ -250,10 +250,10 @@ impl<CI: ChainIndex + 'static> ChainService<CI> {
&& (block.header().hash() < tip_hash))
{
debug!(
target: "chain",
"new best block found: {} => {}, difficulty diff = {}",
block.header().number(), block.header().hash(),
&cannon_total_difficulty - &current_total_difficulty
target: "chain",
"new best block found: {} => {}, difficulty diff = {}",
block.header().number(), block.header().hash(),
&cannon_total_difficulty - &current_total_difficulty
);

self.find_fork(&mut fork, tip_number, &block, ext);
Expand Down
2 changes: 1 addition & 1 deletion chain/src/tests/util.rs
Expand Up @@ -35,7 +35,7 @@ pub(crate) fn start_chain(

fn create_cellbase(number: BlockNumber) -> Transaction {
TransactionBuilder::default()
.input(CellInput::new_cellbase_input(number, 0))
.input(CellInput::new_cellbase_input(number))
.output(CellOutput::new(
5000,
vec![],
Expand Down
4 changes: 2 additions & 2 deletions core/src/transaction.rs
Expand Up @@ -78,10 +78,10 @@ impl CellInput {
}
}

pub fn new_cellbase_input(block_number: BlockNumber, valid_since: u64) -> Self {
pub fn new_cellbase_input(block_number: BlockNumber) -> Self {
CellInput {
previous_output: OutPoint::null(),
valid_since,
valid_since: 0,
args: vec![block_number.to_le_bytes().to_vec()],
}
}
Expand Down
4 changes: 2 additions & 2 deletions miner/src/block_assembler.rs
Expand Up @@ -311,7 +311,7 @@ impl<CI: ChainIndex + 'static> BlockAssembler<CI> {
lock: Script,
) -> Result<Transaction, FailureError> {
// NOTE: To generate different cellbase txid, we put header number in the input script
let input = CellInput::new_cellbase_input(header.number() + 1, 0);
let input = CellInput::new_cellbase_input(header.number() + 1);
// NOTE: We could've just used byteorder to serialize u64 and hex string into bytes,
// but the truth is we will modify this after we designed lock script anyway, so let's
// stick to the simpler way and just convert everything to a single string, then to UTF8
Expand Down Expand Up @@ -544,7 +544,7 @@ mod tests {

fn create_cellbase(number: BlockNumber) -> Transaction {
TransactionBuilder::default()
.input(CellInput::new_cellbase_input(number, 0))
.input(CellInput::new_cellbase_input(number))
.output(CellOutput::new(0, vec![], Script::default(), None))
.build()
}
Expand Down
2 changes: 1 addition & 1 deletion sync/src/synchronizer/mod.rs
Expand Up @@ -829,7 +829,7 @@ mod tests {

fn create_cellbase(number: BlockNumber) -> Transaction {
TransactionBuilder::default()
.input(CellInput::new_cellbase_input(number, 0))
.input(CellInput::new_cellbase_input(number))
.output(CellOutput::new(0, vec![], Script::default(), None))
.build()
}
Expand Down
10 changes: 5 additions & 5 deletions sync/src/tests/relayer.rs
Expand Up @@ -80,7 +80,7 @@ fn relay_compact_block_with_one_tx() {
let timestamp = last_block.header().timestamp() + 1;
let difficulty = shared1.calculate_difficulty(&last_block.header()).unwrap();
let cellbase = TransactionBuilder::default()
.input(CellInput::new_cellbase_input(number, 0))
.input(CellInput::new_cellbase_input(number))
.output(CellOutput::default())
.build();

Expand Down Expand Up @@ -118,7 +118,7 @@ fn relay_compact_block_with_one_tx() {
let timestamp = last_block.header().timestamp() + 1;
let difficulty = shared1.calculate_difficulty(&last_block.header()).unwrap();
let cellbase = TransactionBuilder::default()
.input(CellInput::new_cellbase_input(number, 0))
.input(CellInput::new_cellbase_input(number))
.output(CellOutput::default())
.build();

Expand Down Expand Up @@ -237,7 +237,7 @@ fn relay_compact_block_with_missing_indexs() {
let timestamp = last_block.header().timestamp() + 1;
let difficulty = shared1.calculate_difficulty(&last_block.header()).unwrap();
let cellbase = TransactionBuilder::default()
.input(CellInput::new_cellbase_input(number, 0))
.input(CellInput::new_cellbase_input(number))
.output(CellOutput::default())
.build();

Expand Down Expand Up @@ -275,7 +275,7 @@ fn relay_compact_block_with_missing_indexs() {
let timestamp = last_block.header().timestamp() + 1;
let difficulty = shared1.calculate_difficulty(&last_block.header()).unwrap();
let cellbase = TransactionBuilder::default()
.input(CellInput::new_cellbase_input(number, 0))
.input(CellInput::new_cellbase_input(number))
.output(CellOutput::default())
.build();

Expand Down Expand Up @@ -360,7 +360,7 @@ fn setup_node(
.map(|_| CellOutput::new(50, Vec::new(), Script::always_success(), None))
.collect::<Vec<_>>();
let cellbase = TransactionBuilder::default()
.input(CellInput::new_cellbase_input(number, 0))
.input(CellInput::new_cellbase_input(number))
.outputs(outputs)
.build();

Expand Down
2 changes: 1 addition & 1 deletion sync/src/tests/synchronizer.rs
Expand Up @@ -89,7 +89,7 @@ fn setup_node(
let timestamp = block.header().timestamp() + 1;
let difficulty = shared.calculate_difficulty(&block.header()).unwrap();
let cellbase = TransactionBuilder::default()
.input(CellInput::new_cellbase_input(number, 0))
.input(CellInput::new_cellbase_input(number))
.output(CellOutput::default())
.build();

Expand Down
4 changes: 1 addition & 3 deletions verification/src/block_verifier.rs
Expand Up @@ -86,9 +86,7 @@ impl<CP: ChainProvider + Clone> CellbaseVerifier<CP> {

let cellbase_transaction = &block.commit_transactions()[0];
let cellbase_input = &cellbase_transaction.inputs()[0];
if cellbase_input
!= &CellInput::new_cellbase_input(block.header().number(), cellbase_input.valid_since)
{
if cellbase_input != &CellInput::new_cellbase_input(block.header().number()) {
return Err(Error::Cellbase(CellbaseError::InvalidInput));
}

Expand Down
2 changes: 1 addition & 1 deletion verification/src/tests/block_verifier.rs
Expand Up @@ -12,7 +12,7 @@ use std::collections::HashMap;

fn create_cellbase_transaction_with_capacity(capacity: Capacity) -> Transaction {
TransactionBuilder::default()
.input(CellInput::new_cellbase_input(0, 0))
.input(CellInput::new_cellbase_input(0))
.output(CellOutput::new(
capacity,
Vec::new(),
Expand Down
2 changes: 1 addition & 1 deletion verification/src/tests/commit_verifier.rs
Expand Up @@ -82,7 +82,7 @@ fn start_chain(

fn create_cellbase(number: BlockNumber) -> Transaction {
TransactionBuilder::default()
.input(CellInput::new_cellbase_input(number, 0))
.input(CellInput::new_cellbase_input(number))
.outputs(vec![CellOutput::new(0, vec![], Script::default(), None)])
.build()
}
Expand Down
2 changes: 1 addition & 1 deletion verification/src/tests/uncle_verifier.rs
Expand Up @@ -56,7 +56,7 @@ fn start_chain(

fn create_cellbase(number: BlockNumber) -> Transaction {
TransactionBuilder::default()
.input(CellInput::new_cellbase_input(number, 0))
.input(CellInput::new_cellbase_input(number))
.output(CellOutput::new(0, vec![], Script::default(), None))
.build()
}
Expand Down

0 comments on commit 147d919

Please sign in to comment.