package common import ( "math/big" ethCommon "github.com/ethereum/go-ethereum/common" ) // Bid is a struct that represents one bid in the PoH type Bid struct { SlotNum int64 `meddler:"slot_num"` BidValue *big.Int `meddler:"bid_value,bigint"` EthBlockNum int64 `meddler:"eth_block_num"` Bidder ethCommon.Address `meddler:"bidder_addr"` // Coordinator reference } // BidCoordinator contains the coordinator info of a bid, along with the bid value type BidCoordinator struct { SlotNum int64 `meddler:"slot_num"` DefaultSlotSetBid [6]*big.Int `meddler:"default_slot_set_bid,json"` BidValue *big.Int `meddler:"bid_value,bigint"` Bidder ethCommon.Address `meddler:"bidder_addr"` // address of the bidder Forger ethCommon.Address `meddler:"forger_addr"` // address of the forger URL string `meddler:"url"` // URL of the coordinators API } // Slot contains relevant information of a slot type Slot struct { SlotNum int64 DefaultSlotBid *big.Int StartBlock int64 EndBlock int64 ForgerCommitment bool // BatchesLen int BidValue *big.Int BootCoord bool // Bidder, Forger and URL correspond to the winner of the slot (which is // not always the highest bidder). These are the values of the // coordinator that is able to forge exclusively before the deadline. Bidder ethCommon.Address Forger ethCommon.Address URL string }