github.com/cheng762/platon-go@v1.8.17-0.20190529111256-7deff2d7be26/core/vm/ppos_precontracts_test.go (about)

     1  package vm
     2  
     3  import (
     4  	"encoding/hex"
     5  	"encoding/json"
     6  	"fmt"
     7  	"github.com/PlatONnetwork/PlatON-Go/common"
     8  	"github.com/PlatONnetwork/PlatON-Go/core/types"
     9  	"github.com/PlatONnetwork/PlatON-Go/p2p/discover"
    10  	"math/big"
    11  	"testing"
    12  )
    13  
    14  func TestExecute(t *testing.T) {
    15  	var command = map[string]interface{}{
    16  		"recalled": recalled,
    17  	}
    18  	input, _ := hex.DecodeString("f8c28800000000000000f188726563616c6c6564b88230783166336138363732333438666636623738396534313637363261643533653639303633313338623865623464383738303130313635386632346232333639663161386530393439393232366234363764386263306334653033653164633930336466383537656562336336373733336432316236616165653238343065343239aa30786632313664366534633137303937613630656532623865356338383934316364396630373236336201")
    19  	_, err := execute(input, command)
    20  	if nil != err {
    21  		fmt.Println("execute fail", "err", err)
    22  	}
    23  }
    24  
    25  func TestDecodeResultStr(t *testing.T) {
    26  	ticket := types.Ticket{
    27  		Owner:       common.HexToAddress("0x0123456789012345678901234567890123456789"),
    28  		Deposit:     big.NewInt(1),
    29  		CandidateId: discover.MustHexID("0x01234567890121345678901123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345"),
    30  		BlockNumber: big.NewInt(100),
    31  		Remaining:   1000,
    32  	}
    33  	data, _ := json.Marshal(ticket)
    34  	sdata := DecodeResultStr(string(data))
    35  	json := ResultByte2Json(sdata)
    36  	fmt.Println("origin: ", string(data), "[]byte: ", sdata, "json: ", json)
    37  }
    38  
    39  func recalled(nodeId discover.NodeID, owner common.Address, deposit *big.Int) ([]byte, error) {
    40  	fmt.Println("nodeId:", nodeId, "owner:", owner, "deposit:", deposit)
    41  	return nil, nil
    42  }
    43  
    44  func ResultByte2Json(origin []byte) string {
    45  	resultByte := origin[64:]
    46  	return string(resultByte)
    47  }