github.com/number571/tendermint@v0.34.11-gost/rpc/core/routes.go (about) 1 package core 2 3 import ( 4 rpc "github.com/number571/tendermint/rpc/jsonrpc/server" 5 ) 6 7 // TODO: better system than "unsafe" prefix 8 9 type RoutesMap map[string]*rpc.RPCFunc 10 11 // Routes is a map of available routes. 12 func (env *Environment) GetRoutes() RoutesMap { 13 return RoutesMap{ 14 // subscribe/unsubscribe are reserved for websocket events. 15 "subscribe": rpc.NewWSRPCFunc(env.Subscribe, "query"), 16 "unsubscribe": rpc.NewWSRPCFunc(env.Unsubscribe, "query"), 17 "unsubscribe_all": rpc.NewWSRPCFunc(env.UnsubscribeAll, ""), 18 19 // info API 20 "health": rpc.NewRPCFunc(env.Health, "", false), 21 "status": rpc.NewRPCFunc(env.Status, "", false), 22 "net_info": rpc.NewRPCFunc(env.NetInfo, "", false), 23 "blockchain": rpc.NewRPCFunc(env.BlockchainInfo, "minHeight,maxHeight", true), 24 "genesis": rpc.NewRPCFunc(env.Genesis, "", true), 25 "genesis_chunked": rpc.NewRPCFunc(env.GenesisChunked, "chunk", true), 26 "block": rpc.NewRPCFunc(env.Block, "height", true), 27 "block_by_hash": rpc.NewRPCFunc(env.BlockByHash, "hash", true), 28 "block_results": rpc.NewRPCFunc(env.BlockResults, "height", true), 29 "commit": rpc.NewRPCFunc(env.Commit, "height", true), 30 "check_tx": rpc.NewRPCFunc(env.CheckTx, "tx", true), 31 "tx": rpc.NewRPCFunc(env.Tx, "hash,prove", true), 32 "tx_search": rpc.NewRPCFunc(env.TxSearch, "query,prove,page,per_page,order_by", false), 33 "block_search": rpc.NewRPCFunc(env.BlockSearch, "query,page,per_page,order_by", false), 34 "validators": rpc.NewRPCFunc(env.Validators, "height,page,per_page", true), 35 "dump_consensus_state": rpc.NewRPCFunc(env.DumpConsensusState, "", false), 36 "consensus_state": rpc.NewRPCFunc(env.GetConsensusState, "", false), 37 "consensus_params": rpc.NewRPCFunc(env.ConsensusParams, "height", true), 38 "unconfirmed_txs": rpc.NewRPCFunc(env.UnconfirmedTxs, "limit", false), 39 "num_unconfirmed_txs": rpc.NewRPCFunc(env.NumUnconfirmedTxs, "", false), 40 41 // tx broadcast API 42 "broadcast_tx_commit": rpc.NewRPCFunc(env.BroadcastTxCommit, "tx", false), 43 "broadcast_tx_sync": rpc.NewRPCFunc(env.BroadcastTxSync, "tx", false), 44 "broadcast_tx_async": rpc.NewRPCFunc(env.BroadcastTxAsync, "tx", false), 45 46 // abci API 47 "abci_query": rpc.NewRPCFunc(env.ABCIQuery, "path,data,height,prove", false), 48 "abci_info": rpc.NewRPCFunc(env.ABCIInfo, "", true), 49 50 // evidence API 51 "broadcast_evidence": rpc.NewRPCFunc(env.BroadcastEvidence, "evidence", false), 52 } 53 } 54 55 // AddUnsafeRoutes adds unsafe routes. 56 func (env *Environment) AddUnsafe(routes RoutesMap) { 57 // control API 58 routes["dial_seeds"] = rpc.NewRPCFunc(env.UnsafeDialSeeds, "seeds", false) 59 routes["dial_peers"] = rpc.NewRPCFunc(env.UnsafeDialPeers, "peers,persistent,unconditional,private", false) 60 routes["unsafe_flush_mempool"] = rpc.NewRPCFunc(env.UnsafeFlushMempool, "", false) 61 }