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  }