From 4dca5d4db7fc2c1fac5a2e24dcc99b15573f0188 Mon Sep 17 00:00:00 2001 From: Jeffrey Wilcke Date: Wed, 2 Nov 2016 13:44:13 +0100 Subject: core/types, params: EIP#155 --- ethclient/ethclient.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'ethclient') diff --git a/ethclient/ethclient.go b/ethclient/ethclient.go index 6e2b1378a..a095aa076 100644 --- a/ethclient/ethclient.go +++ b/ethclient/ethclient.go @@ -147,7 +147,7 @@ func (ec *Client) TransactionByHash(ctx context.Context, hash common.Hash) (*typ var tx *types.Transaction err := ec.c.CallContext(ctx, &tx, "eth_getTransactionByHash", hash) if err == nil { - if _, r, _ := tx.SignatureValues(); r == nil { + if _, r, _ := tx.RawSignatureValues(); r == nil { return nil, fmt.Errorf("server returned transaction without signature") } } @@ -166,7 +166,11 @@ func (ec *Client) TransactionInBlock(ctx context.Context, blockHash common.Hash, var tx *types.Transaction err := ec.c.CallContext(ctx, &tx, "eth_getTransactionByBlockHashAndIndex", blockHash, index) if err == nil { - if _, r, _ := tx.SignatureValues(); r == nil { + var signer types.Signer = types.HomesteadSigner{} + if tx.Protected() { + signer = types.NewEIP155Signer(tx.ChainId()) + } + if _, r, _ := types.SignatureValues(signer, tx); r == nil { return nil, fmt.Errorf("server returned transaction without signature") } } -- cgit v1.2.3