evm: fix pointer in ResultData.String() (#733)
This commit is contained in:
parent
0fe6353865
commit
dce0b0cffb
@ -68,13 +68,19 @@ type ResultData struct {
|
||||
|
||||
// String implements fmt.Stringer interface.
|
||||
func (rd ResultData) String() string {
|
||||
var logsStr string
|
||||
logsLen := len(rd.Logs)
|
||||
for i := 0; i < logsLen; i++ {
|
||||
logsStr = fmt.Sprintf("%s\t\t%v\n ", logsStr, *rd.Logs[i])
|
||||
}
|
||||
|
||||
return strings.TrimSpace(fmt.Sprintf(`ResultData:
|
||||
ContractAddress: %s
|
||||
Bloom: %s
|
||||
Logs: %v
|
||||
Ret: %v
|
||||
TxHash: %s
|
||||
`, rd.ContractAddress.String(), rd.Bloom.Big().String(), rd.Logs, rd.Ret, rd.TxHash.String()))
|
||||
TxHash: %s
|
||||
Logs:
|
||||
%s`, rd.ContractAddress.String(), rd.Bloom.Big().String(), rd.Ret, rd.TxHash.String(), logsStr))
|
||||
}
|
||||
|
||||
// EncodeResultData takes all of the necessary data from the EVM execution
|
||||
|
@ -1,6 +1,7 @@
|
||||
package types
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
@ -34,3 +35,34 @@ func TestEvmDataEncoding(t *testing.T) {
|
||||
require.Equal(t, data.Logs, res.Logs)
|
||||
require.Equal(t, ret, res.Ret)
|
||||
}
|
||||
|
||||
func TestResultData_String(t *testing.T) {
|
||||
const expectedResultDataStr = `ResultData:
|
||||
ContractAddress: 0x5dE8a020088a2D6d0a23c204FFbeD02790466B49
|
||||
Bloom: 259
|
||||
Ret: [5 8]
|
||||
TxHash: 0x0000000000000000000000000000000000000000000000000000000000000000
|
||||
Logs:
|
||||
{0x0000000000000000000000000000000000000000 [] [1 2 3 4] 17 0x0000000000000000000000000000000000000000000000000000000000000000 0 0x0000000000000000000000000000000000000000000000000000000000000000 0 false}
|
||||
{0x0000000000000000000000000000000000000000 [] [5 6 7 8] 18 0x0000000000000000000000000000000000000000000000000000000000000000 0 0x0000000000000000000000000000000000000000000000000000000000000000 0 false}`
|
||||
addr := ethcmn.HexToAddress("0x5dE8a020088a2D6d0a23c204FFbeD02790466B49")
|
||||
bloom := ethtypes.BytesToBloom([]byte{0x1, 0x3})
|
||||
ret := []byte{0x5, 0x8}
|
||||
|
||||
data := ResultData{
|
||||
ContractAddress: addr,
|
||||
Bloom: bloom,
|
||||
Logs: []*ethtypes.Log{
|
||||
{
|
||||
Data: []byte{1, 2, 3, 4},
|
||||
BlockNumber: 17,
|
||||
},
|
||||
{
|
||||
Data: []byte{5, 6, 7, 8},
|
||||
BlockNumber: 18,
|
||||
}},
|
||||
Ret: ret,
|
||||
}
|
||||
|
||||
require.True(t, strings.EqualFold(expectedResultDataStr, data.String()))
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user