81aeb78976
Benefits from automatic output formatting differences between quantities and data
124 lines
3.1 KiB
Go
124 lines
3.1 KiB
Go
package rpc
|
|
|
|
import (
|
|
"encoding/json"
|
|
"math/big"
|
|
"testing"
|
|
|
|
"github.com/ethereum/go-ethereum/common"
|
|
"github.com/ethereum/go-ethereum/core/state"
|
|
"github.com/ethereum/go-ethereum/core/types"
|
|
)
|
|
|
|
func TestNewBlockRes(t *testing.T) {
|
|
parentHash := common.HexToHash("0x01")
|
|
coinbase := common.HexToAddress("0x01")
|
|
root := common.HexToHash("0x01")
|
|
difficulty := common.Big1
|
|
nonce := uint64(1)
|
|
extra := ""
|
|
block := types.NewBlock(parentHash, coinbase, root, difficulty, nonce, extra)
|
|
|
|
_ = NewBlockRes(block)
|
|
}
|
|
|
|
func TestBlockRes(t *testing.T) {
|
|
v := &BlockRes{
|
|
BlockNumber: big.NewInt(0),
|
|
BlockHash: common.HexToHash("0x0"),
|
|
ParentHash: common.HexToHash("0x0"),
|
|
Nonce: [8]byte{0, 0, 0, 0, 0, 0, 0, 0},
|
|
Sha3Uncles: common.HexToHash("0x0"),
|
|
LogsBloom: types.BytesToBloom([]byte{0}),
|
|
TransactionRoot: common.HexToHash("0x0"),
|
|
StateRoot: common.HexToHash("0x0"),
|
|
Miner: common.HexToAddress("0x0"),
|
|
Difficulty: big.NewInt(0),
|
|
TotalDifficulty: big.NewInt(0),
|
|
Size: big.NewInt(0),
|
|
ExtraData: []byte{},
|
|
GasLimit: big.NewInt(0),
|
|
MinGasPrice: int64(0),
|
|
GasUsed: big.NewInt(0),
|
|
UnixTimestamp: int64(0),
|
|
// Transactions []*TransactionRes `json:"transactions"`
|
|
// Uncles []common.Hash `json:"uncles"`
|
|
}
|
|
|
|
_, _ = json.Marshal(v)
|
|
|
|
// fmt.Println(string(j))
|
|
|
|
}
|
|
|
|
func TestTransactionRes(t *testing.T) {
|
|
a := common.HexToAddress("0x0")
|
|
v := &TransactionRes{
|
|
Hash: common.HexToHash("0x0"),
|
|
Nonce: uint64(0),
|
|
BlockHash: common.HexToHash("0x0"),
|
|
BlockNumber: int64(0),
|
|
TxIndex: int64(0),
|
|
From: common.HexToAddress("0x0"),
|
|
To: &a,
|
|
Value: big.NewInt(0),
|
|
Gas: big.NewInt(0),
|
|
GasPrice: big.NewInt(0),
|
|
Input: []byte{0},
|
|
}
|
|
|
|
_, _ = json.Marshal(v)
|
|
}
|
|
|
|
func TestNewTransactionRes(t *testing.T) {
|
|
to := common.HexToAddress("0x02")
|
|
amount := big.NewInt(1)
|
|
gasAmount := big.NewInt(1)
|
|
gasPrice := big.NewInt(1)
|
|
data := []byte{1, 2, 3}
|
|
tx := types.NewTransactionMessage(to, amount, gasAmount, gasPrice, data)
|
|
|
|
_ = NewTransactionRes(tx)
|
|
}
|
|
|
|
func TestLogRes(t *testing.T) {
|
|
topics := make([]common.Hash, 3)
|
|
topics = append(topics, common.HexToHash("0x00"))
|
|
topics = append(topics, common.HexToHash("0x10"))
|
|
topics = append(topics, common.HexToHash("0x20"))
|
|
|
|
v := &LogRes{
|
|
Topics: topics,
|
|
Address: common.HexToAddress("0x0"),
|
|
Data: []byte{1, 2, 3},
|
|
BlockNumber: uint64(5),
|
|
}
|
|
|
|
_, _ = json.Marshal(v)
|
|
}
|
|
|
|
func MakeStateLog(num int) state.Log {
|
|
address := common.HexToAddress("0x0")
|
|
data := []byte{1, 2, 3}
|
|
number := uint64(num)
|
|
topics := make([]common.Hash, 3)
|
|
topics = append(topics, common.HexToHash("0x00"))
|
|
topics = append(topics, common.HexToHash("0x10"))
|
|
topics = append(topics, common.HexToHash("0x20"))
|
|
log := state.NewLog(address, topics, data, number)
|
|
return log
|
|
}
|
|
|
|
func TestNewLogRes(t *testing.T) {
|
|
log := MakeStateLog(0)
|
|
_ = NewLogRes(log)
|
|
}
|
|
|
|
func TestNewLogsRes(t *testing.T) {
|
|
logs := make([]state.Log, 3)
|
|
logs[0] = MakeStateLog(1)
|
|
logs[1] = MakeStateLog(2)
|
|
logs[2] = MakeStateLog(3)
|
|
_ = NewLogsRes(logs)
|
|
}
|