graphql

package
v1.2.5 Latest Latest
Warning

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

Go to latest
Published: Jun 20, 2023 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Overview

TODO: context not used in all graphql query

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Account

type Account struct {
	// contains filtered or unexported fields
}

Account represents an Dogechain account at a particular block.

func (*Account) Address

func (a *Account) Address(ctx context.Context) (types.Address, error)

func (*Account) Balance

func (a *Account) Balance(ctx context.Context) (argtype.Big, error)

func (*Account) Code

func (a *Account) Code(ctx context.Context) (argtype.Bytes, error)

func (*Account) Storage

func (a *Account) Storage(ctx context.Context, args struct{ Slot types.Hash }) (types.Hash, error)

func (*Account) TransactionCount

func (a *Account) TransactionCount(ctx context.Context) (argtype.Uint64, error)

type Block

type Block struct {
	// contains filtered or unexported fields
}

Block represents an Dogechain block. backend, and numberOrHash are mandatory. All other fields are lazily fetched when required.

func (*Block) Account

func (b *Block) Account(ctx context.Context, args struct {
	Address types.Address
}) (*Account, error)

func (*Block) Difficulty

func (b *Block) Difficulty(ctx context.Context) (argtype.Big, error)

func (*Block) ExtraData

func (b *Block) ExtraData(ctx context.Context) (argtype.Bytes, error)

func (*Block) GasLimit

func (b *Block) GasLimit(ctx context.Context) (argtype.Long, error)

func (*Block) GasUsed

func (b *Block) GasUsed(ctx context.Context) (argtype.Long, error)

func (*Block) Hash

func (b *Block) Hash(ctx context.Context) (types.Hash, error)

func (*Block) Logs

func (b *Block) Logs(ctx context.Context, args struct{ Filter BlockFilterCriteria }) ([]*Log, error)

func (*Block) LogsBloom

func (b *Block) LogsBloom(ctx context.Context) (argtype.Bytes, error)

func (*Block) Miner

func (b *Block) Miner(ctx context.Context, args BlockNumberArgs) (*Account, error)

func (*Block) MixHash

func (b *Block) MixHash(ctx context.Context) (types.Hash, error)

func (*Block) Nonce

func (b *Block) Nonce(ctx context.Context) (argtype.Bytes, error)

func (*Block) Number

func (b *Block) Number(ctx context.Context) (argtype.Long, error)

func (*Block) Parent

func (b *Block) Parent(ctx context.Context) (*Block, error)

func (*Block) Raw

func (b *Block) Raw(ctx context.Context) (argtype.Bytes, error)

func (*Block) RawHeader

func (b *Block) RawHeader(ctx context.Context) (argtype.Bytes, error)

func (*Block) ReceiptsRoot

func (b *Block) ReceiptsRoot(ctx context.Context) (types.Hash, error)

func (*Block) StateRoot

func (b *Block) StateRoot(ctx context.Context) (types.Hash, error)

func (*Block) Timestamp

func (b *Block) Timestamp(ctx context.Context) (argtype.Uint64, error)

func (*Block) TransactionAt

func (b *Block) TransactionAt(ctx context.Context, args struct{ Index int32 }) (*Transaction, error)

func (*Block) TransactionCount

func (b *Block) TransactionCount(ctx context.Context) (*int32, error)

func (*Block) Transactions

func (b *Block) Transactions(ctx context.Context) (*[]*Transaction, error)

func (*Block) TransactionsRoot

func (b *Block) TransactionsRoot(ctx context.Context) (types.Hash, error)

type BlockFilterCriteria

type BlockFilterCriteria struct {
	Addresses *[]types.Address // restricts matches to events created by specific contracts

	// The Topic list restricts matches to particular event topics. Each event has a list
	// of topics. Topics matches a prefix of that list. An empty element slice matches any
	// topic. Non-empty elements represent an alternative that matches any of the
	// contained topics.
	//
	// Examples:
	// {} or nil          matches any topic list
	// {{A}}              matches topic A in first position
	// {{}, {B}}          matches any topic in first position, B in second position
	// {{A}, {B}}         matches topic A in first position, B in second position
	// {{A, B}}, {C, D}}  matches topic (A OR B) in first position, (C OR D) in second position
	Topics *[][]types.Hash
}

BlockFilterCriteria encapsulates criteria passed to a `logs` accessor inside a block.

type BlockNumberArgs

type BlockNumberArgs struct {
	Block *argtype.Uint64
}

BlockNumberArgs encapsulates arguments to accessors that specify a block number.

func (BlockNumberArgs) NumberOr

NumberOr returns the provided block number argument, or the "current" block number or hash if none was provided.

func (BlockNumberArgs) NumberOrLatest

func (a BlockNumberArgs) NumberOrLatest() rpc.BlockNumberOrHash

NumberOrLatest returns the provided block number argument, or the "latest" block number if none was provided.

type Config

type Config struct {
	Store                    GraphQLStore
	Addr                     *net.TCPAddr
	Forks                    chain.Forks
	ChainID                  uint64
	AccessControlAllowOrigin []string
	BlockRangeLimit          uint64
	EnablePProf              bool
	PriceLimit               uint64
}

type FilterCriteria

