fix: empty log topics shouldn't be encoded as nil (#840)
* Problem: empty topics shouldn't be encoded as nil Closes: #839 Solution: - encode it as empty array * fix unit tests * changelog
This commit is contained in:
parent
423944bf79
commit
924232f02e
@ -37,6 +37,10 @@ Ref: https://keepachangelog.com/en/1.0.0/
|
||||
|
||||
## Unreleased
|
||||
|
||||
### State Machine Breaking
|
||||
|
||||
- (evm) [tharsis#840](https://github.com/tharsis/ethermint/pull/840) Store empty topics as empty array rather than nil.
|
||||
|
||||
### Improvements
|
||||
|
||||
* (evm) [tharsis#826](https://github.com/tharsis/ethermint/issues/826) Improve allocation of bytes of `tx.To` address.
|
||||
|
@ -592,6 +592,7 @@ func (suite *KeeperTestSuite) TestAddLog() {
|
||||
ðtypes.Log{
|
||||
Address: addr,
|
||||
TxHash: txHash,
|
||||
Topics: make([]common.Hash, 0),
|
||||
},
|
||||
func() {},
|
||||
},
|
||||
@ -606,6 +607,7 @@ func (suite *KeeperTestSuite) TestAddLog() {
|
||||
TxHash: txHash2,
|
||||
TxIndex: 1,
|
||||
Index: 1,
|
||||
Topics: make([]common.Hash, 0),
|
||||
},
|
||||
func() {
|
||||
suite.app.EvmKeeper.SetTxHashTransient(txHash)
|
||||
@ -624,6 +626,7 @@ func (suite *KeeperTestSuite) TestAddLog() {
|
||||
ðtypes.Log{
|
||||
Address: addr,
|
||||
TxHash: txHash3,
|
||||
Topics: make([]common.Hash, 0),
|
||||
},
|
||||
func() {},
|
||||
},
|
||||
@ -638,6 +641,7 @@ func (suite *KeeperTestSuite) TestAddLog() {
|
||||
TxHash: txHash4,
|
||||
TxIndex: 1,
|
||||
Index: 1,
|
||||
Topics: make([]common.Hash, 0),
|
||||
},
|
||||
func() {
|
||||
suite.app.EvmKeeper.SetTxHashTransient(txHash)
|
||||
|
@ -70,9 +70,9 @@ func (log *Log) Validate() error {
|
||||
|
||||
// ToEthereum returns the Ethereum type Log from a Ethermint proto compatible Log.
|
||||
func (log *Log) ToEthereum() *ethtypes.Log {
|
||||
var topics []common.Hash // nolint: prealloc
|
||||
for i := range log.Topics {
|
||||
topics = append(topics, common.HexToHash(log.Topics[i]))
|
||||
topics := make([]common.Hash, len(log.Topics))
|
||||
for i, topic := range log.Topics {
|
||||
topics[i] = common.HexToHash(topic)
|
||||
}
|
||||
|
||||
return ðtypes.Log{
|
||||
@ -108,9 +108,9 @@ func LogsToEthereum(logs []*Log) []*ethtypes.Log {
|
||||
|
||||
// NewLogFromEth creates a new Log instance from a Ethereum type Log.
|
||||
func NewLogFromEth(log *ethtypes.Log) *Log {
|
||||
var topics []string // nolint: prealloc
|
||||
for _, topic := range log.Topics {
|
||||
topics = append(topics, topic.String())
|
||||
topics := make([]string, len(log.Topics))
|
||||
for i, topic := range log.Topics {
|
||||
topics[i] = topic.String()
|
||||
}
|
||||
|
||||
return &Log{
|
||||
|
Loading…
Reference in New Issue
Block a user