arnaucube
arnaucube/hermez-nodePublic Self-hosted repository
hermez-node/eth/contracts/auction/HermezAuctionProtocol.go
eth/contracts/auction/HermezAuctionProtocol.goRaw
   1// Code generated - DO NOT EDIT.
   2// This file is a generated binding and any manual changes will be lost.
   3
   4package HermezAuctionProtocol
   5
   6import (
   7	"math/big"
   8	"strings"
   9
  10	ethereum "github.com/ethereum/go-ethereum"
  11	"github.com/ethereum/go-ethereum/accounts/abi"
  12	"github.com/ethereum/go-ethereum/accounts/abi/bind"
  13	"github.com/ethereum/go-ethereum/common"
  14	"github.com/ethereum/go-ethereum/core/types"
  15	"github.com/ethereum/go-ethereum/event"
  16)
  17
  18// Reference imports to suppress errors if they are not otherwise used.
  19var (
  20	_ = big.NewInt
  21	_ = strings.NewReader
  22	_ = ethereum.NotFound
  23	_ = bind.Bind
  24	_ = common.Big1
  25	_ = types.BloomLookup
  26	_ = event.NewSubscription
  27)
  28
  29// HermezAuctionProtocolABI is the input ABI used to generate the binding from.
  30const HermezAuctionProtocolABI = "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"}],\"name\":\"HEZClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"donationAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"bootCoordinatorAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"bootCoordinatorURL\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"outbidding\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"slotDeadline\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"closedAuctionSlots\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"openAuctionSlots\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"uint16[3]\",\"name\":\"allocationRatio\",\"type\":\"uint16[3]\"}],\"name\":\"InitializeHermezAuctionProtocolEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint16[3]\",\"name\":\"newAllocationRatio\",\"type\":\"uint16[3]\"}],\"name\":\"NewAllocationRatio\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint128\",\"name\":\"slot\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"bidAmount\",\"type\":\"uint128\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"bidder\",\"type\":\"address\"}],\"name\":\"NewBid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newBootCoordinator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newBootCoordinatorURL\",\"type\":\"string\"}],\"name\":\"NewBootCoordinator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"newClosedAuctionSlots\",\"type\":\"uint16\"}],\"name\":\"NewClosedAuctionSlots\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"slotSet\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"newInitialMinBid\",\"type\":\"uint128\"}],\"name\":\"NewDefaultSlotSetBid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newDonationAddress\",\"type\":\"address\"}],\"name\":\"NewDonationAddress\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"forger\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint128\",\"name\":\"slotToForge\",\"type\":\"uint128\"}],\"name\":\"NewForge\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"forger\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint128\",\"name\":\"slotToForge\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"burnAmount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"donationAmount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"governanceAmount\",\"type\":\"uint128\"}],\"name\":\"NewForgeAllocated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"newOpenAuctionSlots\",\"type\":\"uint16\"}],\"name\":\"NewOpenAuctionSlots\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"newOutbidding\",\"type\":\"uint16\"}],\"name\":\"NewOutbidding\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"newSlotDeadline\",\"type\":\"uint8\"}],\"name\":\"NewSlotDeadline\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"bidder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"forger\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"coordinatorURL\",\"type\":\"string\"}],\"name\":\"SetCoordinator\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BLOCKS_PER_SLOT\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"INITIAL_MINIMAL_BIDDING\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"bootCoordinatorURL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"forger\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"canForge\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"slotSet\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"newInitialMinBid\",\"type\":\"uint128\"}],\"name\":\"changeDefaultSlotSetBid\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimHEZ\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"slot\",\"type\":\"uint128\"}],\"name\":\"claimPendingHEZ\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"coordinators\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"forger\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"coordinatorURL\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"forger\",\"type\":\"address\"}],\"name\":\"forge\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"genesisBlock\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllocationRatio\",\"outputs\":[{\"internalType\":\"uint16[3]\",\"name\":\"\",\"type\":\"uint16[3]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBootCoordinator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"bidder\",\"type\":\"address\"}],\"name\":\"getClaimableHEZ\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getClosedAuctionSlots\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentSlotNumber\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"slotSet\",\"type\":\"uint8\"}],\"name\":\"getDefaultSlotSetBid\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDonationAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"slot\",\"type\":\"uint128\"}],\"name\":\"getMinBidBySlot\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOpenAuctionSlots\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOutbidding\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSlotDeadline\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"blockNumber\",\"type\":\"uint128\"}],\"name\":\"getSlotNumber\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"slot\",\"type\":\"uint128\"}],\"name\":\"getSlotSet\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"governanceAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"genesis\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"hermezRollupAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_governanceAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"donationAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"bootCoordinatorAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_bootCoordinatorURL\",\"type\":\"string\"}],\"name\":\"hermezAuctionProtocolInitializer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hermezRollup\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"pendingBalances\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"slot\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"bidAmount\",\"type\":\"uint128\"},{\"internalType\":\"bytes\",\"name\":\"permit\",\"type\":\"bytes\"}],\"name\":\"processBid\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"startingSlot\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"endingSlot\",\"type\":\"uint128\"},{\"internalType\":\"bool[6]\",\"name\":\"slotSets\",\"type\":\"bool[6]\"},{\"internalType\":\"uint128\",\"name\":\"maxBid\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"minBid\",\"type\":\"uint128\"},{\"internalType\":\"bytes\",\"name\":\"permit\",\"type\":\"bytes\"}],\"name\":\"processMultiBid\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16[3]\",\"name\":\"newAllocationRatio\",\"type\":\"uint16[3]\"}],\"name\":\"setAllocationRatio\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newBootCoordinator\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newBootCoordinatorURL\",\"type\":\"string\"}],\"name\":\"setBootCoordinator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"newClosedAuctionSlots\",\"type\":\"uint16\"}],\"name\":\"setClosedAuctionSlots\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"forger\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"coordinatorURL\",\"type\":\"string\"}],\"name\":\"setCoordinator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newDonationAddress\",\"type\":\"address\"}],\"name\":\"setDonationAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"newOpenAuctionSlots\",\"type\":\"uint16\"}],\"name\":\"setOpenAuctionSlots\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"newOutbidding\",\"type\":\"uint16\"}],\"name\":\"setOutbidding\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"newDeadline\",\"type\":\"uint8\"}],\"name\":\"setSlotDeadline\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"name\":\"slots\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"bidder\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"fulfilled\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"forgerCommitment\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"bidAmount\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"closedMinBid\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenHEZ\",\"outputs\":[{\"internalType\":\"contractIHEZToken\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]"
  31
  32// HermezAuctionProtocol is an auto generated Go binding around an Ethereum contract.
  33type HermezAuctionProtocol struct {
  34	HermezAuctionProtocolCaller     // Read-only binding to the contract
  35	HermezAuctionProtocolTransactor // Write-only binding to the contract
  36	HermezAuctionProtocolFilterer   // Log filterer for contract events
  37}
  38
  39// HermezAuctionProtocolCaller is an auto generated read-only Go binding around an Ethereum contract.
  40type HermezAuctionProtocolCaller struct {
  41	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  42}
  43
  44// HermezAuctionProtocolTransactor is an auto generated write-only Go binding around an Ethereum contract.
  45type HermezAuctionProtocolTransactor struct {
  46	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  47}
  48
  49// HermezAuctionProtocolFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  50type HermezAuctionProtocolFilterer struct {
  51	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  52}
  53
  54// HermezAuctionProtocolSession is an auto generated Go binding around an Ethereum contract,
  55// with pre-set call and transact options.
  56type HermezAuctionProtocolSession struct {
  57	Contract     *HermezAuctionProtocol // Generic contract binding to set the session for
  58	CallOpts     bind.CallOpts          // Call options to use throughout this session
  59	TransactOpts bind.TransactOpts      // Transaction auth options to use throughout this session
  60}
  61
  62// HermezAuctionProtocolCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  63// with pre-set call options.
  64type HermezAuctionProtocolCallerSession struct {
  65	Contract *HermezAuctionProtocolCaller // Generic contract caller binding to set the session for
  66	CallOpts bind.CallOpts                // Call options to use throughout this session
  67}
  68
  69// HermezAuctionProtocolTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  70// with pre-set transact options.
  71type HermezAuctionProtocolTransactorSession struct {
  72	Contract     *HermezAuctionProtocolTransactor // Generic contract transactor binding to set the session for
  73	TransactOpts bind.TransactOpts                // Transaction auth options to use throughout this session
  74}
  75
  76// HermezAuctionProtocolRaw is an auto generated low-level Go binding around an Ethereum contract.
  77type HermezAuctionProtocolRaw struct {
  78	Contract *HermezAuctionProtocol // Generic contract binding to access the raw methods on
  79}
  80
  81// HermezAuctionProtocolCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  82type HermezAuctionProtocolCallerRaw struct {
  83	Contract *HermezAuctionProtocolCaller // Generic read-only contract binding to access the raw methods on
  84}
  85
  86// HermezAuctionProtocolTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  87type HermezAuctionProtocolTransactorRaw struct {
  88	Contract *HermezAuctionProtocolTransactor // Generic write-only contract binding to access the raw methods on
  89}
  90
  91// NewHermezAuctionProtocol creates a new instance of HermezAuctionProtocol, bound to a specific deployed contract.
  92func NewHermezAuctionProtocol(address common.Address, backend bind.ContractBackend) (*HermezAuctionProtocol, error) {
  93	contract, err := bindHermezAuctionProtocol(address, backend, backend, backend)
  94	if err != nil {
  95		return nil, err
  96	}
  97	return &HermezAuctionProtocol{HermezAuctionProtocolCaller: HermezAuctionProtocolCaller{contract: contract}, HermezAuctionProtocolTransactor: HermezAuctionProtocolTransactor{contract: contract}, HermezAuctionProtocolFilterer: HermezAuctionProtocolFilterer{contract: contract}}, nil
  98}
  99
 100// NewHermezAuctionProtocolCaller creates a new read-only instance of HermezAuctionProtocol, bound to a specific deployed contract.
 101func NewHermezAuctionProtocolCaller(address common.Address, caller bind.ContractCaller) (*HermezAuctionProtocolCaller, error) {
 102	contract, err := bindHermezAuctionProtocol(address, caller, nil, nil)
 103	if err != nil {
 104		return nil, err
 105	}
 106	return &HermezAuctionProtocolCaller{contract: contract}, nil
 107}
 108
 109// NewHermezAuctionProtocolTransactor creates a new write-only instance of HermezAuctionProtocol, bound to a specific deployed contract.
 110func NewHermezAuctionProtocolTransactor(address common.Address, transactor bind.ContractTransactor) (*HermezAuctionProtocolTransactor, error) {
 111	contract, err := bindHermezAuctionProtocol(address, nil, transactor, nil)
 112	if err != nil {
 113		return nil, err
 114	}
 115	return &HermezAuctionProtocolTransactor{contract: contract}, nil
 116}
 117
 118// NewHermezAuctionProtocolFilterer creates a new log filterer instance of HermezAuctionProtocol, bound to a specific deployed contract.
 119func NewHermezAuctionProtocolFilterer(address common.Address, filterer bind.ContractFilterer) (*HermezAuctionProtocolFilterer, error) {
 120	contract, err := bindHermezAuctionProtocol(address, nil, nil, filterer)
 121	if err != nil {
 122		return nil, err
 123	}
 124	return &HermezAuctionProtocolFilterer{contract: contract}, nil
 125}
 126
 127// bindHermezAuctionProtocol binds a generic wrapper to an already deployed contract.
 128func bindHermezAuctionProtocol(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
 129	parsed, err := abi.JSON(strings.NewReader(HermezAuctionProtocolABI))
 130	if err != nil {
 131		return nil, err
 132	}
 133	return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
 134}
 135
 136// Call invokes the (constant) contract method with params as input values and
 137// sets the output to result. The result type might be a single field for simple
 138// returns, a slice of interfaces for anonymous returns and a struct for named
 139// returns.
 140func (_HermezAuctionProtocol *HermezAuctionProtocolRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
 141	return _HermezAuctionProtocol.Contract.HermezAuctionProtocolCaller.contract.Call(opts, result, method, params...)
 142}
 143
 144// Transfer initiates a plain transaction to move funds to the contract, calling
 145// its default method if one is available.
 146func (_HermezAuctionProtocol *HermezAuctionProtocolRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
 147	return _HermezAuctionProtocol.Contract.HermezAuctionProtocolTransactor.contract.Transfer(opts)
 148}
 149
 150// Transact invokes the (paid) contract method with params as input values.
 151func (_HermezAuctionProtocol *HermezAuctionProtocolRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
 152	return _HermezAuctionProtocol.Contract.HermezAuctionProtocolTransactor.contract.Transact(opts, method, params...)
 153}
 154
 155// Call invokes the (constant) contract method with params as input values and
 156// sets the output to result. The result type might be a single field for simple
 157// returns, a slice of interfaces for anonymous returns and a struct for named
 158// returns.
 159func (_HermezAuctionProtocol *HermezAuctionProtocolCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
 160	return _HermezAuctionProtocol.Contract.contract.Call(opts, result, method, params...)
 161}
 162
 163// Transfer initiates a plain transaction to move funds to the contract, calling
 164// its default method if one is available.
 165func (_HermezAuctionProtocol *HermezAuctionProtocolTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
 166	return _HermezAuctionProtocol.Contract.contract.Transfer(opts)
 167}
 168
 169// Transact invokes the (paid) contract method with params as input values.
 170func (_HermezAuctionProtocol *HermezAuctionProtocolTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
 171	return _HermezAuctionProtocol.Contract.contract.Transact(opts, method, params...)
 172}
 173
 174// BLOCKSPERSLOT is a free data retrieval call binding the contract method 0x2243de47.
 175//
 176// Solidity: function BLOCKS_PER_SLOT() view returns(uint8)
 177func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) BLOCKSPERSLOT(opts *bind.CallOpts) (uint8, error) {
 178	var out []interface{}
 179	err := _HermezAuctionProtocol.contract.Call(opts, &out, "BLOCKS_PER_SLOT")
 180
 181	if err != nil {
 182		return *new(uint8), err
 183	}
 184
 185	out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8)
 186
 187	return out0, err
 188
 189}
 190
 191// BLOCKSPERSLOT is a free data retrieval call binding the contract method 0x2243de47.
 192//
 193// Solidity: function BLOCKS_PER_SLOT() view returns(uint8)
 194func (_HermezAuctionProtocol *HermezAuctionProtocolSession) BLOCKSPERSLOT() (uint8, error) {
 195	return _HermezAuctionProtocol.Contract.BLOCKSPERSLOT(&_HermezAuctionProtocol.CallOpts)
 196}
 197
 198// BLOCKSPERSLOT is a free data retrieval call binding the contract method 0x2243de47.
 199//
 200// Solidity: function BLOCKS_PER_SLOT() view returns(uint8)
 201func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) BLOCKSPERSLOT() (uint8, error) {
 202	return _HermezAuctionProtocol.Contract.BLOCKSPERSLOT(&_HermezAuctionProtocol.CallOpts)
 203}
 204
 205// INITIALMINIMALBIDDING is a free data retrieval call binding the contract method 0xe6065914.
 206//
 207// Solidity: function INITIAL_MINIMAL_BIDDING() view returns(uint128)
 208func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) INITIALMINIMALBIDDING(opts *bind.CallOpts) (*big.Int, error) {
 209	var out []interface{}
 210	err := _HermezAuctionProtocol.contract.Call(opts, &out, "INITIAL_MINIMAL_BIDDING")
 211
 212	if err != nil {
 213		return *new(*big.Int), err
 214	}
 215
 216	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
 217
 218	return out0, err
 219
 220}
 221
 222// INITIALMINIMALBIDDING is a free data retrieval call binding the contract method 0xe6065914.
 223//
 224// Solidity: function INITIAL_MINIMAL_BIDDING() view returns(uint128)
 225func (_HermezAuctionProtocol *HermezAuctionProtocolSession) INITIALMINIMALBIDDING() (*big.Int, error) {
 226	return _HermezAuctionProtocol.Contract.INITIALMINIMALBIDDING(&_HermezAuctionProtocol.CallOpts)
 227}
 228
 229// INITIALMINIMALBIDDING is a free data retrieval call binding the contract method 0xe6065914.
 230//
 231// Solidity: function INITIAL_MINIMAL_BIDDING() view returns(uint128)
 232func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) INITIALMINIMALBIDDING() (*big.Int, error) {
 233	return _HermezAuctionProtocol.Contract.INITIALMINIMALBIDDING(&_HermezAuctionProtocol.CallOpts)
 234}
 235
 236// BootCoordinatorURL is a free data retrieval call binding the contract method 0x72ca58a3.
 237//
 238// Solidity: function bootCoordinatorURL() view returns(string)
 239func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) BootCoordinatorURL(opts *bind.CallOpts) (string, error) {
 240	var out []interface{}
 241	err := _HermezAuctionProtocol.contract.Call(opts, &out, "bootCoordinatorURL")
 242
 243	if err != nil {
 244		return *new(string), err
 245	}
 246
 247	out0 := *abi.ConvertType(out[0], new(string)).(*string)
 248
 249	return out0, err
 250
 251}
 252
 253// BootCoordinatorURL is a free data retrieval call binding the contract method 0x72ca58a3.
 254//
 255// Solidity: function bootCoordinatorURL() view returns(string)
 256func (_HermezAuctionProtocol *HermezAuctionProtocolSession) BootCoordinatorURL() (string, error) {
 257	return _HermezAuctionProtocol.Contract.BootCoordinatorURL(&_HermezAuctionProtocol.CallOpts)
 258}
 259
 260// BootCoordinatorURL is a free data retrieval call binding the contract method 0x72ca58a3.
 261//
 262// Solidity: function bootCoordinatorURL() view returns(string)
 263func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) BootCoordinatorURL() (string, error) {
 264	return _HermezAuctionProtocol.Contract.BootCoordinatorURL(&_HermezAuctionProtocol.CallOpts)
 265}
 266
 267// CanForge is a free data retrieval call binding the contract method 0x83b1f6a0.
 268//
 269// Solidity: function canForge(address forger, uint256 blockNumber) view returns(bool)
 270func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) CanForge(opts *bind.CallOpts, forger common.Address, blockNumber *big.Int) (bool, error) {
 271	var out []interface{}
 272	err := _HermezAuctionProtocol.contract.Call(opts, &out, "canForge", forger, blockNumber)
 273
 274	if err != nil {
 275		return *new(bool), err
 276	}
 277
 278	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
 279
 280	return out0, err
 281
 282}
 283
 284// CanForge is a free data retrieval call binding the contract method 0x83b1f6a0.
 285//
 286// Solidity: function canForge(address forger, uint256 blockNumber) view returns(bool)
 287func (_HermezAuctionProtocol *HermezAuctionProtocolSession) CanForge(forger common.Address, blockNumber *big.Int) (bool, error) {
 288	return _HermezAuctionProtocol.Contract.CanForge(&_HermezAuctionProtocol.CallOpts, forger, blockNumber)
 289}
 290
 291// CanForge is a free data retrieval call binding the contract method 0x83b1f6a0.
 292//
 293// Solidity: function canForge(address forger, uint256 blockNumber) view returns(bool)
 294func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) CanForge(forger common.Address, blockNumber *big.Int) (bool, error) {
 295	return _HermezAuctionProtocol.Contract.CanForge(&_HermezAuctionProtocol.CallOpts, forger, blockNumber)
 296}
 297
 298// Coordinators is a free data retrieval call binding the contract method 0xa48af096.
 299//
 300// Solidity: function coordinators(address ) view returns(address forger, string coordinatorURL)
 301func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) Coordinators(opts *bind.CallOpts, arg0 common.Address) (struct {
 302	Forger         common.Address
 303	CoordinatorURL string
 304}, error) {
 305	var out []interface{}
 306	err := _HermezAuctionProtocol.contract.Call(opts, &out, "coordinators", arg0)
 307
 308	outstruct := new(struct {
 309		Forger         common.Address
 310		CoordinatorURL string
 311	})
 312
 313	outstruct.Forger = out[0].(common.Address)
 314	outstruct.CoordinatorURL = out[1].(string)
 315
 316	return *outstruct, err
 317
 318}
 319
 320// Coordinators is a free data retrieval call binding the contract method 0xa48af096.
 321//
 322// Solidity: function coordinators(address ) view returns(address forger, string coordinatorURL)
 323func (_HermezAuctionProtocol *HermezAuctionProtocolSession) Coordinators(arg0 common.Address) (struct {
 324	Forger         common.Address
 325	CoordinatorURL string
 326}, error) {
 327	return _HermezAuctionProtocol.Contract.Coordinators(&_HermezAuctionProtocol.CallOpts, arg0)
 328}
 329
 330// Coordinators is a free data retrieval call binding the contract method 0xa48af096.
 331//
 332// Solidity: function coordinators(address ) view returns(address forger, string coordinatorURL)
 333func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) Coordinators(arg0 common.Address) (struct {
 334	Forger         common.Address
 335	CoordinatorURL string
 336}, error) {
 337	return _HermezAuctionProtocol.Contract.Coordinators(&_HermezAuctionProtocol.CallOpts, arg0)
 338}
 339
 340// GenesisBlock is a free data retrieval call binding the contract method 0x4cdc9c63.
 341//
 342// Solidity: function genesisBlock() view returns(uint128)
 343func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) GenesisBlock(opts *bind.CallOpts) (*big.Int, error) {
 344	var out []interface{}
 345	err := _HermezAuctionProtocol.contract.Call(opts, &out, "genesisBlock")
 346
 347	if err != nil {
 348		return *new(*big.Int), err
 349	}
 350
 351	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
 352
 353	return out0, err
 354
 355}
 356
 357// GenesisBlock is a free data retrieval call binding the contract method 0x4cdc9c63.
 358//
 359// Solidity: function genesisBlock() view returns(uint128)
 360func (_HermezAuctionProtocol *HermezAuctionProtocolSession) GenesisBlock() (*big.Int, error) {
 361	return _HermezAuctionProtocol.Contract.GenesisBlock(&_HermezAuctionProtocol.CallOpts)
 362}
 363
 364// GenesisBlock is a free data retrieval call binding the contract method 0x4cdc9c63.
 365//
 366// Solidity: function genesisBlock() view returns(uint128)
 367func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) GenesisBlock() (*big.Int, error) {
 368	return _HermezAuctionProtocol.Contract.GenesisBlock(&_HermezAuctionProtocol.CallOpts)
 369}
 370
 371// GetAllocationRatio is a free data retrieval call binding the contract method 0xec29159b.
 372//
 373// Solidity: function getAllocationRatio() view returns(uint16[3])
 374func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) GetAllocationRatio(opts *bind.CallOpts) ([3]uint16, error) {
 375	var out []interface{}
 376	err := _HermezAuctionProtocol.contract.Call(opts, &out, "getAllocationRatio")
 377
 378	if err != nil {
 379		return *new([3]uint16), err
 380	}
 381
 382	out0 := *abi.ConvertType(out[0], new([3]uint16)).(*[3]uint16)
 383
 384	return out0, err
 385
 386}
 387
 388// GetAllocationRatio is a free data retrieval call binding the contract method 0xec29159b.
 389//
 390// Solidity: function getAllocationRatio() view returns(uint16[3])
 391func (_HermezAuctionProtocol *HermezAuctionProtocolSession) GetAllocationRatio() ([3]uint16, error) {
 392	return _HermezAuctionProtocol.Contract.GetAllocationRatio(&_HermezAuctionProtocol.CallOpts)
 393}
 394
 395// GetAllocationRatio is a free data retrieval call binding the contract method 0xec29159b.
 396//
 397// Solidity: function getAllocationRatio() view returns(uint16[3])
 398func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) GetAllocationRatio() ([3]uint16, error) {
 399	return _HermezAuctionProtocol.Contract.GetAllocationRatio(&_HermezAuctionProtocol.CallOpts)
 400}
 401
 402// GetBootCoordinator is a free data retrieval call binding the contract method 0xb5f7f2f0.
 403//
 404// Solidity: function getBootCoordinator() view returns(address)
 405func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) GetBootCoordinator(opts *bind.CallOpts) (common.Address, error) {
 406	var out []interface{}
 407	err := _HermezAuctionProtocol.contract.Call(opts, &out, "getBootCoordinator")
 408
 409	if err != nil {
 410		return *new(common.Address), err
 411	}
 412
 413	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
 414
 415	return out0, err
 416
 417}
 418
 419// GetBootCoordinator is a free data retrieval call binding the contract method 0xb5f7f2f0.
 420//
 421// Solidity: function getBootCoordinator() view returns(address)
 422func (_HermezAuctionProtocol *HermezAuctionProtocolSession) GetBootCoordinator() (common.Address, error) {
 423	return _HermezAuctionProtocol.Contract.GetBootCoordinator(&_HermezAuctionProtocol.CallOpts)
 424}
 425
 426// GetBootCoordinator is a free data retrieval call binding the contract method 0xb5f7f2f0.
 427//
 428// Solidity: function getBootCoordinator() view returns(address)
 429func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) GetBootCoordinator() (common.Address, error) {
 430	return _HermezAuctionProtocol.Contract.GetBootCoordinator(&_HermezAuctionProtocol.CallOpts)
 431}
 432
 433// GetClaimableHEZ is a free data retrieval call binding the contract method 0x5cca4903.
 434//
 435// Solidity: function getClaimableHEZ(address bidder) view returns(uint128)
 436func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) GetClaimableHEZ(opts *bind.CallOpts, bidder common.Address) (*big.Int, error) {
 437	var out []interface{}
 438	err := _HermezAuctionProtocol.contract.Call(opts, &out, "getClaimableHEZ", bidder)
 439
 440	if err != nil {
 441		return *new(*big.Int), err
 442	}
 443
 444	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
 445
 446	return out0, err
 447
 448}
 449
 450// GetClaimableHEZ is a free data retrieval call binding the contract method 0x5cca4903.
 451//
 452// Solidity: function getClaimableHEZ(address bidder) view returns(uint128)
 453func (_HermezAuctionProtocol *HermezAuctionProtocolSession) GetClaimableHEZ(bidder common.Address) (*big.Int, error) {
 454	return _HermezAuctionProtocol.Contract.GetClaimableHEZ(&_HermezAuctionProtocol.CallOpts, bidder)
 455}
 456
 457// GetClaimableHEZ is a free data retrieval call binding the contract method 0x5cca4903.
 458//
 459// Solidity: function getClaimableHEZ(address bidder) view returns(uint128)
 460func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) GetClaimableHEZ(bidder common.Address) (*big.Int, error) {
 461	return _HermezAuctionProtocol.Contract.GetClaimableHEZ(&_HermezAuctionProtocol.CallOpts, bidder)
 462}
 463
 464// GetClosedAuctionSlots is a free data retrieval call binding the contract method 0x4da9639d.
 465//
 466// Solidity: function getClosedAuctionSlots() view returns(uint16)
 467func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) GetClosedAuctionSlots(opts *bind.CallOpts) (uint16, error) {
 468	var out []interface{}
 469	err := _HermezAuctionProtocol.contract.Call(opts, &out, "getClosedAuctionSlots")
 470
 471	if err != nil {
 472		return *new(uint16), err
 473	}
 474
 475	out0 := *abi.ConvertType(out[0], new(uint16)).(*uint16)
 476
 477	return out0, err
 478
 479}
 480
 481// GetClosedAuctionSlots is a free data retrieval call binding the contract method 0x4da9639d.
 482//
 483// Solidity: function getClosedAuctionSlots() view returns(uint16)
 484func (_HermezAuctionProtocol *HermezAuctionProtocolSession) GetClosedAuctionSlots() (uint16, error) {
 485	return _HermezAuctionProtocol.Contract.GetClosedAuctionSlots(&_HermezAuctionProtocol.CallOpts)
 486}
 487
 488// GetClosedAuctionSlots is a free data retrieval call binding the contract method 0x4da9639d.
 489//
 490// Solidity: function getClosedAuctionSlots() view returns(uint16)
 491func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) GetClosedAuctionSlots() (uint16, error) {
 492	return _HermezAuctionProtocol.Contract.GetClosedAuctionSlots(&_HermezAuctionProtocol.CallOpts)
 493}
 494
 495// GetCurrentSlotNumber is a free data retrieval call binding the contract method 0x0c4da4f6.
 496//
 497// Solidity: function getCurrentSlotNumber() view returns(uint128)
 498func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) GetCurrentSlotNumber(opts *bind.CallOpts) (*big.Int, error) {
 499	var out []interface{}
 500	err := _HermezAuctionProtocol.contract.Call(opts, &out, "getCurrentSlotNumber")
 501
 502	if err != nil {
 503		return *new(*big.Int), err
 504	}
 505
 506	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
 507
 508	return out0, err
 509
 510}
 511
 512// GetCurrentSlotNumber is a free data retrieval call binding the contract method 0x0c4da4f6.
 513//
 514// Solidity: function getCurrentSlotNumber() view returns(uint128)
 515func (_HermezAuctionProtocol *HermezAuctionProtocolSession) GetCurrentSlotNumber() (*big.Int, error) {
 516	return _HermezAuctionProtocol.Contract.GetCurrentSlotNumber(&_HermezAuctionProtocol.CallOpts)
 517}
 518
 519// GetCurrentSlotNumber is a free data retrieval call binding the contract method 0x0c4da4f6.
 520//
 521// Solidity: function getCurrentSlotNumber() view returns(uint128)
 522func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) GetCurrentSlotNumber() (*big.Int, error) {
 523	return _HermezAuctionProtocol.Contract.GetCurrentSlotNumber(&_HermezAuctionProtocol.CallOpts)
 524}
 525
 526// GetDefaultSlotSetBid is a free data retrieval call binding the contract method 0x564e6a71.
 527//
 528// Solidity: function getDefaultSlotSetBid(uint8 slotSet) view returns(uint128)
 529func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) GetDefaultSlotSetBid(opts *bind.CallOpts, slotSet uint8) (*big.Int, error) {
 530	var out []interface{}
 531	err := _HermezAuctionProtocol.contract.Call(opts, &out, "getDefaultSlotSetBid", slotSet)
 532
 533	if err != nil {
 534		return *new(*big.Int), err
 535	}
 536
 537	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
 538
 539	return out0, err
 540
 541}
 542
 543// GetDefaultSlotSetBid is a free data retrieval call binding the contract method 0x564e6a71.
 544//
 545// Solidity: function getDefaultSlotSetBid(uint8 slotSet) view returns(uint128)
 546func (_HermezAuctionProtocol *HermezAuctionProtocolSession) GetDefaultSlotSetBid(slotSet uint8) (*big.Int, error) {
 547	return _HermezAuctionProtocol.Contract.GetDefaultSlotSetBid(&_HermezAuctionProtocol.CallOpts, slotSet)
 548}
 549
 550// GetDefaultSlotSetBid is a free data retrieval call binding the contract method 0x564e6a71.
 551//
 552// Solidity: function getDefaultSlotSetBid(uint8 slotSet) view returns(uint128)
 553func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) GetDefaultSlotSetBid(slotSet uint8) (*big.Int, error) {
 554	return _HermezAuctionProtocol.Contract.GetDefaultSlotSetBid(&_HermezAuctionProtocol.CallOpts, slotSet)
 555}
 556
 557// GetDonationAddress is a free data retrieval call binding the contract method 0x54c03ab7.
 558//
 559// Solidity: function getDonationAddress() view returns(address)
 560func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) GetDonationAddress(opts *bind.CallOpts) (common.Address, error) {
 561	var out []interface{}
 562	err := _HermezAuctionProtocol.contract.Call(opts, &out, "getDonationAddress")
 563
 564	if err != nil {
 565		return *new(common.Address), err
 566	}
 567
 568	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
 569
 570	return out0, err
 571
 572}
 573
 574// GetDonationAddress is a free data retrieval call binding the contract method 0x54c03ab7.
 575//
 576// Solidity: function getDonationAddress() view returns(address)
 577func (_HermezAuctionProtocol *HermezAuctionProtocolSession) GetDonationAddress() (common.Address, error) {
 578	return _HermezAuctionProtocol.Contract.GetDonationAddress(&_HermezAuctionProtocol.CallOpts)
 579}
 580
 581// GetDonationAddress is a free data retrieval call binding the contract method 0x54c03ab7.
 582//
 583// Solidity: function getDonationAddress() view returns(address)
 584func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) GetDonationAddress() (common.Address, error) {
 585	return _HermezAuctionProtocol.Contract.GetDonationAddress(&_HermezAuctionProtocol.CallOpts)
 586}
 587
 588// GetMinBidBySlot is a free data retrieval call binding the contract method 0x37d1bd0b.
 589//
 590// Solidity: function getMinBidBySlot(uint128 slot) view returns(uint128)
 591func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) GetMinBidBySlot(opts *bind.CallOpts, slot *big.Int) (*big.Int, error) {
 592	var out []interface{}
 593	err := _HermezAuctionProtocol.contract.Call(opts, &out, "getMinBidBySlot", slot)
 594
 595	if err != nil {
 596		return *new(*big.Int), err
 597	}
 598
 599	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
 600
 601	return out0, err
 602
 603}
 604
 605// GetMinBidBySlot is a free data retrieval call binding the contract method 0x37d1bd0b.
 606//
 607// Solidity: function getMinBidBySlot(uint128 slot) view returns(uint128)
 608func (_HermezAuctionProtocol *HermezAuctionProtocolSession) GetMinBidBySlot(slot *big.Int) (*big.Int, error) {
 609	return _HermezAuctionProtocol.Contract.GetMinBidBySlot(&_HermezAuctionProtocol.CallOpts, slot)
 610}
 611
 612// GetMinBidBySlot is a free data retrieval call binding the contract method 0x37d1bd0b.
 613//
 614// Solidity: function getMinBidBySlot(uint128 slot) view returns(uint128)
 615func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) GetMinBidBySlot(slot *big.Int) (*big.Int, error) {
 616	return _HermezAuctionProtocol.Contract.GetMinBidBySlot(&_HermezAuctionProtocol.CallOpts, slot)
 617}
 618
 619// GetOpenAuctionSlots is a free data retrieval call binding the contract method 0xac4b9012.
 620//
 621// Solidity: function getOpenAuctionSlots() view returns(uint16)
 622func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) GetOpenAuctionSlots(opts *bind.CallOpts) (uint16, error) {
 623	var out []interface{}
 624	err := _HermezAuctionProtocol.contract.Call(opts, &out, "getOpenAuctionSlots")
 625
 626	if err != nil {
 627		return *new(uint16), err
 628	}
 629
 630	out0 := *abi.ConvertType(out[0], new(uint16)).(*uint16)
 631
 632	return out0, err
 633
 634}
 635
 636// GetOpenAuctionSlots is a free data retrieval call binding the contract method 0xac4b9012.
 637//
 638// Solidity: function getOpenAuctionSlots() view returns(uint16)
 639func (_HermezAuctionProtocol *HermezAuctionProtocolSession) GetOpenAuctionSlots() (uint16, error) {
 640	return _HermezAuctionProtocol.Contract.GetOpenAuctionSlots(&_HermezAuctionProtocol.CallOpts)
 641}
 642
 643// GetOpenAuctionSlots is a free data retrieval call binding the contract method 0xac4b9012.
 644//
 645// Solidity: function getOpenAuctionSlots() view returns(uint16)
 646func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) GetOpenAuctionSlots() (uint16, error) {
 647	return _HermezAuctionProtocol.Contract.GetOpenAuctionSlots(&_HermezAuctionProtocol.CallOpts)
 648}
 649
 650// GetOutbidding is a free data retrieval call binding the contract method 0x55b442e6.
 651//
 652// Solidity: function getOutbidding() view returns(uint16)
 653func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) GetOutbidding(opts *bind.CallOpts) (uint16, error) {
 654	var out []interface{}
 655	err := _HermezAuctionProtocol.contract.Call(opts, &out, "getOutbidding")
 656
 657	if err != nil {
 658		return *new(uint16), err
 659	}
 660
 661	out0 := *abi.ConvertType(out[0], new(uint16)).(*uint16)
 662
 663	return out0, err
 664
 665}
 666
 667// GetOutbidding is a free data retrieval call binding the contract method 0x55b442e6.
 668//
 669// Solidity: function getOutbidding() view returns(uint16)
 670func (_HermezAuctionProtocol *HermezAuctionProtocolSession) GetOutbidding() (uint16, error) {
 671	return _HermezAuctionProtocol.Contract.GetOutbidding(&_HermezAuctionProtocol.CallOpts)
 672}
 673
 674// GetOutbidding is a free data retrieval call binding the contract method 0x55b442e6.
 675//
 676// Solidity: function getOutbidding() view returns(uint16)
 677func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) GetOutbidding() (uint16, error) {
 678	return _HermezAuctionProtocol.Contract.GetOutbidding(&_HermezAuctionProtocol.CallOpts)
 679}
 680
 681// GetSlotDeadline is a free data retrieval call binding the contract method 0x13de9af2.
 682//
 683// Solidity: function getSlotDeadline() view returns(uint8)
 684func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) GetSlotDeadline(opts *bind.CallOpts) (uint8, error) {
 685	var out []interface{}
 686	err := _HermezAuctionProtocol.contract.Call(opts, &out, "getSlotDeadline")
 687
 688	if err != nil {
 689		return *new(uint8), err
 690	}
 691
 692	out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8)
 693
 694	return out0, err
 695
 696}
 697
 698// GetSlotDeadline is a free data retrieval call binding the contract method 0x13de9af2.
 699//
 700// Solidity: function getSlotDeadline() view returns(uint8)
 701func (_HermezAuctionProtocol *HermezAuctionProtocolSession) GetSlotDeadline() (uint8, error) {
 702	return _HermezAuctionProtocol.Contract.GetSlotDeadline(&_HermezAuctionProtocol.CallOpts)
 703}
 704
 705// GetSlotDeadline is a free data retrieval call binding the contract method 0x13de9af2.
 706//
 707// Solidity: function getSlotDeadline() view returns(uint8)
 708func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) GetSlotDeadline() (uint8, error) {
 709	return _HermezAuctionProtocol.Contract.GetSlotDeadline(&_HermezAuctionProtocol.CallOpts)
 710}
 711
 712// GetSlotNumber is a free data retrieval call binding the contract method 0xb3dc7bb1.
 713//
 714// Solidity: function getSlotNumber(uint128 blockNumber) view returns(uint128)
 715func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) GetSlotNumber(opts *bind.CallOpts, blockNumber *big.Int) (*big.Int, error) {
 716	var out []interface{}
 717	err := _HermezAuctionProtocol.contract.Call(opts, &out, "getSlotNumber", blockNumber)
 718
 719	if err != nil {
 720		return *new(*big.Int), err
 721	}
 722
 723	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
 724
 725	return out0, err
 726
 727}
 728
 729// GetSlotNumber is a free data retrieval call binding the contract method 0xb3dc7bb1.
 730//
 731// Solidity: function getSlotNumber(uint128 blockNumber) view returns(uint128)
 732func (_HermezAuctionProtocol *HermezAuctionProtocolSession) GetSlotNumber(blockNumber *big.Int) (*big.Int, error) {
 733	return _HermezAuctionProtocol.Contract.GetSlotNumber(&_HermezAuctionProtocol.CallOpts, blockNumber)
 734}
 735
 736// GetSlotNumber is a free data retrieval call binding the contract method 0xb3dc7bb1.
 737//
 738// Solidity: function getSlotNumber(uint128 blockNumber) view returns(uint128)
 739func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) GetSlotNumber(blockNumber *big.Int) (*big.Int, error) {
 740	return _HermezAuctionProtocol.Contract.GetSlotNumber(&_HermezAuctionProtocol.CallOpts, blockNumber)
 741}
 742
 743// GetSlotSet is a free data retrieval call binding the contract method 0xac5f658b.
 744//
 745// Solidity: function getSlotSet(uint128 slot) view returns(uint128)
 746func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) GetSlotSet(opts *bind.CallOpts, slot *big.Int) (*big.Int, error) {
 747	var out []interface{}
 748	err := _HermezAuctionProtocol.contract.Call(opts, &out, "getSlotSet", slot)
 749
 750	if err != nil {
 751		return *new(*big.Int), err
 752	}
 753
 754	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
 755
 756	return out0, err
 757
 758}
 759
 760// GetSlotSet is a free data retrieval call binding the contract method 0xac5f658b.
 761//
 762// Solidity: function getSlotSet(uint128 slot) view returns(uint128)
 763func (_HermezAuctionProtocol *HermezAuctionProtocolSession) GetSlotSet(slot *big.Int) (*big.Int, error) {
 764	return _HermezAuctionProtocol.Contract.GetSlotSet(&_HermezAuctionProtocol.CallOpts, slot)
 765}
 766
 767// GetSlotSet is a free data retrieval call binding the contract method 0xac5f658b.
 768//
 769// Solidity: function getSlotSet(uint128 slot) view returns(uint128)
 770func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) GetSlotSet(slot *big.Int) (*big.Int, error) {
 771	return _HermezAuctionProtocol.Contract.GetSlotSet(&_HermezAuctionProtocol.CallOpts, slot)
 772}
 773
 774// GovernanceAddress is a free data retrieval call binding the contract method 0x795053d3.
 775//
 776// Solidity: function governanceAddress() view returns(address)
 777func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) GovernanceAddress(opts *bind.CallOpts) (common.Address, error) {
 778	var out []interface{}
 779	err := _HermezAuctionProtocol.contract.Call(opts, &out, "governanceAddress")
 780
 781	if err != nil {
 782		return *new(common.Address), err
 783	}
 784
 785	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
 786
 787	return out0, err
 788
 789}
 790
 791// GovernanceAddress is a free data retrieval call binding the contract method 0x795053d3.
 792//
 793// Solidity: function governanceAddress() view returns(address)
 794func (_HermezAuctionProtocol *HermezAuctionProtocolSession) GovernanceAddress() (common.Address, error) {
 795	return _HermezAuctionProtocol.Contract.GovernanceAddress(&_HermezAuctionProtocol.CallOpts)
 796}
 797
 798// GovernanceAddress is a free data retrieval call binding the contract method 0x795053d3.
 799//
 800// Solidity: function governanceAddress() view returns(address)
 801func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) GovernanceAddress() (common.Address, error) {
 802	return _HermezAuctionProtocol.Contract.GovernanceAddress(&_HermezAuctionProtocol.CallOpts)
 803}
 804
 805// HermezRollup is a free data retrieval call binding the contract method 0xaebd6d98.
 806//
 807// Solidity: function hermezRollup() view returns(address)
 808func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) HermezRollup(opts *bind.CallOpts) (common.Address, error) {
 809	var out []interface{}
 810	err := _HermezAuctionProtocol.contract.Call(opts, &out, "hermezRollup")
 811
 812	if err != nil {
 813		return *new(common.Address), err
 814	}
 815
 816	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
 817
 818	return out0, err
 819
 820}
 821
 822// HermezRollup is a free data retrieval call binding the contract method 0xaebd6d98.
 823//
 824// Solidity: function hermezRollup() view returns(address)
 825func (_HermezAuctionProtocol *HermezAuctionProtocolSession) HermezRollup() (common.Address, error) {
 826	return _HermezAuctionProtocol.Contract.HermezRollup(&_HermezAuctionProtocol.CallOpts)
 827}
 828
 829// HermezRollup is a free data retrieval call binding the contract method 0xaebd6d98.
 830//
 831// Solidity: function hermezRollup() view returns(address)
 832func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) HermezRollup() (common.Address, error) {
 833	return _HermezAuctionProtocol.Contract.HermezRollup(&_HermezAuctionProtocol.CallOpts)
 834}
 835
 836// PendingBalances is a free data retrieval call binding the contract method 0xecdae41b.
 837//
 838// Solidity: function pendingBalances(address ) view returns(uint128)
 839func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) PendingBalances(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) {
 840	var out []interface{}
 841	err := _HermezAuctionProtocol.contract.Call(opts, &out, "pendingBalances", arg0)
 842
 843	if err != nil {
 844		return *new(*big.Int), err
 845	}
 846
 847	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
 848
 849	return out0, err
 850
 851}
 852
 853// PendingBalances is a free data retrieval call binding the contract method 0xecdae41b.
 854//
 855// Solidity: function pendingBalances(address ) view returns(uint128)
 856func (_HermezAuctionProtocol *HermezAuctionProtocolSession) PendingBalances(arg0 common.Address) (*big.Int, error) {
 857	return _HermezAuctionProtocol.Contract.PendingBalances(&_HermezAuctionProtocol.CallOpts, arg0)
 858}
 859
 860// PendingBalances is a free data retrieval call binding the contract method 0xecdae41b.
 861//
 862// Solidity: function pendingBalances(address ) view returns(uint128)
 863func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) PendingBalances(arg0 common.Address) (*big.Int, error) {
 864	return _HermezAuctionProtocol.Contract.PendingBalances(&_HermezAuctionProtocol.CallOpts, arg0)
 865}
 866
 867// Slots is a free data retrieval call binding the contract method 0xbc415567.
 868//
 869// Solidity: function slots(uint128 ) view returns(address bidder, bool fulfilled, bool forgerCommitment, uint128 bidAmount, uint128 closedMinBid)
 870func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) Slots(opts *bind.CallOpts, arg0 *big.Int) (struct {
 871	Bidder           common.Address
 872	Fulfilled        bool
 873	ForgerCommitment bool
 874	BidAmount        *big.Int
 875	ClosedMinBid     *big.Int
 876}, error) {
 877	var out []interface{}
 878	err := _HermezAuctionProtocol.contract.Call(opts, &out, "slots", arg0)
 879
 880	outstruct := new(struct {
 881		Bidder           common.Address
 882		Fulfilled        bool
 883		ForgerCommitment bool
 884		BidAmount        *big.Int
 885		ClosedMinBid     *big.Int
 886	})
 887
 888	outstruct.Bidder = out[0].(common.Address)
 889	outstruct.Fulfilled = out[1].(bool)
 890	outstruct.ForgerCommitment = out[2].(bool)
 891	outstruct.BidAmount = out[3].(*big.Int)
 892	outstruct.ClosedMinBid = out[4].(*big.Int)
 893
 894	return *outstruct, err
 895
 896}
 897
 898// Slots is a free data retrieval call binding the contract method 0xbc415567.
 899//
 900// Solidity: function slots(uint128 ) view returns(address bidder, bool fulfilled, bool forgerCommitment, uint128 bidAmount, uint128 closedMinBid)
 901func (_HermezAuctionProtocol *HermezAuctionProtocolSession) Slots(arg0 *big.Int) (struct {
 902	Bidder           common.Address
 903	Fulfilled        bool
 904	ForgerCommitment bool
 905	BidAmount        *big.Int
 906	ClosedMinBid     *big.Int
 907}, error) {
 908	return _HermezAuctionProtocol.Contract.Slots(&_HermezAuctionProtocol.CallOpts, arg0)
 909}
 910
 911// Slots is a free data retrieval call binding the contract method 0xbc415567.
 912//
 913// Solidity: function slots(uint128 ) view returns(address bidder, bool fulfilled, bool forgerCommitment, uint128 bidAmount, uint128 closedMinBid)
 914func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) Slots(arg0 *big.Int) (struct {
 915	Bidder           common.Address
 916	Fulfilled        bool
 917	ForgerCommitment bool
 918	BidAmount        *big.Int
 919	ClosedMinBid     *big.Int
 920}, error) {
 921	return _HermezAuctionProtocol.Contract.Slots(&_HermezAuctionProtocol.CallOpts, arg0)
 922}
 923
 924// TokenHEZ is a free data retrieval call binding the contract method 0x79a135e3.
 925//
 926// Solidity: function tokenHEZ() view returns(address)
 927func (_HermezAuctionProtocol *HermezAuctionProtocolCaller) TokenHEZ(opts *bind.CallOpts) (common.Address, error) {
 928	var out []interface{}
 929	err := _HermezAuctionProtocol.contract.Call(opts, &out, "tokenHEZ")
 930
 931	if err != nil {
 932		return *new(common.Address), err
 933	}
 934
 935	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
 936
 937	return out0, err
 938
 939}
 940
 941// TokenHEZ is a free data retrieval call binding the contract method 0x79a135e3.
 942//
 943// Solidity: function tokenHEZ() view returns(address)
 944func (_HermezAuctionProtocol *HermezAuctionProtocolSession) TokenHEZ() (common.Address, error) {
 945	return _HermezAuctionProtocol.Contract.TokenHEZ(&_HermezAuctionProtocol.CallOpts)
 946}
 947
 948// TokenHEZ is a free data retrieval call binding the contract method 0x79a135e3.
 949//
 950// Solidity: function tokenHEZ() view returns(address)
 951func (_HermezAuctionProtocol *HermezAuctionProtocolCallerSession) TokenHEZ() (common.Address, error) {
 952	return _HermezAuctionProtocol.Contract.TokenHEZ(&_HermezAuctionProtocol.CallOpts)
 953}
 954
 955// ChangeDefaultSlotSetBid is a paid mutator transaction binding the contract method 0x7c643b70.
 956//
 957// Solidity: function changeDefaultSlotSetBid(uint128 slotSet, uint128 newInitialMinBid) returns()
 958func (_HermezAuctionProtocol *HermezAuctionProtocolTransactor) ChangeDefaultSlotSetBid(opts *bind.TransactOpts, slotSet *big.Int, newInitialMinBid *big.Int) (*types.Transaction, error) {
 959	return _HermezAuctionProtocol.contract.Transact(opts, "changeDefaultSlotSetBid", slotSet, newInitialMinBid)
 960}
 961
 962// ChangeDefaultSlotSetBid is a paid mutator transaction binding the contract method 0x7c643b70.
 963//
 964// Solidity: function changeDefaultSlotSetBid(uint128 slotSet, uint128 newInitialMinBid) returns()
 965func (_HermezAuctionProtocol *HermezAuctionProtocolSession) ChangeDefaultSlotSetBid(slotSet *big.Int, newInitialMinBid *big.Int) (*types.Transaction, error) {
 966	return _HermezAuctionProtocol.Contract.ChangeDefaultSlotSetBid(&_HermezAuctionProtocol.TransactOpts, slotSet, newInitialMinBid)
 967}
 968
 969// ChangeDefaultSlotSetBid is a paid mutator transaction binding the contract method 0x7c643b70.
 970//
 971// Solidity: function changeDefaultSlotSetBid(uint128 slotSet, uint128 newInitialMinBid) returns()
 972func (_HermezAuctionProtocol *HermezAuctionProtocolTransactorSession) ChangeDefaultSlotSetBid(slotSet *big.Int, newInitialMinBid *big.Int) (*types.Transaction, error) {
 973	return _HermezAuctionProtocol.Contract.ChangeDefaultSlotSetBid(&_HermezAuctionProtocol.TransactOpts, slotSet, newInitialMinBid)
 974}
 975
 976// ClaimHEZ is a paid mutator transaction binding the contract method 0x6dfe47c9.
 977//
 978// Solidity: function claimHEZ() returns()
 979func (_HermezAuctionProtocol *HermezAuctionProtocolTransactor) ClaimHEZ(opts *bind.TransactOpts) (*types.Transaction, error) {
 980	return _HermezAuctionProtocol.contract.Transact(opts, "claimHEZ")
 981}
 982
 983// ClaimHEZ is a paid mutator transaction binding the contract method 0x6dfe47c9.
 984//
 985// Solidity: function claimHEZ() returns()
 986func (_HermezAuctionProtocol *HermezAuctionProtocolSession) ClaimHEZ() (*types.Transaction, error) {
 987	return _HermezAuctionProtocol.Contract.ClaimHEZ(&_HermezAuctionProtocol.TransactOpts)
 988}
 989
 990// ClaimHEZ is a paid mutator transaction binding the contract method 0x6dfe47c9.
 991//
 992// Solidity: function claimHEZ() returns()
 993func (_HermezAuctionProtocol *HermezAuctionProtocolTransactorSession) ClaimHEZ() (*types.Transaction, error) {
 994	return _HermezAuctionProtocol.Contract.ClaimHEZ(&_HermezAuctionProtocol.TransactOpts)
 995}
 996
 997// ClaimPendingHEZ is a paid mutator transaction binding the contract method 0x41d42c23.
 998//
 999// Solidity: function claimPendingHEZ(uint128 slot) returns()