type FilterCriteria struct {
	FromBlock *argtype.Uint64  // beginning of the queried range, nil means genesis block
	ToBlock   *argtype.Uint64  // end of the range, nil means latest block
	Addresses *[]types.Address // restricts matches to events created by specific contracts

	// The Topic list restricts matches to particular event topics. Each event has a list
	// of topics. Topics matches a prefix of that list. An empty element slice matches any
	// topic. Non-empty elements represent an alternative that matches any of the
	// contained topics.
	//
	// Examples:
	// {} or nil          matches any topic list
	// {{A}}              matches topic A in first position
	// {{}, {B}}          matches any topic in first position, B in second position
	// {{A}, {B}}         matches topic A in first position, B in second position
	// {{A, B}}, {C, D}}  matches topic (A OR B) in first position, (C OR D) in second position
	Topics *[][]types.Hash
}

FilterCriteria encapsulates the arguments to `logs` on the root resolver object.

type GraphQLService

type GraphQLService struct {
	// contains filtered or unexported fields
}

func NewGraphQLService

func NewGraphQLService(logger hclog.Logger, config *Config) (*GraphQLService, error)

NewJSONRPC returns the JSONRPC http server

type GraphQLStore

type GraphQLStore interface {
	// contains filtered or unexported methods
}

GraphQLStore defines all the methods required by all the JSON RPC endpoints

type GraphiQL

type GraphiQL struct{}

GraphiQL is an in-browser IDE for exploring GraphiQL APIs. This handler returns GraphiQL when requested.

For more information, see https://github.com/graphql/graphiql.

func (GraphiQL) ServeHTTP

func (h GraphiQL) ServeHTTP(w http.ResponseWriter, r *http.Request)

type Log

type Log struct {
	// contains filtered or unexported fields
}

Log represents an individual log message. All arguments are mandatory.

func (*Log) Account

func (l *Log) Account(ctx context.Context, args BlockNumberArgs) *Account

func (*Log) Data

func (l *Log) Data(ctx context.Context) argtype.Bytes

func (*Log) Index

func (l *Log) Index(ctx context.Context) int32

func (*Log) Topics

func (l *Log) Topics(ctx context.Context) []types.Hash

func (*Log) Transaction

func (l *Log) Transaction(ctx context.Context) *Transaction

type Resolver

type Resolver struct {
	// contains filtered or unexported fields
}

Resolver is the top-level object in the GraphQL hierarchy.

func (*Resolver) Block

func (r *Resolver) Block(ctx context.Context, args struct {
	Number *argtype.Long
	Hash   *types.Hash
}) (*Block, error)

func (*Resolver) Blocks

func (r *Resolver) Blocks(ctx context.Context, args struct {
	From *argtype.Long
	To   *argtype.Long
}) ([]*Block, error)

func (*Resolver) ChainID

func (r *Resolver) ChainID(ctx context.Context) (argtype.Big, error)

func (*Resolver) GasPrice

func (r *Resolver) GasPrice(ctx context.Context) (argtype.Big, error)

func (*Resolver) Logs

func (r *Resolver) Logs(ctx context.Context, args struct{ Filter FilterCriteria }) ([]*Log, error)

func (*Resolver) Transaction

func (r *Resolver) Transaction(ctx context.Context, args struct{ Hash types.Hash }) (*Transaction, error)

type Transaction

type Transaction struct {
	// contains filtered or unexported fields
}

Transaction represents an Dogechain transaction. backend and hash are mandatory; all others will be fetched when required.

func (*Transaction) Block

func (t *Transaction) Block(ctx context.Context) (*Block, error)

func (*Transaction) CreatedContract

func (t *Transaction) CreatedContract(ctx context.Context, args BlockNumberArgs) (*Account, error)

func (*Transaction) CumulativeGasUsed

func (t *Transaction) CumulativeGasUsed(ctx context.Context) (*argtype.Long, error)

func (*Transaction) From

func (t *Transaction) From(ctx context.Context, args BlockNumberArgs) (*Account, error)

func (*Transaction) Gas

func (t *Transaction) Gas(ctx context.Context) (argtype.Uint64, error)

func (*Transaction) GasPrice

func (t *Transaction) GasPrice(ctx context.Context) (argtype.Big, error)

func (*Transaction) GasUsed

func (t *Transaction) GasUsed(ctx context.Context) (*argtype.Long, error)

func (*Transaction) Hash

func (t *Transaction) Hash(ctx context.Context) types.Hash

func (*Transaction) Index

func (t *Transaction) Index(ctx context.Context) (*int32, error)

func (*Transaction) InputData

func (t *Transaction) InputData(ctx context.Context) (argtype.Bytes, error)

func (*Transaction) Logs

func (t *Transaction) Logs(ctx context.Context) (*[]*Log, error)

func (*Transaction) Nonce

func (t *Transaction) Nonce(ctx context.Context) (argtype.Uint64, error)

func (*Transaction) R

func (t *Transaction) R(ctx context.Context) (argtype.Big, error)

func (*Transaction) Raw

func (t *Transaction) Raw(ctx context.Context) (argtype.Bytes, error)

func (*Transaction) RawReceipt

func (t *Transaction) RawReceipt(ctx context.Context) (argtype.Bytes, error)

func (*Transaction) S

func (t *Transaction) S(ctx context.Context) (argtype.Big, error)

func (*Transaction) Status

func (t *Transaction) Status(ctx context.Context) (*argtype.Long, error)

func (*Transaction) To

func (t *Transaction) To(ctx context.Context, args BlockNumberArgs) (*Account, error)

func (*Transaction) V

func (t *Transaction) V(ctx context.Context) (argtype.Big, error)

func (*Transaction) Value

func (t *Transaction) Value(ctx context.Context) (argtype.Big, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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