rpc: fix default signer (#769)

* rpc: fix default signer

* changelog
This commit is contained in:
Federico Kunze Küllmer 2021-11-22 16:39:25 +01:00 committed by GitHub
parent 93020f8786
commit be8fd869ff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 3 deletions

View File

@ -35,6 +35,12 @@ Ref: https://keepachangelog.com/en/1.0.0/
# Changelog
## Unreleased
### Bug Fixes
* (rpc) [tharsis#769](https://github.com/tharsis/ethermint/pull/769) Fix default Ethereum signer for JSON-RPC.
## [v0.8.0] - 2021-11-17
### State Machine Breaking

View File

@ -56,7 +56,7 @@ func NewPublicAPI(
backend backend.Backend,
nonceLock *rpctypes.AddrLocker,
) *PublicAPI {
epoch, err := ethermint.ParseChainID(clientCtx.ChainID)
eip155ChainID, err := ethermint.ParseChainID(clientCtx.ChainID)
if err != nil {
panic(err)
}
@ -80,13 +80,18 @@ func NewPublicAPI(
// The signer used by the API should always be the 'latest' known one because we expect
// signers to be backwards-compatible with old transactions.
signer := ethtypes.LatestSigner(backend.ChainConfig())
cfg := backend.ChainConfig()
if cfg == nil {
cfg = evmtypes.DefaultChainConfig().EthereumConfig(eip155ChainID)
}
signer := ethtypes.LatestSigner(cfg)
api := &PublicAPI{
ctx: context.Background(),
clientCtx: clientCtx,
queryClient: rpctypes.NewQueryClient(clientCtx),
chainIDEpoch: epoch,
chainIDEpoch: eip155ChainID,
logger: logger.With("client", "json-rpc"),
backend: backend,
nonceLock: nonceLock,