github.com/evdatsion/aphelion-dpos-bft@v0.32.1/rpc/core/routes.go (about)

     1  package core
     2  
     3  import (
     4  	rpc "github.com/evdatsion/aphelion-dpos-bft/rpc/lib/server"
     5  )
     6  
     7  // TODO: better system than "unsafe" prefix
     8  // NOTE: Amino is registered in rpc/core/types/wire.go.
     9  var Routes = map[string]*rpc.RPCFunc{
    10  	// subscribe/unsubscribe are reserved for websocket events.
    11  	"subscribe":       rpc.NewWSRPCFunc(Subscribe, "query"),
    12  	"unsubscribe":     rpc.NewWSRPCFunc(Unsubscribe, "query"),
    13  	"unsubscribe_all": rpc.NewWSRPCFunc(UnsubscribeAll, ""),
    14  
    15  	// info API
    16  	"health":               rpc.NewRPCFunc(Health, ""),
    17  	"status":               rpc.NewRPCFunc(Status, ""),
    18  	"net_info":             rpc.NewRPCFunc(NetInfo, ""),
    19  	"blockchain":           rpc.NewRPCFunc(BlockchainInfo, "minHeight,maxHeight"),
    20  	"genesis":              rpc.NewRPCFunc(Genesis, ""),
    21  	"block":                rpc.NewRPCFunc(Block, "height"),
    22  	"block_results":        rpc.NewRPCFunc(BlockResults, "height"),
    23  	"commit":               rpc.NewRPCFunc(Commit, "height"),
    24  	"tx":                   rpc.NewRPCFunc(Tx, "hash,prove"),
    25  	"tx_search":            rpc.NewRPCFunc(TxSearch, "query,prove,page,per_page"),
    26  	"validators":           rpc.NewRPCFunc(Validators, "height"),
    27  	"dump_consensus_state": rpc.NewRPCFunc(DumpConsensusState, ""),
    28  	"consensus_state":      rpc.NewRPCFunc(ConsensusState, ""),
    29  	"consensus_params":     rpc.NewRPCFunc(ConsensusParams, "height"),
    30  	"unconfirmed_txs":      rpc.NewRPCFunc(UnconfirmedTxs, "limit"),
    31  	"num_unconfirmed_txs":  rpc.NewRPCFunc(NumUnconfirmedTxs, ""),
    32  
    33  	// broadcast API
    34  	"broadcast_tx_commit": rpc.NewRPCFunc(BroadcastTxCommit, "tx"),
    35  	"broadcast_tx_sync":   rpc.NewRPCFunc(BroadcastTxSync, "tx"),
    36  	"broadcast_tx_async":  rpc.NewRPCFunc(BroadcastTxAsync, "tx"),
    37  
    38  	// abci API
    39  	"abci_query": rpc.NewRPCFunc(ABCIQuery, "path,data,height,prove"),
    40  	"abci_info":  rpc.NewRPCFunc(ABCIInfo, ""),
    41  }
    42  
    43  func AddUnsafeRoutes() {
    44  	// control API
    45  	Routes["dial_seeds"] = rpc.NewRPCFunc(UnsafeDialSeeds, "seeds")
    46  	Routes["dial_peers"] = rpc.NewRPCFunc(UnsafeDialPeers, "peers,persistent")
    47  	Routes["unsafe_flush_mempool"] = rpc.NewRPCFunc(UnsafeFlushMempool, "")
    48  
    49  	// profiler API
    50  	Routes["unsafe_start_cpu_profiler"] = rpc.NewRPCFunc(UnsafeStartCPUProfiler, "filename")
    51  	Routes["unsafe_stop_cpu_profiler"] = rpc.NewRPCFunc(UnsafeStopCPUProfiler, "")
    52  	Routes["unsafe_write_heap_profile"] = rpc.NewRPCFunc(UnsafeWriteHeapProfile, "filename")
    53  }