forked from mirror/go-ethereum
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.7 KiB
75 lines
1.7 KiB
package rpc
|
|
|
|
/*
|
|
func pack(id int, v ...interface{}) Message {
|
|
return Message{Data: v, Id: id}
|
|
}
|
|
|
|
func WriteOn(msg *Message, writer io.Writer) {
|
|
//msg := &Message{Seed: seed, Data: data}
|
|
|
|
switch msg.Call {
|
|
case "compile":
|
|
data := ethutil.NewValue(msg.Args)
|
|
bcode, err := ethutil.Compile(data.Get(0).Str(), false)
|
|
if err != nil {
|
|
JSON.Send(writer, pack(msg.Id, err.Error()))
|
|
}
|
|
|
|
code := ethutil.Bytes2Hex(bcode)
|
|
|
|
JSON.Send(writer, pack(msg.Id, code, nil))
|
|
case "block":
|
|
args := msg.Arguments()
|
|
|
|
block := pipe.BlockByNumber(int32(args.Get(0).Uint()))
|
|
|
|
JSON.Send(writer, pack(msg.Id, block))
|
|
case "transact":
|
|
if mp, ok := msg.Args[0].(map[string]interface{}); ok {
|
|
object := mapToTxParams(mp)
|
|
JSON.Send(
|
|
writer,
|
|
pack(msg.Id, args(pipe.Transact(object["from"], object["to"], object["value"], object["gas"], object["gasPrice"], object["data"]))),
|
|
)
|
|
|
|
}
|
|
case "coinbase":
|
|
JSON.Send(writer, pack(msg.Id, pipe.CoinBase(), msg.Seed))
|
|
|
|
case "listening":
|
|
JSON.Send(writer, pack(msg.Id, pipe.IsListening()))
|
|
|
|
case "mining":
|
|
JSON.Send(writer, pack(msg.Id, pipe.IsMining()))
|
|
|
|
case "peerCoint":
|
|
JSON.Send(writer, pack(msg.Id, pipe.PeerCount()))
|
|
|
|
case "countAt":
|
|
args := msg.Arguments()
|
|
|
|
JSON.Send(writer, pack(msg.Id, pipe.TxCountAt(args.Get(0).Str())))
|
|
|
|
case "codeAt":
|
|
args := msg.Arguments()
|
|
|
|
JSON.Send(writer, pack(msg.Id, len(pipe.CodeAt(args.Get(0).Str()))))
|
|
|
|
case "stateAt":
|
|
args := msg.Arguments()
|
|
|
|
JSON.Send(writer, pack(msg.Id, pipe.StorageAt(args.Get(0).Str(), args.Get(1).Str())))
|
|
|
|
case "balanceAt":
|
|
args := msg.Arguments()
|
|
|
|
JSON.Send(writer, pack(msg.Id, pipe.BalanceAt(args.Get(0).Str())))
|
|
|
|
case "newFilter":
|
|
case "newFilterString":
|
|
case "messages":
|
|
// TODO
|
|
}
|
|
}
|
|
*/
|
|
|