1000func (_HermezAuctionProtocol *HermezAuctionProtocolTransactor) ClaimPendingHEZ(opts *bind.TransactOpts, slot *big.Int) (*types.Transaction, error) {
1001	return _HermezAuctionProtocol.contract.Transact(opts, "claimPendingHEZ", slot)
1002}
1003
1004// ClaimPendingHEZ is a paid mutator transaction binding the contract method 0x41d42c23.
1005//
1006// Solidity: function claimPendingHEZ(uint128 slot) returns()
1007func (_HermezAuctionProtocol *HermezAuctionProtocolSession) ClaimPendingHEZ(slot *big.Int) (*types.Transaction, error) {
1008	return _HermezAuctionProtocol.Contract.ClaimPendingHEZ(&_HermezAuctionProtocol.TransactOpts, slot)
1009}
1010
1011// ClaimPendingHEZ is a paid mutator transaction binding the contract method 0x41d42c23.
1012//
1013// Solidity: function claimPendingHEZ(uint128 slot) returns()
1014func (_HermezAuctionProtocol *HermezAuctionProtocolTransactorSession) ClaimPendingHEZ(slot *big.Int) (*types.Transaction, error) {
1015	return _HermezAuctionProtocol.Contract.ClaimPendingHEZ(&_HermezAuctionProtocol.TransactOpts, slot)
1016}
1017
1018// Forge is a paid mutator transaction binding the contract method 0x4e5a5178.
1019//
1020// Solidity: function forge(address forger) returns()
1021func (_HermezAuctionProtocol *HermezAuctionProtocolTransactor) Forge(opts *bind.TransactOpts, forger common.Address) (*types.Transaction, error) {
1022	return _HermezAuctionProtocol.contract.Transact(opts, "forge", forger)
1023}
1024
1025// Forge is a paid mutator transaction binding the contract method 0x4e5a5178.
1026//
1027// Solidity: function forge(address forger) returns()
1028func (_HermezAuctionProtocol *HermezAuctionProtocolSession) Forge(forger common.Address) (*types.Transaction, error) {
1029	return _HermezAuctionProtocol.Contract.Forge(&_HermezAuctionProtocol.TransactOpts, forger)
1030}
1031
1032// Forge is a paid mutator transaction binding the contract method 0x4e5a5178.
1033//
1034// Solidity: function forge(address forger) returns()
1035func (_HermezAuctionProtocol *HermezAuctionProtocolTransactorSession) Forge(forger common.Address) (*types.Transaction, error) {
1036	return _HermezAuctionProtocol.Contract.Forge(&_HermezAuctionProtocol.TransactOpts, forger)
1037}
1038
1039// HermezAuctionProtocolInitializer is a paid mutator transaction binding the contract method 0x5e73a67f.
1040//
1041// Solidity: function hermezAuctionProtocolInitializer(address token, uint128 genesis, address hermezRollupAddress, address _governanceAddress, address donationAddress, address bootCoordinatorAddress, string _bootCoordinatorURL) returns()
1042func (_HermezAuctionProtocol *HermezAuctionProtocolTransactor) HermezAuctionProtocolInitializer(opts *bind.TransactOpts, token common.Address, genesis *big.Int, hermezRollupAddress common.Address, _governanceAddress common.Address, donationAddress common.Address, bootCoordinatorAddress common.Address, _bootCoordinatorURL string) (*types.Transaction, error) {
1043	return _HermezAuctionProtocol.contract.Transact(opts, "hermezAuctionProtocolInitializer", token, genesis, hermezRollupAddress, _governanceAddress, donationAddress, bootCoordinatorAddress, _bootCoordinatorURL)
1044}
1045
1046// HermezAuctionProtocolInitializer is a paid mutator transaction binding the contract method 0x5e73a67f.
1047//
1048// Solidity: function hermezAuctionProtocolInitializer(address token, uint128 genesis, address hermezRollupAddress, address _governanceAddress, address donationAddress, address bootCoordinatorAddress, string _bootCoordinatorURL) returns()
1049func (_HermezAuctionProtocol *HermezAuctionProtocolSession) HermezAuctionProtocolInitializer(token common.Address, genesis *big.Int, hermezRollupAddress common.Address, _governanceAddress common.Address, donationAddress common.Address, bootCoordinatorAddress common.Address, _bootCoordinatorURL string) (*types.Transaction, error) {
1050	return _HermezAuctionProtocol.Contract.HermezAuctionProtocolInitializer(&_HermezAuctionProtocol.TransactOpts, token, genesis, hermezRollupAddress, _governanceAddress, donationAddress, bootCoordinatorAddress, _bootCoordinatorURL)
1051}
1052
1053// HermezAuctionProtocolInitializer is a paid mutator transaction binding the contract method 0x5e73a67f.
1054//
1055// Solidity: function hermezAuctionProtocolInitializer(address token, uint128 genesis, address hermezRollupAddress, address _governanceAddress, address donationAddress, address bootCoordinatorAddress, string _bootCoordinatorURL) returns()
1056func (_HermezAuctionProtocol *HermezAuctionProtocolTransactorSession) HermezAuctionProtocolInitializer(token common.Address, genesis *big.Int, hermezRollupAddress common.Address, _governanceAddress common.Address, donationAddress common.Address, bootCoordinatorAddress common.Address, _bootCoordinatorURL string) (*types.Transaction, error) {
1057	return _HermezAuctionProtocol.Contract.HermezAuctionProtocolInitializer(&_HermezAuctionProtocol.TransactOpts, token, genesis, hermezRollupAddress, _governanceAddress, donationAddress, bootCoordinatorAddress, _bootCoordinatorURL)
1058}
1059
1060// ProcessBid is a paid mutator transaction binding the contract method 0x4b93b7fa.
1061//
1062// Solidity: function processBid(uint128 amount, uint128 slot, uint128 bidAmount, bytes permit) returns()
1063func (_HermezAuctionProtocol *HermezAuctionProtocolTransactor) ProcessBid(opts *bind.TransactOpts, amount *big.Int, slot *big.Int, bidAmount *big.Int, permit []byte) (*types.Transaction, error) {
1064	return _HermezAuctionProtocol.contract.Transact(opts, "processBid", amount, slot, bidAmount, permit)
1065}
1066
1067// ProcessBid is a paid mutator transaction binding the contract method 0x4b93b7fa.
1068//
1069// Solidity: function processBid(uint128 amount, uint128 slot, uint128 bidAmount, bytes permit) returns()
1070func (_HermezAuctionProtocol *HermezAuctionProtocolSession) ProcessBid(amount *big.Int, slot *big.Int, bidAmount *big.Int, permit []byte) (*types.Transaction, error) {
1071	return _HermezAuctionProtocol.Contract.ProcessBid(&_HermezAuctionProtocol.TransactOpts, amount, slot, bidAmount, permit)
1072}
1073
1074// ProcessBid is a paid mutator transaction binding the contract method 0x4b93b7fa.
1075//
1076// Solidity: function processBid(uint128 amount, uint128 slot, uint128 bidAmount, bytes permit) returns()
1077func (_HermezAuctionProtocol *HermezAuctionProtocolTransactorSession) ProcessBid(amount *big.Int, slot *big.Int, bidAmount *big.Int, permit []byte) (*types.Transaction, error) {
1078	return _HermezAuctionProtocol.Contract.ProcessBid(&_HermezAuctionProtocol.TransactOpts, amount, slot, bidAmount, permit)
1079}
1080
1081// ProcessMultiBid is a paid mutator transaction binding the contract method 0x583ad0dd.
1082//
1083// Solidity: function processMultiBid(uint128 amount, uint128 startingSlot, uint128 endingSlot, bool[6] slotSets, uint128 maxBid, uint128 minBid, bytes permit) returns()
1084func (_HermezAuctionProtocol *HermezAuctionProtocolTransactor) ProcessMultiBid(opts *bind.TransactOpts, amount *big.Int, startingSlot *big.Int, endingSlot *big.Int, slotSets [6]bool, maxBid *big.Int, minBid *big.Int, permit []byte) (*types.Transaction, error) {
1085	return _HermezAuctionProtocol.contract.Transact(opts, "processMultiBid", amount, startingSlot, endingSlot, slotSets, maxBid, minBid, permit)
1086}
1087
1088// ProcessMultiBid is a paid mutator transaction binding the contract method 0x583ad0dd.
1089//
1090// Solidity: function processMultiBid(uint128 amount, uint128 startingSlot, uint128 endingSlot, bool[6] slotSets, uint128 maxBid, uint128 minBid, bytes permit) returns()
1091func (_HermezAuctionProtocol *HermezAuctionProtocolSession) ProcessMultiBid(amount *big.Int, startingSlot *big.Int, endingSlot *big.Int, slotSets [6]bool, maxBid *big.Int, minBid *big.Int, permit []byte) (*types.Transaction, error) {
1092	return _HermezAuctionProtocol.Contract.ProcessMultiBid(&_HermezAuctionProtocol.TransactOpts, amount, startingSlot, endingSlot, slotSets, maxBid, minBid, permit)
1093}
1094
1095// ProcessMultiBid is a paid mutator transaction binding the contract method 0x583ad0dd.
1096//
1097// Solidity: function processMultiBid(uint128 amount, uint128 startingSlot, uint128 endingSlot, bool[6] slotSets, uint128 maxBid, uint128 minBid, bytes permit) returns()
1098func (_HermezAuctionProtocol *HermezAuctionProtocolTransactorSession) ProcessMultiBid(amount *big.Int, startingSlot *big.Int, endingSlot *big.Int, slotSets [6]bool, maxBid *big.Int, minBid *big.Int, permit []byte) (*types.Transaction, error) {
1099	return _HermezAuctionProtocol.Contract.ProcessMultiBid(&_HermezAuctionProtocol.TransactOpts, amount, startingSlot, endingSlot, slotSets, maxBid, minBid, permit)
1100}
1101
1102// SetAllocationRatio is a paid mutator transaction binding the contract method 0x82787405.
1103//
1104// Solidity: function setAllocationRatio(uint16[3] newAllocationRatio) returns()
1105func (_HermezAuctionProtocol *HermezAuctionProtocolTransactor) SetAllocationRatio(opts *bind.TransactOpts, newAllocationRatio [3]uint16) (*types.Transaction, error) {
1106	return _HermezAuctionProtocol.contract.Transact(opts, "setAllocationRatio", newAllocationRatio)
1107}
1108
1109// SetAllocationRatio is a paid mutator transaction binding the contract method 0x82787405.
1110//
1111// Solidity: function setAllocationRatio(uint16[3] newAllocationRatio) returns()
1112func (_HermezAuctionProtocol *HermezAuctionProtocolSession) SetAllocationRatio(newAllocationRatio [3]uint16) (*types.Transaction, error) {
1113	return _HermezAuctionProtocol.Contract.SetAllocationRatio(&_HermezAuctionProtocol.TransactOpts, newAllocationRatio)
1114}
1115
1116// SetAllocationRatio is a paid mutator transaction binding the contract method 0x82787405.
1117//
1118// Solidity: function setAllocationRatio(uint16[3] newAllocationRatio) returns()
1119func (_HermezAuctionProtocol *HermezAuctionProtocolTransactorSession) SetAllocationRatio(newAllocationRatio [3]uint16) (*types.Transaction, error) {
1120	return _HermezAuctionProtocol.Contract.SetAllocationRatio(&_HermezAuctionProtocol.TransactOpts, newAllocationRatio)
1121}
1122
1123// SetBootCoordinator is a paid mutator transaction binding the contract method 0x6cbdc3df.
1124//
1125// Solidity: function setBootCoordinator(address newBootCoordinator, string newBootCoordinatorURL) returns()
1126func (_HermezAuctionProtocol *HermezAuctionProtocolTransactor) SetBootCoordinator(opts *bind.TransactOpts, newBootCoordinator common.Address, newBootCoordinatorURL string) (*types.Transaction, error) {
1127	return _HermezAuctionProtocol.contract.Transact(opts, "setBootCoordinator", newBootCoordinator, newBootCoordinatorURL)
1128}
1129
1130// SetBootCoordinator is a paid mutator transaction binding the contract method 0x6cbdc3df.
1131//
1132// Solidity: function setBootCoordinator(address newBootCoordinator, string newBootCoordinatorURL) returns()
1133func (_HermezAuctionProtocol *HermezAuctionProtocolSession) SetBootCoordinator(newBootCoordinator common.Address, newBootCoordinatorURL string) (*types.Transaction, error) {
1134	return _HermezAuctionProtocol.Contract.SetBootCoordinator(&_HermezAuctionProtocol.TransactOpts, newBootCoordinator, newBootCoordinatorURL)
1135}
1136
1137// SetBootCoordinator is a paid mutator transaction binding the contract method 0x6cbdc3df.
1138//
1139// Solidity: function setBootCoordinator(address newBootCoordinator, string newBootCoordinatorURL) returns()
1140func (_HermezAuctionProtocol *HermezAuctionProtocolTransactorSession) SetBootCoordinator(newBootCoordinator common.Address, newBootCoordinatorURL string) (*types.Transaction, error) {
1141	return _HermezAuctionProtocol.Contract.SetBootCoordinator(&_HermezAuctionProtocol.TransactOpts, newBootCoordinator, newBootCoordinatorURL)
1142}
1143
1144// SetClosedAuctionSlots is a paid mutator transaction binding the contract method 0xd92bdda3.
1145//
1146// Solidity: function setClosedAuctionSlots(uint16 newClosedAuctionSlots) returns()
1147func (_HermezAuctionProtocol *HermezAuctionProtocolTransactor) SetClosedAuctionSlots(opts *bind.TransactOpts, newClosedAuctionSlots uint16) (*types.Transaction, error) {
1148	return _HermezAuctionProtocol.contract.Transact(opts, "setClosedAuctionSlots", newClosedAuctionSlots)
1149}
1150
1151// SetClosedAuctionSlots is a paid mutator transaction binding the contract method 0xd92bdda3.
1152//
1153// Solidity: function setClosedAuctionSlots(uint16 newClosedAuctionSlots) returns()
1154func (_HermezAuctionProtocol *HermezAuctionProtocolSession) SetClosedAuctionSlots(newClosedAuctionSlots uint16) (*types.Transaction, error) {
1155	return _HermezAuctionProtocol.Contract.SetClosedAuctionSlots(&_HermezAuctionProtocol.TransactOpts, newClosedAuctionSlots)
1156}
1157
1158// SetClosedAuctionSlots is a paid mutator transaction binding the contract method 0xd92bdda3.
1159//
1160// Solidity: function setClosedAuctionSlots(uint16 newClosedAuctionSlots) returns()
1161func (_HermezAuctionProtocol *HermezAuctionProtocolTransactorSession) SetClosedAuctionSlots(newClosedAuctionSlots uint16) (*types.Transaction, error) {
1162	return _HermezAuctionProtocol.Contract.SetClosedAuctionSlots(&_HermezAuctionProtocol.TransactOpts, newClosedAuctionSlots)
1163}
1164
1165// SetCoordinator is a paid mutator transaction binding the contract method 0x0eeaf080.
1166//
1167// Solidity: function setCoordinator(address forger, string coordinatorURL) returns()
1168func (_HermezAuctionProtocol *HermezAuctionProtocolTransactor) SetCoordinator(opts *bind.TransactOpts, forger common.Address, coordinatorURL string) (*types.Transaction, error) {
1169	return _HermezAuctionProtocol.contract.Transact(opts, "setCoordinator", forger, coordinatorURL)
1170}
1171
1172// SetCoordinator is a paid mutator transaction binding the contract method 0x0eeaf080.
1173//
1174// Solidity: function setCoordinator(address forger, string coordinatorURL) returns()
1175func (_HermezAuctionProtocol *HermezAuctionProtocolSession) SetCoordinator(forger common.Address, coordinatorURL string) (*types.Transaction, error) {
1176	return _HermezAuctionProtocol.Contract.SetCoordinator(&_HermezAuctionProtocol.TransactOpts, forger, coordinatorURL)
1177}
1178
1179// SetCoordinator is a paid mutator transaction binding the contract method 0x0eeaf080.
1180//
1181// Solidity: function setCoordinator(address forger, string coordinatorURL) returns()
1182func (_HermezAuctionProtocol *HermezAuctionProtocolTransactorSession) SetCoordinator(forger common.Address, coordinatorURL string) (*types.Transaction, error) {
1183	return _HermezAuctionProtocol.Contract.SetCoordinator(&_HermezAuctionProtocol.TransactOpts, forger, coordinatorURL)
1184}
1185
1186// SetDonationAddress is a paid mutator transaction binding the contract method 0x6f48e79b.
1187//
1188// Solidity: function setDonationAddress(address newDonationAddress) returns()
1189func (_HermezAuctionProtocol *HermezAuctionProtocolTransactor) SetDonationAddress(opts *bind.TransactOpts, newDonationAddress common.Address) (*types.Transaction, error) {
1190	return _HermezAuctionProtocol.contract.Transact(opts, "setDonationAddress", newDonationAddress)
1191}
1192
1193// SetDonationAddress is a paid mutator transaction binding the contract method 0x6f48e79b.
1194//
1195// Solidity: function setDonationAddress(address newDonationAddress) returns()
1196func (_HermezAuctionProtocol *HermezAuctionProtocolSession) SetDonationAddress(newDonationAddress common.Address) (*types.Transaction, error) {
1197	return _HermezAuctionProtocol.Contract.SetDonationAddress(&_HermezAuctionProtocol.TransactOpts, newDonationAddress)
1198}
1199
1200// SetDonationAddress is a paid mutator transaction binding the contract method 0x6f48e79b.
1201//
1202// Solidity: function setDonationAddress(address newDonationAddress) returns()
1203func (_HermezAuctionProtocol *HermezAuctionProtocolTransactorSession) SetDonationAddress(newDonationAddress common.Address) (*types.Transaction, error) {
1204	return _HermezAuctionProtocol.Contract.SetDonationAddress(&_HermezAuctionProtocol.TransactOpts, newDonationAddress)
1205}
1206
1207// SetOpenAuctionSlots is a paid mutator transaction binding the contract method 0xc63de515.
1208//
1209// Solidity: function setOpenAuctionSlots(uint16 newOpenAuctionSlots) returns()
1210func (_HermezAuctionProtocol *HermezAuctionProtocolTransactor) SetOpenAuctionSlots(opts *bind.TransactOpts, newOpenAuctionSlots uint16) (*types.Transaction, error) {
1211	return _HermezAuctionProtocol.contract.Transact(opts, "setOpenAuctionSlots", newOpenAuctionSlots)
1212}
1213
1214// SetOpenAuctionSlots is a paid mutator transaction binding the contract method 0xc63de515.
1215//
1216// Solidity: function setOpenAuctionSlots(uint16 newOpenAuctionSlots) returns()
1217func (_HermezAuctionProtocol *HermezAuctionProtocolSession) SetOpenAuctionSlots(newOpenAuctionSlots uint16) (*types.Transaction, error) {
1218	return _HermezAuctionProtocol.Contract.SetOpenAuctionSlots(&_HermezAuctionProtocol.TransactOpts, newOpenAuctionSlots)
1219}
1220
1221// SetOpenAuctionSlots is a paid mutator transaction binding the contract method 0xc63de515.
1222//
1223// Solidity: function setOpenAuctionSlots(uint16 newOpenAuctionSlots) returns()
1224func (_HermezAuctionProtocol *HermezAuctionProtocolTransactorSession) SetOpenAuctionSlots(newOpenAuctionSlots uint16) (*types.Transaction, error) {
1225	return _HermezAuctionProtocol.Contract.SetOpenAuctionSlots(&_HermezAuctionProtocol.TransactOpts, newOpenAuctionSlots)
1226}
1227
1228// SetOutbidding is a paid mutator transaction binding the contract method 0xdfd5281b.
1229//
1230// Solidity: function setOutbidding(uint16 newOutbidding) returns()
1231func (_HermezAuctionProtocol *HermezAuctionProtocolTransactor) SetOutbidding(opts *bind.TransactOpts, newOutbidding uint16) (*types.Transaction, error) {
1232	return _HermezAuctionProtocol.contract.Transact(opts, "setOutbidding", newOutbidding)
1233}
1234
1235// SetOutbidding is a paid mutator transaction binding the contract method 0xdfd5281b.
1236//
1237// Solidity: function setOutbidding(uint16 newOutbidding) returns()
1238func (_HermezAuctionProtocol *HermezAuctionProtocolSession) SetOutbidding(newOutbidding uint16) (*types.Transaction, error) {
1239	return _HermezAuctionProtocol.Contract.SetOutbidding(&_HermezAuctionProtocol.TransactOpts, newOutbidding)
1240}
1241
1242// SetOutbidding is a paid mutator transaction binding the contract method 0xdfd5281b.
1243//
1244// Solidity: function setOutbidding(uint16 newOutbidding) returns()
1245func (_HermezAuctionProtocol *HermezAuctionProtocolTransactorSession) SetOutbidding(newOutbidding uint16) (*types.Transaction, error) {
1246	return _HermezAuctionProtocol.Contract.SetOutbidding(&_HermezAuctionProtocol.TransactOpts, newOutbidding)
1247}
1248
1249// SetSlotDeadline is a paid mutator transaction binding the contract method 0x87e6b6bb.
1250//
1251// Solidity: function setSlotDeadline(uint8 newDeadline) returns()
1252func (_HermezAuctionProtocol *HermezAuctionProtocolTransactor) SetSlotDeadline(opts *bind.TransactOpts, newDeadline uint8) (*types.Transaction, error) {
1253	return _HermezAuctionProtocol.contract.Transact(opts, "setSlotDeadline", newDeadline)
1254}
1255
1256// SetSlotDeadline is a paid mutator transaction binding the contract method 0x87e6b6bb.
1257//
1258// Solidity: function setSlotDeadline(uint8 newDeadline) returns()
1259func (_HermezAuctionProtocol *HermezAuctionProtocolSession) SetSlotDeadline(newDeadline uint8) (*types.Transaction, error) {
1260	return _HermezAuctionProtocol.Contract.SetSlotDeadline(&_HermezAuctionProtocol.TransactOpts, newDeadline)
1261}
1262
1263// SetSlotDeadline is a paid mutator transaction binding the contract method 0x87e6b6bb.
1264//
1265// Solidity: function setSlotDeadline(uint8 newDeadline) returns()
1266func (_HermezAuctionProtocol *HermezAuctionProtocolTransactorSession) SetSlotDeadline(newDeadline uint8) (*types.Transaction, error) {
1267	return _HermezAuctionProtocol.Contract.SetSlotDeadline(&_HermezAuctionProtocol.TransactOpts, newDeadline)
1268}
1269
1270// HermezAuctionProtocolHEZClaimedIterator is returned from FilterHEZClaimed and is used to iterate over the raw logs and unpacked data for HEZClaimed events raised by the HermezAuctionProtocol contract.
1271type HermezAuctionProtocolHEZClaimedIterator struct {
1272	Event *HermezAuctionProtocolHEZClaimed // Event containing the contract specifics and raw log
1273
1274	contract *bind.BoundContract // Generic contract to use for unpacking event data
1275	event    string              // Event name to use for unpacking event data
1276
1277	logs chan types.Log        // Log channel receiving the found contract events
1278	sub  ethereum.Subscription // Subscription for errors, completion and termination
1279	done bool                  // Whether the subscription completed delivering logs
1280	fail error                 // Occurred error to stop iteration
1281}
1282
1283// Next advances the iterator to the subsequent event, returning whether there
1284// are any more events found. In case of a retrieval or parsing error, false is
1285// returned and Error() can be queried for the exact failure.
1286func (it *HermezAuctionProtocolHEZClaimedIterator) Next() bool {
1287	// If the iterator failed, stop iterating
1288	if it.fail != nil {
1289		return false
1290	}
1291	// If the iterator completed, deliver directly whatever's available
1292	if it.done {
1293		select {
1294		case log := <-it.logs:
1295			it.Event = new(HermezAuctionProtocolHEZClaimed)
1296			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
1297				it.fail = err
1298				return false
1299			}
1300			it.Event.Raw = log
1301			return true
1302
1303		default:
1304			return false
1305		}
1306	}
1307	// Iterator still in progress, wait for either a data or an error event
1308	select {
1309	case log := <-it.logs:
1310		it.Event = new(HermezAuctionProtocolHEZClaimed)
1311		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
1312			it.fail = err
1313			return false
1314		}
1315		it.Event.Raw = log
1316		return true
1317
1318	case err := <-it.sub.Err():
1319		it.done = true
1320		it.fail = err
1321		return it.Next()
1322	}
1323}
1324
1325// Error returns any retrieval or parsing error occurred during filtering.
1326func (it *HermezAuctionProtocolHEZClaimedIterator) Error() error {
1327	return it.fail
1328}
1329
1330// Close terminates the iteration process, releasing any pending underlying
1331// resources.
1332func (it *HermezAuctionProtocolHEZClaimedIterator) Close() error {
1333	it.sub.Unsubscribe()
1334	return nil
1335}
1336
1337// HermezAuctionProtocolHEZClaimed represents a HEZClaimed event raised by the HermezAuctionProtocol contract.
1338type HermezAuctionProtocolHEZClaimed struct {
1339	Owner  common.Address
1340	Amount *big.Int
1341	Raw    types.Log // Blockchain specific contextual infos
1342}
1343
1344// FilterHEZClaimed is a free log retrieval operation binding the contract event 0x199ef0cb54d2b296ff6eaec2721bacf0ca3fd8344a43f5bdf4548b34dfa2594f.
1345//
1346// Solidity: event HEZClaimed(address indexed owner, uint128 amount)
1347func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) FilterHEZClaimed(opts *bind.FilterOpts, owner []common.Address) (*HermezAuctionProtocolHEZClaimedIterator, error) {
1348
1349	var ownerRule []interface{}
1350	for _, ownerItem := range owner {
1351		ownerRule = append(ownerRule, ownerItem)
1352	}
1353
1354	logs, sub, err := _HermezAuctionProtocol.contract.FilterLogs(opts, "HEZClaimed", ownerRule)
1355	if err != nil {
1356		return nil, err
1357	}
1358	return &HermezAuctionProtocolHEZClaimedIterator{contract: _HermezAuctionProtocol.contract, event: "HEZClaimed", logs: logs, sub: sub}, nil
1359}
1360
1361// WatchHEZClaimed is a free log subscription operation binding the contract event 0x199ef0cb54d2b296ff6eaec2721bacf0ca3fd8344a43f5bdf4548b34dfa2594f.
1362//
1363// Solidity: event HEZClaimed(address indexed owner, uint128 amount)
1364func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) WatchHEZClaimed(opts *bind.WatchOpts, sink chan<- *HermezAuctionProtocolHEZClaimed, owner []common.Address) (event.Subscription, error) {
1365
1366	var ownerRule []interface{}
1367	for _, ownerItem := range owner {
1368		ownerRule = append(ownerRule, ownerItem)
1369	}
1370
1371	logs, sub, err := _HermezAuctionProtocol.contract.WatchLogs(opts, "HEZClaimed", ownerRule)
1372	if err != nil {
1373		return nil, err
1374	}
1375	return event.NewSubscription(func(quit <-chan struct{}) error {
1376		defer sub.Unsubscribe()
1377		for {
1378			select {
1379			case log := <-logs:
1380				// New log arrived, parse the event and forward to the user
1381				event := new(HermezAuctionProtocolHEZClaimed)
1382				if err := _HermezAuctionProtocol.contract.UnpackLog(event, "HEZClaimed", log); err != nil {
1383					return err
1384				}
1385				event.Raw = log
1386
1387				select {
1388				case sink <- event:
1389				case err := <-sub.Err():
1390					return err
1391				case <-quit:
1392					return nil
1393				}
1394			case err := <-sub.Err():
1395				return err
1396			case <-quit:
1397				return nil
1398			}
1399		}
1400	}), nil
1401}
1402
1403// ParseHEZClaimed is a log parse operation binding the contract event 0x199ef0cb54d2b296ff6eaec2721bacf0ca3fd8344a43f5bdf4548b34dfa2594f.
1404//
1405// Solidity: event HEZClaimed(address indexed owner, uint128 amount)
1406func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) ParseHEZClaimed(log types.Log) (*HermezAuctionProtocolHEZClaimed, error) {
1407	event := new(HermezAuctionProtocolHEZClaimed)
1408	if err := _HermezAuctionProtocol.contract.UnpackLog(event, "HEZClaimed", log); err != nil {
1409		return nil, err
1410	}
1411	event.Raw = log
1412	return event, nil
1413}
1414
1415// HermezAuctionProtocolInitializeHermezAuctionProtocolEventIterator is returned from FilterInitializeHermezAuctionProtocolEvent and is used to iterate over the raw logs and unpacked data for InitializeHermezAuctionProtocolEvent events raised by the HermezAuctionProtocol contract.
1416type HermezAuctionProtocolInitializeHermezAuctionProtocolEventIterator struct {
1417	Event *HermezAuctionProtocolInitializeHermezAuctionProtocolEvent // Event containing the contract specifics and raw log
1418
1419	contract *bind.BoundContract // Generic contract to use for unpacking event data
1420	event    string              // Event name to use for unpacking event data
1421
1422	logs chan types.Log        // Log channel receiving the found contract events
1423	sub  ethereum.Subscription // Subscription for errors, completion and termination
1424	done bool                  // Whether the subscription completed delivering logs
1425	fail error                 // Occurred error to stop iteration
1426}
1427
1428// Next advances the iterator to the subsequent event, returning whether there
1429// are any more events found. In case of a retrieval or parsing error, false is
1430// returned and Error() can be queried for the exact failure.
1431func (it *HermezAuctionProtocolInitializeHermezAuctionProtocolEventIterator) Next() bool {
1432	// If the iterator failed, stop iterating
1433	if it.fail != nil {
1434		return false
1435	}
1436	// If the iterator completed, deliver directly whatever's available
1437	if it.done {
1438		select {
1439		case log := <-it.logs:
1440			it.Event = new(HermezAuctionProtocolInitializeHermezAuctionProtocolEvent)
1441			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
1442				it.fail = err
1443				return false
1444			}
1445			it.Event.Raw = log
1446			return true
1447
1448		default:
1449			return false
1450		}
1451	}
1452	// Iterator still in progress, wait for either a data or an error event
1453	select {
1454	case log := <-it.logs:
1455		it.Event = new(HermezAuctionProtocolInitializeHermezAuctionProtocolEvent)
1456		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
1457			it.fail = err
1458			return false
1459		}
1460		it.Event.Raw = log
1461		return true
1462
1463	case err := <-it.sub.Err():
1464		it.done = true
1465		it.fail = err
1466		return it.Next()
1467	}
1468}
1469
1470// Error returns any retrieval or parsing error occurred during filtering.
1471func (it *HermezAuctionProtocolInitializeHermezAuctionProtocolEventIterator) Error() error {
1472	return it.fail
1473}
1474
1475// Close terminates the iteration process, releasing any pending underlying
1476// resources.
1477func (it *HermezAuctionProtocolInitializeHermezAuctionProtocolEventIterator) Close() error {
1478	it.sub.Unsubscribe()
1479	return nil
1480}
1481
1482// HermezAuctionProtocolInitializeHermezAuctionProtocolEvent represents a InitializeHermezAuctionProtocolEvent event raised by the HermezAuctionProtocol contract.
1483type HermezAuctionProtocolInitializeHermezAuctionProtocolEvent struct {
1484	DonationAddress        common.Address
1485	BootCoordinatorAddress common.Address
1486	BootCoordinatorURL     string
1487	Outbidding             uint16
1488	SlotDeadline           uint8
1489	ClosedAuctionSlots     uint16
1490	OpenAuctionSlots       uint16
1491	AllocationRatio        [3]uint16
1492	Raw                    types.Log // Blockchain specific contextual infos
1493}
1494
1495// FilterInitializeHermezAuctionProtocolEvent is a free log retrieval operation binding the contract event 0x9717e4e04c13817c600463a7a450110c754fd78758cdd538603f30528a24ce4b.
1496//
1497// Solidity: event InitializeHermezAuctionProtocolEvent(address donationAddress, address bootCoordinatorAddress, string bootCoordinatorURL, uint16 outbidding, uint8 slotDeadline, uint16 closedAuctionSlots, uint16 openAuctionSlots, uint16[3] allocationRatio)
1498func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) FilterInitializeHermezAuctionProtocolEvent(opts *bind.FilterOpts) (*HermezAuctionProtocolInitializeHermezAuctionProtocolEventIterator, error) {
1499
1500	logs, sub, err := _HermezAuctionProtocol.contract.FilterLogs(opts, "InitializeHermezAuctionProtocolEvent")
1501	if err != nil {
1502		return nil, err
1503	}
1504	return &HermezAuctionProtocolInitializeHermezAuctionProtocolEventIterator{contract: _HermezAuctionProtocol.contract, event: "InitializeHermezAuctionProtocolEvent", logs: logs, sub: sub}, nil
1505}
1506
1507// WatchInitializeHermezAuctionProtocolEvent is a free log subscription operation binding the contract event 0x9717e4e04c13817c600463a7a450110c754fd78758cdd538603f30528a24ce4b.
1508//
1509// Solidity: event InitializeHermezAuctionProtocolEvent(address donationAddress, address bootCoordinatorAddress, string bootCoordinatorURL, uint16 outbidding, uint8 slotDeadline, uint16 closedAuctionSlots, uint16 openAuctionSlots, uint16[3] allocationRatio)
1510func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) WatchInitializeHermezAuctionProtocolEvent(opts *bind.WatchOpts, sink chan<- *HermezAuctionProtocolInitializeHermezAuctionProtocolEvent) (event.Subscription, error) {
1511
1512	logs, sub, err := _HermezAuctionProtocol.contract.WatchLogs(opts, "InitializeHermezAuctionProtocolEvent")
1513	if err != nil {
1514		return nil, err
1515	}
1516	return event.NewSubscription(func(quit <-chan struct{}) error {
1517		defer sub.Unsubscribe()
1518		for {
1519			select {
1520			case log := <-logs:
1521				// New log arrived, parse the event and forward to the user
1522				event := new(HermezAuctionProtocolInitializeHermezAuctionProtocolEvent)
1523				if err := _HermezAuctionProtocol.contract.UnpackLog(event, "InitializeHermezAuctionProtocolEvent", log); err != nil {
1524					return err
1525				}
1526				event.Raw = log
1527
1528				select {
1529				case sink <- event:
1530				case err := <-sub.Err():
1531					return err
1532				case <-quit:
1533					return nil
1534				}
1535			case err := <-sub.Err():
1536				return err
1537			case <-quit:
1538				return nil
1539			}
1540		}
1541	}), nil
1542}
1543
1544// ParseInitializeHermezAuctionProtocolEvent is a log parse operation binding the contract event 0x9717e4e04c13817c600463a7a450110c754fd78758cdd538603f30528a24ce4b.
1545//
1546// Solidity: event InitializeHermezAuctionProtocolEvent(address donationAddress, address bootCoordinatorAddress, string bootCoordinatorURL, uint16 outbidding, uint8 slotDeadline, uint16 closedAuctionSlots, uint16 openAuctionSlots, uint16[3] allocationRatio)
1547func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) ParseInitializeHermezAuctionProtocolEvent(log types.Log) (*HermezAuctionProtocolInitializeHermezAuctionProtocolEvent, error) {
1548	event := new(HermezAuctionProtocolInitializeHermezAuctionProtocolEvent)
1549	if err := _HermezAuctionProtocol.contract.UnpackLog(event, "InitializeHermezAuctionProtocolEvent", log); err != nil {
1550		return nil, err
1551	}
1552	event.Raw = log
1553	return event, nil
1554}
1555
1556// HermezAuctionProtocolNewAllocationRatioIterator is returned from FilterNewAllocationRatio and is used to iterate over the raw logs and unpacked data for NewAllocationRatio events raised by the HermezAuctionProtocol contract.
1557type HermezAuctionProtocolNewAllocationRatioIterator struct {
1558	Event *HermezAuctionProtocolNewAllocationRatio // Event containing the contract specifics and raw log
1559
1560	contract *bind.BoundContract // Generic contract to use for unpacking event data
1561	event    string              // Event name to use for unpacking event data
1562
1563	logs chan types.Log        // Log channel receiving the found contract events
1564	sub  ethereum.Subscription // Subscription for errors, completion and termination
1565	done bool                  // Whether the subscription completed delivering logs
1566	fail error                 // Occurred error to stop iteration
1567}
1568
1569// Next advances the iterator to the subsequent event, returning whether there
1570// are any more events found. In case of a retrieval or parsing error, false is
1571// returned and Error() can be queried for the exact failure.
1572func (it *HermezAuctionProtocolNewAllocationRatioIterator) Next() bool {
1573	// If the iterator failed, stop iterating
1574	if it.fail != nil {
1575		return false
1576	}
1577	// If the iterator completed, deliver directly whatever's available
1578	if it.done {
1579		select {
1580		case log := <-it.logs:
1581			it.Event = new(HermezAuctionProtocolNewAllocationRatio)
1582			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
1583				it.fail = err
1584				return false
1585			}
1586			it.Event.Raw = log
1587			return true
1588
1589		default:
1590			return false
1591		}
1592	}
1593	// Iterator still in progress, wait for either a data or an error event
1594	select {
1595	case log := <-it.logs:
1596		it.Event = new(HermezAuctionProtocolNewAllocationRatio)
1597		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
1598			it.fail = err
1599			return false
1600		}
1601		it.Event.Raw = log
1602		return true
1603
1604	case err := <-it.sub.Err():
1605		it.done = true
1606		it.fail = err
1607		return it.Next()
1608	}
1609}
1610
1611// Error returns any retrieval or parsing error occurred during filtering.
1612func (it *HermezAuctionProtocolNewAllocationRatioIterator) Error() error {
1613	return it.fail
1614}
1615
1616// Close terminates the iteration process, releasing any pending underlying
1617// resources.
1618func (it *HermezAuctionProtocolNewAllocationRatioIterator) Close() error {
1619	it.sub.Unsubscribe()
1620	return nil
1621}
1622
1623// HermezAuctionProtocolNewAllocationRatio represents a NewAllocationRatio event raised by the HermezAuctionProtocol contract.
1624type HermezAuctionProtocolNewAllocationRatio struct {
1625	NewAllocationRatio [3]uint16
1626	Raw                types.Log // Blockchain specific contextual infos
1627}
1628
1629// FilterNewAllocationRatio is a free log retrieval operation binding the contract event 0x0bb59eceb12f1bdb63e4a7d57c70d6473fefd7c3f51af5a3604f7e97197073e4.
1630//
1631// Solidity: event NewAllocationRatio(uint16[3] newAllocationRatio)
1632func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) FilterNewAllocationRatio(opts *bind.FilterOpts) (*HermezAuctionProtocolNewAllocationRatioIterator, error) {
1633
1634	logs, sub, err := _HermezAuctionProtocol.contract.FilterLogs(opts, "NewAllocationRatio")
1635	if err != nil {
1636		return nil, err
1637	}
1638	return &HermezAuctionProtocolNewAllocationRatioIterator{contract: _HermezAuctionProtocol.contract, event: "NewAllocationRatio", logs: logs, sub: sub}, nil
1639}
1640
1641// WatchNewAllocationRatio is a free log subscription operation binding the contract event 0x0bb59eceb12f1bdb63e4a7d57c70d6473fefd7c3f51af5a3604f7e97197073e4.
1642//
1643// Solidity: event NewAllocationRatio(uint16[3] newAllocationRatio)
1644func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) WatchNewAllocationRatio(opts *bind.WatchOpts, sink chan<- *HermezAuctionProtocolNewAllocationRatio) (event.Subscription, error) {
1645
1646	logs, sub, err := _HermezAuctionProtocol.contract.WatchLogs(opts, "NewAllocationRatio")
1647	if err != nil {
1648		return nil, err
1649	}
1650	return event.NewSubscription(func(quit <-chan struct{}) error {
1651		defer sub.Unsubscribe()
1652		for {
1653			select {
1654			case log := <-logs:
1655				// New log arrived, parse the event and forward to the user
1656				event := new(HermezAuctionProtocolNewAllocationRatio)
1657				if err := _HermezAuctionProtocol.contract.UnpackLog(event, "NewAllocationRatio", log); err != nil {
1658					return err
1659				}
1660				event.Raw = log
1661
1662				select {
1663				case sink <- event:
1664				case err := <-sub.Err():
1665					return err
1666				case <-quit:
1667					return nil
1668				}
1669			case err := <-sub.Err():
1670				return err
1671			case <-quit:
1672				return nil
1673			}
1674		}
1675	}), nil
1676}
1677
1678// ParseNewAllocationRatio is a log parse operation binding the contract event 0x0bb59eceb12f1bdb63e4a7d57c70d6473fefd7c3f51af5a3604f7e97197073e4.
1679//
1680// Solidity: event NewAllocationRatio(uint16[3] newAllocationRatio)
1681func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) ParseNewAllocationRatio(log types.Log) (*HermezAuctionProtocolNewAllocationRatio, error) {
1682	event := new(HermezAuctionProtocolNewAllocationRatio)
1683	if err := _HermezAuctionProtocol.contract.UnpackLog(event, "NewAllocationRatio", log); err != nil {
1684		return nil, err
1685	}
1686	event.Raw = log
1687	return event, nil
1688}
1689
1690// HermezAuctionProtocolNewBidIterator is returned from FilterNewBid and is used to iterate over the raw logs and unpacked data for NewBid events raised by the HermezAuctionProtocol contract.
1691type HermezAuctionProtocolNewBidIterator struct {
1692	Event *HermezAuctionProtocolNewBid // Event containing the contract specifics and raw log
1693
1694	contract *bind.BoundContract // Generic contract to use for unpacking event data
1695	event    string              // Event name to use for unpacking event data
1696
1697	logs chan types.Log        // Log channel receiving the found contract events
1698	sub  ethereum.Subscription // Subscription for errors, completion and termination
1699	done bool                  // Whether the subscription completed delivering logs
1700	fail error                 // Occurred error to stop iteration
1701}
1702
1703// Next advances the iterator to the subsequent event, returning whether there
1704// are any more events found. In case of a retrieval or parsing error, false is
1705// returned and Error() can be queried for the exact failure.
1706func (it *HermezAuctionProtocolNewBidIterator) Next() bool {
1707	// If the iterator failed, stop iterating
1708	if it.fail != nil {
1709		return false
1710	}
1711	// If the iterator completed, deliver directly whatever's available
1712	if it.done {
1713		select {
1714		case log := <-it.logs:
1715			it.Event = new(HermezAuctionProtocolNewBid)
1716			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
1717				it.fail = err
1718				return false
1719			}
1720			it.Event.Raw = log
1721			return true
1722
1723		default:
1724			return false
1725		}
1726	}
1727	// Iterator still in progress, wait for either a data or an error event
1728	select {
1729	case log := <-it.logs:
1730		it.Event = new(HermezAuctionProtocolNewBid)
1731		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
1732			it.fail = err
1733			return false
1734		}
1735		it.Event.Raw = log
1736		return true
1737
1738	case err := <-it.sub.Err():
1739		it.done = true
1740		it.fail = err
1741		return it.Next()
1742	}
1743}
1744
1745// Error returns any retrieval or parsing error occurred during filtering.
1746func (it *HermezAuctionProtocolNewBidIterator) Error() error {
1747	return it.fail
1748}
1749
1750// Close terminates the iteration process, releasing any pending underlying
1751// resources.
1752func (it *HermezAuctionProtocolNewBidIterator) Close() error {
1753	it.sub.Unsubscribe()
1754	return nil
1755}
1756
1757// HermezAuctionProtocolNewBid represents a NewBid event raised by the HermezAuctionProtocol contract.
1758type HermezAuctionProtocolNewBid struct {
1759	Slot      *big.Int
1760	BidAmount *big.Int
1761	Bidder    common.Address
1762	Raw       types.Log // Blockchain specific contextual infos
1763}
1764
1765// FilterNewBid is a free log retrieval operation binding the contract event 0xd48e8329cdb2fb109b4fe445d7b681a74b256bff16e6f7f33b9d4fbe9038e433.
1766//
1767// Solidity: event NewBid(uint128 indexed slot, uint128 bidAmount, address indexed bidder)
1768func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) FilterNewBid(opts *bind.FilterOpts, slot []*big.Int, bidder []common.Address) (*HermezAuctionProtocolNewBidIterator, error) {
1769
1770	var slotRule []interface{}
1771	for _, slotItem := range slot {
1772		slotRule = append(slotRule, slotItem)
1773	}
1774
1775	var bidderRule []interface{}
1776	for _, bidderItem := range bidder {
1777		bidderRule = append(bidderRule, bidderItem)
1778	}
1779
1780	logs, sub, err := _HermezAuctionProtocol.contract.FilterLogs(opts, "NewBid", slotRule, bidderRule)
1781	if err != nil {
1782		return nil, err
1783	}
1784	return &HermezAuctionProtocolNewBidIterator{contract: _HermezAuctionProtocol.contract, event: "NewBid", logs: logs, sub: sub}, nil
1785}
1786
1787// WatchNewBid is a free log subscription operation binding the contract event 0xd48e8329cdb2fb109b4fe445d7b681a74b256bff16e6f7f33b9d4fbe9038e433.
1788//
1789// Solidity: event NewBid(uint128 indexed slot, uint128 bidAmount, address indexed bidder)
1790func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) WatchNewBid(opts *bind.WatchOpts, sink chan<- *HermezAuctionProtocolNewBid, slot []*big.Int, bidder []common.Address) (event.Subscription, error) {
1791
1792	var slotRule []interface{}
1793	for _, slotItem := range slot {
1794		slotRule = append(slotRule, slotItem)
1795	}
1796
1797	var bidderRule []interface{}
1798	for _, bidderItem := range bidder {
1799		bidderRule = append(bidderRule, bidderItem)
1800	}
1801
1802	logs, sub, err := _HermezAuctionProtocol.contract.WatchLogs(opts, "NewBid", slotRule, bidderRule)
1803	if err != nil {
1804		return nil, err
1805	}
1806	return event.NewSubscription(func(quit <-chan struct{}) error {
1807		defer sub.Unsubscribe()
1808		for {
1809			select {
1810			case log := <-logs:
1811				// New log arrived, parse the event and forward to the user
1812				event := new(HermezAuctionProtocolNewBid)
1813				if err := _HermezAuctionProtocol.contract.UnpackLog(event, "NewBid", log); err != nil {
1814					return err
1815				}
1816				event.Raw = log
1817
1818				select {
1819				case sink <- event:
1820				case err := <-sub.Err():
1821					return err
1822				case <-quit:
1823					return nil
1824				}
1825			case err := <-sub.Err():
1826				return err
1827			case <-quit:
1828				return nil
1829			}
1830		}
1831	}), nil
1832}
1833
1834// ParseNewBid is a log parse operation binding the contract event 0xd48e8329cdb2fb109b4fe445d7b681a74b256bff16e6f7f33b9d4fbe9038e433.
1835//
1836// Solidity: event NewBid(uint128 indexed slot, uint128 bidAmount, address indexed bidder)
1837func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) ParseNewBid(log types.Log) (*HermezAuctionProtocolNewBid, error) {
1838	event := new(HermezAuctionProtocolNewBid)
1839	if err := _HermezAuctionProtocol.contract.UnpackLog(event, "NewBid", log); err != nil {
1840		return nil, err
1841	}
1842	event.Raw = log
1843	return event, nil
1844}
1845
1846// HermezAuctionProtocolNewBootCoordinatorIterator is returned from FilterNewBootCoordinator and is used to iterate over the raw logs and unpacked data for NewBootCoordinator events raised by the HermezAuctionProtocol contract.
1847type HermezAuctionProtocolNewBootCoordinatorIterator struct {
1848	Event *HermezAuctionProtocolNewBootCoordinator // Event containing the contract specifics and raw log
1849
1850	contract *bind.BoundContract // Generic contract to use for unpacking event data
1851	event    string              // Event name to use for unpacking event data
1852
1853	logs chan types.Log        // Log channel receiving the found contract events
1854	sub  ethereum.Subscription // Subscription for errors, completion and termination
1855	done bool                  // Whether the subscription completed delivering logs
1856	fail error                 // Occurred error to stop iteration
1857}
1858
1859// Next advances the iterator to the subsequent event, returning whether there
1860// are any more events found. In case of a retrieval or parsing error, false is
1861// returned and Error() can be queried for the exact failure.
1862func (it *HermezAuctionProtocolNewBootCoordinatorIterator) Next() bool {
1863	// If the iterator failed, stop iterating
1864	if it.fail != nil {
1865		return false
1866	}
1867	// If the iterator completed, deliver directly whatever's available
1868	if it.done {
1869		select {
1870		case log := <-it.logs:
1871			it.Event = new(HermezAuctionProtocolNewBootCoordinator)
1872			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
1873				it.fail = err
1874				return false
1875			}
1876			it.Event.Raw = log
1877			return true
1878
1879		default:
1880			return false
1881		}
1882	}
1883	// Iterator still in progress, wait for either a data or an error event
1884	select {
1885	case log := <-it.logs:
1886		it.Event = new(HermezAuctionProtocolNewBootCoordinator)
1887		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
1888			it.fail = err
1889			return false
1890		}
1891		it.Event.Raw = log
1892		return true
1893
1894	case err := <-it.sub.Err():
1895		it.done = true
1896		it.fail = err
1897		return it.Next()
1898	}
1899}
1900
1901// Error returns any retrieval or parsing error occurred during filtering.
1902func (it *HermezAuctionProtocolNewBootCoordinatorIterator) Error() error {
1903	return it.fail
1904}
1905
1906// Close terminates the iteration process, releasing any pending underlying
1907// resources.
1908func (it *HermezAuctionProtocolNewBootCoordinatorIterator) Close() error {
1909	it.sub.Unsubscribe()
1910	return nil
1911}
1912
1913// HermezAuctionProtocolNewBootCoordinator represents a NewBootCoordinator event raised by the HermezAuctionProtocol contract.
1914type HermezAuctionProtocolNewBootCoordinator struct {
1915	NewBootCoordinator    common.Address
1916	NewBootCoordinatorURL string
1917	Raw                   types.Log // Blockchain specific contextual infos
1918}
1919
1920// FilterNewBootCoordinator is a free log retrieval operation binding the contract event 0x0487eab4c1da34bf653268e33bee8bfec7dacfd6f3226047197ebf872293cfd6.
1921//
1922// Solidity: event NewBootCoordinator(address indexed newBootCoordinator, string newBootCoordinatorURL)
1923func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) FilterNewBootCoordinator(opts *bind.FilterOpts, newBootCoordinator []common.Address) (*HermezAuctionProtocolNewBootCoordinatorIterator, error) {
1924
1925	var newBootCoordinatorRule []interface{}
1926	for _, newBootCoordinatorItem := range newBootCoordinator {
1927		newBootCoordinatorRule = append(newBootCoordinatorRule, newBootCoordinatorItem)
1928	}
1929
1930	logs, sub, err := _HermezAuctionProtocol.contract.FilterLogs(opts, "NewBootCoordinator", newBootCoordinatorRule)
1931	if err != nil {
1932		return nil, err
1933	}
1934	return &HermezAuctionProtocolNewBootCoordinatorIterator{contract: _HermezAuctionProtocol.contract, event: "NewBootCoordinator", logs: logs, sub: sub}, nil
1935}
1936
1937// WatchNewBootCoordinator is a free log subscription operation binding the contract event 0x0487eab4c1da34bf653268e33bee8bfec7dacfd6f3226047197ebf872293cfd6.
1938//
1939// Solidity: event NewBootCoordinator(address indexed newBootCoordinator, string newBootCoordinatorURL)
1940func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) WatchNewBootCoordinator(opts *bind.WatchOpts, sink chan<- *HermezAuctionProtocolNewBootCoordinator, newBootCoordinator []common.Address) (event.Subscription, error) {
1941
1942	var newBootCoordinatorRule []interface{}
1943	for _, newBootCoordinatorItem := range newBootCoordinator {
1944		newBootCoordinatorRule = append(newBootCoordinatorRule, newBootCoordinatorItem)
1945	}
1946
1947	logs, sub, err := _HermezAuctionProtocol.contract.WatchLogs(opts, "NewBootCoordinator", newBootCoordinatorRule)
1948	if err != nil {
1949		return nil, err
1950	}
1951	return event.NewSubscription(func(quit <-chan struct{}) error {
1952		defer sub.Unsubscribe()
1953		for {
1954			select {
1955			case log := <-logs:
1956				// New log arrived, parse the event and forward to the user
1957				event := new(HermezAuctionProtocolNewBootCoordinator)
1958				if err := _HermezAuctionProtocol.contract.UnpackLog(event, "NewBootCoordinator", log); err != nil {
1959					return err
1960				}
1961				event.Raw = log
1962
1963				select {
1964				case sink <- event:
1965				case err := <-sub.Err():
1966					return err
1967				case <-quit:
1968					return nil
1969				}
1970			case err := <-sub.Err():
1971				return err
1972			case <-quit:
1973				return nil
1974			}
1975		}
1976	}), nil
1977}
1978
1979// ParseNewBootCoordinator is a log parse operation binding the contract event 0x0487eab4c1da34bf653268e33bee8bfec7dacfd6f3226047197ebf872293cfd6.
1980//
1981// Solidity: event NewBootCoordinator(address indexed newBootCoordinator, string newBootCoordinatorURL)
1982func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) ParseNewBootCoordinator(log types.Log) (*HermezAuctionProtocolNewBootCoordinator, error) {
1983	event := new(HermezAuctionProtocolNewBootCoordinator)
1984	if err := _HermezAuctionProtocol.contract.UnpackLog(event, "NewBootCoordinator", log); err != nil {
1985		return nil, err
1986	}
1987	event.Raw = log
1988	return event, nil
1989}
1990
1991// HermezAuctionProtocolNewClosedAuctionSlotsIterator is returned from FilterNewClosedAuctionSlots and is used to iterate over the raw logs and unpacked data for NewClosedAuctionSlots events raised by the HermezAuctionProtocol contract.
1992type HermezAuctionProtocolNewClosedAuctionSlotsIterator struct {
1993	Event *HermezAuctionProtocolNewClosedAuctionSlots // Event containing the contract specifics and raw log
1994
1995	contract *bind.BoundContract // Generic contract to use for unpacking event data
1996	event    string              // Event name to use for unpacking event data
1997
1998	logs chan types.Log        // Log channel receiving the found contract events
1999	sub  ethereum.Subscription // Subscription for errors, completion and termination
2000	done bool                  // Whether the subscription completed delivering logs
2001	fail error                 // Occurred error to stop iteration
2002}
2003
2004// Next advances the iterator to the subsequent event, returning whether there
2005// are any more events found. In case of a retrieval or parsing error, false is
2006// returned and Error() can be queried for the exact failure.
2007func (it *HermezAuctionProtocolNewClosedAuctionSlotsIterator) Next() bool {
2008	// If the iterator failed, stop iterating
2009	if it.fail != nil {
2010		return false
2011	}
2012	// If the iterator completed, deliver directly whatever's available
2013	if it.done {
2014		select {
2015		case log := <-it.logs:
2016			it.Event = new(HermezAuctionProtocolNewClosedAuctionSlots)
2017			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2018				it.fail = err
2019				return false
2020			}
2021			it.Event.Raw = log
2022			return true
2023
2024		default:
2025			return false
2026		}
2027	}
2028	// Iterator still in progress, wait for either a data or an error event
2029	select {
2030	case log := <-it.logs:
2031		it.Event = new(HermezAuctionProtocolNewClosedAuctionSlots)
2032		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2033			it.fail = err
2034			return false
2035		}
2036		it.Event.Raw = log
2037		return true
2038
2039	case err := <-it.sub.Err():
2040		it.done = true
2041		it.fail = err
2042		return it.Next()
2043	}
2044}
2045
2046// Error returns any retrieval or parsing error occurred during filtering.
2047func (it *HermezAuctionProtocolNewClosedAuctionSlotsIterator) Error() error {
2048	return it.fail
2049}
2050
2051// Close terminates the iteration process, releasing any pending underlying
2052// resources.
2053func (it *HermezAuctionProtocolNewClosedAuctionSlotsIterator) Close() error {
2054	it.sub.Unsubscribe()
2055	return nil
2056}
2057
2058// HermezAuctionProtocolNewClosedAuctionSlots represents a NewClosedAuctionSlots event raised by the HermezAuctionProtocol contract.
2059type HermezAuctionProtocolNewClosedAuctionSlots struct {
2060	NewClosedAuctionSlots uint16
2061	Raw                   types.Log // Blockchain specific contextual infos
2062}
2063
2064// FilterNewClosedAuctionSlots is a free log retrieval operation binding the contract event 0xc78051d3757db196b1e445f3a9a1380944518c69b5d7922ec747c54f0340a4ea.
2065//
2066// Solidity: event NewClosedAuctionSlots(uint16 newClosedAuctionSlots)
2067func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) FilterNewClosedAuctionSlots(opts *bind.FilterOpts) (*HermezAuctionProtocolNewClosedAuctionSlotsIterator, error) {
2068
2069	logs, sub, err := _HermezAuctionProtocol.contract.FilterLogs(opts, "NewClosedAuctionSlots")
2070	if err != nil {
2071		return nil, err
2072	}
2073	return &HermezAuctionProtocolNewClosedAuctionSlotsIterator{contract: _HermezAuctionProtocol.contract, event: "NewClosedAuctionSlots", logs: logs, sub: sub}, nil
2074}
2075
2076// WatchNewClosedAuctionSlots is a free log subscription operation binding the contract event 0xc78051d3757db196b1e445f3a9a1380944518c69b5d7922ec747c54f0340a4ea.
2077//
2078// Solidity: event NewClosedAuctionSlots(uint16 newClosedAuctionSlots)
2079func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) WatchNewClosedAuctionSlots(opts *bind.WatchOpts, sink chan<- *HermezAuctionProtocolNewClosedAuctionSlots) (event.Subscription, error) {
2080
2081	logs, sub, err := _HermezAuctionProtocol.contract.WatchLogs(opts, "NewClosedAuctionSlots")
2082	if err != nil {
2083		return nil, err
2084	}
2085	return event.NewSubscription(func(quit <-chan struct{}) error {
2086		defer sub.Unsubscribe()
2087		for {
2088			select {
2089			case log := <-logs:
2090				// New log arrived, parse the event and forward to the user
2091				event := new(HermezAuctionProtocolNewClosedAuctionSlots)
2092				if err := _HermezAuctionProtocol.contract.UnpackLog(event, "NewClosedAuctionSlots", log); err != nil {
2093					return err
2094				}
2095				event.Raw = log
2096
2097				select {
2098				case sink <- event:
2099				case err := <-sub.Err():
2100					return err
2101				case <-quit:
2102					return nil
2103				}
2104			case err := <-sub.Err():
2105				return err
2106			case <-quit:
2107				return nil
2108			}
2109		}
2110	}), nil
2111}
2112
2113// ParseNewClosedAuctionSlots is a log parse operation binding the contract event 0xc78051d3757db196b1e445f3a9a1380944518c69b5d7922ec747c54f0340a4ea.
2114//
2115// Solidity: event NewClosedAuctionSlots(uint16 newClosedAuctionSlots)
2116func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) ParseNewClosedAuctionSlots(log types.Log) (*HermezAuctionProtocolNewClosedAuctionSlots, error) {
2117	event := new(HermezAuctionProtocolNewClosedAuctionSlots)
2118	if err := _HermezAuctionProtocol.contract.UnpackLog(event, "NewClosedAuctionSlots", log); err != nil {
2119		return nil, err
2120	}
2121	event.Raw = log
2122	return event, nil
2123}
2124
2125// HermezAuctionProtocolNewDefaultSlotSetBidIterator is returned from FilterNewDefaultSlotSetBid and is used to iterate over the raw logs and unpacked data for NewDefaultSlotSetBid events raised by the HermezAuctionProtocol contract.
2126type HermezAuctionProtocolNewDefaultSlotSetBidIterator struct {
2127	Event *HermezAuctionProtocolNewDefaultSlotSetBid // Event containing the contract specifics and raw log
2128
2129	contract *bind.BoundContract // Generic contract to use for unpacking event data
2130	event    string              // Event name to use for unpacking event data
2131
2132	logs chan types.Log        // Log channel receiving the found contract events
2133	sub  ethereum.Subscription // Subscription for errors, completion and termination
2134	done bool                  // Whether the subscription completed delivering logs
2135	fail error                 // Occurred error to stop iteration
2136}
2137
2138// Next advances the iterator to the subsequent event, returning whether there
2139// are any more events found. In case of a retrieval or parsing error, false is
2140// returned and Error() can be queried for the exact failure.
2141func (it *HermezAuctionProtocolNewDefaultSlotSetBidIterator) Next() bool {
2142	// If the iterator failed, stop iterating
2143	if it.fail != nil {
2144		return false
2145	}
2146	// If the iterator completed, deliver directly whatever's available
2147	if it.done {
2148		select {
2149		case log := <-it.logs:
2150			it.Event = new(HermezAuctionProtocolNewDefaultSlotSetBid)
2151			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2152				it.fail = err
2153				return false
2154			}
2155			it.Event.Raw = log
2156			return true
2157
2158		default:
2159			return false
2160		}
2161	}
2162	// Iterator still in progress, wait for either a data or an error event
2163	select {
2164	case log := <-it.logs:
2165		it.Event = new(HermezAuctionProtocolNewDefaultSlotSetBid)
2166		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2167			it.fail = err
2168			return false
2169		}
2170		it.Event.Raw = log
2171		return true
2172
2173	case err := <-it.sub.Err():
2174		it.done = true
2175		it.fail = err
2176		return it.Next()
2177	}
2178}
2179
2180// Error returns any retrieval or parsing error occurred during filtering.
2181func (it *HermezAuctionProtocolNewDefaultSlotSetBidIterator) Error() error {
2182	return it.fail
2183}
2184
2185// Close terminates the iteration process, releasing any pending underlying
2186// resources.
2187func (it *HermezAuctionProtocolNewDefaultSlotSetBidIterator) Close() error {
2188	it.sub.Unsubscribe()
2189	return nil
2190}
2191
2192// HermezAuctionProtocolNewDefaultSlotSetBid represents a NewDefaultSlotSetBid event raised by the HermezAuctionProtocol contract.
2193type HermezAuctionProtocolNewDefaultSlotSetBid struct {
2194	SlotSet          *big.Int
2195	NewInitialMinBid *big.Int
2196	Raw              types.Log // Blockchain specific contextual infos
2197}
2198
2199// FilterNewDefaultSlotSetBid is a free log retrieval operation binding the contract event 0xa922aa010d1ff8e70b2aa9247d891836795c3d3ba2a543c37c91a44dc4a50172.
2200//
2201// Solidity: event NewDefaultSlotSetBid(uint128 slotSet, uint128 newInitialMinBid)
2202func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) FilterNewDefaultSlotSetBid(opts *bind.FilterOpts) (*HermezAuctionProtocolNewDefaultSlotSetBidIterator, error) {
2203
2204	logs, sub, err := _HermezAuctionProtocol.contract.FilterLogs(opts, "NewDefaultSlotSetBid")
2205	if err != nil {
2206		return nil, err
2207	}
2208	return &HermezAuctionProtocolNewDefaultSlotSetBidIterator{contract: _HermezAuctionProtocol.contract, event: "NewDefaultSlotSetBid", logs: logs, sub: sub}, nil
2209}
2210
2211// WatchNewDefaultSlotSetBid is a free log subscription operation binding the contract event 0xa922aa010d1ff8e70b2aa9247d891836795c3d3ba2a543c37c91a44dc4a50172.
2212//
2213// Solidity: event NewDefaultSlotSetBid(uint128 slotSet, uint128 newInitialMinBid)
2214func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) WatchNewDefaultSlotSetBid(opts *bind.WatchOpts, sink chan<- *HermezAuctionProtocolNewDefaultSlotSetBid) (event.Subscription, error) {
2215
2216	logs, sub, err := _HermezAuctionProtocol.contract.WatchLogs(opts, "NewDefaultSlotSetBid")
2217	if err != nil {
2218		return nil, err
2219	}
2220	return event.NewSubscription(func(quit <-chan struct{}) error {
2221		defer sub.Unsubscribe()
2222		for {
2223			select {
2224			case log := <-logs:
2225				// New log arrived, parse the event and forward to the user
2226				event := new(HermezAuctionProtocolNewDefaultSlotSetBid)
2227				if err := _HermezAuctionProtocol.contract.UnpackLog(event, "NewDefaultSlotSetBid", log); err != nil {
2228					return err
2229				}
2230				event.Raw = log
2231
2232				select {
2233				case sink <- event:
2234				case err := <-sub.Err():
2235					return err
2236				case <-quit:
2237					return nil
2238				}
2239			case err := <-sub.Err():
2240				return err
2241			case <-quit:
2242				return nil
2243			}
2244		}
2245	}), nil
2246}
2247
2248// ParseNewDefaultSlotSetBid is a log parse operation binding the contract event 0xa922aa010d1ff8e70b2aa9247d891836795c3d3ba2a543c37c91a44dc4a50172.
2249//
2250// Solidity: event NewDefaultSlotSetBid(uint128 slotSet, uint128 newInitialMinBid)
2251func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) ParseNewDefaultSlotSetBid(log types.Log) (*HermezAuctionProtocolNewDefaultSlotSetBid, error) {
2252	event := new(HermezAuctionProtocolNewDefaultSlotSetBid)
2253	if err := _HermezAuctionProtocol.contract.UnpackLog(event, "NewDefaultSlotSetBid", log); err != nil {
2254		return nil, err
2255	}
2256	event.Raw = log
2257	return event, nil
2258}
2259
2260// HermezAuctionProtocolNewDonationAddressIterator is returned from FilterNewDonationAddress and is used to iterate over the raw logs and unpacked data for NewDonationAddress events raised by the HermezAuctionProtocol contract.
2261type HermezAuctionProtocolNewDonationAddressIterator struct {
2262	Event *HermezAuctionProtocolNewDonationAddress // Event containing the contract specifics and raw log
2263
2264	contract *bind.BoundContract // Generic contract to use for unpacking event data
2265	event    string              // Event name to use for unpacking event data
2266
2267	logs chan types.Log        // Log channel receiving the found contract events
2268	sub  ethereum.Subscription // Subscription for errors, completion and termination
2269	done bool                  // Whether the subscription completed delivering logs
2270	fail error                 // Occurred error to stop iteration
2271}
2272
2273// Next advances the iterator to the subsequent event, returning whether there
2274// are any more events found. In case of a retrieval or parsing error, false is
2275// returned and Error() can be queried for the exact failure.
2276func (it *HermezAuctionProtocolNewDonationAddressIterator) Next() bool {
2277	// If the iterator failed, stop iterating
2278	if it.fail != nil {
2279		return false
2280	}
2281	// If the iterator completed, deliver directly whatever's available
2282	if it.done {
2283		select {
2284		case log := <-it.logs:
2285			it.Event = new(HermezAuctionProtocolNewDonationAddress)
2286			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2287				it.fail = err
2288				return false
2289			}
2290			it.Event.Raw = log
2291			return true
2292
2293		default:
2294			return false
2295		}
2296	}
2297	// Iterator still in progress, wait for either a data or an error event
2298	select {
2299	case log := <-it.logs:
2300		it.Event = new(HermezAuctionProtocolNewDonationAddress)
2301		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2302			it.fail = err
2303			return false
2304		}
2305		it.Event.Raw = log
2306		return true
2307
2308	case err := <-it.sub.Err():
2309		it.done = true
2310		it.fail = err
2311		return it.Next()
2312	}
2313}
2314
2315// Error returns any retrieval or parsing error occurred during filtering.
2316func (it *HermezAuctionProtocolNewDonationAddressIterator) Error() error {
2317	return it.fail
2318}
2319
2320// Close terminates the iteration process, releasing any pending underlying
2321// resources.
2322func (it *HermezAuctionProtocolNewDonationAddressIterator) Close() error {
2323	it.sub.Unsubscribe()
2324	return nil
2325}
2326
2327// HermezAuctionProtocolNewDonationAddress represents a NewDonationAddress event raised by the HermezAuctionProtocol contract.
2328type HermezAuctionProtocolNewDonationAddress struct {
2329	NewDonationAddress common.Address
2330	Raw                types.Log // Blockchain specific contextual infos
2331}
2332
2333// FilterNewDonationAddress is a free log retrieval operation binding the contract event 0xa62863cbad1647a2855e9cd39d04fa6dfd32e1b9cfaff1aaf6523f4aaafeccd7.
2334//
2335// Solidity: event NewDonationAddress(address indexed newDonationAddress)
2336func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) FilterNewDonationAddress(opts *bind.FilterOpts, newDonationAddress []common.Address) (*HermezAuctionProtocolNewDonationAddressIterator, error) {
2337
2338	var newDonationAddressRule []interface{}
2339	for _, newDonationAddressItem := range newDonationAddress {
2340		newDonationAddressRule = append(newDonationAddressRule, newDonationAddressItem)
2341	}
2342
2343	logs, sub, err := _HermezAuctionProtocol.contract.FilterLogs(opts, "NewDonationAddress", newDonationAddressRule)
2344	if err != nil {
2345		return nil, err
2346	}
2347	return &HermezAuctionProtocolNewDonationAddressIterator{contract: _HermezAuctionProtocol.contract, event: "NewDonationAddress", logs: logs, sub: sub}, nil
2348}
2349
2350// WatchNewDonationAddress is a free log subscription operation binding the contract event 0xa62863cbad1647a2855e9cd39d04fa6dfd32e1b9cfaff1aaf6523f4aaafeccd7.
2351//
2352// Solidity: event NewDonationAddress(address indexed newDonationAddress)
2353func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) WatchNewDonationAddress(opts *bind.WatchOpts, sink chan<- *HermezAuctionProtocolNewDonationAddress, newDonationAddress []common.Address) (event.Subscription, error) {
2354
2355	var newDonationAddressRule []interface{}
2356	for _, newDonationAddressItem := range newDonationAddress {
2357		newDonationAddressRule = append(newDonationAddressRule, newDonationAddressItem)
2358	}
2359
2360	logs, sub, err := _HermezAuctionProtocol.contract.WatchLogs(opts, "NewDonationAddress", newDonationAddressRule)
2361	if err != nil {
2362		return nil, err
2363	}
2364	return event.NewSubscription(func(quit <-chan struct{}) error {
2365		defer sub.Unsubscribe()
2366		for {
2367			select {
2368			case log := <-logs:
2369				// New log arrived, parse the event and forward to the user
2370				event := new(HermezAuctionProtocolNewDonationAddress)
2371				if err := _HermezAuctionProtocol.contract.UnpackLog(event, "NewDonationAddress", log); err != nil {
2372					return err
2373				}
2374				event.Raw = log
2375
2376				select {
2377				case sink <- event:
2378				case err := <-sub.Err():
2379					return err
2380				case <-quit:
2381					return nil
2382				}
2383			case err := <-sub.Err():
2384				return err
2385			case <-quit:
2386				return nil
2387			}
2388		}
2389	}), nil
2390}
2391
2392// ParseNewDonationAddress is a log parse operation binding the contract event 0xa62863cbad1647a2855e9cd39d04fa6dfd32e1b9cfaff1aaf6523f4aaafeccd7.
2393//
2394// Solidity: event NewDonationAddress(address indexed newDonationAddress)
2395func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) ParseNewDonationAddress(log types.Log) (*HermezAuctionProtocolNewDonationAddress, error) {
2396	event := new(HermezAuctionProtocolNewDonationAddress)
2397	if err := _HermezAuctionProtocol.contract.UnpackLog(event, "NewDonationAddress", log); err != nil {
2398		return nil, err
2399	}
2400	event.Raw = log
2401	return event, nil
2402}
2403
2404// HermezAuctionProtocolNewForgeIterator is returned from FilterNewForge and is used to iterate over the raw logs and unpacked data for NewForge events raised by the HermezAuctionProtocol contract.
2405type HermezAuctionProtocolNewForgeIterator struct {
2406	Event *HermezAuctionProtocolNewForge // Event containing the contract specifics and raw log
2407
2408	contract *bind.BoundContract // Generic contract to use for unpacking event data
2409	event    string              // Event name to use for unpacking event data
2410
2411	logs chan types.Log        // Log channel receiving the found contract events
2412	sub  ethereum.Subscription // Subscription for errors, completion and termination
2413	done bool                  // Whether the subscription completed delivering logs
2414	fail error                 // Occurred error to stop iteration
2415}
2416
2417// Next advances the iterator to the subsequent event, returning whether there
2418// are any more events found. In case of a retrieval or parsing error, false is
2419// returned and Error() can be queried for the exact failure.
2420func (it *HermezAuctionProtocolNewForgeIterator) Next() bool {
2421	// If the iterator failed, stop iterating
2422	if it.fail != nil {
2423		return false
2424	}
2425	// If the iterator completed, deliver directly whatever's available
2426	if it.done {
2427		select {
2428		case log := <-it.logs:
2429			it.Event = new(HermezAuctionProtocolNewForge)
2430			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2431				it.fail = err
2432				return false
2433			}
2434			it.Event.Raw = log
2435			return true
2436
2437		default:
2438			return false
2439		}
2440	}
2441	// Iterator still in progress, wait for either a data or an error event
2442	select {
2443	case log := <-it.logs:
2444		it.Event = new(HermezAuctionProtocolNewForge)
2445		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2446			it.fail = err
2447			return false
2448		}
2449		it.Event.Raw = log
2450		return true
2451
2452	case err := <-it.sub.Err():
2453		it.done = true
2454		it.fail = err
2455		return it.Next()
2456	}
2457}
2458
2459// Error returns any retrieval or parsing error occurred during filtering.
2460func (it *HermezAuctionProtocolNewForgeIterator) Error() error {
2461	return it.fail
2462}
2463
2464// Close terminates the iteration process, releasing any pending underlying
2465// resources.
2466func (it *HermezAuctionProtocolNewForgeIterator) Close() error {
2467	it.sub.Unsubscribe()
2468	return nil
2469}
2470
2471// HermezAuctionProtocolNewForge represents a NewForge event raised by the HermezAuctionProtocol contract.
2472type HermezAuctionProtocolNewForge struct {
2473	Forger      common.Address
2474	SlotToForge *big.Int
2475	Raw         types.Log // Blockchain specific contextual infos
2476}
2477
2478// FilterNewForge is a free log retrieval operation binding the contract event 0x7cae662d4cfa9d9c5575c65f0cc41a858c51ca14ebcbd02a802a62376c3ad238.
2479//
2480// Solidity: event NewForge(address indexed forger, uint128 indexed slotToForge)
2481func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) FilterNewForge(opts *bind.FilterOpts, forger []common.Address, slotToForge []*big.Int) (*HermezAuctionProtocolNewForgeIterator, error) {
2482
2483	var forgerRule []interface{}
2484	for _, forgerItem := range forger {
2485		forgerRule = append(forgerRule, forgerItem)
2486	}
2487	var slotToForgeRule []interface{}
2488	for _, slotToForgeItem := range slotToForge {
2489		slotToForgeRule = append(slotToForgeRule, slotToForgeItem)
2490	}
2491
2492	logs, sub, err := _HermezAuctionProtocol.contract.FilterLogs(opts, "NewForge", forgerRule, slotToForgeRule)
2493	if err != nil {
2494		return nil, err
2495	}
2496	return &HermezAuctionProtocolNewForgeIterator{contract: _HermezAuctionProtocol.contract, event: "NewForge", logs: logs, sub: sub}, nil
2497}
2498
2499// WatchNewForge is a free log subscription operation binding the contract event 0x7cae662d4cfa9d9c5575c65f0cc41a858c51ca14ebcbd02a802a62376c3ad238.
2500//
2501// Solidity: event NewForge(address indexed forger, uint128 indexed slotToForge)
2502func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) WatchNewForge(opts *bind.WatchOpts, sink chan<- *HermezAuctionProtocolNewForge, forger []common.Address, slotToForge []*big.Int) (event.Subscription, error) {
2503
2504	var forgerRule []interface{}
2505	for _, forgerItem := range forger {
2506		forgerRule = append(forgerRule, forgerItem)
2507	}
2508	var slotToForgeRule []interface{}
2509	for _, slotToForgeItem := range slotToForge {
2510		slotToForgeRule = append(slotToForgeRule, slotToForgeItem)
2511	}
2512
2513	logs, sub, err := _HermezAuctionProtocol.contract.WatchLogs(opts, "NewForge", forgerRule, slotToForgeRule)
2514	if err != nil {
2515		return nil, err
2516	}
2517	return event.NewSubscription(func(quit <-chan struct{}) error {
2518		defer sub.Unsubscribe()
2519		for {
2520			select {
2521			case log := <-logs:
2522				// New log arrived, parse the event and forward to the user
2523				event := new(HermezAuctionProtocolNewForge)
2524				if err := _HermezAuctionProtocol.contract.UnpackLog(event, "NewForge", log); err != nil {
2525					return err
2526				}
2527				event.Raw = log
2528
2529				select {
2530				case sink <- event:
2531				case err := <-sub.Err():
2532					return err
2533				case <-quit:
2534					return nil
2535				}
2536			case err := <-sub.Err():
2537				return err
2538			case <-quit:
2539				return nil
2540			}
2541		}
2542	}), nil
2543}
2544
2545// ParseNewForge is a log parse operation binding the contract event 0x7cae662d4cfa9d9c5575c65f0cc41a858c51ca14ebcbd02a802a62376c3ad238.
2546//
2547// Solidity: event NewForge(address indexed forger, uint128 indexed slotToForge)
2548func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) ParseNewForge(log types.Log) (*HermezAuctionProtocolNewForge, error) {
2549	event := new(HermezAuctionProtocolNewForge)
2550	if err := _HermezAuctionProtocol.contract.UnpackLog(event, "NewForge", log); err != nil {
2551		return nil, err
2552	}
2553	event.Raw = log
2554	return event, nil
2555}
2556
2557// HermezAuctionProtocolNewForgeAllocatedIterator is returned from FilterNewForgeAllocated and is used to iterate over the raw logs and unpacked data for NewForgeAllocated events raised by the HermezAuctionProtocol contract.
2558type HermezAuctionProtocolNewForgeAllocatedIterator struct {
2559	Event *HermezAuctionProtocolNewForgeAllocated // Event containing the contract specifics and raw log
2560
2561	contract *bind.BoundContract // Generic contract to use for unpacking event data
2562	event    string              // Event name to use for unpacking event data
2563
2564	logs chan types.Log        // Log channel receiving the found contract events
2565	sub  ethereum.Subscription // Subscription for errors, completion and termination
2566	done bool                  // Whether the subscription completed delivering logs
2567	fail error                 // Occurred error to stop iteration
2568}
2569
2570// Next advances the iterator to the subsequent event, returning whether there
2571// are any more events found. In case of a retrieval or parsing error, false is
2572// returned and Error() can be queried for the exact failure.
2573func (it *HermezAuctionProtocolNewForgeAllocatedIterator) Next() bool {
2574	// If the iterator failed, stop iterating
2575	if it.fail != nil {
2576		return false
2577	}
2578	// If the iterator completed, deliver directly whatever's available
2579	if it.done {
2580		select {
2581		case log := <-it.logs:
2582			it.Event = new(HermezAuctionProtocolNewForgeAllocated)
2583			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2584				it.fail = err
2585				return false
2586			}
2587			it.Event.Raw = log
2588			return true
2589
2590		default:
2591			return false
2592		}
2593	}
2594	// Iterator still in progress, wait for either a data or an error event
2595	select {
2596	case log := <-it.logs:
2597		it.Event = new(HermezAuctionProtocolNewForgeAllocated)
2598		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2599			it.fail = err
2600			return false
2601		}
2602		it.Event.Raw = log
2603		return true
2604
2605	case err := <-it.sub.Err():
2606		it.done = true
2607		it.fail = err
2608		return it.Next()
2609	}
2610}
2611
2612// Error returns any retrieval or parsing error occurred during filtering.
2613func (it *HermezAuctionProtocolNewForgeAllocatedIterator) Error() error {
2614	return it.fail
2615}
2616
2617// Close terminates the iteration process, releasing any pending underlying
2618// resources.
2619func (it *HermezAuctionProtocolNewForgeAllocatedIterator) Close() error {
2620	it.sub.Unsubscribe()
2621	return nil
2622}
2623
2624// HermezAuctionProtocolNewForgeAllocated represents a NewForgeAllocated event raised by the HermezAuctionProtocol contract.
2625type HermezAuctionProtocolNewForgeAllocated struct {
2626	Bidder           common.Address
2627	Forger           common.Address
2628	SlotToForge      *big.Int
2629	BurnAmount       *big.Int
2630	DonationAmount   *big.Int
2631	GovernanceAmount *big.Int
2632	Raw              types.Log // Blockchain specific contextual infos
2633}
2634
2635// FilterNewForgeAllocated is a free log retrieval operation binding the contract event 0xd64ebb43f4c2b91022b97389834432f1027ef55586129ba05a3a3065b2304f05.
2636//
2637// Solidity: event NewForgeAllocated(address indexed bidder, address indexed forger, uint128 indexed slotToForge, uint128 burnAmount, uint128 donationAmount, uint128 governanceAmount)
2638func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) FilterNewForgeAllocated(opts *bind.FilterOpts, bidder []common.Address, forger []common.Address, slotToForge []*big.Int) (*HermezAuctionProtocolNewForgeAllocatedIterator, error) {
2639
2640	var bidderRule []interface{}
2641	for _, bidderItem := range bidder {
2642		bidderRule = append(bidderRule, bidderItem)
2643	}
2644	var forgerRule []interface{}
2645	for _, forgerItem := range forger {
2646		forgerRule = append(forgerRule, forgerItem)
2647	}
2648	var slotToForgeRule []interface{}
2649	for _, slotToForgeItem := range slotToForge {
2650		slotToForgeRule = append(slotToForgeRule, slotToForgeItem)
2651	}
2652
2653	logs, sub, err := _HermezAuctionProtocol.contract.FilterLogs(opts, "NewForgeAllocated", bidderRule, forgerRule, slotToForgeRule)
2654	if err != nil {
2655		return nil, err
2656	}
2657	return &HermezAuctionProtocolNewForgeAllocatedIterator{contract: _HermezAuctionProtocol.contract, event: "NewForgeAllocated", logs: logs, sub: sub}, nil
2658}
2659
2660// WatchNewForgeAllocated is a free log subscription operation binding the contract event 0xd64ebb43f4c2b91022b97389834432f1027ef55586129ba05a3a3065b2304f05.
2661//
2662// Solidity: event NewForgeAllocated(address indexed bidder, address indexed forger, uint128 indexed slotToForge, uint128 burnAmount, uint128 donationAmount, uint128 governanceAmount)
2663func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) WatchNewForgeAllocated(opts *bind.WatchOpts, sink chan<- *HermezAuctionProtocolNewForgeAllocated, bidder []common.Address, forger []common.Address, slotToForge []*big.Int) (event.Subscription, error) {
2664
2665	var bidderRule []interface{}
2666	for _, bidderItem := range bidder {
2667		bidderRule = append(bidderRule, bidderItem)
2668	}
2669	var forgerRule []interface{}
2670	for _, forgerItem := range forger {
2671		forgerRule = append(forgerRule, forgerItem)
2672	}
2673	var slotToForgeRule []interface{}
2674	for _, slotToForgeItem := range slotToForge {
2675		slotToForgeRule = append(slotToForgeRule, slotToForgeItem)
2676	}
2677
2678	logs, sub, err := _HermezAuctionProtocol.contract.WatchLogs(opts, "NewForgeAllocated", bidderRule, forgerRule, slotToForgeRule)
2679	if err != nil {
2680		return nil, err
2681	}
2682	return event.NewSubscription(func(quit <-chan struct{}) error {
2683		defer sub.Unsubscribe()
2684		for {
2685			select {
2686			case log := <-logs:
2687				// New log arrived, parse the event and forward to the user
2688				event := new(HermezAuctionProtocolNewForgeAllocated)
2689				if err := _HermezAuctionProtocol.contract.UnpackLog(event, "NewForgeAllocated", log); err != nil {
2690					return err
2691				}
2692				event.Raw = log
2693
2694				select {
2695				case sink <- event:
2696				case err := <-sub.Err():
2697					return err
2698				case <-quit:
2699					return nil
2700				}
2701			case err := <-sub.Err():
2702				return err
2703			case <-quit:
2704				return nil
2705			}
2706		}
2707	}), nil
2708}
2709
2710// ParseNewForgeAllocated is a log parse operation binding the contract event 0xd64ebb43f4c2b91022b97389834432f1027ef55586129ba05a3a3065b2304f05.
2711//
2712// Solidity: event NewForgeAllocated(address indexed bidder, address indexed forger, uint128 indexed slotToForge, uint128 burnAmount, uint128 donationAmount, uint128 governanceAmount)
2713func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) ParseNewForgeAllocated(log types.Log) (*HermezAuctionProtocolNewForgeAllocated, error) {
2714	event := new(HermezAuctionProtocolNewForgeAllocated)
2715	if err := _HermezAuctionProtocol.contract.UnpackLog(event, "NewForgeAllocated", log); err != nil {
2716		return nil, err
2717	}
2718	event.Raw = log
2719	return event, nil
2720}
2721
2722// HermezAuctionProtocolNewOpenAuctionSlotsIterator is returned from FilterNewOpenAuctionSlots and is used to iterate over the raw logs and unpacked data for NewOpenAuctionSlots events raised by the HermezAuctionProtocol contract.
2723type HermezAuctionProtocolNewOpenAuctionSlotsIterator struct {
2724	Event *HermezAuctionProtocolNewOpenAuctionSlots // Event containing the contract specifics and raw log
2725
2726	contract *bind.BoundContract // Generic contract to use for unpacking event data
2727	event    string              // Event name to use for unpacking event data
2728
2729	logs chan types.Log        // Log channel receiving the found contract events
2730	sub  ethereum.Subscription // Subscription for errors, completion and termination
2731	done bool                  // Whether the subscription completed delivering logs
2732	fail error                 // Occurred error to stop iteration
2733}
2734
2735// Next advances the iterator to the subsequent event, returning whether there
2736// are any more events found. In case of a retrieval or parsing error, false is
2737// returned and Error() can be queried for the exact failure.
2738func (it *HermezAuctionProtocolNewOpenAuctionSlotsIterator) Next() bool {
2739	// If the iterator failed, stop iterating
2740	if it.fail != nil {
2741		return false
2742	}
2743	// If the iterator completed, deliver directly whatever's available
2744	if it.done {
2745		select {
2746		case log := <-it.logs:
2747			it.Event = new(HermezAuctionProtocolNewOpenAuctionSlots)
2748			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2749				it.fail = err
2750				return false
2751			}
2752			it.Event.Raw = log
2753			return true
2754
2755		default:
2756			return false
2757		}
2758	}
2759	// Iterator still in progress, wait for either a data or an error event
2760	select {
2761	case log := <-it.logs:
2762		it.Event = new(HermezAuctionProtocolNewOpenAuctionSlots)
2763		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2764			it.fail = err
2765			return false
2766		}
2767		it.Event.Raw = log
2768		return true
2769
2770	case err := <-it.sub.Err():
2771		it.done = true
2772		it.fail = err
2773		return it.Next()
2774	}
2775}
2776
2777// Error returns any retrieval or parsing error occurred during filtering.
2778func (it *HermezAuctionProtocolNewOpenAuctionSlotsIterator) Error() error {
2779	return it.fail
2780}
2781
2782// Close terminates the iteration process, releasing any pending underlying
2783// resources.
2784func (it *HermezAuctionProtocolNewOpenAuctionSlotsIterator) Close() error {
2785	it.sub.Unsubscribe()
2786	return nil
2787}
2788
2789// HermezAuctionProtocolNewOpenAuctionSlots represents a NewOpenAuctionSlots event raised by the HermezAuctionProtocol contract.
2790type HermezAuctionProtocolNewOpenAuctionSlots struct {
2791	NewOpenAuctionSlots uint16
2792	Raw                 types.Log // Blockchain specific contextual infos
2793}
2794
2795// FilterNewOpenAuctionSlots is a free log retrieval operation binding the contract event 0x3da0492dea7298351bc14d1c0699905fd0657c33487449751af50fc0c8b593f1.
2796//
2797// Solidity: event NewOpenAuctionSlots(uint16 newOpenAuctionSlots)
2798func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) FilterNewOpenAuctionSlots(opts *bind.FilterOpts) (*HermezAuctionProtocolNewOpenAuctionSlotsIterator, error) {
2799
2800	logs, sub, err := _HermezAuctionProtocol.contract.FilterLogs(opts, "NewOpenAuctionSlots")
2801	if err != nil {
2802		return nil, err
2803	}
2804	return &HermezAuctionProtocolNewOpenAuctionSlotsIterator{contract: _HermezAuctionProtocol.contract, event: "NewOpenAuctionSlots", logs: logs, sub: sub}, nil
2805}
2806
2807// WatchNewOpenAuctionSlots is a free log subscription operation binding the contract event 0x3da0492dea7298351bc14d1c0699905fd0657c33487449751af50fc0c8b593f1.
2808//
2809// Solidity: event NewOpenAuctionSlots(uint16 newOpenAuctionSlots)
2810func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) WatchNewOpenAuctionSlots(opts *bind.WatchOpts, sink chan<- *HermezAuctionProtocolNewOpenAuctionSlots) (event.Subscription, error) {
2811
2812	logs, sub, err := _HermezAuctionProtocol.contract.WatchLogs(opts, "NewOpenAuctionSlots")
2813	if err != nil {
2814		return nil, err
2815	}
2816	return event.NewSubscription(func(quit <-chan struct{}) error {
2817		defer sub.Unsubscribe()
2818		for {
2819			select {
2820			case log := <-logs:
2821				// New log arrived, parse the event and forward to the user
2822				event := new(HermezAuctionProtocolNewOpenAuctionSlots)
2823				if err := _HermezAuctionProtocol.contract.UnpackLog(event, "NewOpenAuctionSlots", log); err != nil {
2824					return err
2825				}
2826				event.Raw = log
2827
2828				select {
2829				case sink <- event:
2830				case err := <-sub.Err():
2831					return err
2832				case <-quit:
2833					return nil
2834				}
2835			case err := <-sub.Err():
2836				return err
2837			case <-quit:
2838				return nil
2839			}
2840		}
2841	}), nil
2842}
2843
2844// ParseNewOpenAuctionSlots is a log parse operation binding the contract event 0x3da0492dea7298351bc14d1c0699905fd0657c33487449751af50fc0c8b593f1.
2845//
2846// Solidity: event NewOpenAuctionSlots(uint16 newOpenAuctionSlots)
2847func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) ParseNewOpenAuctionSlots(log types.Log) (*HermezAuctionProtocolNewOpenAuctionSlots, error) {
2848	event := new(HermezAuctionProtocolNewOpenAuctionSlots)
2849	if err := _HermezAuctionProtocol.contract.UnpackLog(event, "NewOpenAuctionSlots", log); err != nil {
2850		return nil, err
2851	}
2852	event.Raw = log
2853	return event, nil
2854}
2855
2856// HermezAuctionProtocolNewOutbiddingIterator is returned from FilterNewOutbidding and is used to iterate over the raw logs and unpacked data for NewOutbidding events raised by the HermezAuctionProtocol contract.
2857type HermezAuctionProtocolNewOutbiddingIterator struct {
2858	Event *HermezAuctionProtocolNewOutbidding // Event containing the contract specifics and raw log
2859
2860	contract *bind.BoundContract // Generic contract to use for unpacking event data
2861	event    string              // Event name to use for unpacking event data
2862
2863	logs chan types.Log        // Log channel receiving the found contract events
2864	sub  ethereum.Subscription // Subscription for errors, completion and termination
2865	done bool                  // Whether the subscription completed delivering logs
2866	fail error                 // Occurred error to stop iteration
2867}
2868
2869// Next advances the iterator to the subsequent event, returning whether there
2870// are any more events found. In case of a retrieval or parsing error, false is
2871// returned and Error() can be queried for the exact failure.
2872func (it *HermezAuctionProtocolNewOutbiddingIterator) Next() bool {
2873	// If the iterator failed, stop iterating
2874	if it.fail != nil {
2875		return false
2876	}
2877	// If the iterator completed, deliver directly whatever's available
2878	if it.done {
2879		select {
2880		case log := <-it.logs:
2881			it.Event = new(HermezAuctionProtocolNewOutbidding)
2882			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2883				it.fail = err
2884				return false
2885			}
2886			it.Event.Raw = log
2887			return true
2888
2889		default:
2890			return false
2891		}
2892	}
2893	// Iterator still in progress, wait for either a data or an error event
2894	select {
2895	case log := <-it.logs:
2896		it.Event = new(HermezAuctionProtocolNewOutbidding)
2897		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2898			it.fail = err
2899			return false
2900		}
2901		it.Event.Raw = log
2902		return true
2903
2904	case err := <-it.sub.Err():
2905		it.done = true
2906		it.fail = err
2907		return it.Next()
2908	}
2909}
2910
2911// Error returns any retrieval or parsing error occurred during filtering.
2912func (it *HermezAuctionProtocolNewOutbiddingIterator) Error() error {
2913	return it.fail
2914}
2915
2916// Close terminates the iteration process, releasing any pending underlying
2917// resources.
2918func (it *HermezAuctionProtocolNewOutbiddingIterator) Close() error {
2919	it.sub.Unsubscribe()
2920	return nil
2921}
2922
2923// HermezAuctionProtocolNewOutbidding represents a NewOutbidding event raised by the HermezAuctionProtocol contract.
2924type HermezAuctionProtocolNewOutbidding struct {
2925	NewOutbidding uint16
2926	Raw           types.Log // Blockchain specific contextual infos
2927}
2928
2929// FilterNewOutbidding is a free log retrieval operation binding the contract event 0xd3748b8c326e93d12af934fbf87471e315a89bc3f7b8222343acf0210edf248e.
2930//
2931// Solidity: event NewOutbidding(uint16 newOutbidding)
2932func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) FilterNewOutbidding(opts *bind.FilterOpts) (*HermezAuctionProtocolNewOutbiddingIterator, error) {
2933
2934	logs, sub, err := _HermezAuctionProtocol.contract.FilterLogs(opts, "NewOutbidding")
2935	if err != nil {
2936		return nil, err
2937	}
2938	return &HermezAuctionProtocolNewOutbiddingIterator{contract: _HermezAuctionProtocol.contract, event: "NewOutbidding", logs: logs, sub: sub}, nil
2939}
2940
2941// WatchNewOutbidding is a free log subscription operation binding the contract event 0xd3748b8c326e93d12af934fbf87471e315a89bc3f7b8222343acf0210edf248e.
2942//
2943// Solidity: event NewOutbidding(uint16 newOutbidding)
2944func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) WatchNewOutbidding(opts *bind.WatchOpts, sink chan<- *HermezAuctionProtocolNewOutbidding) (event.Subscription, error) {
2945
2946	logs, sub, err := _HermezAuctionProtocol.contract.WatchLogs(opts, "NewOutbidding")
2947	if err != nil {
2948		return nil, err
2949	}
2950	return event.NewSubscription(func(quit <-chan struct{}) error {
2951		defer sub.Unsubscribe()
2952		for {
2953			select {
2954			case log := <-logs:
2955				// New log arrived, parse the event and forward to the user
2956				event := new(HermezAuctionProtocolNewOutbidding)
2957				if err := _HermezAuctionProtocol.contract.UnpackLog(event, "NewOutbidding", log); err != nil {
2958					return err
2959				}
2960				event.Raw = log
2961
2962				select {
2963				case sink <- event:
2964				case err := <-sub.Err():
2965					return err
2966				case <-quit:
2967					return nil
2968				}
2969			case err := <-sub.Err():
2970				return err
2971			case <-quit:
2972				return nil
2973			}
2974		}
2975	}), nil
2976}
2977
2978// ParseNewOutbidding is a log parse operation binding the contract event 0xd3748b8c326e93d12af934fbf87471e315a89bc3f7b8222343acf0210edf248e.
2979//
2980// Solidity: event NewOutbidding(uint16 newOutbidding)
2981func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) ParseNewOutbidding(log types.Log) (*HermezAuctionProtocolNewOutbidding, error) {
2982	event := new(HermezAuctionProtocolNewOutbidding)
2983	if err := _HermezAuctionProtocol.contract.UnpackLog(event, "NewOutbidding", log); err != nil {
2984		return nil, err
2985	}
2986	event.Raw = log
2987	return event, nil
2988}
2989
2990// HermezAuctionProtocolNewSlotDeadlineIterator is returned from FilterNewSlotDeadline and is used to iterate over the raw logs and unpacked data for NewSlotDeadline events raised by the HermezAuctionProtocol contract.
2991type HermezAuctionProtocolNewSlotDeadlineIterator struct {
2992	Event *HermezAuctionProtocolNewSlotDeadline // Event containing the contract specifics and raw log
2993
2994	contract *bind.BoundContract // Generic contract to use for unpacking event data
2995	event    string              // Event name to use for unpacking event data
2996
2997	logs chan types.Log        // Log channel receiving the found contract events
2998	sub  ethereum.Subscription // Subscription for errors, completion and termination
2999	done bool                  // Whether the subscription completed delivering logs
3000	fail error                 // Occurred error to stop iteration
3001}
3002
3003// Next advances the iterator to the subsequent event, returning whether there
3004// are any more events found. In case of a retrieval or parsing error, false is
3005// returned and Error() can be queried for the exact failure.
3006func (it *HermezAuctionProtocolNewSlotDeadlineIterator) Next() bool {
3007	// If the iterator failed, stop iterating
3008	if it.fail != nil {
3009		return false
3010	}
3011	// If the iterator completed, deliver directly whatever's available
3012	if it.done {
3013		select {
3014		case log := <-it.logs:
3015			it.Event = new(HermezAuctionProtocolNewSlotDeadline)
3016			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
3017				it.fail = err
3018				return false
3019			}
3020			it.Event.Raw = log
3021			return true
3022
3023		default:
3024			return false
3025		}
3026	}
3027	// Iterator still in progress, wait for either a data or an error event
3028	select {
3029	case log := <-it.logs:
3030		it.Event = new(HermezAuctionProtocolNewSlotDeadline)
3031		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
3032			it.fail = err
3033			return false
3034		}
3035		it.Event.Raw = log
3036		return true
3037
3038	case err := <-it.sub.Err():
3039		it.done = true
3040		it.fail = err
3041		return it.Next()
3042	}
3043}
3044
3045// Error returns any retrieval or parsing error occurred during filtering.
3046func (it *HermezAuctionProtocolNewSlotDeadlineIterator) Error() error {
3047	return it.fail
3048}
3049
3050// Close terminates the iteration process, releasing any pending underlying
3051// resources.
3052func (it *HermezAuctionProtocolNewSlotDeadlineIterator) Close() error {
3053	it.sub.Unsubscribe()
3054	return nil
3055}
3056
3057// HermezAuctionProtocolNewSlotDeadline represents a NewSlotDeadline event raised by the HermezAuctionProtocol contract.
3058type HermezAuctionProtocolNewSlotDeadline struct {
3059	NewSlotDeadline uint8
3060	Raw             types.Log // Blockchain specific contextual infos
3061}
3062
3063// FilterNewSlotDeadline is a free log retrieval operation binding the contract event 0x4a0d90b611c15e02dbf23b10f35b936cf2c77665f8c77822d3eca131f9d986d3.
3064//
3065// Solidity: event NewSlotDeadline(uint8 newSlotDeadline)
3066func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) FilterNewSlotDeadline(opts *bind.FilterOpts) (*HermezAuctionProtocolNewSlotDeadlineIterator, error) {
3067
3068	logs, sub, err := _HermezAuctionProtocol.contract.FilterLogs(opts, "NewSlotDeadline")
3069	if err != nil {
3070		return nil, err
3071	}
3072	return &HermezAuctionProtocolNewSlotDeadlineIterator{contract: _HermezAuctionProtocol.contract, event: "NewSlotDeadline", logs: logs, sub: sub}, nil
3073}
3074
3075// WatchNewSlotDeadline is a free log subscription operation binding the contract event 0x4a0d90b611c15e02dbf23b10f35b936cf2c77665f8c77822d3eca131f9d986d3.
3076//
3077// Solidity: event NewSlotDeadline(uint8 newSlotDeadline)
3078func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) WatchNewSlotDeadline(opts *bind.WatchOpts, sink chan<- *HermezAuctionProtocolNewSlotDeadline) (event.Subscription, error) {
3079
3080	logs, sub, err := _HermezAuctionProtocol.contract.WatchLogs(opts, "NewSlotDeadline")
3081	if err != nil {
3082		return nil, err
3083	}
3084	return event.NewSubscription(func(quit <-chan struct{}) error {
3085		defer sub.Unsubscribe()
3086		for {
3087			select {
3088			case log := <-logs:
3089				// New log arrived, parse the event and forward to the user
3090				event := new(HermezAuctionProtocolNewSlotDeadline)
3091				if err := _HermezAuctionProtocol.contract.UnpackLog(event, "NewSlotDeadline", log); err != nil {
3092					return err
3093				}
3094				event.Raw = log
3095
3096				select {
3097				case sink <- event:
3098				case err := <-sub.Err():
3099					return err
3100				case <-quit:
3101					return nil
3102				}
3103			case err := <-sub.Err():
3104				return err
3105			case <-quit:
3106				return nil
3107			}
3108		}
3109	}), nil
3110}
3111
3112// ParseNewSlotDeadline is a log parse operation binding the contract event 0x4a0d90b611c15e02dbf23b10f35b936cf2c77665f8c77822d3eca131f9d986d3.
3113//
3114// Solidity: event NewSlotDeadline(uint8 newSlotDeadline)
3115func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) ParseNewSlotDeadline(log types.Log) (*HermezAuctionProtocolNewSlotDeadline, error) {
3116	event := new(HermezAuctionProtocolNewSlotDeadline)
3117	if err := _HermezAuctionProtocol.contract.UnpackLog(event, "NewSlotDeadline", log); err != nil {
3118		return nil, err
3119	}
3120	event.Raw = log
3121	return event, nil
3122}
3123
3124// HermezAuctionProtocolSetCoordinatorIterator is returned from FilterSetCoordinator and is used to iterate over the raw logs and unpacked data for SetCoordinator events raised by the HermezAuctionProtocol contract.
3125type HermezAuctionProtocolSetCoordinatorIterator struct {
3126	Event *HermezAuctionProtocolSetCoordinator // Event containing the contract specifics and raw log
3127
3128	contract *bind.BoundContract // Generic contract to use for unpacking event data
3129	event    string              // Event name to use for unpacking event data
3130
3131	logs chan types.Log        // Log channel receiving the found contract events
3132	sub  ethereum.Subscription // Subscription for errors, completion and termination
3133	done bool                  // Whether the subscription completed delivering logs
3134	fail error                 // Occurred error to stop iteration
3135}
3136
3137// Next advances the iterator to the subsequent event, returning whether there
3138// are any more events found. In case of a retrieval or parsing error, false is
3139// returned and Error() can be queried for the exact failure.
3140func (it *HermezAuctionProtocolSetCoordinatorIterator) Next() bool {
3141	// If the iterator failed, stop iterating
3142	if it.fail != nil {
3143		return false
3144	}
3145	// If the iterator completed, deliver directly whatever's available
3146	if it.done {
3147		select {
3148		case log := <-it.logs:
3149			it.Event = new(HermezAuctionProtocolSetCoordinator)
3150			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
3151				it.fail = err
3152				return false
3153			}
3154			it.Event.Raw = log
3155			return true
3156
3157		default:
3158			return false
3159		}
3160	}
3161	// Iterator still in progress, wait for either a data or an error event
3162	select {
3163	case log := <-it.logs:
3164		it.Event = new(HermezAuctionProtocolSetCoordinator)
3165		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
3166			it.fail = err
3167			return false
3168		}
3169		it.Event.Raw = log
3170		return true
3171
3172	case err := <-it.sub.Err():
3173		it.done = true
3174		it.fail = err
3175		return it.Next()
3176	}
3177}
3178
3179// Error returns any retrieval or parsing error occurred during filtering.
3180func (it *HermezAuctionProtocolSetCoordinatorIterator) Error() error {
3181	return it.fail
3182}
3183
3184// Close terminates the iteration process, releasing any pending underlying
3185// resources.
3186func (it *HermezAuctionProtocolSetCoordinatorIterator) Close() error {
3187	it.sub.Unsubscribe()
3188	return nil
3189}
3190
3191// HermezAuctionProtocolSetCoordinator represents a SetCoordinator event raised by the HermezAuctionProtocol contract.
3192type HermezAuctionProtocolSetCoordinator struct {
3193	Bidder         common.Address
3194	Forger         common.Address
3195	CoordinatorURL string
3196	Raw            types.Log // Blockchain specific contextual infos
3197}
3198
3199// FilterSetCoordinator is a free log retrieval operation binding the contract event 0x5246b2ac9ee77efe2e64af6df00055d97e2d6e1b277f5a8d17ba5bca1a573da0.
3200//
3201// Solidity: event SetCoordinator(address indexed bidder, address indexed forger, string coordinatorURL)
3202func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) FilterSetCoordinator(opts *bind.FilterOpts, bidder []common.Address, forger []common.Address) (*HermezAuctionProtocolSetCoordinatorIterator, error) {
3203
3204	var bidderRule []interface{}
3205	for _, bidderItem := range bidder {
3206		bidderRule = append(bidderRule, bidderItem)
3207	}
3208	var forgerRule []interface{}
3209	for _, forgerItem := range forger {
3210		forgerRule = append(forgerRule, forgerItem)
3211	}
3212
3213	logs, sub, err := _HermezAuctionProtocol.contract.FilterLogs(opts, "SetCoordinator", bidderRule, forgerRule)
3214	if err != nil {
3215		return nil, err
3216	}
3217	return &HermezAuctionProtocolSetCoordinatorIterator{contract: _HermezAuctionProtocol.contract, event: "SetCoordinator", logs: logs, sub: sub}, nil
3218}
3219
3220// WatchSetCoordinator is a free log subscription operation binding the contract event 0x5246b2ac9ee77efe2e64af6df00055d97e2d6e1b277f5a8d17ba5bca1a573da0.
3221//
3222// Solidity: event SetCoordinator(address indexed bidder, address indexed forger, string coordinatorURL)
3223func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) WatchSetCoordinator(opts *bind.WatchOpts, sink chan<- *HermezAuctionProtocolSetCoordinator, bidder []common.Address, forger []common.Address) (event.Subscription, error) {
3224
3225	var bidderRule []interface{}
3226	for _, bidderItem := range bidder {
3227		bidderRule = append(bidderRule, bidderItem)
3228	}
3229	var forgerRule []interface{}
3230	for _, forgerItem := range forger {
3231		forgerRule = append(forgerRule, forgerItem)
3232	}
3233
3234	logs, sub, err := _HermezAuctionProtocol.contract.WatchLogs(opts, "SetCoordinator", bidderRule, forgerRule)
3235	if err != nil {
3236		return nil, err
3237	}
3238	return event.NewSubscription(func(quit <-chan struct{}) error {
3239		defer sub.Unsubscribe()
3240		for {
3241			select {
3242			case log := <-logs:
3243				// New log arrived, parse the event and forward to the user
3244				event := new(HermezAuctionProtocolSetCoordinator)
3245				if err := _HermezAuctionProtocol.contract.UnpackLog(event, "SetCoordinator", log); err != nil {
3246					return err
3247				}
3248				event.Raw = log
3249
3250				select {
3251				case sink <- event:
3252				case err := <-sub.Err():
3253					return err
3254				case <-quit:
3255					return nil
3256				}
3257			case err := <-sub.Err():
3258				return err
3259			case <-quit:
3260				return nil
3261			}
3262		}
3263	}), nil
3264}
3265
3266// ParseSetCoordinator is a log parse operation binding the contract event 0x5246b2ac9ee77efe2e64af6df00055d97e2d6e1b277f5a8d17ba5bca1a573da0.
3267//
3268// Solidity: event SetCoordinator(address indexed bidder, address indexed forger, string coordinatorURL)
3269func (_HermezAuctionProtocol *HermezAuctionProtocolFilterer) ParseSetCoordinator(log types.Log) (*HermezAuctionProtocolSetCoordinator, error) {
3270	event := new(HermezAuctionProtocolSetCoordinator)
3271	if err := _HermezAuctionProtocol.contract.UnpackLog(event, "SetCoordinator", log); err != nil {
3272		return nil, err
3273	}
3274	event.Raw = log
3275	return event, nil
3276}