package generated

import (
	"strings"

	"github.com/autonity/autonity/accounts/abi"
	"github.com/autonity/autonity/common"
)

var AuctioneerBytecode = common.Hex2Bytes("608060405234801561001057600080fd5b5060405161362938038061362983398101604081905261002f91610236565b610038866100b7565b855160015560208601516002556040860151600355606090950151600455600780546001600160a01b03199081166001600160a01b0396871617909155600a805482169486169490941790935560058054841692851692909217909155600980548316918416919091179055600880549091169190921617905561041a565b805160000361010e576040516305519d6f60e51b815260206004820152601a60248201527f6c69717569646174696f6e41756374696f6e4475726174696f6e00000000000060448201526064015b60405180910390fd5b8060200151600003610163576040516305519d6f60e51b815260206004820152601760248201527f696e74657265737441756374696f6e4475726174696f6e0000000000000000006044820152606401610105565b61016f6012600a610407565b8160400151106101c2576040516305519d6f60e51b815260206004820152601760248201527f696e74657265737441756374696f6e446973636f756e740000000000000000006044820152606401610105565b8060600151600003610217576040516305519d6f60e51b815260206004820152601860248201527f696e74657265737441756374696f6e5468726573686f6c6400000000000000006044820152606401610105565b50565b80516001600160a01b038116811461023157600080fd5b919050565b60008060008060008086880361012081121561025157600080fd5b608081121561025f57600080fd5b50604051608081016001600160401b038111828210171561029057634e487b7160e01b600052604160045260246000fd5b6040908152885182526020808a01519083015288810151908201526060808901519082015295506102c36080880161021a565b94506102d160a0880161021a565b93506102df60c0880161021a565b92506102ed60e0880161021a565b91506102fc610100880161021a565b90509295509295509295565b634e487b7160e01b600052601160045260246000fd5b6001815b60018411156103595780850481111561033d5761033d610308565b600184161561034b57908102905b60019390931c928002610322565b935093915050565b60008261037057506001610401565b8161037d57506000610401565b8160018114610393576002811461039d576103b9565b6001915050610401565b60ff8411156103ae576103ae610308565b50506001821b610401565b5060208310610133831016604e8410600b84101617156103dc575081810a610401565b6103e9600019848461031e565b80600019048211156103fd576103fd610308565b0290505b92915050565b60006104138383610361565b9392505050565b613200806104296000396000f3fe6080604052600436106101295760003560e01c80638cd52869116100a5578063b3ab15fb11610074578063c0ef46a211610059578063c0ef46a21461031d578063c3f909d41461033d578063dc6687e21461035257600080fd5b8063b3ab15fb146102dd578063c0d1aa55146102fd57600080fd5b80638cd5286914610265578063964236631461028557806396e4547c146102b75780639cab0d30146102bf57600080fd5b8063629fc8e6116100fc5780637adbf973116100e15780637adbf973146102125780637c54e42e14610232578063898860331461024557600080fd5b8063629fc8e6146101c557806378bd7935146101e557600080fd5b806309064f9b1461012e5780631100f18e146101615780631bfa43ac146101835780634f505895146101a5575b600080fd5b34801561013a57600080fd5b5061014e610149366004612a69565b610372565b6040519081526020015b60405180910390f35b34801561016d57600080fd5b506101766103f5565b6040516101589190612a82565b34801561018f57600080fd5b506101a361019e366004612b08565b610479565b005b3480156101b157600080fd5b506101a36101c0366004612b08565b610577565b3480156101d157600080fd5b506101a36101e0366004612a69565b6106e5565b3480156101f157600080fd5b50610205610200366004612a69565b610810565b6040516101589190612b23565b34801561021e57600080fd5b506101a361022d366004612b08565b6108ea565b6101a3610240366004612b4e565b610a58565b34801561025157600080fd5b506101a3610260366004612a69565b610f8a565b34801561027157600080fd5b506101a3610280366004612a69565b6110bf565b34801561029157600080fd5b506005546001600160a01b03165b6040516001600160a01b039091168152602001610158565b6101a36111ea565b3480156102cb57600080fd5b506006546001600160a01b031661029f565b3480156102e957600080fd5b506101a36102f8366004612b08565b611371565b34801561030957600080fd5b506101a3610318366004612b81565b6114e0565b34801561032957600080fd5b5061014e610338366004612ba3565b61191c565b34801561034957600080fd5b50610205611a60565b34801561035e57600080fd5b506101a361036d366004612a69565b611ab8565b600080546001036103e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f72656164206f6e6c79207265656e7472616e637920646574656374656400000060448201526064015b60405180910390fd5b6103ed82611be3565b90505b919050565b606061040360005460011490565b1561046a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f72656164206f6e6c79207265656e7472616e637920646574656374656400000060448201526064016103db565b610474600b611c5b565b905090565b6008546001600160a01b031633146104bd576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600654604080516080808252600e908201527f70726f636565644164647265737300000000000000000000000000000000000060a08201526001600160a01b03928316602082015291831682820152436060830152517fe821ac8084a7329d09d00cf1380cba50edea5f54a7bd453d49a9c354f565d4a09181900360c00190a1600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6009546001600160a01b031633146105bb576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03811661062b576040517faa33ade000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f73746162696c697a6174696f6e5f00000000000000000000000000000000000060448201526064016103db565b600754604080516080808252600d908201527f73746162696c697a6174696f6e0000000000000000000000000000000000000060a08201526001600160a01b03928316602082015291831682820152436060830152517fe821ac8084a7329d09d00cf1380cba50edea5f54a7bd453d49a9c354f565d4a09181900360c00190a1600780547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6008546001600160a01b03163314610729576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003610793576040517faa33ade000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f6475726174696f6e00000000000000000000000000000000000000000000000060448201526064016103db565b6002546040805160808082526017908201527f696e74657265737441756374696f6e4475726174696f6e00000000000000000060a0820152602081019290925281018290524360608201527f207e45ce6f2191c3efffe5d0d91591cf81afd23cbf4bd746981d7a8a8dcfe1ba9060c00160405180910390a1600255565b61083b6040518060800160405280600081526020016000815260200160008152602001600081525090565b6000546001036108a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f72656164206f6e6c79207265656e7472616e637920646574656374656400000060448201526064016103db565b6000828152600b60205260409020604080516080810182528254815260018301546020820152600283015491810191909152600390910154606082015292915050565b6009546001600160a01b0316331461092e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03811661099e576040517faa33ade000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f6f7261636c655f0000000000000000000000000000000000000000000000000060448201526064016103db565b600a546040805160808082526006908201527f6f7261636c65000000000000000000000000000000000000000000000000000060a08201526001600160a01b03928316602082015291831682820152436060830152517fe821ac8084a7329d09d00cf1380cba50edea5f54a7bd453d49a9c354f565d4a09181900360c00190a1600a80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b610a60611d82565b6007546040517f840c7e240000000000000000000000000000000000000000000000000000000081526001600160a01b038581166004830152600092169063840c7e249060240160a060405180830381865afa158015610ac4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae89190612c97565b600a54604080518082018252600781527f4e544e2d41544e00000000000000000000000000000000000000000000000000602082015290517f3c8510fd0000000000000000000000000000000000000000000000000000000081529293506000926001600160a01b0390921691633c8510fd91610b6a91889190600401612d30565b608060405180830381865afa158015610b87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bab9190612db3565b9050610bb78183611df3565b15610bf1576040517fddb31b64000000000000000000000000000000000000000000000000000000008152600481018590526024016103db565b6007546040517f8ffba9dd0000000000000000000000000000000000000000000000000000000081526001600160a01b0387811660048301524260248301526000921690638ffba9dd90604401602060405180830381865afa158015610c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7f9190612dff565b905080341015610cbb576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020808401519083015160075460408086015190517f8ffba9dd000000000000000000000000000000000000000000000000000000008152610ded9493926001600160a01b031691638ffba9dd91610d2b918d916004016001600160a01b03929092168252602082015260400190565b602060405180830381865afa158015610d48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6c9190612dff565b600760009054906101000a90046001600160a01b03166001600160a01b03166379502c556040518163ffffffff1660e01b815260040161012060405180830381865afa158015610dc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de49190612e18565b60400151611e9a565b610e26576040517fddb31b64000000000000000000000000000000000000000000000000000000008152600481018690526024016103db565b6000610e36878460400151611ece565b905080851115610e7c576040517ff0defc6100000000000000000000000000000000000000000000000000000000815260048101829052602481018690526044016103db565b6007546040517f4914c0080000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526024820188905233604483015290911690634914c0089034906064016000604051808303818588803b158015610eea57600080fd5b505af193505050508015610efc575060015b610f32576040517fddeb79ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080513481526020810184905233916001600160a01b038a16917f224679169afb6db5d7c66f92137a4d654d1d4967d6c0cb5cb3bb09223e8edad8910160405180910390a350505050610f8560008055565b505050565b6008546001600160a01b03163314610fce576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fda6012600a612fe9565b8110611042576040517faa33ade000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f646973636f756e7400000000000000000000000000000000000000000000000060448201526064016103db565b6003546040805160808082526017908201527f696e74657265737441756374696f6e446973636f756e7400000000000000000060a0820152602081019290925281018290524360608201527f207e45ce6f2191c3efffe5d0d91591cf81afd23cbf4bd746981d7a8a8dcfe1ba9060c00160405180910390a1600355565b6008546001600160a01b03163314611103576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060000361116d576040517faa33ade000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f7468726573686f6c64000000000000000000000000000000000000000000000060448201526064016103db565b6004546040805160808082526018908201527f696e74657265737441756374696f6e5468726573686f6c64000000000000000060a0820152602081019290925281018290524360608201527f207e45ce6f2191c3efffe5d0d91591cf81afd23cbf4bd746981d7a8a8dcfe1ba9060c00160405180910390a1600455565b6007546001600160a01b0316331461122e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b34600e60008282546112409190612ff5565b9091555050600454600e541061136f57600760009054906101000a90046001600160a01b03166001600160a01b0316635891de726040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156112dd575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526112da91810190612dff565b60015b61130c576040517fcb08be81e7070984d3fcbcbc4a7b99c01a8d7722fd659fa8d2c1d6c5715a7ae890600090a1565b600e5460009061132090600b908442611fe9565b600e5460408051838152602081019290925242908201529091507f7f1eca098adf942b2cb7f72f640e98b93298c0260ca26104cbd94c55d1324b139060600160405180910390a150506000600e555b565b6009546001600160a01b031633146113b5576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116611425576040517faa33ade000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6f70657261746f725f000000000000000000000000000000000000000000000060448201526064016103db565b600880546040805160808082528101939093527f6f70657261746f7200000000000000000000000000000000000000000000000060a08401526001600160a01b03918216602084015290831682820152436060830152517fe821ac8084a7329d09d00cf1380cba50edea5f54a7bd453d49a9c354f565d4a09181900360c00190a1600880547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6114e8611d82565b6000828152600b602052604081209061150084611be3565b60018301549091508184101561154c576040517ff0defc6100000000000000000000000000000000000000000000000000000000815260048101839052602481018590526044016103db565b6005546040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815233600482015230602482015285916001600160a01b03169063dd62ed3e90604401602060405180830381865afa1580156115b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d79190612dff565b101561160f576040517f13be252b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005546040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018690526000916001600160a01b0316906323b872dd906064016020604051808303816000875af1158015611680573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a49190613008565b9050806116dd576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116e8600b876120b8565b6006546001600160a01b031615611848576005546006546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b039283169263a9059cbb92169083906370a0823190602401602060405180830381865afa158015611767573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178b9190612dff565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156117ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118129190613008565b611848576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518381526020810185905233917f115e690ff81160b136b2c20b2c2aa15264cd58226271082852b22a79e0f971f3910160405180910390a260405160009033906108fc90859084818181858888f193505050503d80600081146118ca576040519150601f19603f3d011682016040523d82523d6000602084013e6118cf565b606091505b505090508061190a576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505061191860008055565b5050565b60008054600103611989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f72656164206f6e6c79207265656e7472616e637920646574656374656400000060448201526064016103db565b600a54604080518082018252600781527f4e544e2d41544e00000000000000000000000000000000000000000000000000602082015290517f3c8510fd0000000000000000000000000000000000000000000000000000000081526000926001600160a01b031691633c8510fd91611a05918791600401612d30565b608060405180830381865afa158015611a22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a469190612db3565b9050611a56848260400151611ece565b9150505b92915050565b611a8b6040518060800160405280600081526020016000815260200160008152602001600081525090565b50604080516080810182526001548152600254602082015260035491810191909152600454606082015290565b6008546001600160a01b03163314611afc576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611b66576040517faa33ade000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f6475726174696f6e00000000000000000000000000000000000000000000000060448201526064016103db565b600154604080516080808252601a908201527f6c69717569646174696f6e41756374696f6e4475726174696f6e00000000000060a0820152602081019290925281018290524360608201527f207e45ce6f2191c3efffe5d0d91591cf81afd23cbf4bd746981d7a8a8dcfe1ba9060c00160405180910390a1600155565b6000818152600b602052604081208060030154600003611c2f576040517f6850579900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c548160030154426000611c4c856001015486600201546120ec565b6002546121c2565b9392505050565b60606000611c6b836001016122a7565b90506000815167ffffffffffffffff811115611c8957611c89612bcd565b604051908082528060200260200182016040528015611ce557816020015b611cd26040518060800160405280600081526020016000815260200160008152602001600081525090565b815260200190600190039081611ca75790505b50905060005b8251811015611d7a57846000016000848381518110611d0c57611d0c613023565b60200260200101518152602001908152602001600020604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382015481525050828281518110611d6757611d67613023565b6020908102919091010152600101611ceb565b509392505050565b60005415611dec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f7265656e7472616e63792064657465637465640000000000000000000000000060448201526064016103db565b6001600055565b6000826020015160001480611e0c575081516040840151105b80611c545750600760009054906101000a90046001600160a01b03166001600160a01b031663d0b06f5d6040518163ffffffff1660e01b8152600401608060405180830381865afa158015611e65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e899190613052565b604001518360400151109392505050565b600082600003611eac57506000611ec6565b8183611eb8868861309d565b611ec291906130e3565b1090505b949350505050565b6007546040517f840c7e240000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152600092839291169063840c7e249060240160a060405180830381865afa158015611f35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f599190612c97565b9050611a5683428360200151600760009054906101000a90046001600160a01b03166001600160a01b03166379502c556040518163ffffffff1660e01b815260040161012060405180830381865afa158015611fb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fdd9190612e18565b604001516001546122b4565b60008080611ff960018801612411565b111561203257612024600161201088600101612411565b61201a919061311e565b600188019061241b565b61202f906001612ff5565b90505b61203f6001870182612427565b15612056578061204e81613131565b915050612032565b604080516080810182528281526020808201888152828401888152606084018881526000878152938c90529490922092518355516001808401919091559051600283015591516003909101556120ae9087018261243f565b5095945050505050565b6120c5600183018261244b565b50600090815260209190915260408120818155600181018290556002810182905560030155565b600080600a60009054906101000a90046001600160a01b03166001600160a01b031663f0141d846040518163ffffffff1660e01b8152600401602060405180830381865afa158015612142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121669190613169565b61217190600a61318c565b905060006121816012600a612fe9565b60035461218e908661309d565b61219891906130e3565b6121a2908561311e565b9050806121af838761309d565b6121b991906130e3565b95945050505050565b600085851015612254576040517faa33ade000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f63757272656e7454696d657374616d70203e20737461727454696d657374616d60448201527f700000000000000000000000000000000000000000000000000000000000000060648201526084016103db565b6000612260878761311e565b905082811061227257849150506121b9565b828161227e878761311e565b612288919061309d565b61229291906130e3565b61229c908561311e565b979650505050505050565b60606000611c5483612457565b600085851015612346576040517faa33ade000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f63757272656e7454696d657374616d70203e20737461727454696d657374616d60448201527f700000000000000000000000000000000000000000000000000000000000000060648201526084016103db565b6000612352878761311e565b905082811061236457849150506121b9565b838560006123846123776012600a612fe9565b612381908661309d565b90565b905060006123a16123976012600a612fe9565b612381908961309d565b905060006123b76123b284846124b3565b6124cb565b905060006123ca6123816012600a612fe9565b905060006123ff6123f86123f16123e1858761253a565b6123eb8b8761253a565b90612549565b8490612558565b87906124b3565b9e9d5050505050505050505050505050565b60006103ed825490565b6000611c548383612567565b60008181526001830160205260408120541515611c54565b6000611c548383612591565b6000611c5483836125e0565b6060816000018054806020026020016040519081016040528092919081815260200182805480156124a757602002820191906000526020600020905b815481526020019060010190808311612493575b50505050509050919050565b6000611c5461238184670de0b6b3a7640000856126d3565b6000817812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f21811115612524576040517fedc236ad000000000000000000000000000000000000000000000000000000008152600481018490526024016103db565b611c54612381670de0b6b3a764000083026127dd565b6000611c54612381838561311e565b6000611c546123818484612962565b6000611c546123818385612ff5565b600082600001828154811061257e5761257e613023565b9060005260206000200154905092915050565b60008181526001830160205260408120546125d857508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611a5a565b506000611a5a565b600081815260018301602052604081205480156126c957600061260460018361311e565b85549091506000906126189060019061311e565b905080821461267d57600086600001828154811061263857612638613023565b906000526020600020015490508087600001848154811061265b5761265b613023565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061268e5761268e61319b565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050611a5a565b6000915050611a5a565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8587098587029250828110838203039150508060000361272b57838281612721576127216130b4565b0492505050611c54565b838110612775576040517f63a057780000000000000000000000000000000000000000000000000000000081526004810187905260248101869052604481018590526064016103db565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6000816000036127ef57506000919050565b5060018170010000000000000000000000000000000081106128165760409190911b9060801c5b6801000000000000000081106128315760209190911b9060401c5b64010000000081106128485760109190911b9060201c5b62010000811061285d5760089190911b9060101c5b61010081106128715760049190911b9060081c5b601081106128845760029190911b9060041c5b6004811061289457600182901b91505b60018284816128a5576128a56130b4565b048301901c915060018284816128bd576128bd6130b4565b048301901c915060018284816128d5576128d56130b4565b048301901c915060018284816128ed576128ed6130b4565b048301901c91506001828481612905576129056130b4565b048301901c9150600182848161291d5761291d6130b4565b048301901c91506001828481612935576129356130b4565b048301901c9150600082848161294d5761294d6130b4565b04905080831061295b578092505b5050919050565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848609848602925082811083820303915050806000036129b45750670de0b6b3a764000090049050611a5a565b670de0b6b3a764000081106129ff576040517f5173648d00000000000000000000000000000000000000000000000000000000815260048101869052602481018590526044016103db565b6000670de0b6b3a7640000858709620400008185030493109091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690291505092915050565b600060208284031215612a7b57600080fd5b5035919050565b602080825282518282018190526000918401906040840190835b81811015612ae657612ad0838551805182526020810151602083015260408101516040830152606081015160608301525050565b6020939093019260809290920191600101612a9c565b509095945050505050565b80356001600160a01b03811681146103f057600080fd5b600060208284031215612b1a57600080fd5b611c5482612af1565b8151815260208083015190820152604080830151908201526060808301519082015260808101611a5a565b600080600060608486031215612b6357600080fd5b612b6c84612af1565b95602085013595506040909401359392505050565b60008060408385031215612b9457600080fd5b50508035926020909101359150565b60008060408385031215612bb657600080fd5b612bbf83612af1565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff81118282101715612c46577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b604051610120810167ffffffffffffffff81118282101715612c46577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060a0828403128015612caa57600080fd5b5060405160009060a0810167ffffffffffffffff81118282101715612cf6577f4e487b710000000000000000000000000000000000000000000000000000000083526041600452602483fd5b6040908152845182526020808601519083015284810151908201526060808501519082015260809384015193810193909352509092915050565b828152604060208201526000825180604084015260005b81811015612d645760208186018101516060868401015201612d47565b5060006060828501015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150509392505050565b805180151581146103f057600080fd5b60006080828403128015612dc657600080fd5b50612dcf612bfc565b825181526020808401519082015260408084015190820152612df360608401612da3565b60608201529392505050565b600060208284031215612e1157600080fd5b5051919050565b6000610120828403128015612e2c57600080fd5b506000612e37612c4c565b835181526020808501519082015260408085015190820152606080850151908201526080808501519082015260a0808501519082015260c0808501519082015260e080850151908201526101009384015193810193909352509092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6001815b6001841115612f0157808504811115612ee557612ee5612e97565b6001841615612ef357908102905b60019390931c928002612eca565b935093915050565b600082612f1857506001611a5a565b81612f2557506000611a5a565b8160018114612f3b5760028114612f4557612f61565b6001915050611a5a565b60ff841115612f5657612f56612e97565b50506001821b611a5a565b5060208310610133831016604e8410600b8410161715612f84575081810a611a5a565b612faf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612ec6565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115612fe157612fe1612e97565b029392505050565b6000611c548383612f09565b80820180821115611a5a57611a5a612e97565b60006020828403121561301a57600080fd5b611c5482612da3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000608082840312801561306557600080fd5b506000613070612bfc565b83518152602080850151908201526040808501519082015260609384015193810193909352509092915050565b8082028115828204841417611a5a57611a5a612e97565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082613119577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b81810381811115611a5a57611a5a612e97565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361316257613162612e97565b5060010190565b60006020828403121561317b57600080fd5b815160ff81168114611c5457600080fd5b6000611c5460ff841683612f09565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220e619e2940d4f0b239ff9d6a06d837eff5853fad9547272aea03c08b1064b6d7964736f6c634300081e0033")

