Merge pull request #5473 from paritytech/eip86

Correct contract address for EIP-86
This commit is contained in:
Robert Habermeier 2017-04-20 17:21:16 +02:00 committed by GitHub
commit ee25249729
2 changed files with 4 additions and 4 deletions

View File

@ -46,7 +46,7 @@ pub fn contract_address(address_scheme: CreateContractAddress, sender: &Address,
From::from(stream.as_raw().sha3())
},
CreateContractAddress::FromCodeHash => {
let mut buffer = [0u8; 20 + 32];
let mut buffer = [0xffu8; 20 + 32];
&mut buffer[20..].copy_from_slice(&code_hash[..]);
From::from((&buffer[..]).sha3())
},

View File

@ -127,7 +127,7 @@ impl From<ethjson::state::Transaction> for SignedTransaction {
};
match secret {
Some(s) => tx.sign(&s, None),
None => tx.null_sign(),
None => tx.null_sign(1),
}
}
}
@ -210,13 +210,13 @@ impl Transaction {
}
/// Add EIP-86 compatible empty signature.
pub fn null_sign(self) -> SignedTransaction {
pub fn null_sign(self, network_id: u64) -> SignedTransaction {
SignedTransaction {
transaction: UnverifiedTransaction {
unsigned: self,
r: U256::zero(),
s: U256::zero(),
v: 0,
v: network_id,
hash: 0.into(),
}.compute_hash(),
sender: UNSIGNED_SENDER,