api

package
v0.0.0-...-c724e20 Latest Latest
Warning

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

Go to latest
Published: May 18, 2018 License: GPL-3.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddrLocker

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

func (*AddrLocker) LockAddr

func (l *AddrLocker) LockAddr(address common.Address)

LockAddr locks an account's mutex. This is used to prevent another tx getting the same nonce until the lock is released. The mutex prevents the (an identical nonce) from being read again during the time that the first transaction is being signed.

func (*AddrLocker) UnlockAddr

func (l *AddrLocker) UnlockAddr(address common.Address)

UnlockAddr unlocks the mutex of the given account.

type Backend

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

Backend handles the chain database and VM #stable - 0.4.0

func NewBackend

func NewBackend(ctx *node.ServiceContext, ethConfig *eth.Config,
	client *rpcClient.HTTP) (*Backend, error)

NewBackend creates a new Backend #stable - 0.4.0

func (*Backend) APIs

func (b *Backend) APIs() []rpc.API

APIs returns the collection of RPC services the ethereum package offers. #stable - 0.4.0

func (*Backend) AccumulateRewards

func (b *Backend) AccumulateRewards(strategy *emtTypes.Strategy)

AccumulateRewards accumulates the rewards based on the given strategy #unstable

func (*Backend) AddNonce

func (b *Backend) AddNonce(addr common.Address)

called by travis tx only in deliver_tx

func (*Backend) BroadcastTxCommit

func (b *Backend) BroadcastTxCommit(tx *ethTypes.Transaction) (*ctypes.ResultBroadcastTxCommit, error)

func (*Backend) BroadcastTxSync

func (b *Backend) BroadcastTxSync(tx *ethTypes.Transaction) (*ctypes.ResultBroadcastTx, error)

BroadcastTx broadcasts a transaction to tendermint core #unstable

func (*Backend) Commit

func (b *Backend) Commit(receiver common.Address) (common.Hash, error)

Commit finalises the current block #unstable

func (*Backend) Config

func (b *Backend) Config() *eth.Config

Config returns the eth.Config. #stable

func (*Backend) DeliverTx

DeliverTx appends a transaction to the current block #stable

func (*Backend) EndBlock

func (b *Backend) EndBlock()

func (*Backend) Ethereum

func (b *Backend) Ethereum() *eth.Ethereum

Ethereum returns the underlying the ethereum object. #stable

func (*Backend) GasLimit

func (b *Backend) GasLimit() big.Int

GasLimit returns the maximum gas per block #unstable

func (*Backend) InitEthState

func (b *Backend) InitEthState(receiver common.Address) error

InitEthState initializes the EthState #unstable

func (*Backend) ManagedState

func (b *Backend) ManagedState() *state.ManagedState

func (*Backend) Protocols

func (b *Backend) Protocols() []p2p.Protocol

Protocols implements node.Service, returning all the currently configured network protocols to start. #stable

func (*Backend) ResetState

func (b *Backend) ResetState() (*state.ManagedState, error)

func (*Backend) SetTMNode

func (b *Backend) SetTMNode(tmNode *tmn.Node)

func (*Backend) Start

func (b *Backend) Start(_ *p2p.Server) error

Start implements node.Service, starting all internal goroutines needed by the Ethereum protocol implementation. #stable

func (*Backend) Stop

func (b *Backend) Stop() error

Stop implements node.Service, terminating all internal goroutines used by the Ethereum protocol. #stable

func (*Backend) UpdateHeaderWithTimeInfo

func (b *Backend) UpdateHeaderWithTimeInfo(tmHeader *abciTypes.Header)

UpdateHeaderWithTimeInfo uses the tendermint header to update the ethereum header #unstable

type CmtRPCService

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

CmtRPCService offers cmt related RPC methods

func NewCmtRPCService

func NewCmtRPCService(b *Backend, nonceLock *AddrLocker) *CmtRPCService

func (*CmtRPCService) DeclareCandidacy

func (*CmtRPCService) Delegate

func (*CmtRPCService) Propose

func (*CmtRPCService) QueryDelegator

func (s *CmtRPCService) QueryDelegator(address common.Address, height uint64) (*StakeQueryResult, error)

func (*CmtRPCService) QueryProposals

func (s *CmtRPCService) QueryProposals() (*StakeQueryResult, error)

func (*CmtRPCService) QueryValidator

func (s *CmtRPCService) QueryValidator(address common.Address, height uint64) (*StakeQueryResult, error)

func (*CmtRPCService) QueryValidators

func (s *CmtRPCService) QueryValidators(height uint64) (*StakeQueryResult, error)

func (*CmtRPCService) SendRawTransaction

func (s *CmtRPCService) SendRawTransaction(encodedTx hexutil.Bytes) (string, error)

SendRawTransaction will broadcast the signed transaction to tendermint. The sender is responsible for signing the transaction and using the correct nonce.

func (*CmtRPCService) SendRawTx

