package bidder import ( "fmt" "log" "os" "kesim.org/seal" ) type auction struct { description *seal.Description bidder seal.Bidder log func(string, ...any) verbose func(string, ...any) debug func(string, ...any) } func nullf(string, ...any) {} func NewAuction(description *seal.Description, options ...Option) (a *auction, e error) { if description.BitLength > 63 { return nil, fmt.Errorf("Invalid BitLength in description: %d", description.BitLength) } logger := log.New(os.Stdout, "[seal::client] ", log.LstdFlags) a = &auction{ description: description, log: logger.Printf, verbose: nullf, debug: nullf, } for _, opt := range options { opt(a) } return a, nil } func (a *auction) Join(bidder seal.Bidder) { a.bidder = bidder } // Received is called by the bidder whenever a message came in for the auction via the dashboard // or other means of communication. func (a *auction) Received(msg []byte) error { return fmt.Errorf("Auction.Received not implemented") }