From 70c8656640a861d93ac40181c6c0bdd8faef856b Mon Sep 17 00:00:00 2001 From: obscuren Date: Fri, 2 May 2014 12:11:55 +0200 Subject: [PATCH] Added a KeyPairFromSec function which creates a new keypair based on the given seckey --- ethchain/keypair.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ethchain/keypair.go b/ethchain/keypair.go index a5af791d0..0f23bacdf 100644 --- a/ethchain/keypair.go +++ b/ethchain/keypair.go @@ -2,6 +2,7 @@ package ethchain import ( "github.com/ethereum/eth-go/ethutil" + "github.com/obscuren/secp256k1-go" "math/big" ) @@ -14,6 +15,15 @@ type KeyPair struct { state *State } +func NewKeyPairFromSec(seckey []byte) (*KeyPair, error) { + pubkey, err := secp256k1.GeneratePubKey(seckey) + if err != nil { + return nil, err + } + + return &KeyPair{PrivateKey: seckey, PublicKey: pubkey}, nil +} + func NewKeyPairFromValue(val *ethutil.Value) *KeyPair { keyPair := &KeyPair{PrivateKey: val.Get(0).Bytes(), PublicKey: val.Get(1).Bytes()}