func (s *CmtRPCService) SendRawTx(encodedTx hexutil.Bytes) (*ctypes.ResultBroadcastTxCommit, error)

func (*CmtRPCService) SendTransaction

func (s *CmtRPCService) SendTransaction(args SendTxArgs) (common.Hash, error)

SendTransaction creates a transaction for the given argument, sign it and broardcast it to tendermint.

func (*CmtRPCService) UpdateCandidacy

func (*CmtRPCService) VerifyCandidacy

func (*CmtRPCService) Vote

func (*CmtRPCService) Withdraw

func (*CmtRPCService) WithdrawCandidacy

type DeclareCandidacyArgs

type DeclareCandidacyArgs struct {
	Nonce       *hexutil.Uint64   `json:"nonce"`
	From        common.Address    `json:"from"`
	PubKey      string            `json:"pubKey"`
	MaxAmount   string            `json:"maxAmount"`
	Cut         string            `json:"cut"`
	Description stake.Description `json:"description"`
}

type DelegateArgs

type DelegateArgs struct {
	Nonce            *hexutil.Uint64 `json:"nonce"`
	From             common.Address  `json:"from"`
	ValidatorAddress common.Address  `json:"validatorAddress"`
	Amount           string          `json:"amount"`
}

type GovernanceProposalArgs

type GovernanceProposalArgs struct {
	Nonce        *hexutil.Uint64 `json:"nonce"`
	From         common.Address  `json:"from"`
	TransferFrom common.Address  `json:"transferFrom"`
	TransferTo   common.Address  `json:"transferTo"`
	Amount       string          `json:"amount"`
	Reason       string          `json:"reason"`
	Expire       uint64          `json:"expire"`
}

type GovernanceVoteArgs

type GovernanceVoteArgs struct {
	Nonce      *hexutil.Uint64 `json:"nonce"`
	Voter      common.Address  `json:"from"`
	ProposalId string          `json:"proposalId"`
	Answer     string          `json:"answer"`
}

type NetRPCService

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

NetRPCService mirrors the implementation of `internal/ethapi` #unstable

func NewNetRPCService

func NewNetRPCService(networkVersion uint64) *NetRPCService

NewNetRPCService creates a new net API instance. #unstable

func (*NetRPCService) Listening

func (s *NetRPCService) Listening() bool

Listening returns an indication if the node is listening for network connections. #unstable

func (*NetRPCService) PeerCount

func (s *NetRPCService) PeerCount() hexutil.Uint

PeerCount returns the number of connected peers #unstable

func (*NetRPCService) Version

func (s *NetRPCService) Version() string

Version returns the current ethereum protocol version. #unstable

type NullBlockProcessor

type NullBlockProcessor struct{}

NullBlockProcessor does not validate anything #unstable

func (NullBlockProcessor) ValidateBody

func (NullBlockProcessor) ValidateBody(*ethTypes.Block) error

ValidateBody does not validate anything #unstable

func (NullBlockProcessor) ValidateState

func (NullBlockProcessor) ValidateState(block, parent *ethTypes.Block, state *state.StateDB,
	receipts ethTypes.Receipts, usedGas *big.Int) error

ValidateState does not validate anything #unstable

type SendTxArgs

type SendTxArgs struct {
	From     common.Address  `json:"from"`
	To       *common.Address `json:"to"`
	Gas      *hexutil.Big    `json:"gas"`
	GasPrice *hexutil.Big    `json:"gasPrice"`
	Value    *hexutil.Big    `json:"value"`
	Data     hexutil.Bytes   `json:"data"`
	Nonce    *hexutil.Uint64 `json:"nonce"`
}

SendTxArgs represents the arguments to sumbit a new transaction

type StakeQueryResult

type StakeQueryResult struct {
	Height int64       `json:"height"`
	Data   interface{} `json:"data"`
}

type UpdateCandidacyArgs

type UpdateCandidacyArgs struct {
	Nonce       *hexutil.Uint64   `json:"nonce"`
	From        common.Address    `json:"from"`
	MaxAmount   string            `json:"maxAmount"`
	Description stake.Description `json:"description"`
}

type VerifyCandidacyArgs

type VerifyCandidacyArgs struct {
	Nonce            *hexutil.Uint64 `json:"nonce"`
	From             common.Address  `json:"from"`
	CandidateAddress common.Address  `json:"candidateAddress"`
	Verified         bool            `json:"verified"`
}

type WithdrawArgs

type WithdrawArgs struct {
	Nonce            *hexutil.Uint64 `json:"nonce"`
	From             common.Address  `json:"from"`
	ValidatorAddress common.Address  `json:"validatorAddress"`
	Amount           string          `json:"amount"`
}

type WithdrawCandidacyArgs

type WithdrawCandidacyArgs struct {
	Nonce *hexutil.Uint64 `json:"nonce"`
	From  common.Address  `json:"from"`
}

Jump to

Keyboard shortcuts

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