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},
 | 
						|
		Number:  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)
 | 
						|
}
 |