rpc: fix panic (#630)
This commit is contained in:
parent
e79a6ed6b2
commit
19b6c03f37
@ -238,9 +238,8 @@ func (e *EVMBackend) EthBlockFromTendermint(
|
|||||||
|
|
||||||
ctx := types.ContextWithHeight(block.Height)
|
ctx := types.ContextWithHeight(block.Height)
|
||||||
|
|
||||||
bfRes, err := e.queryClient.FeeMarket.BaseFee(ctx, &feemarkettypes.QueryBaseFeeRequest{})
|
baseFee, err := e.BaseFee()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
e.logger.Debug("failed to base fee", "height", block.Height, "error", err.Error())
|
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -270,7 +269,7 @@ func (e *EVMBackend) EthBlockFromTendermint(
|
|||||||
common.BytesToHash(block.Hash()),
|
common.BytesToHash(block.Hash()),
|
||||||
uint64(block.Height),
|
uint64(block.Height),
|
||||||
uint64(i),
|
uint64(i),
|
||||||
bfRes.BaseFee.BigInt(),
|
baseFee,
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
e.logger.Debug("NewTransactionFromData for receipt failed", "hash", tx.Hash().Hex(), "error", err.Error())
|
e.logger.Debug("NewTransactionFromData for receipt failed", "hash", tx.Hash().Hex(), "error", err.Error())
|
||||||
@ -327,7 +326,7 @@ func (e *EVMBackend) EthBlockFromTendermint(
|
|||||||
formattedBlock := types.FormatBlock(
|
formattedBlock := types.FormatBlock(
|
||||||
block.Header, block.Size(),
|
block.Header, block.Size(),
|
||||||
gasLimit, new(big.Int).SetUint64(gasUsed),
|
gasLimit, new(big.Int).SetUint64(gasUsed),
|
||||||
ethRPCTxs, bloom, validatorAddr, bfRes.BaseFee.BigInt(),
|
ethRPCTxs, bloom, validatorAddr, baseFee,
|
||||||
)
|
)
|
||||||
return formattedBlock, nil
|
return formattedBlock, nil
|
||||||
}
|
}
|
||||||
|
@ -5,8 +5,10 @@ import (
|
|||||||
|
|
||||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||||
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
|
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
ethtypes "github.com/ethereum/go-ethereum/core/types"
|
ethtypes "github.com/ethereum/go-ethereum/core/types"
|
||||||
|
|
||||||
"github.com/tharsis/ethermint/types"
|
"github.com/tharsis/ethermint/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -228,12 +230,12 @@ func (tx DynamicFeeTx) Validate() error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fee panics as it requires the base fee amount to calculate
|
// Fee returns gasprice * gaslimit.
|
||||||
func (tx DynamicFeeTx) Fee() *big.Int {
|
func (tx DynamicFeeTx) Fee() *big.Int {
|
||||||
panic("fee can only be called manually by providing the base fee")
|
return fee(tx.GetGasPrice(), tx.GasLimit)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cost returns amount + gasprice * gaslimit.
|
// Cost returns amount + gasprice * gaslimit.
|
||||||
func (tx DynamicFeeTx) Cost() *big.Int {
|
func (tx DynamicFeeTx) Cost() *big.Int {
|
||||||
panic("cost can only be called manually by providing the base fee")
|
return cost(tx.Fee(), tx.GetValue())
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user