You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

43 lines
1.5 KiB

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
}