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()) From::from(stream.as_raw().sha3())
}, },
CreateContractAddress::FromCodeHash => { CreateContractAddress::FromCodeHash => {
let mut buffer = [0u8; 20 + 32]; let mut buffer = [0xffu8; 20 + 32];
&mut buffer[20..].copy_from_slice(&code_hash[..]); &mut buffer[20..].copy_from_slice(&code_hash[..]);
From::from((&buffer[..]).sha3()) From::from((&buffer[..]).sha3())
}, },

View File

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