Documentation
¶
Index ¶
- func NewBigInt(x int64) *hexutil.Big
- func NewBigIntByRaw(x *big.Int) *hexutil.Big
- func WrapError(err error, msg string) error
- func WrapErrorf(err error, msgPattern string, values ...interface{}) error
- type AccountNotFoundError
- type Address
- type Block
- type BlockHeader
- type BlockSummary
- type Bloom
- type CallRequest
- type ContractDeployOption
- type ContractMethodCallOption
- type ContractMethodSendOption
- type Epoch
- type Estimate
- type Hash
- type Log
- type LogEntry
- type LogFilter
- type SignedTransaction
- type Status
- type Transaction
- type TransactionReceipt
- type UnsignedTransaction
- func (tx *UnsignedTransaction) ApplyDefault()
- func (tx *UnsignedTransaction) Decode(data []byte) error
- func (tx *UnsignedTransaction) Encode() ([]byte, error)
- func (tx *UnsignedTransaction) EncodeWithSignature(v byte, r, s []byte) ([]byte, error)
- func (tx *UnsignedTransaction) Hash() ([]byte, error)
- type UnsignedTransactionBase
- type WrappedError
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewBigIntByRaw ¶ added in v0.1.1
NewBigIntByRaw creates a hexutil.big with specified big.int value.
func WrapErrorf ¶
WrapErrorf creates a WrappedError with formated message
Types ¶
type AccountNotFoundError ¶ added in v0.3.2
type AccountNotFoundError struct {
Account Address
}
AccountNotFoundError represents error of account not found.
func NewAccountNotFoundError ¶ added in v0.3.2
func NewAccountNotFoundError(address Address) *AccountNotFoundError
NewAccountNotFoundError creates a new AccountNotFoundError instance
func (*AccountNotFoundError) Error ¶ added in v0.3.2
func (e *AccountNotFoundError) Error() string
Error implements error interface
type Address ¶
type Address string
Address represents the 20 byte address of an Conflux account in HEX format.
func NewAddress ¶
NewAddress creates a address with specified HEX string.
func (*Address) IsZero ¶ added in v0.3.0
IsZero returns true if the address is "0x0000000000000000000000000000000000000000" or "0X0000000000000000000000000000000000000000", otherwise returns false
func (*Address) ToCommonAddress ¶
ToCommonAddress converts address to common.Address
type Block ¶
type Block struct { BlockHeader Transactions []Transaction `json:"transactions"` }
Block represents a block in Conflux, including block header and a list of detailed transactions.
type BlockHeader ¶
type BlockHeader struct { Hash Hash `json:"hash"` ParentHash Hash `json:"parentHash"` Height *hexutil.Big `json:"height"` Miner Address `json:"miner"` DeferredStateRoot Hash `json:"deferredStateRoot"` DeferredReceiptsRoot Hash `json:"deferredReceiptsRoot"` DeferredLogsBloomHash Hash `json:"deferredLogsBloomHash"` Blame uint32 `json:"blame"` TransactionsRoot Hash `json:"transactionsRoot"` EpochNumber *hexutil.Big `json:"epochNumber,omitempty"` GasLimit *hexutil.Big `json:"gasLimit"` Timestamp *hexutil.Uint64 `json:"timestamp"` Difficulty *hexutil.Big `json:"difficulty"` RefereeHashes []Hash `json:"refereeHashes"` Stable *bool `json:"stable,omitempty"` Adaptive bool `json:"adaptive"` Nonce *hexutil.Big `json:"nonce"` Size *hexutil.Big `json:"size,omitempty"` }
BlockHeader represents a block header in Conflux.
type BlockSummary ¶
type BlockSummary struct { BlockHeader Transactions []Hash `json:"transactions"` }
BlockSummary includes block header and a list of transaction hashes
type CallRequest ¶
type CallRequest struct { From *Address `json:"from,omitempty"` To *Address `json:"to,omitempty"` GasPrice *hexutil.Big `json:"gasPrice,omitempty"` Gas *hexutil.Big `json:"gas,omitempty"` Value *hexutil.Big `json:"value,omitempty"` Data string `json:"data,omitempty"` Nonce *hexutil.Big `json:"nonce,omitempty"` StorageLimit *hexutil.Big `json:"storageLimit,omitempty"` }
CallRequest represents a request to execute contract.
func (*CallRequest) FillByCallOption ¶ added in v0.1.1
func (request *CallRequest) FillByCallOption(option *ContractMethodCallOption)
FillByCallOption fills CallRequest fields by
func (*CallRequest) FillByUnsignedTx ¶
func (request *CallRequest) FillByUnsignedTx(tx *UnsignedTransaction)
FillByUnsignedTx fills CallRequest fields by tx
type ContractDeployOption ¶
type ContractDeployOption struct { UnsignedTransactionBase // TimeoutInSecond represents the timeout of deploy contract, // default value is 0 which means never timeout Timeout time.Duration }
ContractDeployOption for setting option when deploying contract
type ContractMethodCallOption ¶
type ContractMethodCallOption struct { From *Address Nonce *hexutil.Big GasPrice *hexutil.Big Gas *hexutil.Big Value *hexutil.Big StorageLimit *hexutil.Big ChainID *hexutil.Big Epoch *Epoch }
ContractMethodCallOption for setting option when call contract method
type ContractMethodSendOption ¶
type ContractMethodSendOption UnsignedTransactionBase
ContractMethodSendOption for setting option when call contract method
type Epoch ¶
type Epoch struct {
// contains filtered or unexported fields
}
Epoch represents an epoch in Conflux.
var ( EpochEarliest *Epoch = &Epoch{"earliest", nil} EpochLatestState *Epoch = &Epoch{"latest_state", nil} EpochLatestMined *Epoch = &Epoch{"latest_mined", nil} )
Const epoch definitions
func NewEpochNumber ¶
NewEpochNumber creates an instance of Epoch with specified number.
func NewEpochWithBlockHash ¶
NewEpochWithBlockHash creates an instance of Epoch with specified block hash.
func (*Epoch) MarshalText ¶
MarshalText implements the encoding.TextMarshaler interface.
type Estimate ¶
type Estimate struct { GasUsed *hexutil.Big `json:"gasUsed"` StorageCollateralized *hexutil.Big `json:"storageCollateralized"` }
Estimate represents estimated gas will be used and storage will be collateralized when transaction excutes
type Hash ¶
type Hash string
Hash represents the 32 byte Keccak256 hash of arbitrary data in HEX format.
func (*Hash) ToCommonHash ¶ added in v0.1.1
ToCommonHash converts hash to common.Hash
type Log ¶
type Log struct { LogEntry BlockHash *Hash `json:"blockHash,omitempty"` EpochNumber *hexutil.Big `json:"epochNumber,omitempty"` TransactionHash *Hash `json:"transactionHash,omitempty"` TransactionIndex *hexutil.Big `json:"transactionIndex,omitempty"` LogIndex *hexutil.Big `json:"logIndex,omitempty"` TransactionLogIndex *hexutil.Big `json:"transactionLogIndex,omitempty"` // Type string `json:"type"` Removed bool `json:"removed"` }
Log represents the event in a smart contract
type LogEntry ¶
type LogEntry struct { Address Address `json:"address"` Topics []Hash `json:"topics"` Data string `json:"data"` }
LogEntry represents a summary of event in a smart contract.
type LogFilter ¶
type LogFilter struct { FromEpoch *Epoch `json:"fromEpoch,omitempty"` ToEpoch *Epoch `json:"toEpoch,omitempty"` BlockHashes []Hash `json:"blockHashes,omitempty"` Address []Address `json:"address,omitempty"` Topics [][]Hash `json:"topics,omitempty"` Limit *uint8 `json:"limit,omitempty"` }
LogFilter represents the filter of event in a smart contract.
type SignedTransaction ¶
type SignedTransaction struct { UnsignedTransaction UnsignedTransaction V byte R hexutil.Bytes S hexutil.Bytes }
SignedTransaction represents a transaction with signature, it is the transaction information for sending transaction.
func (*SignedTransaction) Decode ¶
func (tx *SignedTransaction) Decode(data []byte) error
Decode decodes RLP encoded data to tx
func (*SignedTransaction) Encode ¶
func (tx *SignedTransaction) Encode() ([]byte, error)
Encode encodes tx and returns its RLP encoded data
type Status ¶ added in v0.1.1
type Status struct { BestHash *Hash `json:"bestHash"` BlockNumber *hexutil.Big `json:"blockNumber"` ChainID *hexutil.Big `json:"chainId"` EpochNumber *hexutil.Big `json:"epochNumber"` PendingTxNumber int `json:"pendingTxNumber"` }
Status represents current blockchain status
type Transaction ¶
type Transaction struct { Hash Hash `json:"hash"` Nonce *hexutil.Big `json:"nonce"` BlockHash *Hash `json:"blockHash,omitempty"` TransactionIndex *hexutil.Big `json:"transactionIndex,omitempty"` From Address `json:"from"` To *Address `json:"to,omitempty"` Value *hexutil.Big `json:"value"` GasPrice *hexutil.Big `json:"gasPrice"` Gas *hexutil.Big `json:"gas"` ContractCreated *Address `json:"contractCreated,omitempty"` Data string `json:"data"` Status *hexutil.Big `json:"status,omitempty"` ChainID *hexutil.Big `json:"chainId,omitempty"` EpochHeight *hexutil.Big `json:"epochHeight,omitempty"` StorageLimit *hexutil.Big `json:"storageLimit,omitempty"` //signature V *hexutil.Big `json:"v"` R *hexutil.Big `json:"r"` S *hexutil.Big `json:"s"` }
Transaction represents a transaction with signature in Conflux. it is the response from conflux node when sending rpc request, such as cfx_getTransactionByHash
type TransactionReceipt ¶
type TransactionReceipt struct { TransactionHash Hash `json:"transactionHash"` Index uint `json:"index"` BlockHash Hash `json:"blockHash"` EpochNumber *uint64 `json:"epochNumber,omitempty"` From Address `json:"from"` To *Address `json:"to,omitempty"` GasUsed *hexutil.Big `json:"gasUsed"` ContractCreated *Address `json:"contractCreated,omitempty"` Logs []LogEntry `json:"logs"` LogsBloom Bloom `json:"logsBloom"` StateRoot Hash `json:"stateRoot"` OutcomeStatus uint8 `json:"outcomeStatus"` }
TransactionReceipt represents the transaction execution result in Conflux. it is the response from conflux node when sending rpc request, such as cfx_getTransactionReceipt
type UnsignedTransaction ¶
type UnsignedTransaction struct { UnsignedTransactionBase To *Address Data hexutil.Bytes }
UnsignedTransaction represents a transaction without signature, it is the transaction information for sending transaction.
func (*UnsignedTransaction) ApplyDefault ¶
func (tx *UnsignedTransaction) ApplyDefault()
ApplyDefault applys default value for these fields if they are empty
func (*UnsignedTransaction) Decode ¶
func (tx *UnsignedTransaction) Decode(data []byte) error
Decode decodes RLP encoded data to tx
func (*UnsignedTransaction) Encode ¶
func (tx *UnsignedTransaction) Encode() ([]byte, error)
Encode encodes tx and returns its RLP encoded data
func (*UnsignedTransaction) EncodeWithSignature ¶
func (tx *UnsignedTransaction) EncodeWithSignature(v byte, r, s []byte) ([]byte, error)
EncodeWithSignature encodes tx with signature and return its RLP encoded data
func (*UnsignedTransaction) Hash ¶
func (tx *UnsignedTransaction) Hash() ([]byte, error)
Hash hashes the tx by keccak256 and returns the result
type UnsignedTransactionBase ¶
type UnsignedTransactionBase struct { From *Address Nonce *hexutil.Big GasPrice *hexutil.Big Gas *hexutil.Big Value *hexutil.Big StorageLimit *hexutil.Big EpochHeight *hexutil.Big ChainID *hexutil.Big }
UnsignedTransactionBase represents a transaction without To, Data and signature
type WrappedError ¶
type WrappedError struct {
// contains filtered or unexported fields
}
WrappedError for wrapping old error and new error message
func (WrappedError) Unwrap ¶
func (e WrappedError) Unwrap() error
Unwrap for getting internal error by errors.Unwrap(wrappedError)