|
package core
|
|
|
|
import (
|
|
rpc "github.com/tendermint/tendermint/rpc/lib/server"
|
|
)
|
|
|
|
// TODO: better system than "unsafe" prefix
|
|
// NOTE: Amino is registered in rpc/core/types/wire.go.
|
|
var Routes = map[string]*rpc.RPCFunc{
|
|
// subscribe/unsubscribe are reserved for websocket events.
|
|
"subscribe": rpc.NewWSRPCFunc(Subscribe, "query"),
|
|
"unsubscribe": rpc.NewWSRPCFunc(Unsubscribe, "query"),
|
|
"unsubscribe_all": rpc.NewWSRPCFunc(UnsubscribeAll, ""),
|
|
|
|
// info API
|
|
"health": rpc.NewRPCFunc(Health, ""),
|
|
"status": rpc.NewRPCFunc(Status, ""),
|
|
"net_info": rpc.NewRPCFunc(NetInfo, ""),
|
|
"blockchain": rpc.NewRPCFunc(BlockchainInfo, "minHeight,maxHeight"),
|
|
"genesis": rpc.NewRPCFunc(Genesis, ""),
|
|
"block": rpc.NewRPCFunc(Block, "height"),
|
|
"block_results": rpc.NewRPCFunc(BlockResults, "height"),
|
|
"commit": rpc.NewRPCFunc(Commit, "height"),
|
|
"tx": rpc.NewRPCFunc(Tx, "hash,prove"),
|
|
"tx_search": rpc.NewRPCFunc(TxSearch, "query,prove,page,per_page"),
|
|
"validators": rpc.NewRPCFunc(Validators, "height"),
|
|
"dump_consensus_state": rpc.NewRPCFunc(DumpConsensusState, ""),
|
|
"consensus_state": rpc.NewRPCFunc(ConsensusState, ""),
|
|
"consensus_params": rpc.NewRPCFunc(ConsensusParams, "height"),
|
|
"unconfirmed_txs": rpc.NewRPCFunc(UnconfirmedTxs, "limit"),
|
|
"num_unconfirmed_txs": rpc.NewRPCFunc(NumUnconfirmedTxs, ""),
|
|
|
|
// broadcast API
|
|
"broadcast_tx_commit": rpc.NewRPCFunc(BroadcastTxCommit, "tx"),
|
|
"broadcast_tx_sync": rpc.NewRPCFunc(BroadcastTxSync, "tx"),
|
|
"broadcast_tx_async": rpc.NewRPCFunc(BroadcastTxAsync, "tx"),
|
|
|
|
// abci API
|
|
"abci_query": rpc.NewRPCFunc(ABCIQuery, "path,data,height,trusted"),
|
|
"abci_info": rpc.NewRPCFunc(ABCIInfo, ""),
|
|
}
|
|
|
|
func AddUnsafeRoutes() {
|
|
// control API
|
|
Routes["dial_seeds"] = rpc.NewRPCFunc(UnsafeDialSeeds, "seeds")
|
|
Routes["dial_peers"] = rpc.NewRPCFunc(UnsafeDialPeers, "peers,persistent")
|
|
Routes["unsafe_flush_mempool"] = rpc.NewRPCFunc(UnsafeFlushMempool, "")
|
|
|
|
// profiler API
|
|
Routes["unsafe_start_cpu_profiler"] = rpc.NewRPCFunc(UnsafeStartCPUProfiler, "filename")
|
|
Routes["unsafe_stop_cpu_profiler"] = rpc.NewRPCFunc(UnsafeStopCPUProfiler, "")
|
|
Routes["unsafe_write_heap_profile"] = rpc.NewRPCFunc(UnsafeWriteHeapProfile, "filename")
|
|
}
|