diff --git a/src/event.rs b/src/event.rs index 3342bcd2d5..ec9b1793e8 100644 --- a/src/event.rs +++ b/src/event.rs @@ -40,7 +40,7 @@ pub enum Event { impl Event { pub fn new_claim(to: PublicKey, data: T, sig: Signature) -> Self { Event::Transaction { - from: None, + from: Some(to), to, data, sig, @@ -81,9 +81,7 @@ pub fn sign_transaction_data( /// Return a signature for the given data using the private key from the given keypair. pub fn sign_claim_data(data: &T, keypair: &Ed25519KeyPair) -> Signature { - let to = get_pubkey(keypair); - let from: Option = None; - sign_serialized(&(&from, &to, data), keypair) + sign_transaction_data(data, keypair, &get_pubkey(keypair)) } /// Verify a signed message with the given public key. diff --git a/src/genesis.rs b/src/genesis.rs index 86c813e5ef..3462c5d113 100644 --- a/src/genesis.rs +++ b/src/genesis.rs @@ -1,6 +1,6 @@ //! A library for generating the chain's genesis block. -use event::{generate_keypair, get_pubkey, sign_claim_data, sign_transaction_data, Event, PublicKey}; +use event::{generate_keypair, get_pubkey, sign_transaction_data, Event, PublicKey}; use ring::rand::SystemRandom; use ring::signature::Ed25519KeyPair; use untrusted::Input; @@ -55,9 +55,9 @@ impl Genesis { pub fn create_events(&self) -> Vec> { let org_keypair = Ed25519KeyPair::from_pkcs8(Input::from(&self.pkcs8)).unwrap(); - let sig = sign_claim_data(&self.tokens, &org_keypair); let event0 = Event::Tick; - let event1 = Event::new_claim(get_pubkey(&org_keypair), self.tokens, sig); + let treasury = Creator::new("Treasury", self.tokens); + let event1 = treasury.create_transaction(&org_keypair); let mut events = vec![event0, event1]; for creator in &self.creators {