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