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