var AuctioneerAbi, _ = abi.JSON(strings.NewReader(`[
   {
      "inputs" : [
         {
            "components" : [
               {
                  "internalType" : "uint256",
                  "name" : "liquidationAuctionDuration",
                  "type" : "uint256"
               },
               {
                  "internalType" : "uint256",
                  "name" : "interestAuctionDuration",
                  "type" : "uint256"
               },
               {
                  "internalType" : "uint256",
                  "name" : "interestAuctionDiscount",
                  "type" : "uint256"
               },
               {
                  "internalType" : "uint256",
                  "name" : "interestAuctionThreshold",
                  "type" : "uint256"
               }
            ],
            "internalType" : "struct Auctioneer.Config",
            "name" : "config_",
            "type" : "tuple"
         },
         {
            "internalType" : "address",
            "name" : "stabilization_",
            "type" : "address"
         },
         {
            "internalType" : "address",
            "name" : "oracle_",
            "type" : "address"
         },
         {
            "internalType" : "address",
            "name" : "collateralToken_",
            "type" : "address"
         },
         {
            "internalType" : "address",
            "name" : "autonity_",
            "type" : "address"
         },
         {
            "internalType" : "address",
            "name" : "operator_",
            "type" : "address"
         }
      ],
      "stateMutability" : "nonpayable",
      "type" : "constructor"
   },
   {
      "inputs" : [
         {
            "internalType" : "uint256",
            "name" : "minimumBid",
            "type" : "uint256"
         },
         {
            "internalType" : "uint256",
            "name" : "bid",
            "type" : "uint256"
         }
      ],
      "name" : "BidTooLow",
      "type" : "error"
   },
   {
      "inputs" : [],
      "name" : "InsufficientAllowance",
      "type" : "error"
   },
   {
      "inputs" : [],
      "name" : "InvalidAmount",
      "type" : "error"
   },
   {
      "inputs" : [],
      "name" : "InvalidAuctionId",
      "type" : "error"
   },
   {
      "inputs" : [
         {
            "internalType" : "string",
            "name" : "message",
            "type" : "string"
         }
      ],
      "name" : "InvalidParameter",
      "type" : "error"
   },
   {
      "inputs" : [
         {
            "internalType" : "uint256",
            "name" : "round",
            "type" : "uint256"
         }
      ],
      "name" : "InvalidRound",
      "type" : "error"
   },
   {
      "inputs" : [],
      "name" : "NotLiquidatable",
      "type" : "error"
   },
   {
      "inputs" : [
         {
            "internalType" : "uint256",
            "name" : "x",
            "type" : "uint256"
         },
         {
            "internalType" : "uint256",
            "name" : "y",
            "type" : "uint256"
         }
      ],
      "name" : "PRBMath_MulDiv18_Overflow",
      "type" : "error"
   },
   {
      "inputs" : [
         {
            "internalType" : "uint256",
            "name" : "x",
            "type" : "uint256"
         },
         {
            "internalType" : "uint256",
            "name" : "y",
            "type" : "uint256"
         },
         {
            "internalType" : "uint256",
            "name" : "denominator",
            "type" : "uint256"
         }
      ],
      "name" : "PRBMath_MulDiv_Overflow",
      "type" : "error"
   },
   {
      "inputs" : [
         {
            "internalType" : "UD60x18",
            "name" : "x",
            "type" : "uint256"
         }
      ],
      "name" : "PRBMath_UD60x18_Sqrt_Overflow",
      "type" : "error"
   },
   {
      "inputs" : [],
      "name" : "TransferFailed",
      "type" : "error"
   },
   {
      "inputs" : [],
      "name" : "Unauthorized",
      "type" : "error"
   },
   {
      "anonymous" : false,
      "inputs" : [
         {
            "indexed" : true,
            "internalType" : "address",
            "name" : "debtor",
            "type" : "address"
         },
         {
            "indexed" : true,
            "internalType" : "address",
            "name" : "biddor",
            "type" : "address"
         },
         {
            "indexed" : false,
            "internalType" : "uint256",
            "name" : "collateralAmount",
            "type" : "uint256"
         },
         {
            "indexed" : false,
            "internalType" : "uint256",
            "name" : "debtAmount",
            "type" : "uint256"
         }
      ],
      "name" : "AuctionedDebt",
      "type" : "event"
   },
   {
      "anonymous" : false,
      "inputs" : [
         {
            "indexed" : true,
            "internalType" : "address",
            "name" : "biddor",
            "type" : "address"
         },
         {
            "indexed" : false,
            "internalType" : "uint256",
            "name" : "interestAmount",
            "type" : "uint256"
         },
         {
            "indexed" : false,
            "internalType" : "uint256",
            "name" : "paymentAmount",
            "type" : "uint256"
         }
      ],
      "name" : "AuctionedInterest",
      "type" : "event"
   },
   {
      "anonymous" : false,
      "inputs" : [
         {
            "indexed" : false,
            "internalType" : "string",
            "name" : "name",
            "type" : "string"
         },
         {
            "indexed" : false,
            "internalType" : "address",
            "name" : "oldValue",
            "type" : "address"
         },
         {
            "indexed" : false,
            "internalType" : "address",
            "name" : "newValue",
            "type" : "address"
         },
         {
            "indexed" : false,
            "internalType" : "uint256",
            "name" : "appliesAtHeight",
            "type" : "uint256"
         }
      ],
      "name" : "ConfigUpdateAddress",
      "type" : "event"
   },
   {
      "anonymous" : false,
      "inputs" : [
         {
            "indexed" : false,
            "internalType" : "string",
            "name" : "name",
            "type" : "string"
         },
         {
            "indexed" : false,
            "internalType" : "bool",
            "name" : "oldValue",
            "type" : "bool"
         },
         {
            "indexed" : false,
            "internalType" : "bool",
            "name" : "newValue",
            "type" : "bool"
         },
         {
            "indexed" : false,
            "internalType" : "uint256",
            "name" : "appliesAtHeight",
            "type" : "uint256"
         }
      ],
      "name" : "ConfigUpdateBool",
      "type" : "event"
   },
   {
      "anonymous" : false,
      "inputs" : [
         {
            "indexed" : false,
            "internalType" : "string",
            "name" : "name",
            "type" : "string"
         },
         {
            "indexed" : false,
            "internalType" : "int256",
            "name" : "oldValue",
            "type" : "int256"
         },
         {
            "indexed" : false,
            "internalType" : "int256",
            "name" : "newValue",
            "type" : "int256"
         },
         {
            "indexed" : false,
            "internalType" : "uint256",
            "name" : "appliesAtHeight",
            "type" : "uint256"
         }
      ],
      "name" : "ConfigUpdateInt",
      "type" : "event"
   },
   {
      "anonymous" : false,
      "inputs" : [
         {
            "indexed" : false,
            "internalType" : "string",
            "name" : "name",
            "type" : "string"
         },
         {
            "indexed" : false,
            "internalType" : "uint256",
            "name" : "oldValue",
            "type" : "uint256"
         },
         {
            "indexed" : false,
            "internalType" : "uint256",
            "name" : "newValue",
            "type" : "uint256"
         },
         {
            "indexed" : false,
            "internalType" : "uint256",
            "name" : "appliesAtHeight",
            "type" : "uint256"
         }
      ],
      "name" : "ConfigUpdateUint",
      "type" : "event"
   },
   {
      "anonymous" : false,
      "inputs" : [
         {
            "indexed" : false,
            "internalType" : "uint256",
            "name" : "auctionId",
            "type" : "uint256"
         },
         {
            "indexed" : false,
            "internalType" : "uint256",
            "name" : "amount",
            "type" : "uint256"
         },
         {
            "indexed" : false,
            "internalType" : "uint256",
            "name" : "startTimestamp",
            "type" : "uint256"
         }
      ],
      "name" : "NewInterestAuction",
      "type" : "event"
   },
   {
      "anonymous" : false,
      "inputs" : [],
      "name" : "PriceUnavailable",
      "type" : "event"
   },
   {
      "inputs" : [
         {
            "internalType" : "address",
            "name" : "debtor",
            "type" : "address"
         },
         {
            "internalType" : "uint256",
            "name" : "liquidatableRound",
            "type" : "uint256"
         },
         {
            "internalType" : "uint256",
            "name" : "ntnAmount",
            "type" : "uint256"
         }
      ],
      "name" : "bidDebt",
      "outputs" : [],
      "stateMutability" : "payable",
      "type" : "function"
   },
   {
      "inputs" : [
         {
            "internalType" : "uint256",
            "name" : "auction",
            "type" : "uint256"
         },
         {
            "internalType" : "uint256",
            "name" : "ntnAmount",
            "type" : "uint256"
         }
      ],
      "name" : "bidInterest",
      "outputs" : [],
      "stateMutability" : "nonpayable",
      "type" : "function"
   },
   {
      "inputs" : [
         {
            "internalType" : "uint256",
            "name" : "auction",
            "type" : "uint256"
         }
      ],
      "name" : "getAuction",
      "outputs" : [
         {
            "components" : [
               {
                  "internalType" : "uint256",
                  "name" : "id",
                  "type" : "uint256"
               },
               {
                  "internalType" : "uint256",
                  "name" : "amount",
                  "type" : "uint256"
               },
               {
                  "internalType" : "uint256",
                  "name" : "startPrice",
                  "type" : "uint256"
               },
               {
                  "internalType" : "uint256",
                  "name" : "startTimestamp",
                  "type" : "uint256"
               }
            ],
            "internalType" : "struct AuctionLib.Auction",
            "name" : "",
            "type" : "tuple"
         }
      ],
      "stateMutability" : "view",
      "type" : "function"
   },
   {
      "inputs" : [],
      "name" : "getCollateralToken",
      "outputs" : [
         {
            "internalType" : "address",
            "name" : "",
            "type" : "address"
         }
      ],
      "stateMutability" : "view",
      "type" : "function"
   },
   {
      "inputs" : [],
      "name" : "getConfig",
      "outputs" : [
         {
            "components" : [
               {
                  "internalType" : "uint256",
                  "name" : "liquidationAuctionDuration",
                  "type" : "uint256"
               },
               {
                  "internalType" : "uint256",
                  "name" : "interestAuctionDuration",
                  "type" : "uint256"
               },
               {
                  "internalType" : "uint256",
                  "name" : "interestAuctionDiscount",
                  "type" : "uint256"
               },
               {
                  "internalType" : "uint256",
                  "name" : "interestAuctionThreshold",
                  "type" : "uint256"
               }
            ],
            "internalType" : "struct Auctioneer.Config",
            "name" : "",
            "type" : "tuple"
         }
      ],
      "stateMutability" : "view",
      "type" : "function"
   },
   {
      "inputs" : [],
      "name" : "getProceedAddress",
      "outputs" : [
         {
            "internalType" : "address",
            "name" : "",
            "type" : "address"
         }
      ],
      "stateMutability" : "view",
      "type" : "function"
   },
   {
      "inputs" : [
         {
            "internalType" : "address",
            "name" : "debtor",
            "type" : "address"
         },
         {
            "internalType" : "uint256",
            "name" : "liquidatableRound",
            "type" : "uint256"
         }
      ],
      "name" : "maxLiquidationReturn",
      "outputs" : [
         {
            "internalType" : "uint256",
            "name" : "",
            "type" : "uint256"
         }
      ],
      "stateMutability" : "view",
      "type" : "function"
   },
   {
      "inputs" : [
         {
            "internalType" : "uint256",
            "name" : "auction",
            "type" : "uint256"
         }
      ],
      "name" : "minInterestPayment",
      "outputs" : [
         {
            "internalType" : "uint256",
            "name" : "",
            "type" : "uint256"
         }
      ],
      "stateMutability" : "view",
      "type" : "function"
   },
   {
      "inputs" : [],
      "name" : "openAuctions",
      "outputs" : [
         {
            "components" : [
               {
                  "internalType" : "uint256",
                  "name" : "id",
                  "type" : "uint256"
               },
               {
                  "internalType" : "uint256",
                  "name" : "amount",
                  "type" : "uint256"
               },
               {
                  "internalType" : "uint256",
                  "name" : "startPrice",
                  "type" : "uint256"
               },
               {
                  "internalType" : "uint256",
                  "name" : "startTimestamp",
                  "type" : "uint256"
               }
            ],
            "internalType" : "struct AuctionLib.Auction[]",
            "name" : "",
            "type" : "tuple[]"
         }
      ],
      "stateMutability" : "view",
      "type" : "function"
   },
   {
      "inputs" : [],
      "name" : "paidInterest",
      "outputs" : [],
      "stateMutability" : "payable",
      "type" : "function"
   },
   {
      "inputs" : [
         {
            "internalType" : "uint256",
            "name" : "discount",
            "type" : "uint256"
         }
      ],
      "name" : "setInterestAuctionDiscount",
      "outputs" : [],
      "stateMutability" : "nonpayable",
      "type" : "function"
   },
   {
      "inputs" : [
         {
            "internalType" : "uint256",
            "name" : "duration",
            "type" : "uint256"
         }
      ],
      "name" : "setInterestAuctionDuration",
      "outputs" : [],
      "stateMutability" : "nonpayable",
      "type" : "function"
   },
   {
      "inputs" : [
         {
            "internalType" : "uint256",
            "name" : "threshold",
            "type" : "uint256"
         }
      ],
      "name" : "setInterestAuctionThreshold",
      "outputs" : [],
      "stateMutability" : "nonpayable",
      "type" : "function"
   },
   {
      "inputs" : [
         {
            "internalType" : "uint256",
            "name" : "duration",
            "type" : "uint256"
         }
      ],
      "name" : "setLiquidationAuctionDuration",
      "outputs" : [],
      "stateMutability" : "nonpayable",
      "type" : "function"
   },
   {
      "inputs" : [
         {
            "internalType" : "address",
            "name" : "operator_",
            "type" : "address"
         }
      ],
      "name" : "setOperator",
      "outputs" : [],
      "stateMutability" : "nonpayable",
      "type" : "function"
   },
   {
      "inputs" : [
         {
            "internalType" : "address",
            "name" : "oracle_",
            "type" : "address"
         }
      ],
      "name" : "setOracle",
      "outputs" : [],
      "stateMutability" : "nonpayable",
      "type" : "function"
   },
   {
      "inputs" : [
         {
            "internalType" : "address",
            "name" : "proceedAddress_",
            "type" : "address"
         }
      ],
      "name" : "setProceedAddress",
      "outputs" : [],
      "stateMutability" : "nonpayable",
      "type" : "function"
   },
   {
      "inputs" : [
         {
            "internalType" : "address",
            "name" : "stabilization_",
            "type" : "address"
         }
      ],
      "name" : "setStabilization",
      "outputs" : [],
      "stateMutability" : "nonpayable",
      "type" : "function"
   }
]
`))
