github.com/mavryk-network/mvgo@v1.19.9/rpc/interface.go (about)

     1  package rpc
     2  
     3  import (
     4  	"context"
     5  	"net/http"
     6  	"time"
     7  
     8  	"github.com/mavryk-network/mvgo/codec"
     9  	"github.com/mavryk-network/mvgo/mavryk"
    10  	"github.com/mavryk-network/mvgo/micheline"
    11  )
    12  
    13  // Ensure Client implements the RpcClient interface
    14  var _ RpcClient = (*Client)(nil)
    15  
    16  // RpcClient interface for various clients implementations and mocks generation
    17  type RpcClient interface {
    18  	Init(ctx context.Context) error
    19  	UseIpfsUrl(uri string) error
    20  	Client() *http.Client
    21  	Listen()
    22  	Close()
    23  	ResolveChainConfig(ctx context.Context) error
    24  	Get(ctx context.Context, urlpath string, result interface{}) error
    25  	GetAsync(ctx context.Context, urlpath string, mon Monitor) error
    26  	Put(ctx context.Context, urlpath string, body, result interface{}) error
    27  	Post(ctx context.Context, urlpath string, body, result interface{}) error
    28  	NewRequest(ctx context.Context, method, urlStr string, body interface{}) (*http.Request, error)
    29  	Do(req *http.Request, v interface{}) error
    30  	DoAsync(req *http.Request, mon Monitor) error
    31  	GetBlock(ctx context.Context, id BlockID) (*Block, error)
    32  	GetBlockHeight(ctx context.Context, height int64) (*Block, error)
    33  	GetTips(ctx context.Context, depth int, head mavryk.BlockHash) ([][]mavryk.BlockHash, error)
    34  	GetHeadBlock(ctx context.Context) (*Block, error)
    35  	GetGenesisBlock(ctx context.Context) (*Block, error)
    36  	GetTipHeader(ctx context.Context) (*BlockHeader, error)
    37  	GetBlockHeader(ctx context.Context, id BlockID) (*BlockHeader, error)
    38  	GetBlockMetadata(ctx context.Context, id BlockID) (*BlockMetadata, error)
    39  	GetBlockHash(ctx context.Context, id BlockID) (hash mavryk.BlockHash, err error)
    40  	GetBlockPredHashes(ctx context.Context, hash mavryk.BlockHash, count int) ([]mavryk.BlockHash, error)
    41  	GetInvalidBlocks(ctx context.Context) ([]*InvalidBlock, error)
    42  	GetInvalidBlock(ctx context.Context, blockID mavryk.BlockHash) (*InvalidBlock, error)
    43  	GetChainId(ctx context.Context) (mavryk.ChainIdHash, error)
    44  	GetStatus(ctx context.Context) (Status, error)
    45  	GetVersionInfo(ctx context.Context) (VersionInfo, error)
    46  	GetConstants(ctx context.Context, id BlockID) (con Constants, err error)
    47  	GetCustomConstants(ctx context.Context, id BlockID, resp any) error
    48  	GetParams(ctx context.Context, id BlockID) (*mavryk.Params, error)
    49  	GetContract(ctx context.Context, addr mavryk.Address, id BlockID) (*ContractInfo, error)
    50  	GetContractBalance(ctx context.Context, addr mavryk.Address, id BlockID) (mavryk.Z, error)
    51  	GetManagerKey(ctx context.Context, addr mavryk.Address, id BlockID) (mavryk.Key, error)
    52  	GetContractExt(ctx context.Context, addr mavryk.Address, id BlockID) (*ContractInfo, error)
    53  	ListContracts(ctx context.Context, id BlockID) (Contracts, error)
    54  	GetContractScript(ctx context.Context, addr mavryk.Address) (*micheline.Script, error)
    55  	GetNormalizedScript(ctx context.Context, addr mavryk.Address, mode UnparsingMode) (*micheline.Script, error)
    56  	GetContractStorage(ctx context.Context, addr mavryk.Address, id BlockID) (micheline.Prim, error)
    57  	GetContractStorageNormalized(ctx context.Context, addr mavryk.Address, id BlockID, mode UnparsingMode) (micheline.Prim, error)
    58  	GetContractEntrypoints(ctx context.Context, addr mavryk.Address) (map[string]micheline.Type, error)
    59  	ListBigmapKeys(ctx context.Context, bigmap int64, id BlockID) ([]mavryk.ExprHash, error)
    60  	ListActiveBigmapKeys(ctx context.Context, bigmap int64) ([]mavryk.ExprHash, error)
    61  	GetBigmapValue(ctx context.Context, bigmap int64, hash mavryk.ExprHash, id BlockID) (micheline.Prim, error)
    62  	GetActiveBigmapValue(ctx context.Context, bigmap int64, hash mavryk.ExprHash) (micheline.Prim, error)
    63  	ListBigmapValues(ctx context.Context, bigmap int64, id BlockID) ([]micheline.Prim, error)
    64  	ListActiveBigmapValues(ctx context.Context, bigmap int64, id BlockID) ([]micheline.Prim, error)
    65  	GetActiveBigmapInfo(ctx context.Context, bigmap int64) (*BigmapInfo, error)
    66  	GetBigmapInfo(ctx context.Context, bigmap int64, id BlockID) (*BigmapInfo, error)
    67  	ListActiveDelegates(ctx context.Context, id BlockID) (DelegateList, error)
    68  	GetDelegate(ctx context.Context, addr mavryk.Address, id BlockID) (*Delegate, error)
    69  	GetDelegateBalance(ctx context.Context, addr mavryk.Address, id BlockID) (int64, error)
    70  	GetMempool(ctx context.Context) (*Mempool, error)
    71  	MonitorBootstrapped(ctx context.Context, monitor *BootstrapMonitor) error
    72  	MonitorBlockHeader(ctx context.Context, monitor *BlockHeaderMonitor) error
    73  	MonitorMempool(ctx context.Context, monitor *MempoolMonitor) error
    74  	MonitorNetworkPointLog(ctx context.Context, address string, monitor *NetworkPointMonitor) error
    75  	MonitorNetworkPeerLog(ctx context.Context, peerID string, monitor *NetworkPeerMonitor) error
    76  	GetNetworkStats(ctx context.Context) (*NetworkStats, error)
    77  	GetNetworkConnections(ctx context.Context) ([]*NetworkConnection, error)
    78  	GetNetworkPeers(ctx context.Context, filter string) ([]*NetworkPeer, error)
    79  	GetNetworkPeer(ctx context.Context, peerID string) (*NetworkPeer, error)
    80  	BanNetworkPeer(ctx context.Context, peerID string) error
    81  	TrustNetworkPeer(ctx context.Context, peerID string) error
    82  	GetNetworkPeerBanned(ctx context.Context, peerID string) (bool, error)
    83  	GetNetworkPeerLog(ctx context.Context, peerID string) ([]*NetworkPeerLogEntry, error)
    84  	GetNetworkPoints(ctx context.Context, filter string) ([]*NetworkPoint, error)
    85  	GetNetworkPoint(ctx context.Context, address string) (*NetworkPoint, error)
    86  	ConnectToNetworkPoint(ctx context.Context, address string, timeout time.Duration) error
    87  	BanNetworkPoint(ctx context.Context, address string) error
    88  	TrustNetworkPoint(ctx context.Context, address string) error
    89  	GetNetworkPointBanned(ctx context.Context, address string) (bool, error)
    90  	GetNetworkPointLog(ctx context.Context, address string) ([]*NetworkPointLogEntry, error)
    91  	GetBlockOperationHash(ctx context.Context, id BlockID, l, n int) (mavryk.OpHash, error)
    92  	GetBlockOperationHashes(ctx context.Context, id BlockID) ([][]mavryk.OpHash, error)
    93  	GetBlockOperationListHashes(ctx context.Context, id BlockID, l int) ([]mavryk.OpHash, error)
    94  	GetBlockOperation(ctx context.Context, id BlockID, l, n int) (*Operation, error)
    95  	GetBlockOperationList(ctx context.Context, id BlockID, l int) ([]Operation, error)
    96  	GetBlockOperations(ctx context.Context, id BlockID) ([][]Operation, error)
    97  	BroadcastOperation(ctx context.Context, body []byte) (hash mavryk.OpHash, err error)
    98  	RunOperation(ctx context.Context, id BlockID, body, resp interface{}) error
    99  	ForgeOperation(ctx context.Context, id BlockID, body, resp interface{}) error
   100  	ListBakingRights(ctx context.Context, id BlockID, max int) ([]BakingRight, error)
   101  	ListBakingRightsCycle(ctx context.Context, id BlockID, cycle int64, max int) ([]BakingRight, error)
   102  	ListEndorsingRights(ctx context.Context, id BlockID) ([]EndorsingRight, error)
   103  	ListEndorsingRightsCycle(ctx context.Context, id BlockID, cycle int64) ([]EndorsingRight, error)
   104  	GetRollSnapshotInfoCycle(ctx context.Context, id BlockID, cycle int64) (*RollSnapshotInfo, error)
   105  	GetStakingSnapshotInfoCycle(ctx context.Context, id BlockID, cycle int64) (*StakingSnapshotInfo, error)
   106  	GetSnapshotIndexCycle(ctx context.Context, id BlockID, cycle int64) (*SnapshotIndex, error)
   107  	ListSnapshotRollOwners(ctx context.Context, id BlockID, cycle, index int64) (*SnapshotOwners, error)
   108  	Complete(ctx context.Context, o *codec.Op, key mavryk.Key) error
   109  	Simulate(ctx context.Context, o *codec.Op, opts *CallOptions) (*Receipt, error)
   110  	Validate(ctx context.Context, o *codec.Op) error
   111  	Broadcast(ctx context.Context, o *codec.Op) (mavryk.OpHash, error)
   112  	Send(ctx context.Context, op *codec.Op, opts *CallOptions) (*Receipt, error)
   113  	RunCode(ctx context.Context, id BlockID, body, resp interface{}) error
   114  	RunCallback(ctx context.Context, id BlockID, body, resp interface{}) error
   115  	RunView(ctx context.Context, id BlockID, body, resp interface{}) error
   116  	TraceCode(ctx context.Context, id BlockID, body, resp interface{}) error
   117  	ListVoters(ctx context.Context, id BlockID) (VoterList, error)
   118  	GetVoteQuorum(ctx context.Context, id BlockID) (int, error)
   119  	GetVoteProposal(ctx context.Context, id BlockID) (mavryk.ProtocolHash, error)
   120  	ListBallots(ctx context.Context, id BlockID) (BallotList, error)
   121  	GetVoteResult(ctx context.Context, id BlockID) (BallotSummary, error)
   122  	ListProposals(ctx context.Context, id BlockID) (ProposalList, error)
   123  }