diff options
author | Wei-Ning Huang <w@dexon.org> | 2018-11-26 10:00:31 +0800 |
---|---|---|
committer | Wei-Ning Huang <w@byzantine-lab.io> | 2019-06-12 17:27:18 +0800 |
commit | afc6a417210dc43a5a38ece5302de6801785316f (patch) | |
tree | bdf34181a628038f935e161433fe1b612a5b3bae /core/types | |
parent | 82d138debeac23029d3640ee7bc31c4ed093ff28 (diff) | |
download | go-tangerine-afc6a417210dc43a5a38ece5302de6801785316f.tar.gz go-tangerine-afc6a417210dc43a5a38ece5302de6801785316f.tar.zst go-tangerine-afc6a417210dc43a5a38ece5302de6801785316f.zip |
core: various changes on tps tuning (#46)
Diffstat (limited to 'core/types')
-rw-r--r-- | core/types/transaction_signing.go | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/core/types/transaction_signing.go b/core/types/transaction_signing.go index 47c7a2f91..99e0c7896 100644 --- a/core/types/transaction_signing.go +++ b/core/types/transaction_signing.go @@ -173,9 +173,13 @@ func Sender(signer Signer, tx *Transaction) (common.Address, error) { } } - addr, err := signer.Sender(tx) - if err != nil { - return common.Address{}, err + addr, ok := GlobalSigCache.Get(tx.Hash()) + if !ok { + var err error + addr, err = signer.Sender(tx) + if err != nil { + return common.Address{}, err + } } tx.from.Store(sigCache{signer: signer, from: addr}) return addr, nil @@ -218,11 +222,6 @@ func (s EIP155Signer) Equal(s2 Signer) bool { var big8 = big.NewInt(8) func (s EIP155Signer) Sender(tx *Transaction) (common.Address, error) { - addr, ok := GlobalSigCache.Get(tx.Hash()) - if ok { - return addr, nil - } - if !tx.Protected() { return HomesteadSigner{}.Sender(tx) } |