github.com/ari-anchor/sei-tendermint@v0.0.0-20230519144642-dc826b7b56bb/light/proxy/routes.go (about) 1 package proxy 2 3 import ( 4 "context" 5 6 lrpc "github.com/ari-anchor/sei-tendermint/light/rpc" 7 rpcclient "github.com/ari-anchor/sei-tendermint/rpc/client" 8 "github.com/ari-anchor/sei-tendermint/rpc/coretypes" 9 ) 10 11 // proxyService wraps a light RPC client to export the RPC service interfaces. 12 // The interfaces are implemented by delegating to the underlying node via the 13 // specified client. 14 type proxyService struct { 15 Client *lrpc.Client 16 } 17 18 func (p proxyService) ABCIInfo(ctx context.Context) (*coretypes.ResultABCIInfo, error) { panic("ok") } 19 20 func (p proxyService) ABCIQuery(ctx context.Context, req *coretypes.RequestABCIQuery) (*coretypes.ResultABCIQuery, error) { 21 return p.Client.ABCIQueryWithOptions(ctx, req.Path, req.Data, rpcclient.ABCIQueryOptions{ 22 Height: int64(req.Height), 23 Prove: req.Prove, 24 }) 25 } 26 27 func (p proxyService) Block(ctx context.Context, req *coretypes.RequestBlockInfo) (*coretypes.ResultBlock, error) { 28 return p.Client.Block(ctx, (*int64)(req.Height)) 29 } 30 31 func (p proxyService) BlockByHash(ctx context.Context, req *coretypes.RequestBlockByHash) (*coretypes.ResultBlock, error) { 32 return p.Client.BlockByHash(ctx, req.Hash) 33 } 34 35 func (p proxyService) BlockResults(ctx context.Context, req *coretypes.RequestBlockInfo) (*coretypes.ResultBlockResults, error) { 36 return p.Client.BlockResults(ctx, (*int64)(req.Height)) 37 } 38 39 func (p proxyService) BlockSearch(ctx context.Context, req *coretypes.RequestBlockSearch) (*coretypes.ResultBlockSearch, error) { 40 return p.Client.BlockSearch(ctx, req.Query, req.Page.IntPtr(), req.PerPage.IntPtr(), req.OrderBy) 41 } 42 43 func (p proxyService) BlockchainInfo(ctx context.Context, req *coretypes.RequestBlockchainInfo) (*coretypes.ResultBlockchainInfo, error) { 44 return p.Client.BlockchainInfo(ctx, int64(req.MinHeight), int64(req.MaxHeight)) 45 } 46 47 func (p proxyService) BroadcastEvidence(ctx context.Context, req *coretypes.RequestBroadcastEvidence) (*coretypes.ResultBroadcastEvidence, error) { 48 return p.Client.BroadcastEvidence(ctx, req.Evidence) 49 } 50 51 func (p proxyService) BroadcastTxAsync(ctx context.Context, req *coretypes.RequestBroadcastTx) (*coretypes.ResultBroadcastTx, error) { 52 return p.Client.BroadcastTxAsync(ctx, req.Tx) 53 } 54 55 func (p proxyService) BroadcastTx(ctx context.Context, req *coretypes.RequestBroadcastTx) (*coretypes.ResultBroadcastTx, error) { 56 return p.Client.BroadcastTx(ctx, req.Tx) 57 } 58 59 func (p proxyService) BroadcastTxCommit(ctx context.Context, req *coretypes.RequestBroadcastTx) (*coretypes.ResultBroadcastTxCommit, error) { 60 return p.Client.BroadcastTxCommit(ctx, req.Tx) 61 } 62 63 func (p proxyService) BroadcastTxSync(ctx context.Context, req *coretypes.RequestBroadcastTx) (*coretypes.ResultBroadcastTx, error) { 64 return p.Client.BroadcastTxSync(ctx, req.Tx) 65 } 66 67 func (p proxyService) CheckTx(ctx context.Context, req *coretypes.RequestCheckTx) (*coretypes.ResultCheckTx, error) { 68 return p.Client.CheckTx(ctx, req.Tx) 69 } 70 71 func (p proxyService) Commit(ctx context.Context, req *coretypes.RequestBlockInfo) (*coretypes.ResultCommit, error) { 72 return p.Client.Commit(ctx, (*int64)(req.Height)) 73 } 74 75 func (p proxyService) ConsensusParams(ctx context.Context, req *coretypes.RequestConsensusParams) (*coretypes.ResultConsensusParams, error) { 76 return p.Client.ConsensusParams(ctx, (*int64)(req.Height)) 77 } 78 79 func (p proxyService) DumpConsensusState(ctx context.Context) (*coretypes.ResultDumpConsensusState, error) { 80 return p.Client.DumpConsensusState(ctx) 81 } 82 83 func (p proxyService) Events(ctx context.Context, req *coretypes.RequestEvents) (*coretypes.ResultEvents, error) { 84 return p.Client.Events(ctx, req) 85 } 86 87 func (p proxyService) Genesis(ctx context.Context) (*coretypes.ResultGenesis, error) { 88 return p.Client.Genesis(ctx) 89 } 90 91 func (p proxyService) GenesisChunked(ctx context.Context, req *coretypes.RequestGenesisChunked) (*coretypes.ResultGenesisChunk, error) { 92 return p.Client.GenesisChunked(ctx, uint(req.Chunk)) 93 } 94 95 func (p proxyService) GetConsensusState(ctx context.Context) (*coretypes.ResultConsensusState, error) { 96 return p.Client.ConsensusState(ctx) 97 } 98 99 func (p proxyService) Header(ctx context.Context, req *coretypes.RequestBlockInfo) (*coretypes.ResultHeader, error) { 100 return p.Client.Header(ctx, (*int64)(req.Height)) 101 } 102 103 func (p proxyService) HeaderByHash(ctx context.Context, req *coretypes.RequestBlockByHash) (*coretypes.ResultHeader, error) { 104 return p.Client.HeaderByHash(ctx, req.Hash) 105 } 106 107 func (p proxyService) Health(ctx context.Context) (*coretypes.ResultHealth, error) { 108 return p.Client.Health(ctx) 109 } 110 111 func (p proxyService) NetInfo(ctx context.Context) (*coretypes.ResultNetInfo, error) { 112 return p.Client.NetInfo(ctx) 113 } 114 115 func (p proxyService) NumUnconfirmedTxs(ctx context.Context) (*coretypes.ResultUnconfirmedTxs, error) { 116 return p.Client.NumUnconfirmedTxs(ctx) 117 } 118 119 func (p proxyService) RemoveTx(ctx context.Context, req *coretypes.RequestRemoveTx) error { 120 return p.Client.RemoveTx(ctx, req.TxKey) 121 } 122 123 func (p proxyService) Status(ctx context.Context) (*coretypes.ResultStatus, error) { 124 return p.Client.Status(ctx) 125 } 126 127 func (p proxyService) Subscribe(ctx context.Context, req *coretypes.RequestSubscribe) (*coretypes.ResultSubscribe, error) { 128 return p.Client.SubscribeWS(ctx, req.Query) 129 } 130 131 func (p proxyService) Tx(ctx context.Context, req *coretypes.RequestTx) (*coretypes.ResultTx, error) { 132 return p.Client.Tx(ctx, req.Hash, req.Prove) 133 } 134 135 func (p proxyService) TxSearch(ctx context.Context, req *coretypes.RequestTxSearch) (*coretypes.ResultTxSearch, error) { 136 return p.Client.TxSearch(ctx, req.Query, req.Prove, req.Page.IntPtr(), req.PerPage.IntPtr(), req.OrderBy) 137 } 138 139 func (p proxyService) UnconfirmedTxs(ctx context.Context, req *coretypes.RequestUnconfirmedTxs) (*coretypes.ResultUnconfirmedTxs, error) { 140 return p.Client.UnconfirmedTxs(ctx, req.Page.IntPtr(), req.PerPage.IntPtr()) 141 } 142 143 func (p proxyService) Unsubscribe(ctx context.Context, req *coretypes.RequestUnsubscribe) (*coretypes.ResultUnsubscribe, error) { 144 return p.Client.UnsubscribeWS(ctx, req.Query) 145 } 146 147 func (p proxyService) UnsubscribeAll(ctx context.Context) (*coretypes.ResultUnsubscribe, error) { 148 return p.Client.UnsubscribeAllWS(ctx) 149 } 150 151 func (p proxyService) Validators(ctx context.Context, req *coretypes.RequestValidators) (*coretypes.ResultValidators, error) { 152 return p.Client.Validators(ctx, (*int64)(req.Height), req.Page.IntPtr(), req.PerPage.IntPtr()) 153 }