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