# Functions
BloomLookup checks if a topic may belong to the Bloom.
BytesToBloom converts a byte slice to a bloom filter.
CalcUncleHash returns rlp hash of uncles.
CopyHeader creates a deep copy of a block header to prevent side effects from modifying a header variable.
CreateBloom creates a Bloom given the receipts.
DeriveMultipleShardsSha calcualtes the root hash of tries generated by DerivableList of multiple shards If the list is empty, then return EmptyRootHash else, return |shard0|trieHash0|shard1|trieHash1|...| for non-empty destination shards.
DeriveOneShardSha calculates the hash of the trie of cross shard transactions with the given destination shard.
DeriveSha calculates the hash of the trie generated by DerivableList.
DeserializeCrossLink rlp-decode the bytes into cross link object.
EncodeNonce converts the given integer to a block nonce.
FindLogsWithTopic returns all the logs that contain the given receipt.
LogsBloom ...
MakeSigner returns a Signer based on the given chain config and epoch number.
NewBlock creates a new block.
NewBlockWithHeader creates a block with the given header data.
NewBodyForMatchingHeader returns a new block body struct whose implementation matches the version of the given field.
NewContractCreation returns same shard contract transaction.
NewCrossLink returns a new cross link object.
NewCrossShardTransaction returns new cross shard transaction.
NewEIP155Signer creates a EIP155Signer given chainID.
NewEthTransaction returns new ethereum-compatible transaction, which works as a intra-shard transaction.
NewMessage returns new message.
NewReceipt creates a barebone transaction receipt, copying the init fields.
NewStakingMessage returns new message of staking type always need checkNonce.
NewTestBody creates a new, empty body object for epoch 0 using the test factory.
NewTransaction returns new transaction, this method is to create same shard transaction.
NewTransactionErrorSink ..
NewTransactionsByPriceAndNonce creates a transaction set that can retrieve price sorted transactions in a nonce-honouring way.
Number checks if block b1 is less than block b2.
PoolTxDifference returns a new set which is the difference between a and b.
Sender returns the address derived from the signature (V, R, S) using secp256k1 elliptic curve and an error if it failed deriving or upon an incorrect signature.
SignEthTx signs the eth transaction using the given signer and private key.
SignTx signs the transaction using the given signer and private key.
# Constants
BloomBitLength represents the number of bits used in a header log bloom.
BloomByteLength represents the number of bytes used in a header log bloom.
Different Transaction Types.
Different Transaction Types.
Different Transaction Types.
MaxEncodedPoolTransactionSize is a heuristic raw/encoded data size limit.
MaxP2PNodeDataSize is a 1.25Mb heuristic data limit for DOS prevention on node message.
MaxPoolTransactionDataSize is a 128KB heuristic data limit for DOS prevention on txn.
ReceiptStatusFailed is the status code of a transaction if execution failed.
ReceiptStatusSuccessful is the status code of a transaction if execution succeeded.
Different Transaction Types.
Different Transaction Types.
Different Transaction Types.
only subtract tokens from source shard account.
Different Transaction Types.
# Variables
Bloom9 type.
BodyRegistry is the tagged RLP registry for block body types.
Constants for block.
Constants for block.
Constants for transaction signing.
Errors constants for Transaction.
ErrUnknownPoolTxType is returned when attempting to assert a PoolTransaction to its concrete type.
StakingTypeMap is the map from staking type to transactionType.
# Structs
Block represents an entire block in the Feechain blockchain.
Body is a simple (mutable, non-safe) data container for storing and moving a block's data contents (transactions and uncles) together.
BodyFieldSetter is a body field setter.
BodyV0 is the V0 block body.
BodyV1 is the V1 block body.
BodyV2 is the V2 block body.
CrossLink is only used on beacon chain to store the hash links from other shards signature and bitmap correspond to |blockNumber|parentHash| byte array Capital to enable rlp encoding Here we replace header to signatures only, the basic assumption is the committee will not be corrupted during one epoch, which is the same as consensus assumption.
CXMerkleProof represents the merkle proof of a collection of ordered cross shard transactions.
CXReceipt represents a receipt for cross-shard transaction.
CXReceiptsProof carrys the cross shard receipts and merkle proof.
EIP155Signer implements Signer using the EIP155 rules.
EthTransaction ethereum-compatible transaction.
FrontierSigner ...
HomesteadSigner implements InternalTransaction using the homestead rules.
Log represents a contract log event.
Message is a fully derived transaction and implements core.Message NOTE: In a future PR this will be removed.
Receipt represents the results of a transaction.
Transaction struct.
TransactionErrorReport ..
TransactionErrorSink is where all failed transactions get reported.
TransactionsByPriceAndNonce represents a set of transactions that can return transactions in a profit-maximizing sorted order, while supporting removing entire batches of transactions for non-executable accounts.
# Interfaces
BodyInterface is a simple accessor interface for block body.
CoreTransaction defines the core funcs of any transactions.
DerivableBase ..
DerivableList is the interface of DerivableList.
InternalTransaction defines the common interface for feechain and ethereum transactions.
PoolTransaction is the general transaction interface used by the tx pool.
Signer encapsulates transaction signature handling.
# Type aliases
BlockBy is the func type.
A BlockNonce is a 64-bit hash which proves (combined with the mix-hash) that a sufficient amount of computation has been carried out on a block.
Blocks is an array of Block.
BlockTxsCounts is a transactions counts map of the number of transactions made by each account in a block on this node.
CrossLinks is a collection of cross links.
CXReceipts is a list of CXReceipt.
CXReceiptsProofs is a list of CXReceiptsProof.
EthTransactions is a Transaction slice type for basic sorting.
InternalTransactions is a InternalTransaction slice type for basic sorting.
LogForStorage is a wrapper around a Log that flattens and parses the entire content of a log including non-consensus fields.
PoolTransactions is a PoolTransactions slice type for basic sorting.
PoolTxByNonce implements the sort interface to allow sorting a list of transactions by their nonces.
ReceiptForStorage is a wrapper around a Receipt that flattens and parses the entire content of a receipt, as opposed to only the consensus fields originally.
Receipts is a wrapper around a Receipt array to implement DerivableList.
RecentTxsStats is a recent transactions stats map tracking stats like BlockTxsCounts.
TransactionErrorReports ..
Transactions is a Transactions slice type for basic sorting.
TransactionType different types of transactions.
TxByNonce implements the sort interface to allow sorting a list of transactions by their nonces.
TxByPrice implements both the sort and the heap interface, making it useful for all at once sorting as well as individually adding and removing elements.