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