Documentation ¶
Overview ¶
Code generated by fastssz. DO NOT EDIT. Hash: c302f5cab9af79d858415e7e5bc2002568baf2333120ecc30517636a1b041db6 Version: 0.1.3
Index ¶
- Constants
- Variables
- type Address
- type Format
- type Hash
- type Layer
- type MerkleProof
- type Network
- type NetworkReward
- func (n *NetworkReward) GetTree() (*ssz.Node, error)
- func (n *NetworkReward) HashTreeRoot() ([32]byte, error)
- func (n *NetworkReward) HashTreeRootWith(hh ssz.HashWalker) (err error)
- func (n *NetworkReward) MarshalSSZ() ([]byte, error)
- func (n *NetworkReward) MarshalSSZTo(buf []byte) (dst []byte, err error)
- func (n *NetworkReward) SizeSSZ() (size int)
- func (n *NetworkReward) UnmarshalSSZ(buf []byte) error
- type NetworkRewards
- type NodeReward
- func (n *NodeReward) GetTree() (*ssz.Node, error)
- func (n *NodeReward) HashTreeRoot() ([32]byte, error)
- func (n *NodeReward) HashTreeRootWith(hh ssz.HashWalker) (err error)
- func (n *NodeReward) MarshalSSZ() ([]byte, error)
- func (n *NodeReward) MarshalSSZTo(buf []byte) (dst []byte, err error)
- func (n *NodeReward) SizeSSZ() (size int)
- func (n *NodeReward) UnmarshalSSZ(buf []byte) error
- type NodeRewards
- type SSZFile_v1
- func (f *SSZFile_v1) Deserialize(data []byte) error
- func (f *SSZFile_v1) FinalizeSSZ() ([]byte, error)
- func (f *SSZFile_v1) FinalizeSSZTo(buf []byte) ([]byte, error)
- func (f *SSZFile_v1) GenerateMerkleTree() error
- func (f *SSZFile_v1) GetConsensusEndBlock() uint64
- func (f *SSZFile_v1) GetConsensusStartBlock() uint64
- func (f *SSZFile_v1) GetEndTime() time.Time
- func (f *SSZFile_v1) GetExecutionEndBlock() uint64
- func (f *SSZFile_v1) GetExecutionStartBlock() uint64
- func (f *SSZFile_v1) GetIndex() uint64
- func (f *SSZFile_v1) GetIntervalsPassed() uint64
- func (f *SSZFile_v1) GetMerkleProof(address common.Address) ([]common.Hash, error)
- func (f *SSZFile_v1) GetMerkleRoot() string
- func (f *SSZFile_v1) GetNetworkCollateralRpl(network uint64) *stdbig.Int
- func (f *SSZFile_v1) GetNetworkOracleDaoRpl(network uint64) *stdbig.Int
- func (f *SSZFile_v1) GetNetworkSmoothingPoolEth(network uint64) *stdbig.Int
- func (f *SSZFile_v1) GetNodeAddresses() []common.Address
- func (f *SSZFile_v1) GetNodeCollateralRpl(addr common.Address) *stdbig.Int
- func (f *SSZFile_v1) GetNodeOracleDaoRpl(addr common.Address) *stdbig.Int
- func (f *SSZFile_v1) GetNodeSmoothingPoolEth(addr common.Address) *stdbig.Int
- func (f *SSZFile_v1) GetRewardsFileVersion() uint64
- func (f *SSZFile_v1) GetStartTime() time.Time
- func (f *SSZFile_v1) GetTotalCollateralRpl() *stdbig.Int
- func (f *SSZFile_v1) GetTotalNodeOperatorSmoothingPoolEth() *stdbig.Int
- func (f *SSZFile_v1) GetTotalNodeWeight() *stdbig.Int
- func (f *SSZFile_v1) GetTotalOracleDaoRpl() *stdbig.Int
- func (f *SSZFile_v1) GetTotalPoolStakerSmoothingPoolEth() *stdbig.Int
- func (f *SSZFile_v1) GetTotalProtocolDaoRpl() *stdbig.Int
- func (s *SSZFile_v1) GetTree() (*ssz.Node, error)
- func (f *SSZFile_v1) HasRewardsFor(addr common.Address) bool
- func (f *SSZFile_v1) HasRewardsForNetwork(network uint64) bool
- func (s *SSZFile_v1) HashTreeRoot() ([32]byte, error)
- func (s *SSZFile_v1) HashTreeRootWith(hh ssz.HashWalker) (err error)
- func (f *SSZFile_v1) MarshalJSON() ([]byte, error)
- func (s *SSZFile_v1) MarshalSSZ() ([]byte, error)
- func (s *SSZFile_v1) MarshalSSZTo(buf []byte) (dst []byte, err error)
- func (f *SSZFile_v1) Proofs() (map[Address]MerkleProof, error)
- func (f *SSZFile_v1) Serialize() ([]byte, error)
- func (f *SSZFile_v1) SerializeSSZ() ([]byte, error)
- func (f *SSZFile_v1) SetMinipoolPerformanceFileCID(cid string)
- func (s *SSZFile_v1) SizeSSZ() (size int)
- func (f *SSZFile_v1) UnmarshalJSON(data []byte) error
- func (s *SSZFile_v1) UnmarshalSSZ(buf []byte) error
- func (f *SSZFile_v1) Verify() error
- type TotalRewards
- func (t *TotalRewards) GetTree() (*ssz.Node, error)
- func (t *TotalRewards) HashTreeRoot() ([32]byte, error)
- func (t *TotalRewards) HashTreeRootWith(hh ssz.HashWalker) (err error)
- func (t *TotalRewards) MarshalSSZ() ([]byte, error)
- func (t *TotalRewards) MarshalSSZTo(buf []byte) (dst []byte, err error)
- func (t *TotalRewards) SizeSSZ() (size int)
- func (t *TotalRewards) UnmarshalSSZ(buf []byte) error
Constants ¶
const ( FormatJSON = iota FormatSSZ )
Variables ¶
var Magic [4]byte = [4]byte{0x52, 0x50, 0x52, 0x54}
Functions ¶
This section is empty.
Types ¶
type Layer ¶
type Layer = uint64
Layer corresponds to rewards-level Network fields, where 0 means layer 1... Using an alias of uint64 helps serve as documentation rather than function
type MerkleProof ¶
type MerkleProof []Hash
type Network ¶
type Network uint64
Network corresponds to the top-level Network field, where 1 means mainnet
func NetworkFromString ¶
func (Network) MarshalJSON ¶
func (*Network) UnmarshalJSON ¶
type NetworkReward ¶
type NetworkReward struct { // Chain ID (key) Network Layer `json:"-"` // Amount of RPL sent to the network for Node Operators CollateralRpl big.Uint256 `ssz-size:"32" json:"collateralRpl"` // Amount of RPL sent to the network for oDAO members OracleDaoRpl big.Uint256 `ssz-size:"32" json:"oracleDaoRpl"` // Amount of Eth sent to the network for Node Operators SmoothingPoolEth big.Uint256 `ssz-size:"32" json:"smoothingPoolEth"` }
func NewNetworkReward ¶
func NewNetworkReward(network Layer) *NetworkReward
func (*NetworkReward) GetTree ¶
func (n *NetworkReward) GetTree() (*ssz.Node, error)
GetTree ssz hashes the NetworkReward object
func (*NetworkReward) HashTreeRoot ¶
func (n *NetworkReward) HashTreeRoot() ([32]byte, error)
HashTreeRoot ssz hashes the NetworkReward object
func (*NetworkReward) HashTreeRootWith ¶
func (n *NetworkReward) HashTreeRootWith(hh ssz.HashWalker) (err error)
HashTreeRootWith ssz hashes the NetworkReward object with a hasher
func (*NetworkReward) MarshalSSZ ¶
func (n *NetworkReward) MarshalSSZ() ([]byte, error)
MarshalSSZ ssz marshals the NetworkReward object
func (*NetworkReward) MarshalSSZTo ¶
func (n *NetworkReward) MarshalSSZTo(buf []byte) (dst []byte, err error)
MarshalSSZTo ssz marshals the NetworkReward object to a target array
func (*NetworkReward) SizeSSZ ¶
func (n *NetworkReward) SizeSSZ() (size int)
SizeSSZ returns the ssz encoded size in bytes for the NetworkReward object
func (*NetworkReward) UnmarshalSSZ ¶
func (n *NetworkReward) UnmarshalSSZ(buf []byte) error
UnmarshalSSZ ssz unmarshals the NetworkReward object
type NetworkRewards ¶
type NetworkRewards []*NetworkReward
func (NetworkRewards) Len ¶
func (n NetworkRewards) Len() int
NetworkRewards should implement sort.Interface to make it easier to sort.
func (NetworkRewards) Less ¶
func (n NetworkRewards) Less(i, j int) bool
func (NetworkRewards) MarshalJSON ¶
func (n NetworkRewards) MarshalJSON() ([]byte, error)
func (NetworkRewards) Swap ¶
func (n NetworkRewards) Swap(i, j int)
func (*NetworkRewards) UnmarshalJSON ¶
func (n *NetworkRewards) UnmarshalJSON(data []byte) error
type NodeReward ¶
type NodeReward struct { // Address of the Node (key) Address Address `ssz-size:"20" json:"-"` // Chain ID on which the Node will claim Network Layer `json:"rewardNetwork"` // Amount of staking RPL earned by the Node CollateralRpl big.Uint256 `ssz-size:"32" json:"collateralRpl"` // Amount of oDAO RPL earned by the Node OracleDaoRpl big.Uint256 `ssz-size:"32" json:"oracleDaoRpl"` // Amount of Smoothing Pool ETH earned by the Node SmoothingPoolEth big.Uint256 `ssz-size:"32" json:"smoothingPoolEth"` // Merkle proof for the node claim, sorted with the Merkle root last MerkleProof MerkleProof `ssz:"-" json:"merkleProof"` }
func NewNodeReward ¶
func NewNodeReward(network Layer, address Address) *NodeReward
func (*NodeReward) GetTree ¶
func (n *NodeReward) GetTree() (*ssz.Node, error)
GetTree ssz hashes the NodeReward object
func (*NodeReward) HashTreeRoot ¶
func (n *NodeReward) HashTreeRoot() ([32]byte, error)
HashTreeRoot ssz hashes the NodeReward object
func (*NodeReward) HashTreeRootWith ¶
func (n *NodeReward) HashTreeRootWith(hh ssz.HashWalker) (err error)
HashTreeRootWith ssz hashes the NodeReward object with a hasher
func (*NodeReward) MarshalSSZ ¶
func (n *NodeReward) MarshalSSZ() ([]byte, error)
MarshalSSZ ssz marshals the NodeReward object
func (*NodeReward) MarshalSSZTo ¶
func (n *NodeReward) MarshalSSZTo(buf []byte) (dst []byte, err error)
MarshalSSZTo ssz marshals the NodeReward object to a target array
func (*NodeReward) SizeSSZ ¶
func (n *NodeReward) SizeSSZ() (size int)
SizeSSZ returns the ssz encoded size in bytes for the NodeReward object
func (*NodeReward) UnmarshalSSZ ¶
func (n *NodeReward) UnmarshalSSZ(buf []byte) error
UnmarshalSSZ ssz unmarshals the NodeReward object
type NodeRewards ¶
type NodeRewards []*NodeReward
func (NodeRewards) Find ¶
func (n NodeRewards) Find(addr Address) *NodeReward
func (NodeRewards) Len ¶
func (n NodeRewards) Len() int
NodeRewards should implement sort.Interface to make it easier to sort.
func (NodeRewards) Less ¶
func (n NodeRewards) Less(i, j int) bool
func (NodeRewards) MarshalJSON ¶
func (n NodeRewards) MarshalJSON() ([]byte, error)
func (NodeRewards) Swap ¶
func (n NodeRewards) Swap(i, j int)
func (*NodeRewards) UnmarshalJSON ¶
func (n *NodeRewards) UnmarshalJSON(data []byte) error
type SSZFile_v1 ¶
type SSZFile_v1 struct { // A magic header. Four bytes. Helps immediately verify what follows is a rewards tree. // 0x52505254 - it's RPRT in ASCII and easy to recognize Magic [4]byte `ssz-size:"4" json:"-"` // Version is first- parsers can check the first 12 bytes of the file to make sure they're // parsing a rewards tree and it is a version they know how to parse. RewardsFileVersion uint64 `json:"rewardsFileVersion"` // RulesetVersion is the version of the ruleset used to generate the tree, e.g., v9 for the first // ruleset to use ssz RulesetVersion uint64 `json:"rulesetVersion"` // Network is the chain id for which the tree is generated Network Network `json:"network"` // Index is the rewards interval index Index uint64 `json:"index"` // StartTime is the time of the first slot of the interval StartTime time.Time `json:"startTime"` // EndTime is the time fo the last slot of the interval EndTime time.Time `json:"endTime"` // ConsensusStartBlock is the first non-empty slot of the interval ConsensusStartBlock uint64 `json:"consensusStartBlock,omitempty"` // ConsensusEndBlock is the last non-empty slot of the interval ConsensusEndBlock uint64 `json:"consensusEndBlock"` // ExecutionBlock is the execution block number included in ConsensusStartBlock ExecutionStartBlock uint64 `json:"executionStartBlock,omitempty"` // ExecutionEndBlock is the execution block number included in ConsensusEndBlock ExecutionEndBlock uint64 `json:"executionEndBlock"` // IntervalsPassed is the number of rewards intervals contained in this tree IntervalsPassed uint64 `json:"intervalsPassed"` // MerkleRoot is the root of the merkle tree of all the nodes in this tree. MerkleRoot Hash `ssz-size:"32" json:"merkleRoot,omitempty"` // TotalRewards is aggregate data on how many rewards this tree contains TotalRewards *TotalRewards `json:"totalRewards"` // NetworkRewards is the destinations and aggregate amounts for each network // this tree distributes to. // Must be sorted by Chain ID ascending NetworkRewards NetworkRewards `ssz-max:"128" json:"networkRewards"` // NodeRewards are the objects that make up the merkle tree. // Must be sorted by Node Address ascending NodeRewards NodeRewards `ssz-max:"9223372036854775807" json:"nodeRewards"` // contains filtered or unexported fields }
func NewSSZFile_v1 ¶
func NewSSZFile_v1() *SSZFile_v1
func ParseSSZFile ¶
func ParseSSZFile(buf []byte) (*SSZFile_v1, error)
Parsing wrapper that adds verification to the merkle root and magic header
func (*SSZFile_v1) Deserialize ¶
func (f *SSZFile_v1) Deserialize(data []byte) error
Functions to implement IRewardsFile
func (*SSZFile_v1) FinalizeSSZ ¶
func (f *SSZFile_v1) FinalizeSSZ() ([]byte, error)
Marshal wrappers that adds the magic header if absent and sets or validators merkle root
func (*SSZFile_v1) FinalizeSSZTo ¶
func (f *SSZFile_v1) FinalizeSSZTo(buf []byte) ([]byte, error)
func (*SSZFile_v1) GenerateMerkleTree ¶
func (f *SSZFile_v1) GenerateMerkleTree() error
func (*SSZFile_v1) GetConsensusEndBlock ¶
func (f *SSZFile_v1) GetConsensusEndBlock() uint64
func (*SSZFile_v1) GetConsensusStartBlock ¶
func (f *SSZFile_v1) GetConsensusStartBlock() uint64
func (*SSZFile_v1) GetEndTime ¶
func (f *SSZFile_v1) GetEndTime() time.Time
func (*SSZFile_v1) GetExecutionEndBlock ¶
func (f *SSZFile_v1) GetExecutionEndBlock() uint64
func (*SSZFile_v1) GetExecutionStartBlock ¶
func (f *SSZFile_v1) GetExecutionStartBlock() uint64
func (*SSZFile_v1) GetIndex ¶
func (f *SSZFile_v1) GetIndex() uint64
func (*SSZFile_v1) GetIntervalsPassed ¶
func (f *SSZFile_v1) GetIntervalsPassed() uint64
func (*SSZFile_v1) GetMerkleProof ¶
func (*SSZFile_v1) GetMerkleRoot ¶
func (f *SSZFile_v1) GetMerkleRoot() string
func (*SSZFile_v1) GetNetworkCollateralRpl ¶
func (f *SSZFile_v1) GetNetworkCollateralRpl(network uint64) *stdbig.Int
func (*SSZFile_v1) GetNetworkOracleDaoRpl ¶
func (f *SSZFile_v1) GetNetworkOracleDaoRpl(network uint64) *stdbig.Int
func (*SSZFile_v1) GetNetworkSmoothingPoolEth ¶
func (f *SSZFile_v1) GetNetworkSmoothingPoolEth(network uint64) *stdbig.Int
func (*SSZFile_v1) GetNodeAddresses ¶
func (f *SSZFile_v1) GetNodeAddresses() []common.Address
func (*SSZFile_v1) GetNodeCollateralRpl ¶
func (f *SSZFile_v1) GetNodeCollateralRpl(addr common.Address) *stdbig.Int
func (*SSZFile_v1) GetNodeOracleDaoRpl ¶
func (f *SSZFile_v1) GetNodeOracleDaoRpl(addr common.Address) *stdbig.Int
func (*SSZFile_v1) GetNodeSmoothingPoolEth ¶
func (f *SSZFile_v1) GetNodeSmoothingPoolEth(addr common.Address) *stdbig.Int
func (*SSZFile_v1) GetRewardsFileVersion ¶
func (f *SSZFile_v1) GetRewardsFileVersion() uint64
func (*SSZFile_v1) GetStartTime ¶
func (f *SSZFile_v1) GetStartTime() time.Time
func (*SSZFile_v1) GetTotalCollateralRpl ¶
func (f *SSZFile_v1) GetTotalCollateralRpl() *stdbig.Int
func (*SSZFile_v1) GetTotalNodeOperatorSmoothingPoolEth ¶
func (f *SSZFile_v1) GetTotalNodeOperatorSmoothingPoolEth() *stdbig.Int
func (*SSZFile_v1) GetTotalNodeWeight ¶
func (f *SSZFile_v1) GetTotalNodeWeight() *stdbig.Int
func (*SSZFile_v1) GetTotalOracleDaoRpl ¶
func (f *SSZFile_v1) GetTotalOracleDaoRpl() *stdbig.Int
func (*SSZFile_v1) GetTotalPoolStakerSmoothingPoolEth ¶
func (f *SSZFile_v1) GetTotalPoolStakerSmoothingPoolEth() *stdbig.Int
func (*SSZFile_v1) GetTotalProtocolDaoRpl ¶
func (f *SSZFile_v1) GetTotalProtocolDaoRpl() *stdbig.Int
func (*SSZFile_v1) GetTree ¶
func (s *SSZFile_v1) GetTree() (*ssz.Node, error)
GetTree ssz hashes the SSZFile_v1 object
func (*SSZFile_v1) HasRewardsFor ¶
func (f *SSZFile_v1) HasRewardsFor(addr common.Address) bool
func (*SSZFile_v1) HasRewardsForNetwork ¶
func (f *SSZFile_v1) HasRewardsForNetwork(network uint64) bool
func (*SSZFile_v1) HashTreeRoot ¶
func (s *SSZFile_v1) HashTreeRoot() ([32]byte, error)
HashTreeRoot ssz hashes the SSZFile_v1 object
func (*SSZFile_v1) HashTreeRootWith ¶
func (s *SSZFile_v1) HashTreeRootWith(hh ssz.HashWalker) (err error)
HashTreeRootWith ssz hashes the SSZFile_v1 object with a hasher
func (*SSZFile_v1) MarshalJSON ¶
func (f *SSZFile_v1) MarshalJSON() ([]byte, error)
When writing JSON, we need to compute the merkle tree to populate the proofs
func (*SSZFile_v1) MarshalSSZ ¶
func (s *SSZFile_v1) MarshalSSZ() ([]byte, error)
MarshalSSZ ssz marshals the SSZFile_v1 object
func (*SSZFile_v1) MarshalSSZTo ¶
func (s *SSZFile_v1) MarshalSSZTo(buf []byte) (dst []byte, err error)
MarshalSSZTo ssz marshals the SSZFile_v1 object to a target array
func (*SSZFile_v1) Proofs ¶
func (f *SSZFile_v1) Proofs() (map[Address]MerkleProof, error)
This getter lazy-computes the proofs and caches them on the file
func (*SSZFile_v1) Serialize ¶
func (f *SSZFile_v1) Serialize() ([]byte, error)
The "normal" serialize() call is expected to be JSON by ISerializable in files.go
func (*SSZFile_v1) SetMinipoolPerformanceFileCID ¶
func (f *SSZFile_v1) SetMinipoolPerformanceFileCID(cid string)
Minipool Performance CID is deprecated, but we must implement this for the interface
func (*SSZFile_v1) SizeSSZ ¶
func (s *SSZFile_v1) SizeSSZ() (size int)
SizeSSZ returns the ssz encoded size in bytes for the SSZFile_v1 object
func (*SSZFile_v1) UnmarshalJSON ¶
func (f *SSZFile_v1) UnmarshalJSON(data []byte) error
This custom unmarshaler avoids creating a landmine where the user may forget to call NewSSZFile_v1 before unmarshaling into the result, which would cause the Magic header to be unset.
func (*SSZFile_v1) UnmarshalSSZ ¶
func (s *SSZFile_v1) UnmarshalSSZ(buf []byte) error
UnmarshalSSZ ssz unmarshals the SSZFile_v1 object
func (*SSZFile_v1) Verify ¶
func (f *SSZFile_v1) Verify() error
Verify checks that the arrays in the file are appropriately sorted and that the merkle proof, if present, matches.
type TotalRewards ¶
type TotalRewards struct { // Total amount of RPL sent to the pDAO ProtocolDaoRpl big.Uint256 `ssz-size:"32" json:"protocolDaoRpl"` // Total amount of RPL sent to Node Operators TotalCollateralRpl big.Uint256 `ssz-size:"32" json:"totalCollateralRpl"` // Total amount of RPL sent to the oDAO TotalOracleDaoRpl big.Uint256 `ssz-size:"32" json:"totalOracleDaoRpl"` // Total amount of ETH in the Smoothing Pool TotalSmoothingPoolEth big.Uint256 `ssz-size:"32" json:"totalSmoothingPoolEth"` // Total amount of Eth sent to the rETH contract PoolStakerSmoothingPoolEth big.Uint256 `ssz-size:"32" json:"poolStakerSmoothingPoolEth"` // Total amount of Eth sent to Node Operators in the Smoothing Pool NodeOperatorSmoothingPoolEth big.Uint256 `ssz-size:"32" json:"nodeOperatorSmoothingPoolEth"` // Total Node Weight as defined by RPIP-30 TotalNodeWeight big.Uint256 `ssz-size:"32" json:"totalNodeWeight,omitempty"` }
func (*TotalRewards) GetTree ¶
func (t *TotalRewards) GetTree() (*ssz.Node, error)
GetTree ssz hashes the TotalRewards object
func (*TotalRewards) HashTreeRoot ¶
func (t *TotalRewards) HashTreeRoot() ([32]byte, error)
HashTreeRoot ssz hashes the TotalRewards object
func (*TotalRewards) HashTreeRootWith ¶
func (t *TotalRewards) HashTreeRootWith(hh ssz.HashWalker) (err error)
HashTreeRootWith ssz hashes the TotalRewards object with a hasher
func (*TotalRewards) MarshalSSZ ¶
func (t *TotalRewards) MarshalSSZ() ([]byte, error)
MarshalSSZ ssz marshals the TotalRewards object
func (*TotalRewards) MarshalSSZTo ¶
func (t *TotalRewards) MarshalSSZTo(buf []byte) (dst []byte, err error)
MarshalSSZTo ssz marshals the TotalRewards object to a target array
func (*TotalRewards) SizeSSZ ¶
func (t *TotalRewards) SizeSSZ() (size int)
SizeSSZ returns the ssz encoded size in bytes for the TotalRewards object
func (*TotalRewards) UnmarshalSSZ ¶
func (t *TotalRewards) UnmarshalSSZ(buf []byte) error
UnmarshalSSZ ssz unmarshals the TotalRewards object