rpc: fix deadlock (#614)
This commit is contained in:
parent
ef4193b4d4
commit
3072376371
@ -44,6 +44,10 @@ Ref: https://keepachangelog.com/en/1.0.0/
|
||||
* (evm) [#603](https://github.com/cosmos/ethermint/pull/603) Add state transition params that enable or disable the EVM `Call` and `Create` operations.
|
||||
* (deps) [\#602](https://github.com/cosmos/ethermint/pull/602) Bump tendermint version to [v0.33.9](https://github.com/tendermint/tendermint/releases/tag/v0.33.9)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* (rpc) [\#613](https://github.com/cosmos/ethermint/issues/613) Fix potential deadlock caused if the keyring `List` returned an error.
|
||||
|
||||
## [v0.3.0] - 2020-11-16
|
||||
|
||||
### API Breaking
|
||||
|
@ -196,6 +196,7 @@ func (api *PublicEthereumAPI) GasPrice() *hexutil.Big {
|
||||
func (api *PublicEthereumAPI) Accounts() ([]common.Address, error) {
|
||||
api.logger.Debug("eth_accounts")
|
||||
api.keyringLock.Lock()
|
||||
defer api.keyringLock.Unlock()
|
||||
|
||||
addresses := make([]common.Address, 0) // return [] instead of nil if empty
|
||||
|
||||
@ -204,8 +205,6 @@ func (api *PublicEthereumAPI) Accounts() ([]common.Address, error) {
|
||||
return addresses, err
|
||||
}
|
||||
|
||||
api.keyringLock.Unlock()
|
||||
|
||||
for _, info := range infos {
|
||||
addressBytes := info.GetPubKey().Address().Bytes()
|
||||
addresses = append(addresses, common.BytesToAddress(addressBytes))
|
||||
|
Loading…
Reference in New Issue
Block a user