Documentation ¶
Overview ¶
Package types contains the types used to interact with the json-rpc interface. It exists for users of fab3 types to use them without importing the fabric protobuf definitions.
Index ¶
Constants ¶
const ( // HexEncodedAddressLegnth is 20 bytes, which is 40 chars when hex-encoded HexEncodedAddressLegnth = 40 // HexEncodedTopicLegnth is 32 bytes, which is 64 hex chars when hex-encoded HexEncodedTopicLegnth = 64 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddressFilter ¶
type AddressFilter []string // 20 Byte Addresses, OR'd together
func NewAddressFilter ¶
func NewAddressFilter(s string) (AddressFilter, error)
NewAddressFilter takes a string and checks that is the correct length to represent a topic and strips the 0x
type Block ¶
type Block struct { BlockData // size: QUANTITY - integer the size of this block in bytes. // timestamp: QUANTITY - the unix timestamp for when the block was collated. Transactions []interface{} `json:"transactions"` // transactions: Array - Array of transaction objects, or 32 Bytes transaction hashes depending on the last given parameter. }
Block is an eth return struct defined https://github.com/ethereum/wiki/wiki/JSON-RPC#returns-26
func (*Block) MarshalJSON ¶ added in v0.3.0
MarshalJSON marshals the data differently based on whether transactions are full or just tx hashes
type BlockData ¶ added in v0.3.0
type BlockData struct { Number string `json:"number"` // number: QUANTITY - the block number. null when its pending block. Hash string `json:"hash"` // hash: DATA, 32 Bytes - hash of the block. null when its pending block. ParentHash string `json:"parentHash"` // parentHash: DATA, 32 Bytes - hash of the parent block. }
BlockData contains the fields that are constant in a Block object
type GetLogsArgs ¶
type GetLogsArgs struct { FromBlock string `json:"fromBlock,omitempty"` ToBlock string `json:"toBlock,omitempty"` Address AddressFilter `json:"address,omitempty"` Topics TopicsFilter `json:"topics,omitempty"` BlockHash string `json:"blockHash,omitempty"` }
func (*GetLogsArgs) UnmarshalJSON ¶
func (gla *GetLogsArgs) UnmarshalJSON(data []byte) error
type Log ¶
type Log struct { Address string `json:"address"` Topics []string `json:"topics"` Data string `json:"data,omitempty"` BlockNumber string `json:"blockNumber"` TxHash string `json:"transactionHash"` TxIndex string `json:"transactionIndex"` BlockHash string `json:"blockHash"` Index string `json:"logIndex"` }
type TopicFilter ¶
type TopicFilter []string // 32 Byte Topics, OR'd together
func NewTopicFilter ¶
func NewTopicFilter(s string) (TopicFilter, error)
NewTopicFilter takes a string and checks that is the correct length to represent a topic and strips the 0x
type TopicsFilter ¶
type TopicsFilter []TopicFilter // TopicFilter, AND'd together
func NewTopicsFilter ¶
func NewTopicsFilter(tf ...TopicFilter) TopicsFilter
type Transaction ¶
type Transaction struct { BlockHash string `json:"blockHash"` // DATA, 32 Bytes - hash of the block where this transaction was in. null when its pending. BlockNumber string `json:"blockNumber"` // QUANTITY - block number where this transaction was in. null when its pending. To string `json:"to"` // DATA, 20 Bytes - address of the receiver. null when its a contract creation transaction. // From is generated by EVM Chaincode. Until account generation // stabilizes, we are not returning a value. // // From can be gotten from the Signature on the Transaction Envelope // From string `json:"from"` // DATA, 20 Bytes - address of the sender. Input string `json:"input"` // DATA - the data send along with the transaction. TransactionIndex string `json:"transactionIndex"` // QUANTITY - integer of the transactions index position in the block. null when its pending. Hash string `json:"hash"` // DATA, 32 Bytes - hash of the transaction. GasPrice string `json:"gasPrice"` // QUANTITY - gas price provided by the sender in Wei. Value string `json:"value"` // QUANTITY - value transferred in Wei. }
Transaction represents an ethereum evm transaction.
https://github.com/ethereum/wiki/wiki/JSON-RPC#returns-28
func (*Transaction) MarshalJSON ¶ added in v0.3.0
func (tx *Transaction) MarshalJSON() ([]byte, error)
MarshalJSON will json marshal the tx object as well as setting the Gas Price and Value fields as Ox0
type TxReceipt ¶
type TxReceipt struct { TransactionHash string `json:"transactionHash"` TransactionIndex string `json:"transactionIndex"` BlockHash string `json:"blockHash"` BlockNumber string `json:"blockNumber"` ContractAddress string `json:"contractAddress,omitempty"` GasUsed int `json:"gasUsed"` CumulativeGasUsed int `json:"cumulativeGasUsed"` To string `json:"to"` Logs []Log `json:"logs"` Status string `json:"status"` From string `json:"from"` }