Version: v0.34.4 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Jul 23, 2021 License: Apache-2.0 Imports: 37 Imported by: 0




View Source
const (
	INVALID_PARAMS   = -32602
	INTERNAL_ERROR   = -32603
	PARSE_ERROR      = -32700

JSON-RPC 2.0 error codes.

View Source
const AnyLocal = ""
View Source
const LocalHost = ""

'LocalHost' gets interpreted as ipv6 TODO: revisit this

View Source
const MaxBlockLookback = 1000

Magic! Should probably be configurable, but not shouldn't be so huge we end up DoSing ourselves.


View Source
var (
	ErrInvalidLengthRpc        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowRpc          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupRpc = fmt.Errorf("proto: unexpected end of group")
View Source
var Abi_HelloWorld = []byte(`[{"constant":true,"inputs":[],"name":"Hello","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"}]`)
View Source
var Bytecode_HelloWorld = hex.MustDecodeString("608060405234801561001057600080fd5b5061011d806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063bcdfe0d514602d575b600080fd5b603360ab565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101560715780820151818401526020810190506058565b50505050905090810190601f168015609d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60606040518060400160405280600c81526020017f48656c6c6f2c20576f726c64000000000000000000000000000000000000000081525090509056fea265627a7a723158200b2a5b7a53ba54371daa99f4d02346044f39e951d89df28ce64b4d36dd3fda0664736f6c634300050b0032")
View Source
var DeployedBytecode_HelloWorld = hex.MustDecodeString("6080604052348015600f57600080fd5b506004361060285760003560e01c8063bcdfe0d514602d575b600080fd5b603360ab565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101560715780820151818401526020810190506058565b50505050905090810190601f168015609d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60606040518060400160405280600c81526020017f48656c6c6f2c20576f726c64000000000000000000000000000000000000000081525090509056fea265627a7a723158200b2a5b7a53ba54371daa99f4d02346044f39e951d89df28ce64b4d36dd3fda0664736f6c634300050b0032")


func NewGRPCServer added in v0.19.0

func NewGRPCServer(logger *logging.Logger) *grpc.Server


type AccountHumanReadable added in v0.18.0

type AccountHumanReadable struct {
	Address     crypto.Address
	PublicKey   *crypto.PublicKey
	Sequence    uint64
	Balance     uint64
	Code        []string
	Permissions []string
	Roles       []string

type Block added in v0.19.0

type Block struct {

TODO: this wrapper was needed for go-amino handling of interface types, it _might_ not be needed any longer

func (Block) MarshalJSON added in v0.19.0

func (b Block) MarshalJSON() ([]byte, error)

func (*Block) UnmarshalJSON added in v0.19.0

func (b *Block) UnmarshalJSON(data []byte) (err error)

type BlockMeta added in v0.19.0

type BlockMeta struct {

func (BlockMeta) MarshalJSON added in v0.19.0

func (bm BlockMeta) MarshalJSON() ([]byte, error)

func (*BlockMeta) UnmarshalJSON added in v0.19.0

func (bm *BlockMeta) UnmarshalJSON(data []byte) (err error)

type Client added in v0.31.0

type Client interface {
	Call(method string, params interface{}, result interface{}) error

type Codec

type Codec interface {
	EncodeBytes(interface{}) ([]byte, error)
	Encode(interface{}, io.Writer) error
	DecodeBytes(interface{}, []byte) error
	Decode(interface{}, io.Reader) error

Used for rpc request and response data.

type MetricsConfig added in v0.19.0

type MetricsConfig struct {
	MetricsPath     string
	BlockSampleSize int

func DefaultMetricsConfig added in v0.19.0

func DefaultMetricsConfig() *MetricsConfig

type RPCConfig added in v0.18.0

type RPCConfig struct {
	Info     *ServerConfig  `json:",omitempty" toml:",omitempty"`
	Profiler *ServerConfig  `json:",omitempty" toml:",omitempty"`
	GRPC     *ServerConfig  `json:",omitempty" toml:",omitempty"`
	Metrics  *MetricsConfig `json:",omitempty" toml:",omitempty"`
	Web3     *ServerConfig  `json:",omitempty" toml:",omitempty"`

func DefaultRPCConfig added in v0.18.0

func DefaultRPCConfig() *RPCConfig

type RPCError

type RPCError struct {
	Code    int    `json:"code"`
	Message string `json:"message"`

RPCError MUST be included in the Response object if an error occured

func (RPCError) Error added in v0.18.0

func (err RPCError) Error() string

type RPCErrorResponse

type RPCErrorResponse struct {
	Error   *RPCError `json:"error"`
	Id      string    `json:"id"`
	JSONRPC string    `json:"jsonrpc"`

RPCErrorResponse MUST NOT contain the result member if an error occured

func (*RPCErrorResponse) AssertIsRPCResponse

func (rpcErrorResponse *RPCErrorResponse) AssertIsRPCResponse() bool

AssertIsRPCResponse implements a marker method for RPCErrorResponse to implement the interface RPCResponse

type RPCRequest

type RPCRequest struct {
	JSONRPC string          `json:"jsonrpc"`
	Method  string          `json:"method"`
	Params  json.RawMessage `json:"params"`
	Id      string          `json:"id"`

Request and Response objects. Id is a string. Error data not used. Refer to JSON-RPC specification http://www.jsonrpc.org/specification

func NewRPCRequest added in v0.16.2

func NewRPCRequest(id string, method string, params json.RawMessage) *RPCRequest

Create a new RPC request. This is the generic struct that is passed to RPC methods

type RPCResponse

type RPCResponse interface {
	AssertIsRPCResponse() bool

RPCResponse MUST follow the JSON-RPC specification for Response object reference: http://www.jsonrpc.org/specification#response_object

func NewRPCErrorResponse

func NewRPCErrorResponse(id string, code int, message string) RPCResponse

NewRPCErrorResponse creates a new error-response object from the error code and message

func NewRPCResponse

func NewRPCResponse(id string, res interface{}) RPCResponse

NewRPCResponse creates a new response object from a result

type RPCResultResponse

type RPCResultResponse struct {
	Result  interface{} `json:"result"`
	Id      string      `json:"id"`
	JSONRPC string      `json:"jsonrpc"`

RPCResultResponse MUST NOT contain the error member if no error occurred

func (*RPCResultResponse) AssertIsRPCResponse

func (rpcResultResponse *RPCResultResponse) AssertIsRPCResponse() bool

AssertIsRPCResponse implements a marker method for RPCResultResponse to implement the interface RPCResponse

type ResultAccount added in v0.20.1

type ResultAccount struct {
	Account *acm.Account

type ResultAccountHumanReadable added in v0.20.1

type ResultAccountHumanReadable struct {
	Account *AccountHumanReadable

type ResultAccountStats added in v0.24.0

type ResultAccountStats struct {
	AccountsWithCode    uint64
	AccountsWithoutCode uint64

type ResultAccounts added in v0.20.1

type ResultAccounts struct {
	BlockHeight uint64
	Accounts    []*acm.Account

type ResultBlock added in v0.20.1

type ResultBlock struct {
	BlockMeta *BlockMeta
	Block     *Block

type ResultBlocks added in v0.20.1

type ResultBlocks struct {
	LastHeight uint64
	BlockMetas []*tmTypes.BlockMeta

type ResultChainId added in v0.18.0

type ResultChainId struct {
	ChainName   string
	ChainId     string
	GenesisHash binary.HexBytes

type ResultConsensusState added in v0.20.1

type ResultConsensusState struct {

type ResultDumpStorage added in v0.18.0

type ResultDumpStorage struct {
	StorageItems []StorageItem

type ResultGeneratePrivateAccount added in v0.18.0

type ResultGeneratePrivateAccount struct {
	PrivateAccount *acm.ConcretePrivateAccount

type ResultGenesis added in v0.18.0

type ResultGenesis struct {
	Genesis genesis.GenesisDoc

type ResultName added in v0.20.1

type ResultName struct {
	Entry *names.Entry

type ResultNames added in v0.20.1

type ResultNames struct {
	BlockHeight uint64
	Names       []*names.Entry

type ResultNetwork added in v0.20.1

type ResultNetwork struct {
	ThisNode *tendermint.NodeInfo

type ResultNetworkRegistry added in v0.29.0

type ResultNetworkRegistry struct {
	Address crypto.Address

type ResultPeers added in v0.18.0

type ResultPeers struct {
	Peers []core_types.Peer

type ResultSignTx added in v0.18.0

type ResultSignTx struct {
	Tx *txs.Envelope

type ResultStatus added in v0.18.0

type ResultStatus struct {
	ChainID       string                                        `protobuf:"bytes,1,opt,name=ChainID,proto3" json:"ChainID,omitempty"`
	RunID         string                                        `protobuf:"bytes,2,opt,name=RunID,proto3" json:"RunID,omitempty"`
	BurrowVersion string                                        `protobuf:"bytes,3,opt,name=BurrowVersion,proto3" json:"BurrowVersion,omitempty"`
	GenesisHash   github_com_hyperledger_burrow_binary.HexBytes `protobuf:"bytes,4,opt,name=GenesisHash,proto3,customtype=github.com/hyperledger/burrow/binary.HexBytes" json:"GenesisHash"`
	NodeInfo      *tendermint.NodeInfo                          `protobuf:"bytes,5,opt,name=NodeInfo,proto3" json:"NodeInfo,omitempty"`
	SyncInfo      *bcm.SyncInfo                                 `protobuf:"bytes,6,opt,name=SyncInfo,proto3" json:"SyncInfo,omitempty"`
	// When catching up in fast sync
	CatchingUp           bool                 `protobuf:"varint,8,opt,name=CatchingUp,proto3" json:""`
	ValidatorInfo        *validator.Validator `protobuf:"bytes,7,opt,name=ValidatorInfo,proto3" json:"ValidatorInfo,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`

func Status added in v0.20.0

func Status(blockchain bcm.BlockchainInfo, validators validator.History, nodeView *tendermint.NodeView, blockTimeWithin,
	blockSeenTimeWithin string) (*ResultStatus, error)

func (*ResultStatus) Descriptor added in v0.20.0

func (*ResultStatus) Descriptor() ([]byte, []int)

func (*ResultStatus) GetBurrowVersion added in v0.20.1

func (m *ResultStatus) GetBurrowVersion() string

func (*ResultStatus) GetCatchingUp added in v0.24.3

func (m *ResultStatus) GetCatchingUp() bool

func (*ResultStatus) GetChainID added in v0.20.0

func (m *ResultStatus) GetChainID() string

func (*ResultStatus) GetNodeInfo added in v0.20.0

func (m *ResultStatus) GetNodeInfo() *tendermint.NodeInfo

func (*ResultStatus) GetRunID added in v0.20.1

func (m *ResultStatus) GetRunID() string

func (*ResultStatus) GetSyncInfo added in v0.20.1

func (m *ResultStatus) GetSyncInfo() *bcm.SyncInfo

func (*ResultStatus) GetValidatorInfo added in v0.20.1

func (m *ResultStatus) GetValidatorInfo() *validator.Validator

func (*ResultStatus) Marshal added in v0.20.0

func (m *ResultStatus) Marshal() (dAtA []byte, err error)

func (*ResultStatus) MarshalTo added in v0.20.0

func (m *ResultStatus) MarshalTo(dAtA []byte) (int, error)

func (*ResultStatus) MarshalToSizedBuffer added in v0.31.0

func (m *ResultStatus) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ResultStatus) ProtoMessage added in v0.20.0

func (*ResultStatus) ProtoMessage()

func (*ResultStatus) Reset added in v0.20.0

func (m *ResultStatus) Reset()

func (*ResultStatus) Size added in v0.20.0

func (m *ResultStatus) Size() (n int)

func (*ResultStatus) String added in v0.20.0

func (m *ResultStatus) String() string

func (*ResultStatus) Unmarshal added in v0.20.0

func (m *ResultStatus) Unmarshal(dAtA []byte) error

func (*ResultStatus) XXX_DiscardUnknown added in v0.23.0

func (m *ResultStatus) XXX_DiscardUnknown()

func (*ResultStatus) XXX_Marshal added in v0.23.0

func (m *ResultStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ResultStatus) XXX_Merge added in v0.23.0

func (m *ResultStatus) XXX_Merge(src proto.Message)

func (*ResultStatus) XXX_MessageName added in v0.20.0

func (*ResultStatus) XXX_MessageName() string

func (*ResultStatus) XXX_Size added in v0.23.0

func (m *ResultStatus) XXX_Size() int

func (*ResultStatus) XXX_Unmarshal added in v0.23.0

func (m *ResultStatus) XXX_Unmarshal(b []byte) error

type ResultStorage added in v0.20.1

type ResultStorage struct {
	Key   binary.HexBytes
	Value binary.HexBytes

type ResultSubscribe added in v0.18.0

type ResultSubscribe struct {
	EventID        string
	SubscriptionID string

type ResultUnconfirmedTxs added in v0.20.1

type ResultUnconfirmedTxs struct {
	NumTxs int
	Txs    []*txs.Envelope

type ResultUnsubscribe added in v0.18.0

type ResultUnsubscribe struct {
	SubscriptionID string

type ResultValidators added in v0.20.1

type ResultValidators struct {
	BlockHeight         uint64
	BondedValidators    []*validator.Validator
	UnbondingValidators []*validator.Validator

type RoundState added in v0.20.1

type RoundState struct {

TODO use round state in ResultConsensusState - currently there are some part of RoundState have no Unmarshal

func (RoundState) MarshalJSON added in v0.20.1

func (rs RoundState) MarshalJSON() ([]byte, error)

func (*RoundState) UnmarshalJSON added in v0.20.1

func (rs *RoundState) UnmarshalJSON(data []byte) (err error)

type ServerConfig added in v0.19.0

type ServerConfig struct {
	Enabled    bool
	ListenHost string
	ListenPort string

func DefaultGRPCConfig added in v0.19.0

func DefaultGRPCConfig() *ServerConfig

func DefaultInfoConfig added in v0.21.0

func DefaultInfoConfig() *ServerConfig

func DefaultProfilerConfig added in v0.18.0

func DefaultProfilerConfig() *ServerConfig

func DefaultWeb3Config added in v0.29.0

func DefaultWeb3Config() *ServerConfig

func (*ServerConfig) ListenAddress added in v0.19.0

func (sc *ServerConfig) ListenAddress() string

type Service added in v0.18.0

type Service struct {
	// contains filtered or unexported fields

Base service that provides implementation for all underlying RPC methods

func NewService added in v0.18.0

func NewService(state acmstate.IterableStatsReader, nameReg names.IterableReader, nodeReg registry.IterableReader, blockchain bcm.BlockchainInfo,
	validators validator.History, nodeView *tendermint.NodeView, logger *logging.Logger) *Service

Service provides an internal query and information service with serialisable return types on which can accomodate a number of transport front ends

func (*Service) Account added in v0.20.1

func (s *Service) Account(address crypto.Address) (*ResultAccount, error)


func (*Service) AccountHumanReadable added in v0.20.1

func (s *Service) AccountHumanReadable(address crypto.Address) (*ResultAccountHumanReadable, error)

func (*Service) AccountStats added in v0.24.0

func (s *Service) AccountStats() (*ResultAccountStats, error)

func (*Service) Accounts added in v0.20.1

func (s *Service) Accounts(predicate func(*acm.Account) bool) (*ResultAccounts, error)

func (*Service) Block added in v0.20.1

func (s *Service) Block(height uint64) (*ResultBlock, error)

func (*Service) BlockchainInfo added in v0.19.0

func (s *Service) BlockchainInfo() bcm.BlockchainInfo

func (*Service) Blocks added in v0.20.1

func (s *Service) Blocks(minHeight, maxHeight int64) (*ResultBlocks, error)

Returns the current blockchain height and metadata for a range of blocks between minHeight and maxHeight. Only returns maxBlockLookback block metadata from the top of the range of blocks. Passing 0 for maxHeight sets the upper height of the range to the current blockchain height.

func (*Service) ChainID added in v0.20.0

func (s *Service) ChainID() string

func (*Service) ChainIdentifiers added in v0.19.0

func (s *Service) ChainIdentifiers() (*ResultChainId, error)

func (*Service) ConsensusState added in v0.20.1

func (s *Service) ConsensusState() (*ResultConsensusState, error)

func (*Service) DumpStorage added in v0.18.0

func (s *Service) DumpStorage(address crypto.Address) (*ResultDumpStorage, error)

func (*Service) GeneratePrivateAccount added in v0.18.0

func (s *Service) GeneratePrivateAccount() (*ResultGeneratePrivateAccount, error)

func (*Service) Genesis added in v0.18.0

func (s *Service) Genesis() (*ResultGenesis, error)

func (*Service) Name added in v0.20.1

func (s *Service) Name(name string) (*ResultName, error)

Name registry

func (*Service) Names added in v0.20.1

func (s *Service) Names(predicate func(*names.Entry) bool) (*ResultNames, error)

func (*Service) Network added in v0.20.1

func (s *Service) Network() (*ResultNetwork, error)

func (*Service) NetworkRegistry added in v0.29.0

func (s *Service) NetworkRegistry() ([]*ResultNetworkRegistry, error)

func (*Service) Peers added in v0.18.0

func (s *Service) Peers() []core_types.Peer

func (*Service) Stats added in v0.24.6

func (s *Service) Stats() acmstate.AccountStatsGetter

func (*Service) Status added in v0.18.0

func (s *Service) Status() (*ResultStatus, error)

func (*Service) StatusWithin added in v0.20.1

func (s *Service) StatusWithin(blockTimeWithin, blockSeenTimeWithin string) (*ResultStatus, error)

func (*Service) Storage added in v0.20.1

func (s *Service) Storage(address crypto.Address, key []byte) (*ResultStorage, error)

func (*Service) UnconfirmedTxs added in v0.20.1

func (s *Service) UnconfirmedTxs(maxTxs int64) (*ResultUnconfirmedTxs, error)

func (*Service) Validators added in v0.20.1

func (s *Service) Validators() (*ResultValidators, error)

type StorageItem added in v0.18.0

type StorageItem struct {
	Key   binary.HexBytes
	Value binary.HexBytes


Path Synopsis
Commons for HTTP handling
Commons for HTTP handling
Code generated by go-openrpc.
Code generated by go-openrpc.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL