github.com/klaytn/klaytn@v1.12.1/contracts/kip103/TreasuryRebalance.go (about)

     1  // Code generated - DO NOT EDIT.
     2  // This file is a generated binding and any manual changes will be lost.
     3  
     4  package kip103
     5  
     6  import (
     7  	"errors"
     8  	"math/big"
     9  	"strings"
    10  
    11  	"github.com/klaytn/klaytn"
    12  	"github.com/klaytn/klaytn/accounts/abi"
    13  	"github.com/klaytn/klaytn/accounts/abi/bind"
    14  	"github.com/klaytn/klaytn/blockchain/types"
    15  	"github.com/klaytn/klaytn/common"
    16  	"github.com/klaytn/klaytn/event"
    17  )
    18  
    19  // Reference imports to suppress errors if they are not otherwise used.
    20  var (
    21  	_ = errors.New
    22  	_ = big.NewInt
    23  	_ = strings.NewReader
    24  	_ = klaytn.NotFound
    25  	_ = bind.Bind
    26  	_ = common.Big1
    27  	_ = types.BloomLookup
    28  	_ = event.NewSubscription
    29  	_ = abi.ConvertType
    30  )
    31  
    32  // IRetiredContractMetaData contains all meta data concerning the IRetiredContract contract.
    33  var IRetiredContractMetaData = &bind.MetaData{
    34  	ABI: "[{\"inputs\":[],\"name\":\"getState\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"adminList\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"quorom\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
    35  	Sigs: map[string]string{
    36  		"1865c57d": "getState()",
    37  	},
    38  }
    39  
    40  // IRetiredContractABI is the input ABI used to generate the binding from.
    41  // Deprecated: Use IRetiredContractMetaData.ABI instead.
    42  var IRetiredContractABI = IRetiredContractMetaData.ABI
    43  
    44  // IRetiredContractBinRuntime is the compiled bytecode used for adding genesis block without deploying code.
    45  const IRetiredContractBinRuntime = ``
    46  
    47  // IRetiredContractFuncSigs maps the 4-byte function signature to its string representation.
    48  // Deprecated: Use IRetiredContractMetaData.Sigs instead.
    49  var IRetiredContractFuncSigs = IRetiredContractMetaData.Sigs
    50  
    51  // IRetiredContract is an auto generated Go binding around a Klaytn contract.
    52  type IRetiredContract struct {
    53  	IRetiredContractCaller     // Read-only binding to the contract
    54  	IRetiredContractTransactor // Write-only binding to the contract
    55  	IRetiredContractFilterer   // Log filterer for contract events
    56  }
    57  
    58  // IRetiredContractCaller is an auto generated read-only Go binding around a Klaytn contract.
    59  type IRetiredContractCaller struct {
    60  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    61  }
    62  
    63  // IRetiredContractTransactor is an auto generated write-only Go binding around a Klaytn contract.
    64  type IRetiredContractTransactor struct {
    65  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    66  }
    67  
    68  // IRetiredContractFilterer is an auto generated log filtering Go binding around a Klaytn contract events.
    69  type IRetiredContractFilterer struct {
    70  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    71  }
    72  
    73  // IRetiredContractSession is an auto generated Go binding around a Klaytn contract,
    74  // with pre-set call and transact options.
    75  type IRetiredContractSession struct {
    76  	Contract     *IRetiredContract // Generic contract binding to set the session for
    77  	CallOpts     bind.CallOpts     // Call options to use throughout this session
    78  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
    79  }
    80  
    81  // IRetiredContractCallerSession is an auto generated read-only Go binding around a Klaytn contract,
    82  // with pre-set call options.
    83  type IRetiredContractCallerSession struct {
    84  	Contract *IRetiredContractCaller // Generic contract caller binding to set the session for
    85  	CallOpts bind.CallOpts           // Call options to use throughout this session
    86  }
    87  
    88  // IRetiredContractTransactorSession is an auto generated write-only Go binding around a Klaytn contract,
    89  // with pre-set transact options.
    90  type IRetiredContractTransactorSession struct {
    91  	Contract     *IRetiredContractTransactor // Generic contract transactor binding to set the session for
    92  	TransactOpts bind.TransactOpts           // Transaction auth options to use throughout this session
    93  }
    94  
    95  // IRetiredContractRaw is an auto generated low-level Go binding around a Klaytn contract.
    96  type IRetiredContractRaw struct {
    97  	Contract *IRetiredContract // Generic contract binding to access the raw methods on
    98  }
    99  
   100  // IRetiredContractCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract.
   101  type IRetiredContractCallerRaw struct {
   102  	Contract *IRetiredContractCaller // Generic read-only contract binding to access the raw methods on
   103  }
   104  
   105  // IRetiredContractTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract.
   106  type IRetiredContractTransactorRaw struct {
   107  	Contract *IRetiredContractTransactor // Generic write-only contract binding to access the raw methods on
   108  }
   109  
   110  // NewIRetiredContract creates a new instance of IRetiredContract, bound to a specific deployed contract.
   111  func NewIRetiredContract(address common.Address, backend bind.ContractBackend) (*IRetiredContract, error) {
   112  	contract, err := bindIRetiredContract(address, backend, backend, backend)
   113  	if err != nil {
   114  		return nil, err
   115  	}
   116  	return &IRetiredContract{IRetiredContractCaller: IRetiredContractCaller{contract: contract}, IRetiredContractTransactor: IRetiredContractTransactor{contract: contract}, IRetiredContractFilterer: IRetiredContractFilterer{contract: contract}}, nil
   117  }
   118  
   119  // NewIRetiredContractCaller creates a new read-only instance of IRetiredContract, bound to a specific deployed contract.
   120  func NewIRetiredContractCaller(address common.Address, caller bind.ContractCaller) (*IRetiredContractCaller, error) {
   121  	contract, err := bindIRetiredContract(address, caller, nil, nil)
   122  	if err != nil {
   123  		return nil, err
   124  	}
   125  	return &IRetiredContractCaller{contract: contract}, nil
   126  }
   127  
   128  // NewIRetiredContractTransactor creates a new write-only instance of IRetiredContract, bound to a specific deployed contract.
   129  func NewIRetiredContractTransactor(address common.Address, transactor bind.ContractTransactor) (*IRetiredContractTransactor, error) {
   130  	contract, err := bindIRetiredContract(address, nil, transactor, nil)
   131  	if err != nil {
   132  		return nil, err
   133  	}
   134  	return &IRetiredContractTransactor{contract: contract}, nil
   135  }
   136  
   137  // NewIRetiredContractFilterer creates a new log filterer instance of IRetiredContract, bound to a specific deployed contract.
   138  func NewIRetiredContractFilterer(address common.Address, filterer bind.ContractFilterer) (*IRetiredContractFilterer, error) {
   139  	contract, err := bindIRetiredContract(address, nil, nil, filterer)
   140  	if err != nil {
   141  		return nil, err
   142  	}
   143  	return &IRetiredContractFilterer{contract: contract}, nil
   144  }
   145  
   146  // bindIRetiredContract binds a generic wrapper to an already deployed contract.
   147  func bindIRetiredContract(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   148  	parsed, err := IRetiredContractMetaData.GetAbi()
   149  	if err != nil {
   150  		return nil, err
   151  	}
   152  	return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil
   153  }
   154  
   155  // Call invokes the (constant) contract method with params as input values and
   156  // sets the output to result. The result type might be a single field for simple
   157  // returns, a slice of interfaces for anonymous returns and a struct for named
   158  // returns.
   159  func (_IRetiredContract *IRetiredContractRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   160  	return _IRetiredContract.Contract.IRetiredContractCaller.contract.Call(opts, result, method, params...)
   161  }
   162  
   163  // Transfer initiates a plain transaction to move funds to the contract, calling
   164  // its default method if one is available.
   165  func (_IRetiredContract *IRetiredContractRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   166  	return _IRetiredContract.Contract.IRetiredContractTransactor.contract.Transfer(opts)
   167  }
   168  
   169  // Transact invokes the (paid) contract method with params as input values.
   170  func (_IRetiredContract *IRetiredContractRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   171  	return _IRetiredContract.Contract.IRetiredContractTransactor.contract.Transact(opts, method, params...)
   172  }
   173  
   174  // Call invokes the (constant) contract method with params as input values and
   175  // sets the output to result. The result type might be a single field for simple
   176  // returns, a slice of interfaces for anonymous returns and a struct for named
   177  // returns.
   178  func (_IRetiredContract *IRetiredContractCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   179  	return _IRetiredContract.Contract.contract.Call(opts, result, method, params...)
   180  }
   181  
   182  // Transfer initiates a plain transaction to move funds to the contract, calling
   183  // its default method if one is available.
   184  func (_IRetiredContract *IRetiredContractTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   185  	return _IRetiredContract.Contract.contract.Transfer(opts)
   186  }
   187  
   188  // Transact invokes the (paid) contract method with params as input values.
   189  func (_IRetiredContract *IRetiredContractTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   190  	return _IRetiredContract.Contract.contract.Transact(opts, method, params...)
   191  }
   192  
   193  // GetState is a free data retrieval call binding the contract method 0x1865c57d.
   194  //
   195  // Solidity: function getState() view returns(address[] adminList, uint256 quorom)
   196  func (_IRetiredContract *IRetiredContractCaller) GetState(opts *bind.CallOpts) (struct {
   197  	AdminList []common.Address
   198  	Quorom    *big.Int
   199  }, error) {
   200  	var out []interface{}
   201  	err := _IRetiredContract.contract.Call(opts, &out, "getState")
   202  
   203  	outstruct := new(struct {
   204  		AdminList []common.Address
   205  		Quorom    *big.Int
   206  	})
   207  
   208  	outstruct.AdminList = *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address)
   209  	outstruct.Quorom = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int)
   210  	return *outstruct, err
   211  
   212  }
   213  
   214  // GetState is a free data retrieval call binding the contract method 0x1865c57d.
   215  //
   216  // Solidity: function getState() view returns(address[] adminList, uint256 quorom)
   217  func (_IRetiredContract *IRetiredContractSession) GetState() (struct {
   218  	AdminList []common.Address
   219  	Quorom    *big.Int
   220  }, error) {
   221  	return _IRetiredContract.Contract.GetState(&_IRetiredContract.CallOpts)
   222  }
   223  
   224  // GetState is a free data retrieval call binding the contract method 0x1865c57d.
   225  //
   226  // Solidity: function getState() view returns(address[] adminList, uint256 quorom)
   227  func (_IRetiredContract *IRetiredContractCallerSession) GetState() (struct {
   228  	AdminList []common.Address
   229  	Quorom    *big.Int
   230  }, error) {
   231  	return _IRetiredContract.Contract.GetState(&_IRetiredContract.CallOpts)
   232  }
   233  
   234  // ITreasuryRebalanceMetaData contains all meta data concerning the ITreasuryRebalance contract.
   235  var ITreasuryRebalanceMetaData = &bind.MetaData{
   236  	ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"retired\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"approversCount\",\"type\":\"uint256\"}],\"name\":\"Approved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enumITreasuryRebalance.Status\",\"name\":\"status\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"rebalanceBlockNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"deployedBlockNumber\",\"type\":\"uint256\"}],\"name\":\"ContractDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"enumITreasuryRebalance.Status\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"Finalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newbie\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fundAllocation\",\"type\":\"uint256\"}],\"name\":\"NewbieRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newbie\",\"type\":\"address\"}],\"name\":\"NewbieRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"retired\",\"type\":\"address\"}],\"name\":\"RetiredRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"retired\",\"type\":\"address\"}],\"name\":\"RetiredRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enumITreasuryRebalance.Status\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"StatusChanged\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"retiredAddress\",\"type\":\"address\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"checkRetiredsApproved\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"finalizeApproval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"name\":\"finalizeContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"finalizeRegistration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newbieAddress\",\"type\":\"address\"}],\"name\":\"getNewbie\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNewbieCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"retiredAddress\",\"type\":\"address\"}],\"name\":\"getRetired\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRetiredCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTreasuryAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"treasuryAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"memo\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rebalanceBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newbieAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"registerNewbie\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"retiredAddress\",\"type\":\"address\"}],\"name\":\"registerRetired\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newbieAddress\",\"type\":\"address\"}],\"name\":\"removeNewbie\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"retiredAddress\",\"type\":\"address\"}],\"name\":\"removeRetired\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"reset\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"status\",\"outputs\":[{\"internalType\":\"enumITreasuryRebalance.Status\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sumOfRetiredBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"retireesBalance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
   237  	Sigs: map[string]string{
   238  		"daea85c5": "approve(address)",
   239  		"966e0794": "checkRetiredsApproved()",
   240  		"faaf9ca6": "finalizeApproval()",
   241  		"ea6d4a9b": "finalizeContract(string)",
   242  		"48409096": "finalizeRegistration()",
   243  		"eb5a8e55": "getNewbie(address)",
   244  		"91734d86": "getNewbieCount()",
   245  		"bf680590": "getRetired(address)",
   246  		"d1ed33fc": "getRetiredCount()",
   247  		"e20fcf00": "getTreasuryAmount()",
   248  		"58c3b870": "memo()",
   249  		"49a3fb45": "rebalanceBlockNumber()",
   250  		"652e27e0": "registerNewbie(address,uint256)",
   251  		"1f8c1798": "registerRetired(address)",
   252  		"6864b95b": "removeNewbie(address)",
   253  		"1c1dac59": "removeRetired(address)",
   254  		"d826f88f": "reset()",
   255  		"200d2ed2": "status()",
   256  		"45205a6b": "sumOfRetiredBalance()",
   257  	},
   258  }
   259  
   260  // ITreasuryRebalanceABI is the input ABI used to generate the binding from.
   261  // Deprecated: Use ITreasuryRebalanceMetaData.ABI instead.
   262  var ITreasuryRebalanceABI = ITreasuryRebalanceMetaData.ABI
   263  
   264  // ITreasuryRebalanceBinRuntime is the compiled bytecode used for adding genesis block without deploying code.
   265  const ITreasuryRebalanceBinRuntime = ``
   266  
   267  // ITreasuryRebalanceFuncSigs maps the 4-byte function signature to its string representation.
   268  // Deprecated: Use ITreasuryRebalanceMetaData.Sigs instead.
   269  var ITreasuryRebalanceFuncSigs = ITreasuryRebalanceMetaData.Sigs
   270  
   271  // ITreasuryRebalance is an auto generated Go binding around a Klaytn contract.
   272  type ITreasuryRebalance struct {
   273  	ITreasuryRebalanceCaller     // Read-only binding to the contract
   274  	ITreasuryRebalanceTransactor // Write-only binding to the contract
   275  	ITreasuryRebalanceFilterer   // Log filterer for contract events
   276  }
   277  
   278  // ITreasuryRebalanceCaller is an auto generated read-only Go binding around a Klaytn contract.
   279  type ITreasuryRebalanceCaller struct {
   280  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
   281  }
   282  
   283  // ITreasuryRebalanceTransactor is an auto generated write-only Go binding around a Klaytn contract.
   284  type ITreasuryRebalanceTransactor struct {
   285  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
   286  }
   287  
   288  // ITreasuryRebalanceFilterer is an auto generated log filtering Go binding around a Klaytn contract events.
   289  type ITreasuryRebalanceFilterer struct {
   290  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
   291  }
   292  
   293  // ITreasuryRebalanceSession is an auto generated Go binding around a Klaytn contract,
   294  // with pre-set call and transact options.
   295  type ITreasuryRebalanceSession struct {
   296  	Contract     *ITreasuryRebalance // Generic contract binding to set the session for
   297  	CallOpts     bind.CallOpts       // Call options to use throughout this session
   298  	TransactOpts bind.TransactOpts   // Transaction auth options to use throughout this session
   299  }
   300  
   301  // ITreasuryRebalanceCallerSession is an auto generated read-only Go binding around a Klaytn contract,
   302  // with pre-set call options.
   303  type ITreasuryRebalanceCallerSession struct {
   304  	Contract *ITreasuryRebalanceCaller // Generic contract caller binding to set the session for
   305  	CallOpts bind.CallOpts             // Call options to use throughout this session
   306  }
   307  
   308  // ITreasuryRebalanceTransactorSession is an auto generated write-only Go binding around a Klaytn contract,
   309  // with pre-set transact options.
   310  type ITreasuryRebalanceTransactorSession struct {
   311  	Contract     *ITreasuryRebalanceTransactor // Generic contract transactor binding to set the session for
   312  	TransactOpts bind.TransactOpts             // Transaction auth options to use throughout this session
   313  }
   314  
   315  // ITreasuryRebalanceRaw is an auto generated low-level Go binding around a Klaytn contract.
   316  type ITreasuryRebalanceRaw struct {
   317  	Contract *ITreasuryRebalance // Generic contract binding to access the raw methods on
   318  }
   319  
   320  // ITreasuryRebalanceCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract.
   321  type ITreasuryRebalanceCallerRaw struct {
   322  	Contract *ITreasuryRebalanceCaller // Generic read-only contract binding to access the raw methods on
   323  }
   324  
   325  // ITreasuryRebalanceTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract.
   326  type ITreasuryRebalanceTransactorRaw struct {
   327  	Contract *ITreasuryRebalanceTransactor // Generic write-only contract binding to access the raw methods on
   328  }
   329  
   330  // NewITreasuryRebalance creates a new instance of ITreasuryRebalance, bound to a specific deployed contract.
   331  func NewITreasuryRebalance(address common.Address, backend bind.ContractBackend) (*ITreasuryRebalance, error) {
   332  	contract, err := bindITreasuryRebalance(address, backend, backend, backend)
   333  	if err != nil {
   334  		return nil, err
   335  	}
   336  	return &ITreasuryRebalance{ITreasuryRebalanceCaller: ITreasuryRebalanceCaller{contract: contract}, ITreasuryRebalanceTransactor: ITreasuryRebalanceTransactor{contract: contract}, ITreasuryRebalanceFilterer: ITreasuryRebalanceFilterer{contract: contract}}, nil
   337  }
   338  
   339  // NewITreasuryRebalanceCaller creates a new read-only instance of ITreasuryRebalance, bound to a specific deployed contract.
   340  func NewITreasuryRebalanceCaller(address common.Address, caller bind.ContractCaller) (*ITreasuryRebalanceCaller, error) {
   341  	contract, err := bindITreasuryRebalance(address, caller, nil, nil)
   342  	if err != nil {
   343  		return nil, err
   344  	}
   345  	return &ITreasuryRebalanceCaller{contract: contract}, nil
   346  }
   347  
   348  // NewITreasuryRebalanceTransactor creates a new write-only instance of ITreasuryRebalance, bound to a specific deployed contract.
   349  func NewITreasuryRebalanceTransactor(address common.Address, transactor bind.ContractTransactor) (*ITreasuryRebalanceTransactor, error) {
   350  	contract, err := bindITreasuryRebalance(address, nil, transactor, nil)
   351  	if err != nil {
   352  		return nil, err
   353  	}
   354  	return &ITreasuryRebalanceTransactor{contract: contract}, nil
   355  }
   356  
   357  // NewITreasuryRebalanceFilterer creates a new log filterer instance of ITreasuryRebalance, bound to a specific deployed contract.
   358  func NewITreasuryRebalanceFilterer(address common.Address, filterer bind.ContractFilterer) (*ITreasuryRebalanceFilterer, error) {
   359  	contract, err := bindITreasuryRebalance(address, nil, nil, filterer)
   360  	if err != nil {
   361  		return nil, err
   362  	}
   363  	return &ITreasuryRebalanceFilterer{contract: contract}, nil
   364  }
   365  
   366  // bindITreasuryRebalance binds a generic wrapper to an already deployed contract.
   367  func bindITreasuryRebalance(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   368  	parsed, err := ITreasuryRebalanceMetaData.GetAbi()
   369  	if err != nil {
   370  		return nil, err
   371  	}
   372  	return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil
   373  }
   374  
   375  // Call invokes the (constant) contract method with params as input values and
   376  // sets the output to result. The result type might be a single field for simple
   377  // returns, a slice of interfaces for anonymous returns and a struct for named
   378  // returns.
   379  func (_ITreasuryRebalance *ITreasuryRebalanceRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   380  	return _ITreasuryRebalance.Contract.ITreasuryRebalanceCaller.contract.Call(opts, result, method, params...)
   381  }
   382  
   383  // Transfer initiates a plain transaction to move funds to the contract, calling
   384  // its default method if one is available.
   385  func (_ITreasuryRebalance *ITreasuryRebalanceRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   386  	return _ITreasuryRebalance.Contract.ITreasuryRebalanceTransactor.contract.Transfer(opts)
   387  }
   388  
   389  // Transact invokes the (paid) contract method with params as input values.
   390  func (_ITreasuryRebalance *ITreasuryRebalanceRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   391  	return _ITreasuryRebalance.Contract.ITreasuryRebalanceTransactor.contract.Transact(opts, method, params...)
   392  }
   393  
   394  // Call invokes the (constant) contract method with params as input values and
   395  // sets the output to result. The result type might be a single field for simple
   396  // returns, a slice of interfaces for anonymous returns and a struct for named
   397  // returns.
   398  func (_ITreasuryRebalance *ITreasuryRebalanceCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   399  	return _ITreasuryRebalance.Contract.contract.Call(opts, result, method, params...)
   400  }
   401  
   402  // Transfer initiates a plain transaction to move funds to the contract, calling
   403  // its default method if one is available.
   404  func (_ITreasuryRebalance *ITreasuryRebalanceTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   405  	return _ITreasuryRebalance.Contract.contract.Transfer(opts)
   406  }
   407  
   408  // Transact invokes the (paid) contract method with params as input values.
   409  func (_ITreasuryRebalance *ITreasuryRebalanceTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   410  	return _ITreasuryRebalance.Contract.contract.Transact(opts, method, params...)
   411  }
   412  
   413  // CheckRetiredsApproved is a free data retrieval call binding the contract method 0x966e0794.
   414  //
   415  // Solidity: function checkRetiredsApproved() view returns()
   416  func (_ITreasuryRebalance *ITreasuryRebalanceCaller) CheckRetiredsApproved(opts *bind.CallOpts) error {
   417  	var out []interface{}
   418  	err := _ITreasuryRebalance.contract.Call(opts, &out, "checkRetiredsApproved")
   419  
   420  	if err != nil {
   421  		return err
   422  	}
   423  
   424  	return err
   425  
   426  }
   427  
   428  // CheckRetiredsApproved is a free data retrieval call binding the contract method 0x966e0794.
   429  //
   430  // Solidity: function checkRetiredsApproved() view returns()
   431  func (_ITreasuryRebalance *ITreasuryRebalanceSession) CheckRetiredsApproved() error {
   432  	return _ITreasuryRebalance.Contract.CheckRetiredsApproved(&_ITreasuryRebalance.CallOpts)
   433  }
   434  
   435  // CheckRetiredsApproved is a free data retrieval call binding the contract method 0x966e0794.
   436  //
   437  // Solidity: function checkRetiredsApproved() view returns()
   438  func (_ITreasuryRebalance *ITreasuryRebalanceCallerSession) CheckRetiredsApproved() error {
   439  	return _ITreasuryRebalance.Contract.CheckRetiredsApproved(&_ITreasuryRebalance.CallOpts)
   440  }
   441  
   442  // GetNewbie is a free data retrieval call binding the contract method 0xeb5a8e55.
   443  //
   444  // Solidity: function getNewbie(address newbieAddress) view returns(address, uint256)
   445  func (_ITreasuryRebalance *ITreasuryRebalanceCaller) GetNewbie(opts *bind.CallOpts, newbieAddress common.Address) (common.Address, *big.Int, error) {
   446  	var out []interface{}
   447  	err := _ITreasuryRebalance.contract.Call(opts, &out, "getNewbie", newbieAddress)
   448  
   449  	if err != nil {
   450  		return *new(common.Address), *new(*big.Int), err
   451  	}
   452  
   453  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   454  	out1 := *abi.ConvertType(out[1], new(*big.Int)).(**big.Int)
   455  
   456  	return out0, out1, err
   457  
   458  }
   459  
   460  // GetNewbie is a free data retrieval call binding the contract method 0xeb5a8e55.
   461  //
   462  // Solidity: function getNewbie(address newbieAddress) view returns(address, uint256)
   463  func (_ITreasuryRebalance *ITreasuryRebalanceSession) GetNewbie(newbieAddress common.Address) (common.Address, *big.Int, error) {
   464  	return _ITreasuryRebalance.Contract.GetNewbie(&_ITreasuryRebalance.CallOpts, newbieAddress)
   465  }
   466  
   467  // GetNewbie is a free data retrieval call binding the contract method 0xeb5a8e55.
   468  //
   469  // Solidity: function getNewbie(address newbieAddress) view returns(address, uint256)
   470  func (_ITreasuryRebalance *ITreasuryRebalanceCallerSession) GetNewbie(newbieAddress common.Address) (common.Address, *big.Int, error) {
   471  	return _ITreasuryRebalance.Contract.GetNewbie(&_ITreasuryRebalance.CallOpts, newbieAddress)
   472  }
   473  
   474  // GetNewbieCount is a free data retrieval call binding the contract method 0x91734d86.
   475  //
   476  // Solidity: function getNewbieCount() view returns(uint256)
   477  func (_ITreasuryRebalance *ITreasuryRebalanceCaller) GetNewbieCount(opts *bind.CallOpts) (*big.Int, error) {
   478  	var out []interface{}
   479  	err := _ITreasuryRebalance.contract.Call(opts, &out, "getNewbieCount")
   480  
   481  	if err != nil {
   482  		return *new(*big.Int), err
   483  	}
   484  
   485  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   486  
   487  	return out0, err
   488  
   489  }
   490  
   491  // GetNewbieCount is a free data retrieval call binding the contract method 0x91734d86.
   492  //
   493  // Solidity: function getNewbieCount() view returns(uint256)
   494  func (_ITreasuryRebalance *ITreasuryRebalanceSession) GetNewbieCount() (*big.Int, error) {
   495  	return _ITreasuryRebalance.Contract.GetNewbieCount(&_ITreasuryRebalance.CallOpts)
   496  }
   497  
   498  // GetNewbieCount is a free data retrieval call binding the contract method 0x91734d86.
   499  //
   500  // Solidity: function getNewbieCount() view returns(uint256)
   501  func (_ITreasuryRebalance *ITreasuryRebalanceCallerSession) GetNewbieCount() (*big.Int, error) {
   502  	return _ITreasuryRebalance.Contract.GetNewbieCount(&_ITreasuryRebalance.CallOpts)
   503  }
   504  
   505  // GetRetired is a free data retrieval call binding the contract method 0xbf680590.
   506  //
   507  // Solidity: function getRetired(address retiredAddress) view returns(address, address[])
   508  func (_ITreasuryRebalance *ITreasuryRebalanceCaller) GetRetired(opts *bind.CallOpts, retiredAddress common.Address) (common.Address, []common.Address, error) {
   509  	var out []interface{}
   510  	err := _ITreasuryRebalance.contract.Call(opts, &out, "getRetired", retiredAddress)
   511  
   512  	if err != nil {
   513  		return *new(common.Address), *new([]common.Address), err
   514  	}
   515  
   516  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   517  	out1 := *abi.ConvertType(out[1], new([]common.Address)).(*[]common.Address)
   518  
   519  	return out0, out1, err
   520  
   521  }
   522  
   523  // GetRetired is a free data retrieval call binding the contract method 0xbf680590.
   524  //
   525  // Solidity: function getRetired(address retiredAddress) view returns(address, address[])
   526  func (_ITreasuryRebalance *ITreasuryRebalanceSession) GetRetired(retiredAddress common.Address) (common.Address, []common.Address, error) {
   527  	return _ITreasuryRebalance.Contract.GetRetired(&_ITreasuryRebalance.CallOpts, retiredAddress)
   528  }
   529  
   530  // GetRetired is a free data retrieval call binding the contract method 0xbf680590.
   531  //
   532  // Solidity: function getRetired(address retiredAddress) view returns(address, address[])
   533  func (_ITreasuryRebalance *ITreasuryRebalanceCallerSession) GetRetired(retiredAddress common.Address) (common.Address, []common.Address, error) {
   534  	return _ITreasuryRebalance.Contract.GetRetired(&_ITreasuryRebalance.CallOpts, retiredAddress)
   535  }
   536  
   537  // GetRetiredCount is a free data retrieval call binding the contract method 0xd1ed33fc.
   538  //
   539  // Solidity: function getRetiredCount() view returns(uint256)
   540  func (_ITreasuryRebalance *ITreasuryRebalanceCaller) GetRetiredCount(opts *bind.CallOpts) (*big.Int, error) {
   541  	var out []interface{}
   542  	err := _ITreasuryRebalance.contract.Call(opts, &out, "getRetiredCount")
   543  
   544  	if err != nil {
   545  		return *new(*big.Int), err
   546  	}
   547  
   548  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   549  
   550  	return out0, err
   551  
   552  }
   553  
   554  // GetRetiredCount is a free data retrieval call binding the contract method 0xd1ed33fc.
   555  //
   556  // Solidity: function getRetiredCount() view returns(uint256)
   557  func (_ITreasuryRebalance *ITreasuryRebalanceSession) GetRetiredCount() (*big.Int, error) {
   558  	return _ITreasuryRebalance.Contract.GetRetiredCount(&_ITreasuryRebalance.CallOpts)
   559  }
   560  
   561  // GetRetiredCount is a free data retrieval call binding the contract method 0xd1ed33fc.
   562  //
   563  // Solidity: function getRetiredCount() view returns(uint256)
   564  func (_ITreasuryRebalance *ITreasuryRebalanceCallerSession) GetRetiredCount() (*big.Int, error) {
   565  	return _ITreasuryRebalance.Contract.GetRetiredCount(&_ITreasuryRebalance.CallOpts)
   566  }
   567  
   568  // GetTreasuryAmount is a free data retrieval call binding the contract method 0xe20fcf00.
   569  //
   570  // Solidity: function getTreasuryAmount() view returns(uint256 treasuryAmount)
   571  func (_ITreasuryRebalance *ITreasuryRebalanceCaller) GetTreasuryAmount(opts *bind.CallOpts) (*big.Int, error) {
   572  	var out []interface{}
   573  	err := _ITreasuryRebalance.contract.Call(opts, &out, "getTreasuryAmount")
   574  
   575  	if err != nil {
   576  		return *new(*big.Int), err
   577  	}
   578  
   579  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   580  
   581  	return out0, err
   582  
   583  }
   584  
   585  // GetTreasuryAmount is a free data retrieval call binding the contract method 0xe20fcf00.
   586  //
   587  // Solidity: function getTreasuryAmount() view returns(uint256 treasuryAmount)
   588  func (_ITreasuryRebalance *ITreasuryRebalanceSession) GetTreasuryAmount() (*big.Int, error) {
   589  	return _ITreasuryRebalance.Contract.GetTreasuryAmount(&_ITreasuryRebalance.CallOpts)
   590  }
   591  
   592  // GetTreasuryAmount is a free data retrieval call binding the contract method 0xe20fcf00.
   593  //
   594  // Solidity: function getTreasuryAmount() view returns(uint256 treasuryAmount)
   595  func (_ITreasuryRebalance *ITreasuryRebalanceCallerSession) GetTreasuryAmount() (*big.Int, error) {
   596  	return _ITreasuryRebalance.Contract.GetTreasuryAmount(&_ITreasuryRebalance.CallOpts)
   597  }
   598  
   599  // Memo is a free data retrieval call binding the contract method 0x58c3b870.
   600  //
   601  // Solidity: function memo() view returns(string)
   602  func (_ITreasuryRebalance *ITreasuryRebalanceCaller) Memo(opts *bind.CallOpts) (string, error) {
   603  	var out []interface{}
   604  	err := _ITreasuryRebalance.contract.Call(opts, &out, "memo")
   605  
   606  	if err != nil {
   607  		return *new(string), err
   608  	}
   609  
   610  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   611  
   612  	return out0, err
   613  
   614  }
   615  
   616  // Memo is a free data retrieval call binding the contract method 0x58c3b870.
   617  //
   618  // Solidity: function memo() view returns(string)
   619  func (_ITreasuryRebalance *ITreasuryRebalanceSession) Memo() (string, error) {
   620  	return _ITreasuryRebalance.Contract.Memo(&_ITreasuryRebalance.CallOpts)
   621  }
   622  
   623  // Memo is a free data retrieval call binding the contract method 0x58c3b870.
   624  //
   625  // Solidity: function memo() view returns(string)
   626  func (_ITreasuryRebalance *ITreasuryRebalanceCallerSession) Memo() (string, error) {
   627  	return _ITreasuryRebalance.Contract.Memo(&_ITreasuryRebalance.CallOpts)
   628  }
   629  
   630  // RebalanceBlockNumber is a free data retrieval call binding the contract method 0x49a3fb45.
   631  //
   632  // Solidity: function rebalanceBlockNumber() view returns(uint256)
   633  func (_ITreasuryRebalance *ITreasuryRebalanceCaller) RebalanceBlockNumber(opts *bind.CallOpts) (*big.Int, error) {
   634  	var out []interface{}
   635  	err := _ITreasuryRebalance.contract.Call(opts, &out, "rebalanceBlockNumber")
   636  
   637  	if err != nil {
   638  		return *new(*big.Int), err
   639  	}
   640  
   641  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   642  
   643  	return out0, err
   644  
   645  }
   646  
   647  // RebalanceBlockNumber is a free data retrieval call binding the contract method 0x49a3fb45.
   648  //
   649  // Solidity: function rebalanceBlockNumber() view returns(uint256)
   650  func (_ITreasuryRebalance *ITreasuryRebalanceSession) RebalanceBlockNumber() (*big.Int, error) {
   651  	return _ITreasuryRebalance.Contract.RebalanceBlockNumber(&_ITreasuryRebalance.CallOpts)
   652  }
   653  
   654  // RebalanceBlockNumber is a free data retrieval call binding the contract method 0x49a3fb45.
   655  //
   656  // Solidity: function rebalanceBlockNumber() view returns(uint256)
   657  func (_ITreasuryRebalance *ITreasuryRebalanceCallerSession) RebalanceBlockNumber() (*big.Int, error) {
   658  	return _ITreasuryRebalance.Contract.RebalanceBlockNumber(&_ITreasuryRebalance.CallOpts)
   659  }
   660  
   661  // Status is a free data retrieval call binding the contract method 0x200d2ed2.
   662  //
   663  // Solidity: function status() view returns(uint8)
   664  func (_ITreasuryRebalance *ITreasuryRebalanceCaller) Status(opts *bind.CallOpts) (uint8, error) {
   665  	var out []interface{}
   666  	err := _ITreasuryRebalance.contract.Call(opts, &out, "status")
   667  
   668  	if err != nil {
   669  		return *new(uint8), err
   670  	}
   671  
   672  	out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8)
   673  
   674  	return out0, err
   675  
   676  }
   677  
   678  // Status is a free data retrieval call binding the contract method 0x200d2ed2.
   679  //
   680  // Solidity: function status() view returns(uint8)
   681  func (_ITreasuryRebalance *ITreasuryRebalanceSession) Status() (uint8, error) {
   682  	return _ITreasuryRebalance.Contract.Status(&_ITreasuryRebalance.CallOpts)
   683  }
   684  
   685  // Status is a free data retrieval call binding the contract method 0x200d2ed2.
   686  //
   687  // Solidity: function status() view returns(uint8)
   688  func (_ITreasuryRebalance *ITreasuryRebalanceCallerSession) Status() (uint8, error) {
   689  	return _ITreasuryRebalance.Contract.Status(&_ITreasuryRebalance.CallOpts)
   690  }
   691  
   692  // SumOfRetiredBalance is a free data retrieval call binding the contract method 0x45205a6b.
   693  //
   694  // Solidity: function sumOfRetiredBalance() view returns(uint256 retireesBalance)
   695  func (_ITreasuryRebalance *ITreasuryRebalanceCaller) SumOfRetiredBalance(opts *bind.CallOpts) (*big.Int, error) {
   696  	var out []interface{}
   697  	err := _ITreasuryRebalance.contract.Call(opts, &out, "sumOfRetiredBalance")
   698  
   699  	if err != nil {
   700  		return *new(*big.Int), err
   701  	}
   702  
   703  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   704  
   705  	return out0, err
   706  
   707  }
   708  
   709  // SumOfRetiredBalance is a free data retrieval call binding the contract method 0x45205a6b.
   710  //
   711  // Solidity: function sumOfRetiredBalance() view returns(uint256 retireesBalance)
   712  func (_ITreasuryRebalance *ITreasuryRebalanceSession) SumOfRetiredBalance() (*big.Int, error) {
   713  	return _ITreasuryRebalance.Contract.SumOfRetiredBalance(&_ITreasuryRebalance.CallOpts)
   714  }
   715  
   716  // SumOfRetiredBalance is a free data retrieval call binding the contract method 0x45205a6b.
   717  //
   718  // Solidity: function sumOfRetiredBalance() view returns(uint256 retireesBalance)
   719  func (_ITreasuryRebalance *ITreasuryRebalanceCallerSession) SumOfRetiredBalance() (*big.Int, error) {
   720  	return _ITreasuryRebalance.Contract.SumOfRetiredBalance(&_ITreasuryRebalance.CallOpts)
   721  }
   722  
   723  // Approve is a paid mutator transaction binding the contract method 0xdaea85c5.
   724  //
   725  // Solidity: function approve(address retiredAddress) returns()
   726  func (_ITreasuryRebalance *ITreasuryRebalanceTransactor) Approve(opts *bind.TransactOpts, retiredAddress common.Address) (*types.Transaction, error) {
   727  	return _ITreasuryRebalance.contract.Transact(opts, "approve", retiredAddress)
   728  }
   729  
   730  // Approve is a paid mutator transaction binding the contract method 0xdaea85c5.
   731  //
   732  // Solidity: function approve(address retiredAddress) returns()
   733  func (_ITreasuryRebalance *ITreasuryRebalanceSession) Approve(retiredAddress common.Address) (*types.Transaction, error) {
   734  	return _ITreasuryRebalance.Contract.Approve(&_ITreasuryRebalance.TransactOpts, retiredAddress)
   735  }
   736  
   737  // Approve is a paid mutator transaction binding the contract method 0xdaea85c5.
   738  //
   739  // Solidity: function approve(address retiredAddress) returns()
   740  func (_ITreasuryRebalance *ITreasuryRebalanceTransactorSession) Approve(retiredAddress common.Address) (*types.Transaction, error) {
   741  	return _ITreasuryRebalance.Contract.Approve(&_ITreasuryRebalance.TransactOpts, retiredAddress)
   742  }
   743  
   744  // FinalizeApproval is a paid mutator transaction binding the contract method 0xfaaf9ca6.
   745  //
   746  // Solidity: function finalizeApproval() returns()
   747  func (_ITreasuryRebalance *ITreasuryRebalanceTransactor) FinalizeApproval(opts *bind.TransactOpts) (*types.Transaction, error) {
   748  	return _ITreasuryRebalance.contract.Transact(opts, "finalizeApproval")
   749  }
   750  
   751  // FinalizeApproval is a paid mutator transaction binding the contract method 0xfaaf9ca6.
   752  //
   753  // Solidity: function finalizeApproval() returns()
   754  func (_ITreasuryRebalance *ITreasuryRebalanceSession) FinalizeApproval() (*types.Transaction, error) {
   755  	return _ITreasuryRebalance.Contract.FinalizeApproval(&_ITreasuryRebalance.TransactOpts)
   756  }
   757  
   758  // FinalizeApproval is a paid mutator transaction binding the contract method 0xfaaf9ca6.
   759  //
   760  // Solidity: function finalizeApproval() returns()
   761  func (_ITreasuryRebalance *ITreasuryRebalanceTransactorSession) FinalizeApproval() (*types.Transaction, error) {
   762  	return _ITreasuryRebalance.Contract.FinalizeApproval(&_ITreasuryRebalance.TransactOpts)
   763  }
   764  
   765  // FinalizeContract is a paid mutator transaction binding the contract method 0xea6d4a9b.
   766  //
   767  // Solidity: function finalizeContract(string memo) returns()
   768  func (_ITreasuryRebalance *ITreasuryRebalanceTransactor) FinalizeContract(opts *bind.TransactOpts, memo string) (*types.Transaction, error) {
   769  	return _ITreasuryRebalance.contract.Transact(opts, "finalizeContract", memo)
   770  }
   771  
   772  // FinalizeContract is a paid mutator transaction binding the contract method 0xea6d4a9b.
   773  //
   774  // Solidity: function finalizeContract(string memo) returns()
   775  func (_ITreasuryRebalance *ITreasuryRebalanceSession) FinalizeContract(memo string) (*types.Transaction, error) {
   776  	return _ITreasuryRebalance.Contract.FinalizeContract(&_ITreasuryRebalance.TransactOpts, memo)
   777  }
   778  
   779  // FinalizeContract is a paid mutator transaction binding the contract method 0xea6d4a9b.
   780  //
   781  // Solidity: function finalizeContract(string memo) returns()
   782  func (_ITreasuryRebalance *ITreasuryRebalanceTransactorSession) FinalizeContract(memo string) (*types.Transaction, error) {
   783  	return _ITreasuryRebalance.Contract.FinalizeContract(&_ITreasuryRebalance.TransactOpts, memo)
   784  }
   785  
   786  // FinalizeRegistration is a paid mutator transaction binding the contract method 0x48409096.
   787  //
   788  // Solidity: function finalizeRegistration() returns()
   789  func (_ITreasuryRebalance *ITreasuryRebalanceTransactor) FinalizeRegistration(opts *bind.TransactOpts) (*types.Transaction, error) {
   790  	return _ITreasuryRebalance.contract.Transact(opts, "finalizeRegistration")
   791  }
   792  
   793  // FinalizeRegistration is a paid mutator transaction binding the contract method 0x48409096.
   794  //
   795  // Solidity: function finalizeRegistration() returns()
   796  func (_ITreasuryRebalance *ITreasuryRebalanceSession) FinalizeRegistration() (*types.Transaction, error) {
   797  	return _ITreasuryRebalance.Contract.FinalizeRegistration(&_ITreasuryRebalance.TransactOpts)
   798  }
   799  
   800  // FinalizeRegistration is a paid mutator transaction binding the contract method 0x48409096.
   801  //
   802  // Solidity: function finalizeRegistration() returns()
   803  func (_ITreasuryRebalance *ITreasuryRebalanceTransactorSession) FinalizeRegistration() (*types.Transaction, error) {
   804  	return _ITreasuryRebalance.Contract.FinalizeRegistration(&_ITreasuryRebalance.TransactOpts)
   805  }
   806  
   807  // RegisterNewbie is a paid mutator transaction binding the contract method 0x652e27e0.
   808  //
   809  // Solidity: function registerNewbie(address newbieAddress, uint256 amount) returns()
   810  func (_ITreasuryRebalance *ITreasuryRebalanceTransactor) RegisterNewbie(opts *bind.TransactOpts, newbieAddress common.Address, amount *big.Int) (*types.Transaction, error) {
   811  	return _ITreasuryRebalance.contract.Transact(opts, "registerNewbie", newbieAddress, amount)
   812  }
   813  
   814  // RegisterNewbie is a paid mutator transaction binding the contract method 0x652e27e0.
   815  //
   816  // Solidity: function registerNewbie(address newbieAddress, uint256 amount) returns()
   817  func (_ITreasuryRebalance *ITreasuryRebalanceSession) RegisterNewbie(newbieAddress common.Address, amount *big.Int) (*types.Transaction, error) {
   818  	return _ITreasuryRebalance.Contract.RegisterNewbie(&_ITreasuryRebalance.TransactOpts, newbieAddress, amount)
   819  }
   820  
   821  // RegisterNewbie is a paid mutator transaction binding the contract method 0x652e27e0.
   822  //
   823  // Solidity: function registerNewbie(address newbieAddress, uint256 amount) returns()
   824  func (_ITreasuryRebalance *ITreasuryRebalanceTransactorSession) RegisterNewbie(newbieAddress common.Address, amount *big.Int) (*types.Transaction, error) {
   825  	return _ITreasuryRebalance.Contract.RegisterNewbie(&_ITreasuryRebalance.TransactOpts, newbieAddress, amount)
   826  }
   827  
   828  // RegisterRetired is a paid mutator transaction binding the contract method 0x1f8c1798.
   829  //
   830  // Solidity: function registerRetired(address retiredAddress) returns()
   831  func (_ITreasuryRebalance *ITreasuryRebalanceTransactor) RegisterRetired(opts *bind.TransactOpts, retiredAddress common.Address) (*types.Transaction, error) {
   832  	return _ITreasuryRebalance.contract.Transact(opts, "registerRetired", retiredAddress)
   833  }
   834  
   835  // RegisterRetired is a paid mutator transaction binding the contract method 0x1f8c1798.
   836  //
   837  // Solidity: function registerRetired(address retiredAddress) returns()
   838  func (_ITreasuryRebalance *ITreasuryRebalanceSession) RegisterRetired(retiredAddress common.Address) (*types.Transaction, error) {
   839  	return _ITreasuryRebalance.Contract.RegisterRetired(&_ITreasuryRebalance.TransactOpts, retiredAddress)
   840  }
   841  
   842  // RegisterRetired is a paid mutator transaction binding the contract method 0x1f8c1798.
   843  //
   844  // Solidity: function registerRetired(address retiredAddress) returns()
   845  func (_ITreasuryRebalance *ITreasuryRebalanceTransactorSession) RegisterRetired(retiredAddress common.Address) (*types.Transaction, error) {
   846  	return _ITreasuryRebalance.Contract.RegisterRetired(&_ITreasuryRebalance.TransactOpts, retiredAddress)
   847  }
   848  
   849  // RemoveNewbie is a paid mutator transaction binding the contract method 0x6864b95b.
   850  //
   851  // Solidity: function removeNewbie(address newbieAddress) returns()
   852  func (_ITreasuryRebalance *ITreasuryRebalanceTransactor) RemoveNewbie(opts *bind.TransactOpts, newbieAddress common.Address) (*types.Transaction, error) {
   853  	return _ITreasuryRebalance.contract.Transact(opts, "removeNewbie", newbieAddress)
   854  }
   855  
   856  // RemoveNewbie is a paid mutator transaction binding the contract method 0x6864b95b.
   857  //
   858  // Solidity: function removeNewbie(address newbieAddress) returns()
   859  func (_ITreasuryRebalance *ITreasuryRebalanceSession) RemoveNewbie(newbieAddress common.Address) (*types.Transaction, error) {
   860  	return _ITreasuryRebalance.Contract.RemoveNewbie(&_ITreasuryRebalance.TransactOpts, newbieAddress)
   861  }
   862  
   863  // RemoveNewbie is a paid mutator transaction binding the contract method 0x6864b95b.
   864  //
   865  // Solidity: function removeNewbie(address newbieAddress) returns()
   866  func (_ITreasuryRebalance *ITreasuryRebalanceTransactorSession) RemoveNewbie(newbieAddress common.Address) (*types.Transaction, error) {
   867  	return _ITreasuryRebalance.Contract.RemoveNewbie(&_ITreasuryRebalance.TransactOpts, newbieAddress)
   868  }
   869  
   870  // RemoveRetired is a paid mutator transaction binding the contract method 0x1c1dac59.
   871  //
   872  // Solidity: function removeRetired(address retiredAddress) returns()
   873  func (_ITreasuryRebalance *ITreasuryRebalanceTransactor) RemoveRetired(opts *bind.TransactOpts, retiredAddress common.Address) (*types.Transaction, error) {
   874  	return _ITreasuryRebalance.contract.Transact(opts, "removeRetired", retiredAddress)
   875  }
   876  
   877  // RemoveRetired is a paid mutator transaction binding the contract method 0x1c1dac59.
   878  //
   879  // Solidity: function removeRetired(address retiredAddress) returns()
   880  func (_ITreasuryRebalance *ITreasuryRebalanceSession) RemoveRetired(retiredAddress common.Address) (*types.Transaction, error) {
   881  	return _ITreasuryRebalance.Contract.RemoveRetired(&_ITreasuryRebalance.TransactOpts, retiredAddress)
   882  }
   883  
   884  // RemoveRetired is a paid mutator transaction binding the contract method 0x1c1dac59.
   885  //
   886  // Solidity: function removeRetired(address retiredAddress) returns()
   887  func (_ITreasuryRebalance *ITreasuryRebalanceTransactorSession) RemoveRetired(retiredAddress common.Address) (*types.Transaction, error) {
   888  	return _ITreasuryRebalance.Contract.RemoveRetired(&_ITreasuryRebalance.TransactOpts, retiredAddress)
   889  }
   890  
   891  // Reset is a paid mutator transaction binding the contract method 0xd826f88f.
   892  //
   893  // Solidity: function reset() returns()
   894  func (_ITreasuryRebalance *ITreasuryRebalanceTransactor) Reset(opts *bind.TransactOpts) (*types.Transaction, error) {
   895  	return _ITreasuryRebalance.contract.Transact(opts, "reset")
   896  }
   897  
   898  // Reset is a paid mutator transaction binding the contract method 0xd826f88f.
   899  //
   900  // Solidity: function reset() returns()
   901  func (_ITreasuryRebalance *ITreasuryRebalanceSession) Reset() (*types.Transaction, error) {
   902  	return _ITreasuryRebalance.Contract.Reset(&_ITreasuryRebalance.TransactOpts)
   903  }
   904  
   905  // Reset is a paid mutator transaction binding the contract method 0xd826f88f.
   906  //
   907  // Solidity: function reset() returns()
   908  func (_ITreasuryRebalance *ITreasuryRebalanceTransactorSession) Reset() (*types.Transaction, error) {
   909  	return _ITreasuryRebalance.Contract.Reset(&_ITreasuryRebalance.TransactOpts)
   910  }
   911  
   912  // ITreasuryRebalanceApprovedIterator is returned from FilterApproved and is used to iterate over the raw logs and unpacked data for Approved events raised by the ITreasuryRebalance contract.
   913  type ITreasuryRebalanceApprovedIterator struct {
   914  	Event *ITreasuryRebalanceApproved // Event containing the contract specifics and raw log
   915  
   916  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   917  	event    string              // Event name to use for unpacking event data
   918  
   919  	logs chan types.Log      // Log channel receiving the found contract events
   920  	sub  klaytn.Subscription // Subscription for errors, completion and termination
   921  	done bool                // Whether the subscription completed delivering logs
   922  	fail error               // Occurred error to stop iteration
   923  }
   924  
   925  // Next advances the iterator to the subsequent event, returning whether there
   926  // are any more events found. In case of a retrieval or parsing error, false is
   927  // returned and Error() can be queried for the exact failure.
   928  func (it *ITreasuryRebalanceApprovedIterator) Next() bool {
   929  	// If the iterator failed, stop iterating
   930  	if it.fail != nil {
   931  		return false
   932  	}
   933  	// If the iterator completed, deliver directly whatever's available
   934  	if it.done {
   935  		select {
   936  		case log := <-it.logs:
   937  			it.Event = new(ITreasuryRebalanceApproved)
   938  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   939  				it.fail = err
   940  				return false
   941  			}
   942  			it.Event.Raw = log
   943  			return true
   944  
   945  		default:
   946  			return false
   947  		}
   948  	}
   949  	// Iterator still in progress, wait for either a data or an error event
   950  	select {
   951  	case log := <-it.logs:
   952  		it.Event = new(ITreasuryRebalanceApproved)
   953  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   954  			it.fail = err
   955  			return false
   956  		}
   957  		it.Event.Raw = log
   958  		return true
   959  
   960  	case err := <-it.sub.Err():
   961  		it.done = true
   962  		it.fail = err
   963  		return it.Next()
   964  	}
   965  }
   966  
   967  // Error returns any retrieval or parsing error occurred during filtering.
   968  func (it *ITreasuryRebalanceApprovedIterator) Error() error {
   969  	return it.fail
   970  }
   971  
   972  // Close terminates the iteration process, releasing any pending underlying
   973  // resources.
   974  func (it *ITreasuryRebalanceApprovedIterator) Close() error {
   975  	it.sub.Unsubscribe()
   976  	return nil
   977  }
   978  
   979  // ITreasuryRebalanceApproved represents a Approved event raised by the ITreasuryRebalance contract.
   980  type ITreasuryRebalanceApproved struct {
   981  	Retired        common.Address
   982  	Approver       common.Address
   983  	ApproversCount *big.Int
   984  	Raw            types.Log // Blockchain specific contextual infos
   985  }
   986  
   987  // FilterApproved is a free log retrieval operation binding the contract event 0x80da462ebfbe41cfc9bc015e7a9a3c7a2a73dbccede72d8ceb583606c27f8f90.
   988  //
   989  // Solidity: event Approved(address retired, address approver, uint256 approversCount)
   990  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) FilterApproved(opts *bind.FilterOpts) (*ITreasuryRebalanceApprovedIterator, error) {
   991  
   992  	logs, sub, err := _ITreasuryRebalance.contract.FilterLogs(opts, "Approved")
   993  	if err != nil {
   994  		return nil, err
   995  	}
   996  	return &ITreasuryRebalanceApprovedIterator{contract: _ITreasuryRebalance.contract, event: "Approved", logs: logs, sub: sub}, nil
   997  }
   998  
   999  // WatchApproved is a free log subscription operation binding the contract event 0x80da462ebfbe41cfc9bc015e7a9a3c7a2a73dbccede72d8ceb583606c27f8f90.
  1000  //
  1001  // Solidity: event Approved(address retired, address approver, uint256 approversCount)
  1002  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) WatchApproved(opts *bind.WatchOpts, sink chan<- *ITreasuryRebalanceApproved) (event.Subscription, error) {
  1003  
  1004  	logs, sub, err := _ITreasuryRebalance.contract.WatchLogs(opts, "Approved")
  1005  	if err != nil {
  1006  		return nil, err
  1007  	}
  1008  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1009  		defer sub.Unsubscribe()
  1010  		for {
  1011  			select {
  1012  			case log := <-logs:
  1013  				// New log arrived, parse the event and forward to the user
  1014  				event := new(ITreasuryRebalanceApproved)
  1015  				if err := _ITreasuryRebalance.contract.UnpackLog(event, "Approved", log); err != nil {
  1016  					return err
  1017  				}
  1018  				event.Raw = log
  1019  
  1020  				select {
  1021  				case sink <- event:
  1022  				case err := <-sub.Err():
  1023  					return err
  1024  				case <-quit:
  1025  					return nil
  1026  				}
  1027  			case err := <-sub.Err():
  1028  				return err
  1029  			case <-quit:
  1030  				return nil
  1031  			}
  1032  		}
  1033  	}), nil
  1034  }
  1035  
  1036  // ParseApproved is a log parse operation binding the contract event 0x80da462ebfbe41cfc9bc015e7a9a3c7a2a73dbccede72d8ceb583606c27f8f90.
  1037  //
  1038  // Solidity: event Approved(address retired, address approver, uint256 approversCount)
  1039  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) ParseApproved(log types.Log) (*ITreasuryRebalanceApproved, error) {
  1040  	event := new(ITreasuryRebalanceApproved)
  1041  	if err := _ITreasuryRebalance.contract.UnpackLog(event, "Approved", log); err != nil {
  1042  		return nil, err
  1043  	}
  1044  	return event, nil
  1045  }
  1046  
  1047  // ITreasuryRebalanceContractDeployedIterator is returned from FilterContractDeployed and is used to iterate over the raw logs and unpacked data for ContractDeployed events raised by the ITreasuryRebalance contract.
  1048  type ITreasuryRebalanceContractDeployedIterator struct {
  1049  	Event *ITreasuryRebalanceContractDeployed // Event containing the contract specifics and raw log
  1050  
  1051  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1052  	event    string              // Event name to use for unpacking event data
  1053  
  1054  	logs chan types.Log      // Log channel receiving the found contract events
  1055  	sub  klaytn.Subscription // Subscription for errors, completion and termination
  1056  	done bool                // Whether the subscription completed delivering logs
  1057  	fail error               // Occurred error to stop iteration
  1058  }
  1059  
  1060  // Next advances the iterator to the subsequent event, returning whether there
  1061  // are any more events found. In case of a retrieval or parsing error, false is
  1062  // returned and Error() can be queried for the exact failure.
  1063  func (it *ITreasuryRebalanceContractDeployedIterator) Next() bool {
  1064  	// If the iterator failed, stop iterating
  1065  	if it.fail != nil {
  1066  		return false
  1067  	}
  1068  	// If the iterator completed, deliver directly whatever's available
  1069  	if it.done {
  1070  		select {
  1071  		case log := <-it.logs:
  1072  			it.Event = new(ITreasuryRebalanceContractDeployed)
  1073  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1074  				it.fail = err
  1075  				return false
  1076  			}
  1077  			it.Event.Raw = log
  1078  			return true
  1079  
  1080  		default:
  1081  			return false
  1082  		}
  1083  	}
  1084  	// Iterator still in progress, wait for either a data or an error event
  1085  	select {
  1086  	case log := <-it.logs:
  1087  		it.Event = new(ITreasuryRebalanceContractDeployed)
  1088  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1089  			it.fail = err
  1090  			return false
  1091  		}
  1092  		it.Event.Raw = log
  1093  		return true
  1094  
  1095  	case err := <-it.sub.Err():
  1096  		it.done = true
  1097  		it.fail = err
  1098  		return it.Next()
  1099  	}
  1100  }
  1101  
  1102  // Error returns any retrieval or parsing error occurred during filtering.
  1103  func (it *ITreasuryRebalanceContractDeployedIterator) Error() error {
  1104  	return it.fail
  1105  }
  1106  
  1107  // Close terminates the iteration process, releasing any pending underlying
  1108  // resources.
  1109  func (it *ITreasuryRebalanceContractDeployedIterator) Close() error {
  1110  	it.sub.Unsubscribe()
  1111  	return nil
  1112  }
  1113  
  1114  // ITreasuryRebalanceContractDeployed represents a ContractDeployed event raised by the ITreasuryRebalance contract.
  1115  type ITreasuryRebalanceContractDeployed struct {
  1116  	Status               uint8
  1117  	RebalanceBlockNumber *big.Int
  1118  	DeployedBlockNumber  *big.Int
  1119  	Raw                  types.Log // Blockchain specific contextual infos
  1120  }
  1121  
  1122  // FilterContractDeployed is a free log retrieval operation binding the contract event 0x6f182006c5a12fe70c0728eedb2d1b0628c41483ca6721c606707d778d22ed0a.
  1123  //
  1124  // Solidity: event ContractDeployed(uint8 status, uint256 rebalanceBlockNumber, uint256 deployedBlockNumber)
  1125  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) FilterContractDeployed(opts *bind.FilterOpts) (*ITreasuryRebalanceContractDeployedIterator, error) {
  1126  
  1127  	logs, sub, err := _ITreasuryRebalance.contract.FilterLogs(opts, "ContractDeployed")
  1128  	if err != nil {
  1129  		return nil, err
  1130  	}
  1131  	return &ITreasuryRebalanceContractDeployedIterator{contract: _ITreasuryRebalance.contract, event: "ContractDeployed", logs: logs, sub: sub}, nil
  1132  }
  1133  
  1134  // WatchContractDeployed is a free log subscription operation binding the contract event 0x6f182006c5a12fe70c0728eedb2d1b0628c41483ca6721c606707d778d22ed0a.
  1135  //
  1136  // Solidity: event ContractDeployed(uint8 status, uint256 rebalanceBlockNumber, uint256 deployedBlockNumber)
  1137  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) WatchContractDeployed(opts *bind.WatchOpts, sink chan<- *ITreasuryRebalanceContractDeployed) (event.Subscription, error) {
  1138  
  1139  	logs, sub, err := _ITreasuryRebalance.contract.WatchLogs(opts, "ContractDeployed")
  1140  	if err != nil {
  1141  		return nil, err
  1142  	}
  1143  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1144  		defer sub.Unsubscribe()
  1145  		for {
  1146  			select {
  1147  			case log := <-logs:
  1148  				// New log arrived, parse the event and forward to the user
  1149  				event := new(ITreasuryRebalanceContractDeployed)
  1150  				if err := _ITreasuryRebalance.contract.UnpackLog(event, "ContractDeployed", log); err != nil {
  1151  					return err
  1152  				}
  1153  				event.Raw = log
  1154  
  1155  				select {
  1156  				case sink <- event:
  1157  				case err := <-sub.Err():
  1158  					return err
  1159  				case <-quit:
  1160  					return nil
  1161  				}
  1162  			case err := <-sub.Err():
  1163  				return err
  1164  			case <-quit:
  1165  				return nil
  1166  			}
  1167  		}
  1168  	}), nil
  1169  }
  1170  
  1171  // ParseContractDeployed is a log parse operation binding the contract event 0x6f182006c5a12fe70c0728eedb2d1b0628c41483ca6721c606707d778d22ed0a.
  1172  //
  1173  // Solidity: event ContractDeployed(uint8 status, uint256 rebalanceBlockNumber, uint256 deployedBlockNumber)
  1174  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) ParseContractDeployed(log types.Log) (*ITreasuryRebalanceContractDeployed, error) {
  1175  	event := new(ITreasuryRebalanceContractDeployed)
  1176  	if err := _ITreasuryRebalance.contract.UnpackLog(event, "ContractDeployed", log); err != nil {
  1177  		return nil, err
  1178  	}
  1179  	return event, nil
  1180  }
  1181  
  1182  // ITreasuryRebalanceFinalizedIterator is returned from FilterFinalized and is used to iterate over the raw logs and unpacked data for Finalized events raised by the ITreasuryRebalance contract.
  1183  type ITreasuryRebalanceFinalizedIterator struct {
  1184  	Event *ITreasuryRebalanceFinalized // Event containing the contract specifics and raw log
  1185  
  1186  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1187  	event    string              // Event name to use for unpacking event data
  1188  
  1189  	logs chan types.Log      // Log channel receiving the found contract events
  1190  	sub  klaytn.Subscription // Subscription for errors, completion and termination
  1191  	done bool                // Whether the subscription completed delivering logs
  1192  	fail error               // Occurred error to stop iteration
  1193  }
  1194  
  1195  // Next advances the iterator to the subsequent event, returning whether there
  1196  // are any more events found. In case of a retrieval or parsing error, false is
  1197  // returned and Error() can be queried for the exact failure.
  1198  func (it *ITreasuryRebalanceFinalizedIterator) Next() bool {
  1199  	// If the iterator failed, stop iterating
  1200  	if it.fail != nil {
  1201  		return false
  1202  	}
  1203  	// If the iterator completed, deliver directly whatever's available
  1204  	if it.done {
  1205  		select {
  1206  		case log := <-it.logs:
  1207  			it.Event = new(ITreasuryRebalanceFinalized)
  1208  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1209  				it.fail = err
  1210  				return false
  1211  			}
  1212  			it.Event.Raw = log
  1213  			return true
  1214  
  1215  		default:
  1216  			return false
  1217  		}
  1218  	}
  1219  	// Iterator still in progress, wait for either a data or an error event
  1220  	select {
  1221  	case log := <-it.logs:
  1222  		it.Event = new(ITreasuryRebalanceFinalized)
  1223  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1224  			it.fail = err
  1225  			return false
  1226  		}
  1227  		it.Event.Raw = log
  1228  		return true
  1229  
  1230  	case err := <-it.sub.Err():
  1231  		it.done = true
  1232  		it.fail = err
  1233  		return it.Next()
  1234  	}
  1235  }
  1236  
  1237  // Error returns any retrieval or parsing error occurred during filtering.
  1238  func (it *ITreasuryRebalanceFinalizedIterator) Error() error {
  1239  	return it.fail
  1240  }
  1241  
  1242  // Close terminates the iteration process, releasing any pending underlying
  1243  // resources.
  1244  func (it *ITreasuryRebalanceFinalizedIterator) Close() error {
  1245  	it.sub.Unsubscribe()
  1246  	return nil
  1247  }
  1248  
  1249  // ITreasuryRebalanceFinalized represents a Finalized event raised by the ITreasuryRebalance contract.
  1250  type ITreasuryRebalanceFinalized struct {
  1251  	Memo   string
  1252  	Status uint8
  1253  	Raw    types.Log // Blockchain specific contextual infos
  1254  }
  1255  
  1256  // FilterFinalized is a free log retrieval operation binding the contract event 0x8f8636c7757ca9b7d154e1d44ca90d8e8c885b9eac417c59bbf8eb7779ca6404.
  1257  //
  1258  // Solidity: event Finalized(string memo, uint8 status)
  1259  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) FilterFinalized(opts *bind.FilterOpts) (*ITreasuryRebalanceFinalizedIterator, error) {
  1260  
  1261  	logs, sub, err := _ITreasuryRebalance.contract.FilterLogs(opts, "Finalized")
  1262  	if err != nil {
  1263  		return nil, err
  1264  	}
  1265  	return &ITreasuryRebalanceFinalizedIterator{contract: _ITreasuryRebalance.contract, event: "Finalized", logs: logs, sub: sub}, nil
  1266  }
  1267  
  1268  // WatchFinalized is a free log subscription operation binding the contract event 0x8f8636c7757ca9b7d154e1d44ca90d8e8c885b9eac417c59bbf8eb7779ca6404.
  1269  //
  1270  // Solidity: event Finalized(string memo, uint8 status)
  1271  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) WatchFinalized(opts *bind.WatchOpts, sink chan<- *ITreasuryRebalanceFinalized) (event.Subscription, error) {
  1272  
  1273  	logs, sub, err := _ITreasuryRebalance.contract.WatchLogs(opts, "Finalized")
  1274  	if err != nil {
  1275  		return nil, err
  1276  	}
  1277  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1278  		defer sub.Unsubscribe()
  1279  		for {
  1280  			select {
  1281  			case log := <-logs:
  1282  				// New log arrived, parse the event and forward to the user
  1283  				event := new(ITreasuryRebalanceFinalized)
  1284  				if err := _ITreasuryRebalance.contract.UnpackLog(event, "Finalized", log); err != nil {
  1285  					return err
  1286  				}
  1287  				event.Raw = log
  1288  
  1289  				select {
  1290  				case sink <- event:
  1291  				case err := <-sub.Err():
  1292  					return err
  1293  				case <-quit:
  1294  					return nil
  1295  				}
  1296  			case err := <-sub.Err():
  1297  				return err
  1298  			case <-quit:
  1299  				return nil
  1300  			}
  1301  		}
  1302  	}), nil
  1303  }
  1304  
  1305  // ParseFinalized is a log parse operation binding the contract event 0x8f8636c7757ca9b7d154e1d44ca90d8e8c885b9eac417c59bbf8eb7779ca6404.
  1306  //
  1307  // Solidity: event Finalized(string memo, uint8 status)
  1308  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) ParseFinalized(log types.Log) (*ITreasuryRebalanceFinalized, error) {
  1309  	event := new(ITreasuryRebalanceFinalized)
  1310  	if err := _ITreasuryRebalance.contract.UnpackLog(event, "Finalized", log); err != nil {
  1311  		return nil, err
  1312  	}
  1313  	return event, nil
  1314  }
  1315  
  1316  // ITreasuryRebalanceNewbieRegisteredIterator is returned from FilterNewbieRegistered and is used to iterate over the raw logs and unpacked data for NewbieRegistered events raised by the ITreasuryRebalance contract.
  1317  type ITreasuryRebalanceNewbieRegisteredIterator struct {
  1318  	Event *ITreasuryRebalanceNewbieRegistered // Event containing the contract specifics and raw log
  1319  
  1320  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1321  	event    string              // Event name to use for unpacking event data
  1322  
  1323  	logs chan types.Log      // Log channel receiving the found contract events
  1324  	sub  klaytn.Subscription // Subscription for errors, completion and termination
  1325  	done bool                // Whether the subscription completed delivering logs
  1326  	fail error               // Occurred error to stop iteration
  1327  }
  1328  
  1329  // Next advances the iterator to the subsequent event, returning whether there
  1330  // are any more events found. In case of a retrieval or parsing error, false is
  1331  // returned and Error() can be queried for the exact failure.
  1332  func (it *ITreasuryRebalanceNewbieRegisteredIterator) Next() bool {
  1333  	// If the iterator failed, stop iterating
  1334  	if it.fail != nil {
  1335  		return false
  1336  	}
  1337  	// If the iterator completed, deliver directly whatever's available
  1338  	if it.done {
  1339  		select {
  1340  		case log := <-it.logs:
  1341  			it.Event = new(ITreasuryRebalanceNewbieRegistered)
  1342  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1343  				it.fail = err
  1344  				return false
  1345  			}
  1346  			it.Event.Raw = log
  1347  			return true
  1348  
  1349  		default:
  1350  			return false
  1351  		}
  1352  	}
  1353  	// Iterator still in progress, wait for either a data or an error event
  1354  	select {
  1355  	case log := <-it.logs:
  1356  		it.Event = new(ITreasuryRebalanceNewbieRegistered)
  1357  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1358  			it.fail = err
  1359  			return false
  1360  		}
  1361  		it.Event.Raw = log
  1362  		return true
  1363  
  1364  	case err := <-it.sub.Err():
  1365  		it.done = true
  1366  		it.fail = err
  1367  		return it.Next()
  1368  	}
  1369  }
  1370  
  1371  // Error returns any retrieval or parsing error occurred during filtering.
  1372  func (it *ITreasuryRebalanceNewbieRegisteredIterator) Error() error {
  1373  	return it.fail
  1374  }
  1375  
  1376  // Close terminates the iteration process, releasing any pending underlying
  1377  // resources.
  1378  func (it *ITreasuryRebalanceNewbieRegisteredIterator) Close() error {
  1379  	it.sub.Unsubscribe()
  1380  	return nil
  1381  }
  1382  
  1383  // ITreasuryRebalanceNewbieRegistered represents a NewbieRegistered event raised by the ITreasuryRebalance contract.
  1384  type ITreasuryRebalanceNewbieRegistered struct {
  1385  	Newbie         common.Address
  1386  	FundAllocation *big.Int
  1387  	Raw            types.Log // Blockchain specific contextual infos
  1388  }
  1389  
  1390  // FilterNewbieRegistered is a free log retrieval operation binding the contract event 0xd261b37cd56b21cd1af841dca6331a133e5d8b9d55c2c6fe0ec822e2a303ef74.
  1391  //
  1392  // Solidity: event NewbieRegistered(address newbie, uint256 fundAllocation)
  1393  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) FilterNewbieRegistered(opts *bind.FilterOpts) (*ITreasuryRebalanceNewbieRegisteredIterator, error) {
  1394  
  1395  	logs, sub, err := _ITreasuryRebalance.contract.FilterLogs(opts, "NewbieRegistered")
  1396  	if err != nil {
  1397  		return nil, err
  1398  	}
  1399  	return &ITreasuryRebalanceNewbieRegisteredIterator{contract: _ITreasuryRebalance.contract, event: "NewbieRegistered", logs: logs, sub: sub}, nil
  1400  }
  1401  
  1402  // WatchNewbieRegistered is a free log subscription operation binding the contract event 0xd261b37cd56b21cd1af841dca6331a133e5d8b9d55c2c6fe0ec822e2a303ef74.
  1403  //
  1404  // Solidity: event NewbieRegistered(address newbie, uint256 fundAllocation)
  1405  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) WatchNewbieRegistered(opts *bind.WatchOpts, sink chan<- *ITreasuryRebalanceNewbieRegistered) (event.Subscription, error) {
  1406  
  1407  	logs, sub, err := _ITreasuryRebalance.contract.WatchLogs(opts, "NewbieRegistered")
  1408  	if err != nil {
  1409  		return nil, err
  1410  	}
  1411  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1412  		defer sub.Unsubscribe()
  1413  		for {
  1414  			select {
  1415  			case log := <-logs:
  1416  				// New log arrived, parse the event and forward to the user
  1417  				event := new(ITreasuryRebalanceNewbieRegistered)
  1418  				if err := _ITreasuryRebalance.contract.UnpackLog(event, "NewbieRegistered", log); err != nil {
  1419  					return err
  1420  				}
  1421  				event.Raw = log
  1422  
  1423  				select {
  1424  				case sink <- event:
  1425  				case err := <-sub.Err():
  1426  					return err
  1427  				case <-quit:
  1428  					return nil
  1429  				}
  1430  			case err := <-sub.Err():
  1431  				return err
  1432  			case <-quit:
  1433  				return nil
  1434  			}
  1435  		}
  1436  	}), nil
  1437  }
  1438  
  1439  // ParseNewbieRegistered is a log parse operation binding the contract event 0xd261b37cd56b21cd1af841dca6331a133e5d8b9d55c2c6fe0ec822e2a303ef74.
  1440  //
  1441  // Solidity: event NewbieRegistered(address newbie, uint256 fundAllocation)
  1442  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) ParseNewbieRegistered(log types.Log) (*ITreasuryRebalanceNewbieRegistered, error) {
  1443  	event := new(ITreasuryRebalanceNewbieRegistered)
  1444  	if err := _ITreasuryRebalance.contract.UnpackLog(event, "NewbieRegistered", log); err != nil {
  1445  		return nil, err
  1446  	}
  1447  	return event, nil
  1448  }
  1449  
  1450  // ITreasuryRebalanceNewbieRemovedIterator is returned from FilterNewbieRemoved and is used to iterate over the raw logs and unpacked data for NewbieRemoved events raised by the ITreasuryRebalance contract.
  1451  type ITreasuryRebalanceNewbieRemovedIterator struct {
  1452  	Event *ITreasuryRebalanceNewbieRemoved // Event containing the contract specifics and raw log
  1453  
  1454  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1455  	event    string              // Event name to use for unpacking event data
  1456  
  1457  	logs chan types.Log      // Log channel receiving the found contract events
  1458  	sub  klaytn.Subscription // Subscription for errors, completion and termination
  1459  	done bool                // Whether the subscription completed delivering logs
  1460  	fail error               // Occurred error to stop iteration
  1461  }
  1462  
  1463  // Next advances the iterator to the subsequent event, returning whether there
  1464  // are any more events found. In case of a retrieval or parsing error, false is
  1465  // returned and Error() can be queried for the exact failure.
  1466  func (it *ITreasuryRebalanceNewbieRemovedIterator) Next() bool {
  1467  	// If the iterator failed, stop iterating
  1468  	if it.fail != nil {
  1469  		return false
  1470  	}
  1471  	// If the iterator completed, deliver directly whatever's available
  1472  	if it.done {
  1473  		select {
  1474  		case log := <-it.logs:
  1475  			it.Event = new(ITreasuryRebalanceNewbieRemoved)
  1476  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1477  				it.fail = err
  1478  				return false
  1479  			}
  1480  			it.Event.Raw = log
  1481  			return true
  1482  
  1483  		default:
  1484  			return false
  1485  		}
  1486  	}
  1487  	// Iterator still in progress, wait for either a data or an error event
  1488  	select {
  1489  	case log := <-it.logs:
  1490  		it.Event = new(ITreasuryRebalanceNewbieRemoved)
  1491  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1492  			it.fail = err
  1493  			return false
  1494  		}
  1495  		it.Event.Raw = log
  1496  		return true
  1497  
  1498  	case err := <-it.sub.Err():
  1499  		it.done = true
  1500  		it.fail = err
  1501  		return it.Next()
  1502  	}
  1503  }
  1504  
  1505  // Error returns any retrieval or parsing error occurred during filtering.
  1506  func (it *ITreasuryRebalanceNewbieRemovedIterator) Error() error {
  1507  	return it.fail
  1508  }
  1509  
  1510  // Close terminates the iteration process, releasing any pending underlying
  1511  // resources.
  1512  func (it *ITreasuryRebalanceNewbieRemovedIterator) Close() error {
  1513  	it.sub.Unsubscribe()
  1514  	return nil
  1515  }
  1516  
  1517  // ITreasuryRebalanceNewbieRemoved represents a NewbieRemoved event raised by the ITreasuryRebalance contract.
  1518  type ITreasuryRebalanceNewbieRemoved struct {
  1519  	Newbie common.Address
  1520  	Raw    types.Log // Blockchain specific contextual infos
  1521  }
  1522  
  1523  // FilterNewbieRemoved is a free log retrieval operation binding the contract event 0xe630072edaed8f0fccf534c7eaa063290db8f775b0824c7261d01e6619da4b38.
  1524  //
  1525  // Solidity: event NewbieRemoved(address newbie)
  1526  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) FilterNewbieRemoved(opts *bind.FilterOpts) (*ITreasuryRebalanceNewbieRemovedIterator, error) {
  1527  
  1528  	logs, sub, err := _ITreasuryRebalance.contract.FilterLogs(opts, "NewbieRemoved")
  1529  	if err != nil {
  1530  		return nil, err
  1531  	}
  1532  	return &ITreasuryRebalanceNewbieRemovedIterator{contract: _ITreasuryRebalance.contract, event: "NewbieRemoved", logs: logs, sub: sub}, nil
  1533  }
  1534  
  1535  // WatchNewbieRemoved is a free log subscription operation binding the contract event 0xe630072edaed8f0fccf534c7eaa063290db8f775b0824c7261d01e6619da4b38.
  1536  //
  1537  // Solidity: event NewbieRemoved(address newbie)
  1538  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) WatchNewbieRemoved(opts *bind.WatchOpts, sink chan<- *ITreasuryRebalanceNewbieRemoved) (event.Subscription, error) {
  1539  
  1540  	logs, sub, err := _ITreasuryRebalance.contract.WatchLogs(opts, "NewbieRemoved")
  1541  	if err != nil {
  1542  		return nil, err
  1543  	}
  1544  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1545  		defer sub.Unsubscribe()
  1546  		for {
  1547  			select {
  1548  			case log := <-logs:
  1549  				// New log arrived, parse the event and forward to the user
  1550  				event := new(ITreasuryRebalanceNewbieRemoved)
  1551  				if err := _ITreasuryRebalance.contract.UnpackLog(event, "NewbieRemoved", log); err != nil {
  1552  					return err
  1553  				}
  1554  				event.Raw = log
  1555  
  1556  				select {
  1557  				case sink <- event:
  1558  				case err := <-sub.Err():
  1559  					return err
  1560  				case <-quit:
  1561  					return nil
  1562  				}
  1563  			case err := <-sub.Err():
  1564  				return err
  1565  			case <-quit:
  1566  				return nil
  1567  			}
  1568  		}
  1569  	}), nil
  1570  }
  1571  
  1572  // ParseNewbieRemoved is a log parse operation binding the contract event 0xe630072edaed8f0fccf534c7eaa063290db8f775b0824c7261d01e6619da4b38.
  1573  //
  1574  // Solidity: event NewbieRemoved(address newbie)
  1575  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) ParseNewbieRemoved(log types.Log) (*ITreasuryRebalanceNewbieRemoved, error) {
  1576  	event := new(ITreasuryRebalanceNewbieRemoved)
  1577  	if err := _ITreasuryRebalance.contract.UnpackLog(event, "NewbieRemoved", log); err != nil {
  1578  		return nil, err
  1579  	}
  1580  	return event, nil
  1581  }
  1582  
  1583  // ITreasuryRebalanceRetiredRegisteredIterator is returned from FilterRetiredRegistered and is used to iterate over the raw logs and unpacked data for RetiredRegistered events raised by the ITreasuryRebalance contract.
  1584  type ITreasuryRebalanceRetiredRegisteredIterator struct {
  1585  	Event *ITreasuryRebalanceRetiredRegistered // Event containing the contract specifics and raw log
  1586  
  1587  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1588  	event    string              // Event name to use for unpacking event data
  1589  
  1590  	logs chan types.Log      // Log channel receiving the found contract events
  1591  	sub  klaytn.Subscription // Subscription for errors, completion and termination
  1592  	done bool                // Whether the subscription completed delivering logs
  1593  	fail error               // Occurred error to stop iteration
  1594  }
  1595  
  1596  // Next advances the iterator to the subsequent event, returning whether there
  1597  // are any more events found. In case of a retrieval or parsing error, false is
  1598  // returned and Error() can be queried for the exact failure.
  1599  func (it *ITreasuryRebalanceRetiredRegisteredIterator) Next() bool {
  1600  	// If the iterator failed, stop iterating
  1601  	if it.fail != nil {
  1602  		return false
  1603  	}
  1604  	// If the iterator completed, deliver directly whatever's available
  1605  	if it.done {
  1606  		select {
  1607  		case log := <-it.logs:
  1608  			it.Event = new(ITreasuryRebalanceRetiredRegistered)
  1609  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1610  				it.fail = err
  1611  				return false
  1612  			}
  1613  			it.Event.Raw = log
  1614  			return true
  1615  
  1616  		default:
  1617  			return false
  1618  		}
  1619  	}
  1620  	// Iterator still in progress, wait for either a data or an error event
  1621  	select {
  1622  	case log := <-it.logs:
  1623  		it.Event = new(ITreasuryRebalanceRetiredRegistered)
  1624  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1625  			it.fail = err
  1626  			return false
  1627  		}
  1628  		it.Event.Raw = log
  1629  		return true
  1630  
  1631  	case err := <-it.sub.Err():
  1632  		it.done = true
  1633  		it.fail = err
  1634  		return it.Next()
  1635  	}
  1636  }
  1637  
  1638  // Error returns any retrieval or parsing error occurred during filtering.
  1639  func (it *ITreasuryRebalanceRetiredRegisteredIterator) Error() error {
  1640  	return it.fail
  1641  }
  1642  
  1643  // Close terminates the iteration process, releasing any pending underlying
  1644  // resources.
  1645  func (it *ITreasuryRebalanceRetiredRegisteredIterator) Close() error {
  1646  	it.sub.Unsubscribe()
  1647  	return nil
  1648  }
  1649  
  1650  // ITreasuryRebalanceRetiredRegistered represents a RetiredRegistered event raised by the ITreasuryRebalance contract.
  1651  type ITreasuryRebalanceRetiredRegistered struct {
  1652  	Retired common.Address
  1653  	Raw     types.Log // Blockchain specific contextual infos
  1654  }
  1655  
  1656  // FilterRetiredRegistered is a free log retrieval operation binding the contract event 0x7da2e87d0b02df1162d5736cc40dfcfffd17198aaf093ddff4a8f4eb26002fde.
  1657  //
  1658  // Solidity: event RetiredRegistered(address retired)
  1659  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) FilterRetiredRegistered(opts *bind.FilterOpts) (*ITreasuryRebalanceRetiredRegisteredIterator, error) {
  1660  
  1661  	logs, sub, err := _ITreasuryRebalance.contract.FilterLogs(opts, "RetiredRegistered")
  1662  	if err != nil {
  1663  		return nil, err
  1664  	}
  1665  	return &ITreasuryRebalanceRetiredRegisteredIterator{contract: _ITreasuryRebalance.contract, event: "RetiredRegistered", logs: logs, sub: sub}, nil
  1666  }
  1667  
  1668  // WatchRetiredRegistered is a free log subscription operation binding the contract event 0x7da2e87d0b02df1162d5736cc40dfcfffd17198aaf093ddff4a8f4eb26002fde.
  1669  //
  1670  // Solidity: event RetiredRegistered(address retired)
  1671  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) WatchRetiredRegistered(opts *bind.WatchOpts, sink chan<- *ITreasuryRebalanceRetiredRegistered) (event.Subscription, error) {
  1672  
  1673  	logs, sub, err := _ITreasuryRebalance.contract.WatchLogs(opts, "RetiredRegistered")
  1674  	if err != nil {
  1675  		return nil, err
  1676  	}
  1677  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1678  		defer sub.Unsubscribe()
  1679  		for {
  1680  			select {
  1681  			case log := <-logs:
  1682  				// New log arrived, parse the event and forward to the user
  1683  				event := new(ITreasuryRebalanceRetiredRegistered)
  1684  				if err := _ITreasuryRebalance.contract.UnpackLog(event, "RetiredRegistered", log); err != nil {
  1685  					return err
  1686  				}
  1687  				event.Raw = log
  1688  
  1689  				select {
  1690  				case sink <- event:
  1691  				case err := <-sub.Err():
  1692  					return err
  1693  				case <-quit:
  1694  					return nil
  1695  				}
  1696  			case err := <-sub.Err():
  1697  				return err
  1698  			case <-quit:
  1699  				return nil
  1700  			}
  1701  		}
  1702  	}), nil
  1703  }
  1704  
  1705  // ParseRetiredRegistered is a log parse operation binding the contract event 0x7da2e87d0b02df1162d5736cc40dfcfffd17198aaf093ddff4a8f4eb26002fde.
  1706  //
  1707  // Solidity: event RetiredRegistered(address retired)
  1708  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) ParseRetiredRegistered(log types.Log) (*ITreasuryRebalanceRetiredRegistered, error) {
  1709  	event := new(ITreasuryRebalanceRetiredRegistered)
  1710  	if err := _ITreasuryRebalance.contract.UnpackLog(event, "RetiredRegistered", log); err != nil {
  1711  		return nil, err
  1712  	}
  1713  	return event, nil
  1714  }
  1715  
  1716  // ITreasuryRebalanceRetiredRemovedIterator is returned from FilterRetiredRemoved and is used to iterate over the raw logs and unpacked data for RetiredRemoved events raised by the ITreasuryRebalance contract.
  1717  type ITreasuryRebalanceRetiredRemovedIterator struct {
  1718  	Event *ITreasuryRebalanceRetiredRemoved // Event containing the contract specifics and raw log
  1719  
  1720  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1721  	event    string              // Event name to use for unpacking event data
  1722  
  1723  	logs chan types.Log      // Log channel receiving the found contract events
  1724  	sub  klaytn.Subscription // Subscription for errors, completion and termination
  1725  	done bool                // Whether the subscription completed delivering logs
  1726  	fail error               // Occurred error to stop iteration
  1727  }
  1728  
  1729  // Next advances the iterator to the subsequent event, returning whether there
  1730  // are any more events found. In case of a retrieval or parsing error, false is
  1731  // returned and Error() can be queried for the exact failure.
  1732  func (it *ITreasuryRebalanceRetiredRemovedIterator) Next() bool {
  1733  	// If the iterator failed, stop iterating
  1734  	if it.fail != nil {
  1735  		return false
  1736  	}
  1737  	// If the iterator completed, deliver directly whatever's available
  1738  	if it.done {
  1739  		select {
  1740  		case log := <-it.logs:
  1741  			it.Event = new(ITreasuryRebalanceRetiredRemoved)
  1742  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1743  				it.fail = err
  1744  				return false
  1745  			}
  1746  			it.Event.Raw = log
  1747  			return true
  1748  
  1749  		default:
  1750  			return false
  1751  		}
  1752  	}
  1753  	// Iterator still in progress, wait for either a data or an error event
  1754  	select {
  1755  	case log := <-it.logs:
  1756  		it.Event = new(ITreasuryRebalanceRetiredRemoved)
  1757  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1758  			it.fail = err
  1759  			return false
  1760  		}
  1761  		it.Event.Raw = log
  1762  		return true
  1763  
  1764  	case err := <-it.sub.Err():
  1765  		it.done = true
  1766  		it.fail = err
  1767  		return it.Next()
  1768  	}
  1769  }
  1770  
  1771  // Error returns any retrieval or parsing error occurred during filtering.
  1772  func (it *ITreasuryRebalanceRetiredRemovedIterator) Error() error {
  1773  	return it.fail
  1774  }
  1775  
  1776  // Close terminates the iteration process, releasing any pending underlying
  1777  // resources.
  1778  func (it *ITreasuryRebalanceRetiredRemovedIterator) Close() error {
  1779  	it.sub.Unsubscribe()
  1780  	return nil
  1781  }
  1782  
  1783  // ITreasuryRebalanceRetiredRemoved represents a RetiredRemoved event raised by the ITreasuryRebalance contract.
  1784  type ITreasuryRebalanceRetiredRemoved struct {
  1785  	Retired common.Address
  1786  	Raw     types.Log // Blockchain specific contextual infos
  1787  }
  1788  
  1789  // FilterRetiredRemoved is a free log retrieval operation binding the contract event 0x1f46b11b62ae5cc6363d0d5c2e597c4cb8849543d9126353adb73c5d7215e237.
  1790  //
  1791  // Solidity: event RetiredRemoved(address retired)
  1792  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) FilterRetiredRemoved(opts *bind.FilterOpts) (*ITreasuryRebalanceRetiredRemovedIterator, error) {
  1793  
  1794  	logs, sub, err := _ITreasuryRebalance.contract.FilterLogs(opts, "RetiredRemoved")
  1795  	if err != nil {
  1796  		return nil, err
  1797  	}
  1798  	return &ITreasuryRebalanceRetiredRemovedIterator{contract: _ITreasuryRebalance.contract, event: "RetiredRemoved", logs: logs, sub: sub}, nil
  1799  }
  1800  
  1801  // WatchRetiredRemoved is a free log subscription operation binding the contract event 0x1f46b11b62ae5cc6363d0d5c2e597c4cb8849543d9126353adb73c5d7215e237.
  1802  //
  1803  // Solidity: event RetiredRemoved(address retired)
  1804  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) WatchRetiredRemoved(opts *bind.WatchOpts, sink chan<- *ITreasuryRebalanceRetiredRemoved) (event.Subscription, error) {
  1805  
  1806  	logs, sub, err := _ITreasuryRebalance.contract.WatchLogs(opts, "RetiredRemoved")
  1807  	if err != nil {
  1808  		return nil, err
  1809  	}
  1810  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1811  		defer sub.Unsubscribe()
  1812  		for {
  1813  			select {
  1814  			case log := <-logs:
  1815  				// New log arrived, parse the event and forward to the user
  1816  				event := new(ITreasuryRebalanceRetiredRemoved)
  1817  				if err := _ITreasuryRebalance.contract.UnpackLog(event, "RetiredRemoved", log); err != nil {
  1818  					return err
  1819  				}
  1820  				event.Raw = log
  1821  
  1822  				select {
  1823  				case sink <- event:
  1824  				case err := <-sub.Err():
  1825  					return err
  1826  				case <-quit:
  1827  					return nil
  1828  				}
  1829  			case err := <-sub.Err():
  1830  				return err
  1831  			case <-quit:
  1832  				return nil
  1833  			}
  1834  		}
  1835  	}), nil
  1836  }
  1837  
  1838  // ParseRetiredRemoved is a log parse operation binding the contract event 0x1f46b11b62ae5cc6363d0d5c2e597c4cb8849543d9126353adb73c5d7215e237.
  1839  //
  1840  // Solidity: event RetiredRemoved(address retired)
  1841  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) ParseRetiredRemoved(log types.Log) (*ITreasuryRebalanceRetiredRemoved, error) {
  1842  	event := new(ITreasuryRebalanceRetiredRemoved)
  1843  	if err := _ITreasuryRebalance.contract.UnpackLog(event, "RetiredRemoved", log); err != nil {
  1844  		return nil, err
  1845  	}
  1846  	return event, nil
  1847  }
  1848  
  1849  // ITreasuryRebalanceStatusChangedIterator is returned from FilterStatusChanged and is used to iterate over the raw logs and unpacked data for StatusChanged events raised by the ITreasuryRebalance contract.
  1850  type ITreasuryRebalanceStatusChangedIterator struct {
  1851  	Event *ITreasuryRebalanceStatusChanged // Event containing the contract specifics and raw log
  1852  
  1853  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1854  	event    string              // Event name to use for unpacking event data
  1855  
  1856  	logs chan types.Log      // Log channel receiving the found contract events
  1857  	sub  klaytn.Subscription // Subscription for errors, completion and termination
  1858  	done bool                // Whether the subscription completed delivering logs
  1859  	fail error               // Occurred error to stop iteration
  1860  }
  1861  
  1862  // Next advances the iterator to the subsequent event, returning whether there
  1863  // are any more events found. In case of a retrieval or parsing error, false is
  1864  // returned and Error() can be queried for the exact failure.
  1865  func (it *ITreasuryRebalanceStatusChangedIterator) Next() bool {
  1866  	// If the iterator failed, stop iterating
  1867  	if it.fail != nil {
  1868  		return false
  1869  	}
  1870  	// If the iterator completed, deliver directly whatever's available
  1871  	if it.done {
  1872  		select {
  1873  		case log := <-it.logs:
  1874  			it.Event = new(ITreasuryRebalanceStatusChanged)
  1875  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1876  				it.fail = err
  1877  				return false
  1878  			}
  1879  			it.Event.Raw = log
  1880  			return true
  1881  
  1882  		default:
  1883  			return false
  1884  		}
  1885  	}
  1886  	// Iterator still in progress, wait for either a data or an error event
  1887  	select {
  1888  	case log := <-it.logs:
  1889  		it.Event = new(ITreasuryRebalanceStatusChanged)
  1890  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1891  			it.fail = err
  1892  			return false
  1893  		}
  1894  		it.Event.Raw = log
  1895  		return true
  1896  
  1897  	case err := <-it.sub.Err():
  1898  		it.done = true
  1899  		it.fail = err
  1900  		return it.Next()
  1901  	}
  1902  }
  1903  
  1904  // Error returns any retrieval or parsing error occurred during filtering.
  1905  func (it *ITreasuryRebalanceStatusChangedIterator) Error() error {
  1906  	return it.fail
  1907  }
  1908  
  1909  // Close terminates the iteration process, releasing any pending underlying
  1910  // resources.
  1911  func (it *ITreasuryRebalanceStatusChangedIterator) Close() error {
  1912  	it.sub.Unsubscribe()
  1913  	return nil
  1914  }
  1915  
  1916  // ITreasuryRebalanceStatusChanged represents a StatusChanged event raised by the ITreasuryRebalance contract.
  1917  type ITreasuryRebalanceStatusChanged struct {
  1918  	Status uint8
  1919  	Raw    types.Log // Blockchain specific contextual infos
  1920  }
  1921  
  1922  // FilterStatusChanged is a free log retrieval operation binding the contract event 0xafa725e7f44cadb687a7043853fa1a7e7b8f0da74ce87ec546e9420f04da8c1e.
  1923  //
  1924  // Solidity: event StatusChanged(uint8 status)
  1925  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) FilterStatusChanged(opts *bind.FilterOpts) (*ITreasuryRebalanceStatusChangedIterator, error) {
  1926  
  1927  	logs, sub, err := _ITreasuryRebalance.contract.FilterLogs(opts, "StatusChanged")
  1928  	if err != nil {
  1929  		return nil, err
  1930  	}
  1931  	return &ITreasuryRebalanceStatusChangedIterator{contract: _ITreasuryRebalance.contract, event: "StatusChanged", logs: logs, sub: sub}, nil
  1932  }
  1933  
  1934  // WatchStatusChanged is a free log subscription operation binding the contract event 0xafa725e7f44cadb687a7043853fa1a7e7b8f0da74ce87ec546e9420f04da8c1e.
  1935  //
  1936  // Solidity: event StatusChanged(uint8 status)
  1937  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) WatchStatusChanged(opts *bind.WatchOpts, sink chan<- *ITreasuryRebalanceStatusChanged) (event.Subscription, error) {
  1938  
  1939  	logs, sub, err := _ITreasuryRebalance.contract.WatchLogs(opts, "StatusChanged")
  1940  	if err != nil {
  1941  		return nil, err
  1942  	}
  1943  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1944  		defer sub.Unsubscribe()
  1945  		for {
  1946  			select {
  1947  			case log := <-logs:
  1948  				// New log arrived, parse the event and forward to the user
  1949  				event := new(ITreasuryRebalanceStatusChanged)
  1950  				if err := _ITreasuryRebalance.contract.UnpackLog(event, "StatusChanged", log); err != nil {
  1951  					return err
  1952  				}
  1953  				event.Raw = log
  1954  
  1955  				select {
  1956  				case sink <- event:
  1957  				case err := <-sub.Err():
  1958  					return err
  1959  				case <-quit:
  1960  					return nil
  1961  				}
  1962  			case err := <-sub.Err():
  1963  				return err
  1964  			case <-quit:
  1965  				return nil
  1966  			}
  1967  		}
  1968  	}), nil
  1969  }
  1970  
  1971  // ParseStatusChanged is a log parse operation binding the contract event 0xafa725e7f44cadb687a7043853fa1a7e7b8f0da74ce87ec546e9420f04da8c1e.
  1972  //
  1973  // Solidity: event StatusChanged(uint8 status)
  1974  func (_ITreasuryRebalance *ITreasuryRebalanceFilterer) ParseStatusChanged(log types.Log) (*ITreasuryRebalanceStatusChanged, error) {
  1975  	event := new(ITreasuryRebalanceStatusChanged)
  1976  	if err := _ITreasuryRebalance.contract.UnpackLog(event, "StatusChanged", log); err != nil {
  1977  		return nil, err
  1978  	}
  1979  	return event, nil
  1980  }
  1981  
  1982  // OwnableMetaData contains all meta data concerning the Ownable contract.
  1983  var OwnableMetaData = &bind.MetaData{
  1984  	ABI: "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
  1985  	Sigs: map[string]string{
  1986  		"8f32d59b": "isOwner()",
  1987  		"8da5cb5b": "owner()",
  1988  		"715018a6": "renounceOwnership()",
  1989  		"f2fde38b": "transferOwnership(address)",
  1990  	},
  1991  	Bin: "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36102e18061005f6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063715018a6146100515780638da5cb5b1461005b5780638f32d59b1461007b578063f2fde38b14610099575b600080fd5b6100596100ac565b005b6000546040516001600160a01b0390911681526020015b60405180910390f35b6000546001600160a01b031633146040519015158152602001610072565b6100596100a736600461027b565b610155565b6000546001600160a01b0316331461010b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146101af5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610102565b6101b8816101bb565b50565b6001600160a01b0381166102205760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610102565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561028d57600080fd5b81356001600160a01b03811681146102a457600080fd5b939250505056fea2646970667358221220899e1d3dc17bc702dc30caad014b162e5ba6f962c1b0bb4b15c82fb686ea72e264736f6c634300080a0033",
  1992  }
  1993  
  1994  // OwnableABI is the input ABI used to generate the binding from.
  1995  // Deprecated: Use OwnableMetaData.ABI instead.
  1996  var OwnableABI = OwnableMetaData.ABI
  1997  
  1998  // OwnableBinRuntime is the compiled bytecode used for adding genesis block without deploying code.
  1999  const OwnableBinRuntime = `608060405234801561001057600080fd5b506004361061004c5760003560e01c8063715018a6146100515780638da5cb5b1461005b5780638f32d59b1461007b578063f2fde38b14610099575b600080fd5b6100596100ac565b005b6000546040516001600160a01b0390911681526020015b60405180910390f35b6000546001600160a01b031633146040519015158152602001610072565b6100596100a736600461027b565b610155565b6000546001600160a01b0316331461010b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146101af5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610102565b6101b8816101bb565b50565b6001600160a01b0381166102205760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610102565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561028d57600080fd5b81356001600160a01b03811681146102a457600080fd5b939250505056fea2646970667358221220899e1d3dc17bc702dc30caad014b162e5ba6f962c1b0bb4b15c82fb686ea72e264736f6c634300080a0033`
  2000  
  2001  // OwnableFuncSigs maps the 4-byte function signature to its string representation.
  2002  // Deprecated: Use OwnableMetaData.Sigs instead.
  2003  var OwnableFuncSigs = OwnableMetaData.Sigs
  2004  
  2005  // OwnableBin is the compiled bytecode used for deploying new contracts.
  2006  // Deprecated: Use OwnableMetaData.Bin instead.
  2007  var OwnableBin = OwnableMetaData.Bin
  2008  
  2009  // DeployOwnable deploys a new Klaytn contract, binding an instance of Ownable to it.
  2010  func DeployOwnable(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Ownable, error) {
  2011  	parsed, err := OwnableMetaData.GetAbi()
  2012  	if err != nil {
  2013  		return common.Address{}, nil, nil, err
  2014  	}
  2015  	if parsed == nil {
  2016  		return common.Address{}, nil, nil, errors.New("GetABI returned nil")
  2017  	}
  2018  
  2019  	address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(OwnableBin), backend)
  2020  	if err != nil {
  2021  		return common.Address{}, nil, nil, err
  2022  	}
  2023  	return address, tx, &Ownable{OwnableCaller: OwnableCaller{contract: contract}, OwnableTransactor: OwnableTransactor{contract: contract}, OwnableFilterer: OwnableFilterer{contract: contract}}, nil
  2024  }
  2025  
  2026  // Ownable is an auto generated Go binding around a Klaytn contract.
  2027  type Ownable struct {
  2028  	OwnableCaller     // Read-only binding to the contract
  2029  	OwnableTransactor // Write-only binding to the contract
  2030  	OwnableFilterer   // Log filterer for contract events
  2031  }
  2032  
  2033  // OwnableCaller is an auto generated read-only Go binding around a Klaytn contract.
  2034  type OwnableCaller struct {
  2035  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  2036  }
  2037  
  2038  // OwnableTransactor is an auto generated write-only Go binding around a Klaytn contract.
  2039  type OwnableTransactor struct {
  2040  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  2041  }
  2042  
  2043  // OwnableFilterer is an auto generated log filtering Go binding around a Klaytn contract events.
  2044  type OwnableFilterer struct {
  2045  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  2046  }
  2047  
  2048  // OwnableSession is an auto generated Go binding around a Klaytn contract,
  2049  // with pre-set call and transact options.
  2050  type OwnableSession struct {
  2051  	Contract     *Ownable          // Generic contract binding to set the session for
  2052  	CallOpts     bind.CallOpts     // Call options to use throughout this session
  2053  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  2054  }
  2055  
  2056  // OwnableCallerSession is an auto generated read-only Go binding around a Klaytn contract,
  2057  // with pre-set call options.
  2058  type OwnableCallerSession struct {
  2059  	Contract *OwnableCaller // Generic contract caller binding to set the session for
  2060  	CallOpts bind.CallOpts  // Call options to use throughout this session
  2061  }
  2062  
  2063  // OwnableTransactorSession is an auto generated write-only Go binding around a Klaytn contract,
  2064  // with pre-set transact options.
  2065  type OwnableTransactorSession struct {
  2066  	Contract     *OwnableTransactor // Generic contract transactor binding to set the session for
  2067  	TransactOpts bind.TransactOpts  // Transaction auth options to use throughout this session
  2068  }
  2069  
  2070  // OwnableRaw is an auto generated low-level Go binding around a Klaytn contract.
  2071  type OwnableRaw struct {
  2072  	Contract *Ownable // Generic contract binding to access the raw methods on
  2073  }
  2074  
  2075  // OwnableCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract.
  2076  type OwnableCallerRaw struct {
  2077  	Contract *OwnableCaller // Generic read-only contract binding to access the raw methods on
  2078  }
  2079  
  2080  // OwnableTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract.
  2081  type OwnableTransactorRaw struct {
  2082  	Contract *OwnableTransactor // Generic write-only contract binding to access the raw methods on
  2083  }
  2084  
  2085  // NewOwnable creates a new instance of Ownable, bound to a specific deployed contract.
  2086  func NewOwnable(address common.Address, backend bind.ContractBackend) (*Ownable, error) {
  2087  	contract, err := bindOwnable(address, backend, backend, backend)
  2088  	if err != nil {
  2089  		return nil, err
  2090  	}
  2091  	return &Ownable{OwnableCaller: OwnableCaller{contract: contract}, OwnableTransactor: OwnableTransactor{contract: contract}, OwnableFilterer: OwnableFilterer{contract: contract}}, nil
  2092  }
  2093  
  2094  // NewOwnableCaller creates a new read-only instance of Ownable, bound to a specific deployed contract.
  2095  func NewOwnableCaller(address common.Address, caller bind.ContractCaller) (*OwnableCaller, error) {
  2096  	contract, err := bindOwnable(address, caller, nil, nil)
  2097  	if err != nil {
  2098  		return nil, err
  2099  	}
  2100  	return &OwnableCaller{contract: contract}, nil
  2101  }
  2102  
  2103  // NewOwnableTransactor creates a new write-only instance of Ownable, bound to a specific deployed contract.
  2104  func NewOwnableTransactor(address common.Address, transactor bind.ContractTransactor) (*OwnableTransactor, error) {
  2105  	contract, err := bindOwnable(address, nil, transactor, nil)
  2106  	if err != nil {
  2107  		return nil, err
  2108  	}
  2109  	return &OwnableTransactor{contract: contract}, nil
  2110  }
  2111  
  2112  // NewOwnableFilterer creates a new log filterer instance of Ownable, bound to a specific deployed contract.
  2113  func NewOwnableFilterer(address common.Address, filterer bind.ContractFilterer) (*OwnableFilterer, error) {
  2114  	contract, err := bindOwnable(address, nil, nil, filterer)
  2115  	if err != nil {
  2116  		return nil, err
  2117  	}
  2118  	return &OwnableFilterer{contract: contract}, nil
  2119  }
  2120  
  2121  // bindOwnable binds a generic wrapper to an already deployed contract.
  2122  func bindOwnable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  2123  	parsed, err := OwnableMetaData.GetAbi()
  2124  	if err != nil {
  2125  		return nil, err
  2126  	}
  2127  	return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil
  2128  }
  2129  
  2130  // Call invokes the (constant) contract method with params as input values and
  2131  // sets the output to result. The result type might be a single field for simple
  2132  // returns, a slice of interfaces for anonymous returns and a struct for named
  2133  // returns.
  2134  func (_Ownable *OwnableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  2135  	return _Ownable.Contract.OwnableCaller.contract.Call(opts, result, method, params...)
  2136  }
  2137  
  2138  // Transfer initiates a plain transaction to move funds to the contract, calling
  2139  // its default method if one is available.
  2140  func (_Ownable *OwnableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  2141  	return _Ownable.Contract.OwnableTransactor.contract.Transfer(opts)
  2142  }
  2143  
  2144  // Transact invokes the (paid) contract method with params as input values.
  2145  func (_Ownable *OwnableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  2146  	return _Ownable.Contract.OwnableTransactor.contract.Transact(opts, method, params...)
  2147  }
  2148  
  2149  // Call invokes the (constant) contract method with params as input values and
  2150  // sets the output to result. The result type might be a single field for simple
  2151  // returns, a slice of interfaces for anonymous returns and a struct for named
  2152  // returns.
  2153  func (_Ownable *OwnableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  2154  	return _Ownable.Contract.contract.Call(opts, result, method, params...)
  2155  }
  2156  
  2157  // Transfer initiates a plain transaction to move funds to the contract, calling
  2158  // its default method if one is available.
  2159  func (_Ownable *OwnableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  2160  	return _Ownable.Contract.contract.Transfer(opts)
  2161  }
  2162  
  2163  // Transact invokes the (paid) contract method with params as input values.
  2164  func (_Ownable *OwnableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  2165  	return _Ownable.Contract.contract.Transact(opts, method, params...)
  2166  }
  2167  
  2168  // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b.
  2169  //
  2170  // Solidity: function isOwner() view returns(bool)
  2171  func (_Ownable *OwnableCaller) IsOwner(opts *bind.CallOpts) (bool, error) {
  2172  	var out []interface{}
  2173  	err := _Ownable.contract.Call(opts, &out, "isOwner")
  2174  
  2175  	if err != nil {
  2176  		return *new(bool), err
  2177  	}
  2178  
  2179  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  2180  
  2181  	return out0, err
  2182  
  2183  }
  2184  
  2185  // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b.
  2186  //
  2187  // Solidity: function isOwner() view returns(bool)
  2188  func (_Ownable *OwnableSession) IsOwner() (bool, error) {
  2189  	return _Ownable.Contract.IsOwner(&_Ownable.CallOpts)
  2190  }
  2191  
  2192  // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b.
  2193  //
  2194  // Solidity: function isOwner() view returns(bool)
  2195  func (_Ownable *OwnableCallerSession) IsOwner() (bool, error) {
  2196  	return _Ownable.Contract.IsOwner(&_Ownable.CallOpts)
  2197  }
  2198  
  2199  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
  2200  //
  2201  // Solidity: function owner() view returns(address)
  2202  func (_Ownable *OwnableCaller) Owner(opts *bind.CallOpts) (common.Address, error) {
  2203  	var out []interface{}
  2204  	err := _Ownable.contract.Call(opts, &out, "owner")
  2205  
  2206  	if err != nil {
  2207  		return *new(common.Address), err
  2208  	}
  2209  
  2210  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  2211  
  2212  	return out0, err
  2213  
  2214  }
  2215  
  2216  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
  2217  //
  2218  // Solidity: function owner() view returns(address)
  2219  func (_Ownable *OwnableSession) Owner() (common.Address, error) {
  2220  	return _Ownable.Contract.Owner(&_Ownable.CallOpts)
  2221  }
  2222  
  2223  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
  2224  //
  2225  // Solidity: function owner() view returns(address)
  2226  func (_Ownable *OwnableCallerSession) Owner() (common.Address, error) {
  2227  	return _Ownable.Contract.Owner(&_Ownable.CallOpts)
  2228  }
  2229  
  2230  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
  2231  //
  2232  // Solidity: function renounceOwnership() returns()
  2233  func (_Ownable *OwnableTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) {
  2234  	return _Ownable.contract.Transact(opts, "renounceOwnership")
  2235  }
  2236  
  2237  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
  2238  //
  2239  // Solidity: function renounceOwnership() returns()
  2240  func (_Ownable *OwnableSession) RenounceOwnership() (*types.Transaction, error) {
  2241  	return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts)
  2242  }
  2243  
  2244  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
  2245  //
  2246  // Solidity: function renounceOwnership() returns()
  2247  func (_Ownable *OwnableTransactorSession) RenounceOwnership() (*types.Transaction, error) {
  2248  	return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts)
  2249  }
  2250  
  2251  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
  2252  //
  2253  // Solidity: function transferOwnership(address newOwner) returns()
  2254  func (_Ownable *OwnableTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) {
  2255  	return _Ownable.contract.Transact(opts, "transferOwnership", newOwner)
  2256  }
  2257  
  2258  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
  2259  //
  2260  // Solidity: function transferOwnership(address newOwner) returns()
  2261  func (_Ownable *OwnableSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
  2262  	return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner)
  2263  }
  2264  
  2265  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
  2266  //
  2267  // Solidity: function transferOwnership(address newOwner) returns()
  2268  func (_Ownable *OwnableTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
  2269  	return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner)
  2270  }
  2271  
  2272  // OwnableOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the Ownable contract.
  2273  type OwnableOwnershipTransferredIterator struct {
  2274  	Event *OwnableOwnershipTransferred // Event containing the contract specifics and raw log
  2275  
  2276  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2277  	event    string              // Event name to use for unpacking event data
  2278  
  2279  	logs chan types.Log      // Log channel receiving the found contract events
  2280  	sub  klaytn.Subscription // Subscription for errors, completion and termination
  2281  	done bool                // Whether the subscription completed delivering logs
  2282  	fail error               // Occurred error to stop iteration
  2283  }
  2284  
  2285  // Next advances the iterator to the subsequent event, returning whether there
  2286  // are any more events found. In case of a retrieval or parsing error, false is
  2287  // returned and Error() can be queried for the exact failure.
  2288  func (it *OwnableOwnershipTransferredIterator) Next() bool {
  2289  	// If the iterator failed, stop iterating
  2290  	if it.fail != nil {
  2291  		return false
  2292  	}
  2293  	// If the iterator completed, deliver directly whatever's available
  2294  	if it.done {
  2295  		select {
  2296  		case log := <-it.logs:
  2297  			it.Event = new(OwnableOwnershipTransferred)
  2298  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2299  				it.fail = err
  2300  				return false
  2301  			}
  2302  			it.Event.Raw = log
  2303  			return true
  2304  
  2305  		default:
  2306  			return false
  2307  		}
  2308  	}
  2309  	// Iterator still in progress, wait for either a data or an error event
  2310  	select {
  2311  	case log := <-it.logs:
  2312  		it.Event = new(OwnableOwnershipTransferred)
  2313  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2314  			it.fail = err
  2315  			return false
  2316  		}
  2317  		it.Event.Raw = log
  2318  		return true
  2319  
  2320  	case err := <-it.sub.Err():
  2321  		it.done = true
  2322  		it.fail = err
  2323  		return it.Next()
  2324  	}
  2325  }
  2326  
  2327  // Error returns any retrieval or parsing error occurred during filtering.
  2328  func (it *OwnableOwnershipTransferredIterator) Error() error {
  2329  	return it.fail
  2330  }
  2331  
  2332  // Close terminates the iteration process, releasing any pending underlying
  2333  // resources.
  2334  func (it *OwnableOwnershipTransferredIterator) Close() error {
  2335  	it.sub.Unsubscribe()
  2336  	return nil
  2337  }
  2338  
  2339  // OwnableOwnershipTransferred represents a OwnershipTransferred event raised by the Ownable contract.
  2340  type OwnableOwnershipTransferred struct {
  2341  	PreviousOwner common.Address
  2342  	NewOwner      common.Address
  2343  	Raw           types.Log // Blockchain specific contextual infos
  2344  }
  2345  
  2346  // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  2347  //
  2348  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  2349  func (_Ownable *OwnableFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*OwnableOwnershipTransferredIterator, error) {
  2350  
  2351  	var previousOwnerRule []interface{}
  2352  	for _, previousOwnerItem := range previousOwner {
  2353  		previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
  2354  	}
  2355  	var newOwnerRule []interface{}
  2356  	for _, newOwnerItem := range newOwner {
  2357  		newOwnerRule = append(newOwnerRule, newOwnerItem)
  2358  	}
  2359  
  2360  	logs, sub, err := _Ownable.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
  2361  	if err != nil {
  2362  		return nil, err
  2363  	}
  2364  	return &OwnableOwnershipTransferredIterator{contract: _Ownable.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil
  2365  }
  2366  
  2367  // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  2368  //
  2369  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  2370  func (_Ownable *OwnableFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *OwnableOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) {
  2371  
  2372  	var previousOwnerRule []interface{}
  2373  	for _, previousOwnerItem := range previousOwner {
  2374  		previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
  2375  	}
  2376  	var newOwnerRule []interface{}
  2377  	for _, newOwnerItem := range newOwner {
  2378  		newOwnerRule = append(newOwnerRule, newOwnerItem)
  2379  	}
  2380  
  2381  	logs, sub, err := _Ownable.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
  2382  	if err != nil {
  2383  		return nil, err
  2384  	}
  2385  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2386  		defer sub.Unsubscribe()
  2387  		for {
  2388  			select {
  2389  			case log := <-logs:
  2390  				// New log arrived, parse the event and forward to the user
  2391  				event := new(OwnableOwnershipTransferred)
  2392  				if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
  2393  					return err
  2394  				}
  2395  				event.Raw = log
  2396  
  2397  				select {
  2398  				case sink <- event:
  2399  				case err := <-sub.Err():
  2400  					return err
  2401  				case <-quit:
  2402  					return nil
  2403  				}
  2404  			case err := <-sub.Err():
  2405  				return err
  2406  			case <-quit:
  2407  				return nil
  2408  			}
  2409  		}
  2410  	}), nil
  2411  }
  2412  
  2413  // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  2414  //
  2415  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  2416  func (_Ownable *OwnableFilterer) ParseOwnershipTransferred(log types.Log) (*OwnableOwnershipTransferred, error) {
  2417  	event := new(OwnableOwnershipTransferred)
  2418  	if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
  2419  		return nil, err
  2420  	}
  2421  	return event, nil
  2422  }
  2423  
  2424  // TreasuryRebalanceMetaData contains all meta data concerning the TreasuryRebalance contract.
  2425  var TreasuryRebalanceMetaData = &bind.MetaData{
  2426  	ABI: "[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_rebalanceBlockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"retired\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"approversCount\",\"type\":\"uint256\"}],\"name\":\"Approved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enumITreasuryRebalance.Status\",\"name\":\"status\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"rebalanceBlockNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"deployedBlockNumber\",\"type\":\"uint256\"}],\"name\":\"ContractDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"enumITreasuryRebalance.Status\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"Finalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newbie\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fundAllocation\",\"type\":\"uint256\"}],\"name\":\"NewbieRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newbie\",\"type\":\"address\"}],\"name\":\"NewbieRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"retired\",\"type\":\"address\"}],\"name\":\"RetiredRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"retired\",\"type\":\"address\"}],\"name\":\"RetiredRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enumITreasuryRebalance.Status\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"StatusChanged\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_retiredAddress\",\"type\":\"address\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"checkRetiredsApproved\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"finalizeApproval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_memo\",\"type\":\"string\"}],\"name\":\"finalizeContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"finalizeRegistration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newbieAddress\",\"type\":\"address\"}],\"name\":\"getNewbie\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNewbieCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newbieAddress\",\"type\":\"address\"}],\"name\":\"getNewbieIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_retiredAddress\",\"type\":\"address\"}],\"name\":\"getRetired\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRetiredCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_retiredAddress\",\"type\":\"address\"}],\"name\":\"getRetiredIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTreasuryAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"treasuryAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"isContractAddr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"memo\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newbieAddress\",\"type\":\"address\"}],\"name\":\"newbieExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"newbies\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"newbie\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rebalanceBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newbieAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"registerNewbie\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_retiredAddress\",\"type\":\"address\"}],\"name\":\"registerRetired\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newbieAddress\",\"type\":\"address\"}],\"name\":\"removeNewbie\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_retiredAddress\",\"type\":\"address\"}],\"name\":\"removeRetired\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"reset\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_retiredAddress\",\"type\":\"address\"}],\"name\":\"retiredExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"retirees\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"retired\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"status\",\"outputs\":[{\"internalType\":\"enumITreasuryRebalance.Status\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sumOfRetiredBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"retireesBalance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
  2427  	Sigs: map[string]string{
  2428  		"daea85c5": "approve(address)",
  2429  		"966e0794": "checkRetiredsApproved()",
  2430  		"faaf9ca6": "finalizeApproval()",
  2431  		"ea6d4a9b": "finalizeContract(string)",
  2432  		"48409096": "finalizeRegistration()",
  2433  		"eb5a8e55": "getNewbie(address)",
  2434  		"91734d86": "getNewbieCount()",
  2435  		"11f5c466": "getNewbieIndex(address)",
  2436  		"bf680590": "getRetired(address)",
  2437  		"d1ed33fc": "getRetiredCount()",
  2438  		"681f6e7c": "getRetiredIndex(address)",
  2439  		"e20fcf00": "getTreasuryAmount()",
  2440  		"e2384cb3": "isContractAddr(address)",
  2441  		"8f32d59b": "isOwner()",
  2442  		"58c3b870": "memo()",
  2443  		"683e13cb": "newbieExists(address)",
  2444  		"94393e11": "newbies(uint256)",
  2445  		"8da5cb5b": "owner()",
  2446  		"49a3fb45": "rebalanceBlockNumber()",
  2447  		"652e27e0": "registerNewbie(address,uint256)",
  2448  		"1f8c1798": "registerRetired(address)",
  2449  		"6864b95b": "removeNewbie(address)",
  2450  		"1c1dac59": "removeRetired(address)",
  2451  		"715018a6": "renounceOwnership()",
  2452  		"d826f88f": "reset()",
  2453  		"01784e05": "retiredExists(address)",
  2454  		"5a12667b": "retirees(uint256)",
  2455  		"200d2ed2": "status()",
  2456  		"45205a6b": "sumOfRetiredBalance()",
  2457  		"f2fde38b": "transferOwnership(address)",
  2458  	},
  2459  	Bin: "0x60806040523480156200001157600080fd5b5060405162002647380380620026478339810160408190526200003491620000c8565b600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360048190556003805460ff191690556040517f6f182006c5a12fe70c0728eedb2d1b0628c41483ca6721c606707d778d22ed0a90620000b99060009084904290620000e2565b60405180910390a15062000119565b600060208284031215620000db57600080fd5b5051919050565b60608101600485106200010557634e487b7160e01b600052602160045260246000fd5b938152602081019290925260409091015290565b61251e80620001296000396000f3fe6080604052600436106101cd5760003560e01c80638da5cb5b116100f7578063d826f88f11610095578063ea6d4a9b11610064578063ea6d4a9b1461057d578063eb5a8e551461059d578063f2fde38b146105bd578063faaf9ca6146105dd576101cd565b8063d826f88f14610512578063daea85c514610527578063e20fcf0014610547578063e2384cb31461055c576101cd565b806394393e11116100d157806394393e111461047b578063966e0794146104ba578063bf680590146104cf578063d1ed33fc146104fd576101cd565b80638da5cb5b146104285780638f32d59b1461044657806391734d8614610466576101cd565b806349a3fb451161016f578063681f6e7c1161013e578063681f6e7c146103b3578063683e13cb146103d35780636864b95b146103f3578063715018a614610413576101cd565b806349a3fb451461032357806358c3b870146103395780635a12667b1461035b578063652e27e014610393576101cd565b80631f8c1798116101ab5780631f8c1798146102b2578063200d2ed2146102d257806345205a6b146102f9578063484090961461030e576101cd565b806301784e051461022d57806311f5c466146102625780631c1dac5914610290575b60405162461bcd60e51b815260206004820152602a60248201527f5468697320636f6e747261637420646f6573206e6f742061636365707420616e60448201526979207061796d656e747360b01b60648201526084015b60405180910390fd5b34801561023957600080fd5b5061024d610248366004611f94565b6105f2565b60405190151581526020015b60405180910390f35b34801561026e57600080fd5b5061028261027d366004611f94565b6106a7565b604051908152602001610259565b34801561029c57600080fd5b506102b06102ab366004611f94565b610714565b005b3480156102be57600080fd5b506102b06102cd366004611f94565b6108b3565b3480156102de57600080fd5b506003546102ec9060ff1681565b6040516102599190611ff0565b34801561030557600080fd5b506102826109f8565b34801561031a57600080fd5b506102b0610a56565b34801561032f57600080fd5b5061028260045481565b34801561034557600080fd5b5061034e610b0d565b6040516102599190612004565b34801561036757600080fd5b5061037b610376366004612059565b610b9b565b6040516001600160a01b039091168152602001610259565b34801561039f57600080fd5b506102b06103ae366004612072565b610bca565b3480156103bf57600080fd5b506102826103ce366004611f94565b610db0565b3480156103df57600080fd5b5061024d6103ee366004611f94565b610e13565b3480156103ff57600080fd5b506102b061040e366004611f94565b610ec2565b34801561041f57600080fd5b506102b061106c565b34801561043457600080fd5b506000546001600160a01b031661037b565b34801561045257600080fd5b506000546001600160a01b0316331461024d565b34801561047257600080fd5b50600254610282565b34801561048757600080fd5b5061049b610496366004612059565b6110e0565b604080516001600160a01b039093168352602083019190915201610259565b3480156104c657600080fd5b506102b0611118565b3480156104db57600080fd5b506104ef6104ea366004611f94565b6112fc565b60405161025992919061209e565b34801561050957600080fd5b50600154610282565b34801561051e57600080fd5b506102b06113e4565b34801561053357600080fd5b506102b0610542366004611f94565b6114c3565b34801561055357600080fd5b506102826116a8565b34801561056857600080fd5b5061024d610577366004611f94565b3b151590565b34801561058957600080fd5b506102b0610598366004612141565b6116fa565b3480156105a957600080fd5b5061049b6105b8366004611f94565b611829565b3480156105c957600080fd5b506102b06105d8366004611f94565b6118da565b3480156105e957600080fd5b506102b061190d565b60006001600160a01b03821661063c5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610224565b60005b6001548110156106a157826001600160a01b031660018281548110610666576106666121d6565b60009182526020909120600290910201546001600160a01b0316141561068f5750600192915050565b8061069981612202565b91505061063f565b50919050565b6000805b60025481101561070a57826001600160a01b0316600282815481106106d2576106d26121d6565b60009182526020909120600290910201546001600160a01b031614156106f85792915050565b8061070281612202565b9150506106ab565b5060001992915050565b6000546001600160a01b0316331461073e5760405162461bcd60e51b81526004016102249061221d565b6000806003805460ff169081111561075857610758611fb8565b146107755760405162461bcd60e51b815260040161022490612252565b600061078083610db0565b90506000198114156107a45760405162461bcd60e51b815260040161022490612289565b600180546107b39082906122b9565b815481106107c3576107c36121d6565b9060005260206000209060020201600182815481106107e4576107e46121d6565b60009182526020909120825460029092020180546001600160a01b0319166001600160a01b03909216919091178155600180830180546108279284019190611dbc565b50905050600180548061083c5761083c6122d0565b60008281526020812060026000199093019283020180546001600160a01b03191681559061086d6001830182611e08565b505090556040516001600160a01b03841681527f1f46b11b62ae5cc6363d0d5c2e597c4cb8849543d9126353adb73c5d7215e237906020015b60405180910390a1505050565b6000546001600160a01b031633146108dd5760405162461bcd60e51b81526004016102249061221d565b6000806003805460ff16908111156108f7576108f7611fb8565b146109145760405162461bcd60e51b815260040161022490612252565b61091d826105f2565b156109785760405162461bcd60e51b815260206004820152602560248201527f52657469726564206164647265737320697320616c72656164792072656769736044820152641d195c995960da1b6064820152608401610224565b6001805480820182556000919091526002027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0384166001600160a01b0319909116811782556040519081527f7da2e87d0b02df1162d5736cc40dfcfffd17198aaf093ddff4a8f4eb26002fde906020016108a6565b6000805b600154811015610a525760018181548110610a1957610a196121d6565b6000918252602090912060029091020154610a3e906001600160a01b031631836122e6565b915080610a4a81612202565b9150506109fc565b5090565b6000546001600160a01b03163314610a805760405162461bcd60e51b81526004016102249061221d565b6000806003805460ff1690811115610a9a57610a9a611fb8565b14610ab75760405162461bcd60e51b815260040161022490612252565b600380546001919060ff191682805b02179055506003546040517fafa725e7f44cadb687a7043853fa1a7e7b8f0da74ce87ec546e9420f04da8c1e91610b029160ff90911690611ff0565b60405180910390a150565b60058054610b1a906122fe565b80601f0160208091040260200160405190810160405280929190818152602001828054610b46906122fe565b8015610b935780601f10610b6857610100808354040283529160200191610b93565b820191906000526020600020905b815481529060010190602001808311610b7657829003601f168201915b505050505081565b60018181548110610bab57600080fd5b60009182526020909120600290910201546001600160a01b0316905081565b6000546001600160a01b03163314610bf45760405162461bcd60e51b81526004016102249061221d565b6000806003805460ff1690811115610c0e57610c0e611fb8565b14610c2b5760405162461bcd60e51b815260040161022490612252565b610c3483610e13565b15610c8d5760405162461bcd60e51b8152602060048201526024808201527f4e6577626965206164647265737320697320616c726561647920726567697374604482015263195c995960e21b6064820152608401610224565b81610cda5760405162461bcd60e51b815260206004820152601960248201527f416d6f756e742063616e6e6f742062652073657420746f2030000000000000006044820152606401610224565b6040805180820182526001600160a01b038581168083526020808401878152600280546001810182556000829052865191027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054929096166001600160a01b031990921691909117909455517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf90930192909255835190815290810185905290917fd261b37cd56b21cd1af841dca6331a133e5d8b9d55c2c6fe0ec822e2a303ef7491015b60405180910390a150505050565b6000805b60015481101561070a57826001600160a01b031660018281548110610ddb57610ddb6121d6565b60009182526020909120600290910201546001600160a01b03161415610e015792915050565b80610e0b81612202565b915050610db4565b60006001600160a01b038216610e5d5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610224565b60005b6002548110156106a157826001600160a01b031660028281548110610e8757610e876121d6565b60009182526020909120600290910201546001600160a01b03161415610eb05750600192915050565b80610eba81612202565b915050610e60565b6000546001600160a01b03163314610eec5760405162461bcd60e51b81526004016102249061221d565b6000806003805460ff1690811115610f0657610f06611fb8565b14610f235760405162461bcd60e51b815260040161022490612252565b6000610f2e836106a7565b9050600019811415610f7a5760405162461bcd60e51b815260206004820152601560248201527413995dd89a59481b9bdd081c9959da5cdd195c9959605a1b6044820152606401610224565b60028054610f8a906001906122b9565b81548110610f9a57610f9a6121d6565b906000526020600020906002020160028281548110610fbb57610fbb6121d6565b600091825260209091208254600292830290910180546001600160a01b0319166001600160a01b03909216919091178155600192830154920191909155805480611007576110076122d0565b600082815260208082206002600019949094019384020180546001600160a01b03191681556001019190915591556040516001600160a01b03851681527fe630072edaed8f0fccf534c7eaa063290db8f775b0824c7261d01e6619da4b3891016108a6565b6000546001600160a01b031633146110965760405162461bcd60e51b81526004016102249061221d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600281815481106110f057600080fd5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b60005b6001548110156112f95760006001828154811061113a5761113a6121d6565b6000918252602091829020604080518082018252600290930290910180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156111ba57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161119c575b505050505081525050905060006111d582600001513b151590565b9050801561129a576000806111ed8460000151611a21565b915091508084602001515110156112165760405162461bcd60e51b815260040161022490612333565b60208401516000805b82518110156112705761124b83828151811061123d5761123d6121d6565b602002602001015186611a9a565b1561125e578161125a81612202565b9250505b8061126881612202565b91505061121f565b50828110156112915760405162461bcd60e51b815260040161022490612333565b505050506112e4565b8160200151516001146112e45760405162461bcd60e51b8152602060048201526012602482015271454f412073686f756c6420617070726f766560701b6044820152606401610224565b505080806112f190612202565b91505061111b565b50565b60006060600061130b84610db0565b905060001981141561132f5760405162461bcd60e51b815260040161022490612289565b600060018281548110611344576113446121d6565b6000918252602091829020604080518082018252600290930290910180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156113c457602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116113a6575b505050505081525050905080600001518160200151935093505050915091565b6000546001600160a01b0316331461140e5760405162461bcd60e51b81526004016102249061221d565b6003805460ff168181111561142557611425611fb8565b14158015611434575060045443105b6114935760405162461bcd60e51b815260206004820152602a60248201527f436f6e74726163742069732066696e616c697a65642c2063616e6e6f742072656044820152697365742076616c75657360b01b6064820152608401610224565b61149f60016000611e26565b6114ab60026000611e47565b6114b760056000611e68565b6003805460ff19169055565b6001806003805460ff16908111156114dd576114dd611fb8565b146114fa5760405162461bcd60e51b815260040161022490612252565b611503826105f2565b6115665760405162461bcd60e51b815260206004820152602e60248201527f72657469726564206e6565647320746f2062652072656769737465726564206260448201526d19599bdc9948185c1c1c9bdd985b60921b6064820152608401610224565b813b1515806115e257336001600160a01b038416146115d35760405162461bcd60e51b8152602060048201526024808201527f7265746972656441646472657373206973206e6f7420746865206d73672e7365604482015263373232b960e11b6064820152608401610224565b6115dd8333611af8565b505050565b60006115ed84611a21565b5090508051600014156116425760405162461bcd60e51b815260206004820152601a60248201527f61646d696e206c6973742063616e6e6f7420626520656d7074790000000000006044820152606401610224565b61164c3382611a9a565b6116985760405162461bcd60e51b815260206004820152601b60248201527f6d73672e73656e646572206973206e6f74207468652061646d696e00000000006044820152606401610224565b6116a28433611af8565b50505050565b6000805b600254811015610a5257600281815481106116c9576116c96121d6565b906000526020600020906002020160010154826116e691906122e6565b9150806116f281612202565b9150506116ac565b6000546001600160a01b031633146117245760405162461bcd60e51b81526004016102249061221d565b6002806003805460ff169081111561173e5761173e611fb8565b1461175b5760405162461bcd60e51b815260040161022490612252565b815161176e906005906020850190611ea2565b506003805460ff1916811781556040517f8f8636c7757ca9b7d154e1d44ca90d8e8c885b9eac417c59bbf8eb7779ca6404916117ad9160059190612375565b60405180910390a160045443116118255760405162461bcd60e51b815260206004820152603660248201527f436f6e74726163742063616e206f6e6c792066696e616c697a6520616674657260448201527520657865637574696e6720726562616c616e63696e6760501b6064820152608401610224565b5050565b6000806000611837846106a7565b90506000198114156118835760405162461bcd60e51b815260206004820152601560248201527413995dd89a59481b9bdd081c9959da5cdd195c9959605a1b6044820152606401610224565b600060028281548110611898576118986121d6565b60009182526020918290206040805180820190915260029092020180546001600160a01b03168083526001909101549190920181905290969095509350505050565b6000546001600160a01b031633146119045760405162461bcd60e51b81526004016102249061221d565b6112f981611cfc565b6000546001600160a01b031633146119375760405162461bcd60e51b81526004016102249061221d565b6001806003805460ff169081111561195157611951611fb8565b1461196e5760405162461bcd60e51b815260040161022490612252565b6119766109f8565b61197e6116a8565b10611a055760405162461bcd60e51b815260206004820152604b60248201527f747265617375727920616d6f756e742073686f756c64206265206c657373207460448201527f68616e207468652073756d206f6620616c6c207265746972656420616464726560648201526a73732062616c616e63657360a81b608482015260a401610224565b611a0d611118565b600380546002919060ff1916600183610ac6565b6060600080839050806001600160a01b0316631865c57d6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611a67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a8f919081019061242e565b909590945092505050565b6000805b8251811015611af157828181518110611ab957611ab96121d6565b60200260200101516001600160a01b0316846001600160a01b03161415611adf57600191505b80611ae981612202565b915050611a9e565b5092915050565b6000611b0383610db0565b9050600019811415611b275760405162461bcd60e51b815260040161022490612289565b600060018281548110611b3c57611b3c6121d6565b9060005260206000209060020201600101805480602002602001604051908101604052809291908181526020018280548015611ba157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611b83575b5050505050905060005b8151811015611c3457836001600160a01b0316828281518110611bd057611bd06121d6565b60200260200101516001600160a01b03161415611c225760405162461bcd60e51b815260206004820152601060248201526f105b1c9958591e48185c1c1c9bdd995960821b6044820152606401610224565b80611c2c81612202565b915050611bab565b5060018281548110611c4857611c486121d6565b600091825260208083206001600290930201820180548084018255908452922090910180546001600160a01b0386166001600160a01b031990911617905580547f80da462ebfbe41cfc9bc015e7a9a3c7a2a73dbccede72d8ceb583606c27f8f9091869186919086908110611cbf57611cbf6121d6565b600091825260209182902060016002909202010154604080516001600160a01b039586168152949093169184019190915290820152606001610da2565b6001600160a01b038116611d615760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610224565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b828054828255906000526020600020908101928215611dfc5760005260206000209182015b82811115611dfc578254825591600101919060010190611de1565b50610a52929150611f16565b50805460008255906000526020600020908101906112f99190611f16565b50805460008255600202906000526020600020908101906112f99190611f2b565b50805460008255600202906000526020600020908101906112f99190611f59565b508054611e74906122fe565b6000825580601f10611e84575050565b601f0160209004906000526020600020908101906112f99190611f16565b828054611eae906122fe565b90600052602060002090601f016020900481019282611ed05760008555611dfc565b82601f10611ee957805160ff1916838001178555611dfc565b82800160010185558215611dfc579182015b82811115611dfc578251825591602001919060010190611efb565b5b80821115610a525760008155600101611f17565b80821115610a525780546001600160a01b03191681556000611f506001830182611e08565b50600201611f2b565b5b80821115610a525780546001600160a01b031916815560006001820155600201611f5a565b6001600160a01b03811681146112f957600080fd5b600060208284031215611fa657600080fd5b8135611fb181611f7f565b9392505050565b634e487b7160e01b600052602160045260246000fd5b60048110611fec57634e487b7160e01b600052602160045260246000fd5b9052565b60208101611ffe8284611fce565b92915050565b600060208083528351808285015260005b8181101561203157858101830151858201604001528201612015565b81811115612043576000604083870101525b50601f01601f1916929092016040019392505050565b60006020828403121561206b57600080fd5b5035919050565b6000806040838503121561208557600080fd5b823561209081611f7f565b946020939093013593505050565b6001600160a01b038381168252604060208084018290528451918401829052600092858201929091906060860190855b818110156120ec5785518516835294830194918301916001016120ce565b509098975050505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612139576121396120fa565b604052919050565b6000602080838503121561215457600080fd5b823567ffffffffffffffff8082111561216c57600080fd5b818501915085601f83011261218057600080fd5b813581811115612192576121926120fa565b6121a4601f8201601f19168501612110565b915080825286848285010111156121ba57600080fd5b8084840185840137600090820190930192909252509392505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415612216576122166121ec565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601c908201527f4e6f7420696e207468652064657369676e617465642073746174757300000000604082015260600190565b60208082526016908201527514995d1a5c9959081b9bdd081c9959da5cdd195c995960521b604082015260600190565b6000828210156122cb576122cb6121ec565b500390565b634e487b7160e01b600052603160045260246000fd5b600082198211156122f9576122f96121ec565b500190565b600181811c9082168061231257607f821691505b602082108114156106a157634e487b7160e01b600052602260045260246000fd5b60208082526022908201527f6d696e2072657175697265642061646d696e732073686f756c6420617070726f604082015261766560f01b606082015260800190565b60408152600080845481600182811c91508083168061239557607f831692505b60208084108214156123b557634e487b7160e01b86526022600452602486fd5b60408801849052606088018280156123d457600181146123e557612410565b60ff19871682528282019750612410565b60008c81526020902060005b8781101561240a578154848201529086019084016123f1565b83019850505b50508596506124218189018a611fce565b5050505050509392505050565b6000806040838503121561244157600080fd5b825167ffffffffffffffff8082111561245957600080fd5b818501915085601f83011261246d57600080fd5b8151602082821115612481576124816120fa565b8160051b9250612492818401612110565b82815292840181019281810190898511156124ac57600080fd5b948201945b848610156124d657855193506124c684611f7f565b83825294820194908201906124b1565b9790910151969896975050505050505056fea26469706673582212207926927e143232a6a5d27422a57ff7d1dc606697326e55f6563acd9ea12639cd64736f6c634300080a0033",
  2460  }
  2461  
  2462  // TreasuryRebalanceABI is the input ABI used to generate the binding from.
  2463  // Deprecated: Use TreasuryRebalanceMetaData.ABI instead.
  2464  var TreasuryRebalanceABI = TreasuryRebalanceMetaData.ABI
  2465  
  2466  // TreasuryRebalanceBinRuntime is the compiled bytecode used for adding genesis block without deploying code.
  2467  const TreasuryRebalanceBinRuntime = `6080604052600436106101cd5760003560e01c80638da5cb5b116100f7578063d826f88f11610095578063ea6d4a9b11610064578063ea6d4a9b1461057d578063eb5a8e551461059d578063f2fde38b146105bd578063faaf9ca6146105dd576101cd565b8063d826f88f14610512578063daea85c514610527578063e20fcf0014610547578063e2384cb31461055c576101cd565b806394393e11116100d157806394393e111461047b578063966e0794146104ba578063bf680590146104cf578063d1ed33fc146104fd576101cd565b80638da5cb5b146104285780638f32d59b1461044657806391734d8614610466576101cd565b806349a3fb451161016f578063681f6e7c1161013e578063681f6e7c146103b3578063683e13cb146103d35780636864b95b146103f3578063715018a614610413576101cd565b806349a3fb451461032357806358c3b870146103395780635a12667b1461035b578063652e27e014610393576101cd565b80631f8c1798116101ab5780631f8c1798146102b2578063200d2ed2146102d257806345205a6b146102f9578063484090961461030e576101cd565b806301784e051461022d57806311f5c466146102625780631c1dac5914610290575b60405162461bcd60e51b815260206004820152602a60248201527f5468697320636f6e747261637420646f6573206e6f742061636365707420616e60448201526979207061796d656e747360b01b60648201526084015b60405180910390fd5b34801561023957600080fd5b5061024d610248366004611f94565b6105f2565b60405190151581526020015b60405180910390f35b34801561026e57600080fd5b5061028261027d366004611f94565b6106a7565b604051908152602001610259565b34801561029c57600080fd5b506102b06102ab366004611f94565b610714565b005b3480156102be57600080fd5b506102b06102cd366004611f94565b6108b3565b3480156102de57600080fd5b506003546102ec9060ff1681565b6040516102599190611ff0565b34801561030557600080fd5b506102826109f8565b34801561031a57600080fd5b506102b0610a56565b34801561032f57600080fd5b5061028260045481565b34801561034557600080fd5b5061034e610b0d565b6040516102599190612004565b34801561036757600080fd5b5061037b610376366004612059565b610b9b565b6040516001600160a01b039091168152602001610259565b34801561039f57600080fd5b506102b06103ae366004612072565b610bca565b3480156103bf57600080fd5b506102826103ce366004611f94565b610db0565b3480156103df57600080fd5b5061024d6103ee366004611f94565b610e13565b3480156103ff57600080fd5b506102b061040e366004611f94565b610ec2565b34801561041f57600080fd5b506102b061106c565b34801561043457600080fd5b506000546001600160a01b031661037b565b34801561045257600080fd5b506000546001600160a01b0316331461024d565b34801561047257600080fd5b50600254610282565b34801561048757600080fd5b5061049b610496366004612059565b6110e0565b604080516001600160a01b039093168352602083019190915201610259565b3480156104c657600080fd5b506102b0611118565b3480156104db57600080fd5b506104ef6104ea366004611f94565b6112fc565b60405161025992919061209e565b34801561050957600080fd5b50600154610282565b34801561051e57600080fd5b506102b06113e4565b34801561053357600080fd5b506102b0610542366004611f94565b6114c3565b34801561055357600080fd5b506102826116a8565b34801561056857600080fd5b5061024d610577366004611f94565b3b151590565b34801561058957600080fd5b506102b0610598366004612141565b6116fa565b3480156105a957600080fd5b5061049b6105b8366004611f94565b611829565b3480156105c957600080fd5b506102b06105d8366004611f94565b6118da565b3480156105e957600080fd5b506102b061190d565b60006001600160a01b03821661063c5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610224565b60005b6001548110156106a157826001600160a01b031660018281548110610666576106666121d6565b60009182526020909120600290910201546001600160a01b0316141561068f5750600192915050565b8061069981612202565b91505061063f565b50919050565b6000805b60025481101561070a57826001600160a01b0316600282815481106106d2576106d26121d6565b60009182526020909120600290910201546001600160a01b031614156106f85792915050565b8061070281612202565b9150506106ab565b5060001992915050565b6000546001600160a01b0316331461073e5760405162461bcd60e51b81526004016102249061221d565b6000806003805460ff169081111561075857610758611fb8565b146107755760405162461bcd60e51b815260040161022490612252565b600061078083610db0565b90506000198114156107a45760405162461bcd60e51b815260040161022490612289565b600180546107b39082906122b9565b815481106107c3576107c36121d6565b9060005260206000209060020201600182815481106107e4576107e46121d6565b60009182526020909120825460029092020180546001600160a01b0319166001600160a01b03909216919091178155600180830180546108279284019190611dbc565b50905050600180548061083c5761083c6122d0565b60008281526020812060026000199093019283020180546001600160a01b03191681559061086d6001830182611e08565b505090556040516001600160a01b03841681527f1f46b11b62ae5cc6363d0d5c2e597c4cb8849543d9126353adb73c5d7215e237906020015b60405180910390a1505050565b6000546001600160a01b031633146108dd5760405162461bcd60e51b81526004016102249061221d565b6000806003805460ff16908111156108f7576108f7611fb8565b146109145760405162461bcd60e51b815260040161022490612252565b61091d826105f2565b156109785760405162461bcd60e51b815260206004820152602560248201527f52657469726564206164647265737320697320616c72656164792072656769736044820152641d195c995960da1b6064820152608401610224565b6001805480820182556000919091526002027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0384166001600160a01b0319909116811782556040519081527f7da2e87d0b02df1162d5736cc40dfcfffd17198aaf093ddff4a8f4eb26002fde906020016108a6565b6000805b600154811015610a525760018181548110610a1957610a196121d6565b6000918252602090912060029091020154610a3e906001600160a01b031631836122e6565b915080610a4a81612202565b9150506109fc565b5090565b6000546001600160a01b03163314610a805760405162461bcd60e51b81526004016102249061221d565b6000806003805460ff1690811115610a9a57610a9a611fb8565b14610ab75760405162461bcd60e51b815260040161022490612252565b600380546001919060ff191682805b02179055506003546040517fafa725e7f44cadb687a7043853fa1a7e7b8f0da74ce87ec546e9420f04da8c1e91610b029160ff90911690611ff0565b60405180910390a150565b60058054610b1a906122fe565b80601f0160208091040260200160405190810160405280929190818152602001828054610b46906122fe565b8015610b935780601f10610b6857610100808354040283529160200191610b93565b820191906000526020600020905b815481529060010190602001808311610b7657829003601f168201915b505050505081565b60018181548110610bab57600080fd5b60009182526020909120600290910201546001600160a01b0316905081565b6000546001600160a01b03163314610bf45760405162461bcd60e51b81526004016102249061221d565b6000806003805460ff1690811115610c0e57610c0e611fb8565b14610c2b5760405162461bcd60e51b815260040161022490612252565b610c3483610e13565b15610c8d5760405162461bcd60e51b8152602060048201526024808201527f4e6577626965206164647265737320697320616c726561647920726567697374604482015263195c995960e21b6064820152608401610224565b81610cda5760405162461bcd60e51b815260206004820152601960248201527f416d6f756e742063616e6e6f742062652073657420746f2030000000000000006044820152606401610224565b6040805180820182526001600160a01b038581168083526020808401878152600280546001810182556000829052865191027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054929096166001600160a01b031990921691909117909455517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf90930192909255835190815290810185905290917fd261b37cd56b21cd1af841dca6331a133e5d8b9d55c2c6fe0ec822e2a303ef7491015b60405180910390a150505050565b6000805b60015481101561070a57826001600160a01b031660018281548110610ddb57610ddb6121d6565b60009182526020909120600290910201546001600160a01b03161415610e015792915050565b80610e0b81612202565b915050610db4565b60006001600160a01b038216610e5d5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610224565b60005b6002548110156106a157826001600160a01b031660028281548110610e8757610e876121d6565b60009182526020909120600290910201546001600160a01b03161415610eb05750600192915050565b80610eba81612202565b915050610e60565b6000546001600160a01b03163314610eec5760405162461bcd60e51b81526004016102249061221d565b6000806003805460ff1690811115610f0657610f06611fb8565b14610f235760405162461bcd60e51b815260040161022490612252565b6000610f2e836106a7565b9050600019811415610f7a5760405162461bcd60e51b815260206004820152601560248201527413995dd89a59481b9bdd081c9959da5cdd195c9959605a1b6044820152606401610224565b60028054610f8a906001906122b9565b81548110610f9a57610f9a6121d6565b906000526020600020906002020160028281548110610fbb57610fbb6121d6565b600091825260209091208254600292830290910180546001600160a01b0319166001600160a01b03909216919091178155600192830154920191909155805480611007576110076122d0565b600082815260208082206002600019949094019384020180546001600160a01b03191681556001019190915591556040516001600160a01b03851681527fe630072edaed8f0fccf534c7eaa063290db8f775b0824c7261d01e6619da4b3891016108a6565b6000546001600160a01b031633146110965760405162461bcd60e51b81526004016102249061221d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600281815481106110f057600080fd5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b60005b6001548110156112f95760006001828154811061113a5761113a6121d6565b6000918252602091829020604080518082018252600290930290910180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156111ba57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161119c575b505050505081525050905060006111d582600001513b151590565b9050801561129a576000806111ed8460000151611a21565b915091508084602001515110156112165760405162461bcd60e51b815260040161022490612333565b60208401516000805b82518110156112705761124b83828151811061123d5761123d6121d6565b602002602001015186611a9a565b1561125e578161125a81612202565b9250505b8061126881612202565b91505061121f565b50828110156112915760405162461bcd60e51b815260040161022490612333565b505050506112e4565b8160200151516001146112e45760405162461bcd60e51b8152602060048201526012602482015271454f412073686f756c6420617070726f766560701b6044820152606401610224565b505080806112f190612202565b91505061111b565b50565b60006060600061130b84610db0565b905060001981141561132f5760405162461bcd60e51b815260040161022490612289565b600060018281548110611344576113446121d6565b6000918252602091829020604080518082018252600290930290910180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156113c457602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116113a6575b505050505081525050905080600001518160200151935093505050915091565b6000546001600160a01b0316331461140e5760405162461bcd60e51b81526004016102249061221d565b6003805460ff168181111561142557611425611fb8565b14158015611434575060045443105b6114935760405162461bcd60e51b815260206004820152602a60248201527f436f6e74726163742069732066696e616c697a65642c2063616e6e6f742072656044820152697365742076616c75657360b01b6064820152608401610224565b61149f60016000611e26565b6114ab60026000611e47565b6114b760056000611e68565b6003805460ff19169055565b6001806003805460ff16908111156114dd576114dd611fb8565b146114fa5760405162461bcd60e51b815260040161022490612252565b611503826105f2565b6115665760405162461bcd60e51b815260206004820152602e60248201527f72657469726564206e6565647320746f2062652072656769737465726564206260448201526d19599bdc9948185c1c1c9bdd985b60921b6064820152608401610224565b813b1515806115e257336001600160a01b038416146115d35760405162461bcd60e51b8152602060048201526024808201527f7265746972656441646472657373206973206e6f7420746865206d73672e7365604482015263373232b960e11b6064820152608401610224565b6115dd8333611af8565b505050565b60006115ed84611a21565b5090508051600014156116425760405162461bcd60e51b815260206004820152601a60248201527f61646d696e206c6973742063616e6e6f7420626520656d7074790000000000006044820152606401610224565b61164c3382611a9a565b6116985760405162461bcd60e51b815260206004820152601b60248201527f6d73672e73656e646572206973206e6f74207468652061646d696e00000000006044820152606401610224565b6116a28433611af8565b50505050565b6000805b600254811015610a5257600281815481106116c9576116c96121d6565b906000526020600020906002020160010154826116e691906122e6565b9150806116f281612202565b9150506116ac565b6000546001600160a01b031633146117245760405162461bcd60e51b81526004016102249061221d565b6002806003805460ff169081111561173e5761173e611fb8565b1461175b5760405162461bcd60e51b815260040161022490612252565b815161176e906005906020850190611ea2565b506003805460ff1916811781556040517f8f8636c7757ca9b7d154e1d44ca90d8e8c885b9eac417c59bbf8eb7779ca6404916117ad9160059190612375565b60405180910390a160045443116118255760405162461bcd60e51b815260206004820152603660248201527f436f6e74726163742063616e206f6e6c792066696e616c697a6520616674657260448201527520657865637574696e6720726562616c616e63696e6760501b6064820152608401610224565b5050565b6000806000611837846106a7565b90506000198114156118835760405162461bcd60e51b815260206004820152601560248201527413995dd89a59481b9bdd081c9959da5cdd195c9959605a1b6044820152606401610224565b600060028281548110611898576118986121d6565b60009182526020918290206040805180820190915260029092020180546001600160a01b03168083526001909101549190920181905290969095509350505050565b6000546001600160a01b031633146119045760405162461bcd60e51b81526004016102249061221d565b6112f981611cfc565b6000546001600160a01b031633146119375760405162461bcd60e51b81526004016102249061221d565b6001806003805460ff169081111561195157611951611fb8565b1461196e5760405162461bcd60e51b815260040161022490612252565b6119766109f8565b61197e6116a8565b10611a055760405162461bcd60e51b815260206004820152604b60248201527f747265617375727920616d6f756e742073686f756c64206265206c657373207460448201527f68616e207468652073756d206f6620616c6c207265746972656420616464726560648201526a73732062616c616e63657360a81b608482015260a401610224565b611a0d611118565b600380546002919060ff1916600183610ac6565b6060600080839050806001600160a01b0316631865c57d6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611a67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a8f919081019061242e565b909590945092505050565b6000805b8251811015611af157828181518110611ab957611ab96121d6565b60200260200101516001600160a01b0316846001600160a01b03161415611adf57600191505b80611ae981612202565b915050611a9e565b5092915050565b6000611b0383610db0565b9050600019811415611b275760405162461bcd60e51b815260040161022490612289565b600060018281548110611b3c57611b3c6121d6565b9060005260206000209060020201600101805480602002602001604051908101604052809291908181526020018280548015611ba157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611b83575b5050505050905060005b8151811015611c3457836001600160a01b0316828281518110611bd057611bd06121d6565b60200260200101516001600160a01b03161415611c225760405162461bcd60e51b815260206004820152601060248201526f105b1c9958591e48185c1c1c9bdd995960821b6044820152606401610224565b80611c2c81612202565b915050611bab565b5060018281548110611c4857611c486121d6565b600091825260208083206001600290930201820180548084018255908452922090910180546001600160a01b0386166001600160a01b031990911617905580547f80da462ebfbe41cfc9bc015e7a9a3c7a2a73dbccede72d8ceb583606c27f8f9091869186919086908110611cbf57611cbf6121d6565b600091825260209182902060016002909202010154604080516001600160a01b039586168152949093169184019190915290820152606001610da2565b6001600160a01b038116611d615760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610224565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b828054828255906000526020600020908101928215611dfc5760005260206000209182015b82811115611dfc578254825591600101919060010190611de1565b50610a52929150611f16565b50805460008255906000526020600020908101906112f99190611f16565b50805460008255600202906000526020600020908101906112f99190611f2b565b50805460008255600202906000526020600020908101906112f99190611f59565b508054611e74906122fe565b6000825580601f10611e84575050565b601f0160209004906000526020600020908101906112f99190611f16565b828054611eae906122fe565b90600052602060002090601f016020900481019282611ed05760008555611dfc565b82601f10611ee957805160ff1916838001178555611dfc565b82800160010185558215611dfc579182015b82811115611dfc578251825591602001919060010190611efb565b5b80821115610a525760008155600101611f17565b80821115610a525780546001600160a01b03191681556000611f506001830182611e08565b50600201611f2b565b5b80821115610a525780546001600160a01b031916815560006001820155600201611f5a565b6001600160a01b03811681146112f957600080fd5b600060208284031215611fa657600080fd5b8135611fb181611f7f565b9392505050565b634e487b7160e01b600052602160045260246000fd5b60048110611fec57634e487b7160e01b600052602160045260246000fd5b9052565b60208101611ffe8284611fce565b92915050565b600060208083528351808285015260005b8181101561203157858101830151858201604001528201612015565b81811115612043576000604083870101525b50601f01601f1916929092016040019392505050565b60006020828403121561206b57600080fd5b5035919050565b6000806040838503121561208557600080fd5b823561209081611f7f565b946020939093013593505050565b6001600160a01b038381168252604060208084018290528451918401829052600092858201929091906060860190855b818110156120ec5785518516835294830194918301916001016120ce565b509098975050505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612139576121396120fa565b604052919050565b6000602080838503121561215457600080fd5b823567ffffffffffffffff8082111561216c57600080fd5b818501915085601f83011261218057600080fd5b813581811115612192576121926120fa565b6121a4601f8201601f19168501612110565b915080825286848285010111156121ba57600080fd5b8084840185840137600090820190930192909252509392505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415612216576122166121ec565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601c908201527f4e6f7420696e207468652064657369676e617465642073746174757300000000604082015260600190565b60208082526016908201527514995d1a5c9959081b9bdd081c9959da5cdd195c995960521b604082015260600190565b6000828210156122cb576122cb6121ec565b500390565b634e487b7160e01b600052603160045260246000fd5b600082198211156122f9576122f96121ec565b500190565b600181811c9082168061231257607f821691505b602082108114156106a157634e487b7160e01b600052602260045260246000fd5b60208082526022908201527f6d696e2072657175697265642061646d696e732073686f756c6420617070726f604082015261766560f01b606082015260800190565b60408152600080845481600182811c91508083168061239557607f831692505b60208084108214156123b557634e487b7160e01b86526022600452602486fd5b60408801849052606088018280156123d457600181146123e557612410565b60ff19871682528282019750612410565b60008c81526020902060005b8781101561240a578154848201529086019084016123f1565b83019850505b50508596506124218189018a611fce565b5050505050509392505050565b6000806040838503121561244157600080fd5b825167ffffffffffffffff8082111561245957600080fd5b818501915085601f83011261246d57600080fd5b8151602082821115612481576124816120fa565b8160051b9250612492818401612110565b82815292840181019281810190898511156124ac57600080fd5b948201945b848610156124d657855193506124c684611f7f565b83825294820194908201906124b1565b9790910151969896975050505050505056fea26469706673582212207926927e143232a6a5d27422a57ff7d1dc606697326e55f6563acd9ea12639cd64736f6c634300080a0033`
  2468  
  2469  // TreasuryRebalanceFuncSigs maps the 4-byte function signature to its string representation.
  2470  // Deprecated: Use TreasuryRebalanceMetaData.Sigs instead.
  2471  var TreasuryRebalanceFuncSigs = TreasuryRebalanceMetaData.Sigs
  2472  
  2473  // TreasuryRebalanceBin is the compiled bytecode used for deploying new contracts.
  2474  // Deprecated: Use TreasuryRebalanceMetaData.Bin instead.
  2475  var TreasuryRebalanceBin = TreasuryRebalanceMetaData.Bin
  2476  
  2477  // DeployTreasuryRebalance deploys a new Klaytn contract, binding an instance of TreasuryRebalance to it.
  2478  func DeployTreasuryRebalance(auth *bind.TransactOpts, backend bind.ContractBackend, _rebalanceBlockNumber *big.Int) (common.Address, *types.Transaction, *TreasuryRebalance, error) {
  2479  	parsed, err := TreasuryRebalanceMetaData.GetAbi()
  2480  	if err != nil {
  2481  		return common.Address{}, nil, nil, err
  2482  	}
  2483  	if parsed == nil {
  2484  		return common.Address{}, nil, nil, errors.New("GetABI returned nil")
  2485  	}
  2486  
  2487  	address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(TreasuryRebalanceBin), backend, _rebalanceBlockNumber)
  2488  	if err != nil {
  2489  		return common.Address{}, nil, nil, err
  2490  	}
  2491  	return address, tx, &TreasuryRebalance{TreasuryRebalanceCaller: TreasuryRebalanceCaller{contract: contract}, TreasuryRebalanceTransactor: TreasuryRebalanceTransactor{contract: contract}, TreasuryRebalanceFilterer: TreasuryRebalanceFilterer{contract: contract}}, nil
  2492  }
  2493  
  2494  // TreasuryRebalance is an auto generated Go binding around a Klaytn contract.
  2495  type TreasuryRebalance struct {
  2496  	TreasuryRebalanceCaller     // Read-only binding to the contract
  2497  	TreasuryRebalanceTransactor // Write-only binding to the contract
  2498  	TreasuryRebalanceFilterer   // Log filterer for contract events
  2499  }
  2500  
  2501  // TreasuryRebalanceCaller is an auto generated read-only Go binding around a Klaytn contract.
  2502  type TreasuryRebalanceCaller struct {
  2503  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  2504  }
  2505  
  2506  // TreasuryRebalanceTransactor is an auto generated write-only Go binding around a Klaytn contract.
  2507  type TreasuryRebalanceTransactor struct {
  2508  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  2509  }
  2510  
  2511  // TreasuryRebalanceFilterer is an auto generated log filtering Go binding around a Klaytn contract events.
  2512  type TreasuryRebalanceFilterer struct {
  2513  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  2514  }
  2515  
  2516  // TreasuryRebalanceSession is an auto generated Go binding around a Klaytn contract,
  2517  // with pre-set call and transact options.
  2518  type TreasuryRebalanceSession struct {
  2519  	Contract     *TreasuryRebalance // Generic contract binding to set the session for
  2520  	CallOpts     bind.CallOpts      // Call options to use throughout this session
  2521  	TransactOpts bind.TransactOpts  // Transaction auth options to use throughout this session
  2522  }
  2523  
  2524  // TreasuryRebalanceCallerSession is an auto generated read-only Go binding around a Klaytn contract,
  2525  // with pre-set call options.
  2526  type TreasuryRebalanceCallerSession struct {
  2527  	Contract *TreasuryRebalanceCaller // Generic contract caller binding to set the session for
  2528  	CallOpts bind.CallOpts            // Call options to use throughout this session
  2529  }
  2530  
  2531  // TreasuryRebalanceTransactorSession is an auto generated write-only Go binding around a Klaytn contract,
  2532  // with pre-set transact options.
  2533  type TreasuryRebalanceTransactorSession struct {
  2534  	Contract     *TreasuryRebalanceTransactor // Generic contract transactor binding to set the session for
  2535  	TransactOpts bind.TransactOpts            // Transaction auth options to use throughout this session
  2536  }
  2537  
  2538  // TreasuryRebalanceRaw is an auto generated low-level Go binding around a Klaytn contract.
  2539  type TreasuryRebalanceRaw struct {
  2540  	Contract *TreasuryRebalance // Generic contract binding to access the raw methods on
  2541  }
  2542  
  2543  // TreasuryRebalanceCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract.
  2544  type TreasuryRebalanceCallerRaw struct {
  2545  	Contract *TreasuryRebalanceCaller // Generic read-only contract binding to access the raw methods on
  2546  }
  2547  
  2548  // TreasuryRebalanceTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract.
  2549  type TreasuryRebalanceTransactorRaw struct {
  2550  	Contract *TreasuryRebalanceTransactor // Generic write-only contract binding to access the raw methods on
  2551  }
  2552  
  2553  // NewTreasuryRebalance creates a new instance of TreasuryRebalance, bound to a specific deployed contract.
  2554  func NewTreasuryRebalance(address common.Address, backend bind.ContractBackend) (*TreasuryRebalance, error) {
  2555  	contract, err := bindTreasuryRebalance(address, backend, backend, backend)
  2556  	if err != nil {
  2557  		return nil, err
  2558  	}
  2559  	return &TreasuryRebalance{TreasuryRebalanceCaller: TreasuryRebalanceCaller{contract: contract}, TreasuryRebalanceTransactor: TreasuryRebalanceTransactor{contract: contract}, TreasuryRebalanceFilterer: TreasuryRebalanceFilterer{contract: contract}}, nil
  2560  }
  2561  
  2562  // NewTreasuryRebalanceCaller creates a new read-only instance of TreasuryRebalance, bound to a specific deployed contract.
  2563  func NewTreasuryRebalanceCaller(address common.Address, caller bind.ContractCaller) (*TreasuryRebalanceCaller, error) {
  2564  	contract, err := bindTreasuryRebalance(address, caller, nil, nil)
  2565  	if err != nil {
  2566  		return nil, err
  2567  	}
  2568  	return &TreasuryRebalanceCaller{contract: contract}, nil
  2569  }
  2570  
  2571  // NewTreasuryRebalanceTransactor creates a new write-only instance of TreasuryRebalance, bound to a specific deployed contract.
  2572  func NewTreasuryRebalanceTransactor(address common.Address, transactor bind.ContractTransactor) (*TreasuryRebalanceTransactor, error) {
  2573  	contract, err := bindTreasuryRebalance(address, nil, transactor, nil)
  2574  	if err != nil {
  2575  		return nil, err
  2576  	}
  2577  	return &TreasuryRebalanceTransactor{contract: contract}, nil
  2578  }
  2579  
  2580  // NewTreasuryRebalanceFilterer creates a new log filterer instance of TreasuryRebalance, bound to a specific deployed contract.
  2581  func NewTreasuryRebalanceFilterer(address common.Address, filterer bind.ContractFilterer) (*TreasuryRebalanceFilterer, error) {
  2582  	contract, err := bindTreasuryRebalance(address, nil, nil, filterer)
  2583  	if err != nil {
  2584  		return nil, err
  2585  	}
  2586  	return &TreasuryRebalanceFilterer{contract: contract}, nil
  2587  }
  2588  
  2589  // bindTreasuryRebalance binds a generic wrapper to an already deployed contract.
  2590  func bindTreasuryRebalance(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  2591  	parsed, err := TreasuryRebalanceMetaData.GetAbi()
  2592  	if err != nil {
  2593  		return nil, err
  2594  	}
  2595  	return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil
  2596  }
  2597  
  2598  // Call invokes the (constant) contract method with params as input values and
  2599  // sets the output to result. The result type might be a single field for simple
  2600  // returns, a slice of interfaces for anonymous returns and a struct for named
  2601  // returns.
  2602  func (_TreasuryRebalance *TreasuryRebalanceRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  2603  	return _TreasuryRebalance.Contract.TreasuryRebalanceCaller.contract.Call(opts, result, method, params...)
  2604  }
  2605  
  2606  // Transfer initiates a plain transaction to move funds to the contract, calling
  2607  // its default method if one is available.
  2608  func (_TreasuryRebalance *TreasuryRebalanceRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  2609  	return _TreasuryRebalance.Contract.TreasuryRebalanceTransactor.contract.Transfer(opts)
  2610  }
  2611  
  2612  // Transact invokes the (paid) contract method with params as input values.
  2613  func (_TreasuryRebalance *TreasuryRebalanceRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  2614  	return _TreasuryRebalance.Contract.TreasuryRebalanceTransactor.contract.Transact(opts, method, params...)
  2615  }
  2616  
  2617  // Call invokes the (constant) contract method with params as input values and
  2618  // sets the output to result. The result type might be a single field for simple
  2619  // returns, a slice of interfaces for anonymous returns and a struct for named
  2620  // returns.
  2621  func (_TreasuryRebalance *TreasuryRebalanceCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  2622  	return _TreasuryRebalance.Contract.contract.Call(opts, result, method, params...)
  2623  }
  2624  
  2625  // Transfer initiates a plain transaction to move funds to the contract, calling
  2626  // its default method if one is available.
  2627  func (_TreasuryRebalance *TreasuryRebalanceTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  2628  	return _TreasuryRebalance.Contract.contract.Transfer(opts)
  2629  }
  2630  
  2631  // Transact invokes the (paid) contract method with params as input values.
  2632  func (_TreasuryRebalance *TreasuryRebalanceTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  2633  	return _TreasuryRebalance.Contract.contract.Transact(opts, method, params...)
  2634  }
  2635  
  2636  // CheckRetiredsApproved is a free data retrieval call binding the contract method 0x966e0794.
  2637  //
  2638  // Solidity: function checkRetiredsApproved() view returns()
  2639  func (_TreasuryRebalance *TreasuryRebalanceCaller) CheckRetiredsApproved(opts *bind.CallOpts) error {
  2640  	var out []interface{}
  2641  	err := _TreasuryRebalance.contract.Call(opts, &out, "checkRetiredsApproved")
  2642  
  2643  	if err != nil {
  2644  		return err
  2645  	}
  2646  
  2647  	return err
  2648  
  2649  }
  2650  
  2651  // CheckRetiredsApproved is a free data retrieval call binding the contract method 0x966e0794.
  2652  //
  2653  // Solidity: function checkRetiredsApproved() view returns()
  2654  func (_TreasuryRebalance *TreasuryRebalanceSession) CheckRetiredsApproved() error {
  2655  	return _TreasuryRebalance.Contract.CheckRetiredsApproved(&_TreasuryRebalance.CallOpts)
  2656  }
  2657  
  2658  // CheckRetiredsApproved is a free data retrieval call binding the contract method 0x966e0794.
  2659  //
  2660  // Solidity: function checkRetiredsApproved() view returns()
  2661  func (_TreasuryRebalance *TreasuryRebalanceCallerSession) CheckRetiredsApproved() error {
  2662  	return _TreasuryRebalance.Contract.CheckRetiredsApproved(&_TreasuryRebalance.CallOpts)
  2663  }
  2664  
  2665  // GetNewbie is a free data retrieval call binding the contract method 0xeb5a8e55.
  2666  //
  2667  // Solidity: function getNewbie(address _newbieAddress) view returns(address, uint256)
  2668  func (_TreasuryRebalance *TreasuryRebalanceCaller) GetNewbie(opts *bind.CallOpts, _newbieAddress common.Address) (common.Address, *big.Int, error) {
  2669  	var out []interface{}
  2670  	err := _TreasuryRebalance.contract.Call(opts, &out, "getNewbie", _newbieAddress)
  2671  
  2672  	if err != nil {
  2673  		return *new(common.Address), *new(*big.Int), err
  2674  	}
  2675  
  2676  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  2677  	out1 := *abi.ConvertType(out[1], new(*big.Int)).(**big.Int)
  2678  
  2679  	return out0, out1, err
  2680  
  2681  }
  2682  
  2683  // GetNewbie is a free data retrieval call binding the contract method 0xeb5a8e55.
  2684  //
  2685  // Solidity: function getNewbie(address _newbieAddress) view returns(address, uint256)
  2686  func (_TreasuryRebalance *TreasuryRebalanceSession) GetNewbie(_newbieAddress common.Address) (common.Address, *big.Int, error) {
  2687  	return _TreasuryRebalance.Contract.GetNewbie(&_TreasuryRebalance.CallOpts, _newbieAddress)
  2688  }
  2689  
  2690  // GetNewbie is a free data retrieval call binding the contract method 0xeb5a8e55.
  2691  //
  2692  // Solidity: function getNewbie(address _newbieAddress) view returns(address, uint256)
  2693  func (_TreasuryRebalance *TreasuryRebalanceCallerSession) GetNewbie(_newbieAddress common.Address) (common.Address, *big.Int, error) {
  2694  	return _TreasuryRebalance.Contract.GetNewbie(&_TreasuryRebalance.CallOpts, _newbieAddress)
  2695  }
  2696  
  2697  // GetNewbieCount is a free data retrieval call binding the contract method 0x91734d86.
  2698  //
  2699  // Solidity: function getNewbieCount() view returns(uint256)
  2700  func (_TreasuryRebalance *TreasuryRebalanceCaller) GetNewbieCount(opts *bind.CallOpts) (*big.Int, error) {
  2701  	var out []interface{}
  2702  	err := _TreasuryRebalance.contract.Call(opts, &out, "getNewbieCount")
  2703  
  2704  	if err != nil {
  2705  		return *new(*big.Int), err
  2706  	}
  2707  
  2708  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  2709  
  2710  	return out0, err
  2711  
  2712  }
  2713  
  2714  // GetNewbieCount is a free data retrieval call binding the contract method 0x91734d86.
  2715  //
  2716  // Solidity: function getNewbieCount() view returns(uint256)
  2717  func (_TreasuryRebalance *TreasuryRebalanceSession) GetNewbieCount() (*big.Int, error) {
  2718  	return _TreasuryRebalance.Contract.GetNewbieCount(&_TreasuryRebalance.CallOpts)
  2719  }
  2720  
  2721  // GetNewbieCount is a free data retrieval call binding the contract method 0x91734d86.
  2722  //
  2723  // Solidity: function getNewbieCount() view returns(uint256)
  2724  func (_TreasuryRebalance *TreasuryRebalanceCallerSession) GetNewbieCount() (*big.Int, error) {
  2725  	return _TreasuryRebalance.Contract.GetNewbieCount(&_TreasuryRebalance.CallOpts)
  2726  }
  2727  
  2728  // GetNewbieIndex is a free data retrieval call binding the contract method 0x11f5c466.
  2729  //
  2730  // Solidity: function getNewbieIndex(address _newbieAddress) view returns(uint256)
  2731  func (_TreasuryRebalance *TreasuryRebalanceCaller) GetNewbieIndex(opts *bind.CallOpts, _newbieAddress common.Address) (*big.Int, error) {
  2732  	var out []interface{}
  2733  	err := _TreasuryRebalance.contract.Call(opts, &out, "getNewbieIndex", _newbieAddress)
  2734  
  2735  	if err != nil {
  2736  		return *new(*big.Int), err
  2737  	}
  2738  
  2739  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  2740  
  2741  	return out0, err
  2742  
  2743  }
  2744  
  2745  // GetNewbieIndex is a free data retrieval call binding the contract method 0x11f5c466.
  2746  //
  2747  // Solidity: function getNewbieIndex(address _newbieAddress) view returns(uint256)
  2748  func (_TreasuryRebalance *TreasuryRebalanceSession) GetNewbieIndex(_newbieAddress common.Address) (*big.Int, error) {
  2749  	return _TreasuryRebalance.Contract.GetNewbieIndex(&_TreasuryRebalance.CallOpts, _newbieAddress)
  2750  }
  2751  
  2752  // GetNewbieIndex is a free data retrieval call binding the contract method 0x11f5c466.
  2753  //
  2754  // Solidity: function getNewbieIndex(address _newbieAddress) view returns(uint256)
  2755  func (_TreasuryRebalance *TreasuryRebalanceCallerSession) GetNewbieIndex(_newbieAddress common.Address) (*big.Int, error) {
  2756  	return _TreasuryRebalance.Contract.GetNewbieIndex(&_TreasuryRebalance.CallOpts, _newbieAddress)
  2757  }
  2758  
  2759  // GetRetired is a free data retrieval call binding the contract method 0xbf680590.
  2760  //
  2761  // Solidity: function getRetired(address _retiredAddress) view returns(address, address[])
  2762  func (_TreasuryRebalance *TreasuryRebalanceCaller) GetRetired(opts *bind.CallOpts, _retiredAddress common.Address) (common.Address, []common.Address, error) {
  2763  	var out []interface{}
  2764  	err := _TreasuryRebalance.contract.Call(opts, &out, "getRetired", _retiredAddress)
  2765  
  2766  	if err != nil {
  2767  		return *new(common.Address), *new([]common.Address), err
  2768  	}
  2769  
  2770  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  2771  	out1 := *abi.ConvertType(out[1], new([]common.Address)).(*[]common.Address)
  2772  
  2773  	return out0, out1, err
  2774  
  2775  }
  2776  
  2777  // GetRetired is a free data retrieval call binding the contract method 0xbf680590.
  2778  //
  2779  // Solidity: function getRetired(address _retiredAddress) view returns(address, address[])
  2780  func (_TreasuryRebalance *TreasuryRebalanceSession) GetRetired(_retiredAddress common.Address) (common.Address, []common.Address, error) {
  2781  	return _TreasuryRebalance.Contract.GetRetired(&_TreasuryRebalance.CallOpts, _retiredAddress)
  2782  }
  2783  
  2784  // GetRetired is a free data retrieval call binding the contract method 0xbf680590.
  2785  //
  2786  // Solidity: function getRetired(address _retiredAddress) view returns(address, address[])
  2787  func (_TreasuryRebalance *TreasuryRebalanceCallerSession) GetRetired(_retiredAddress common.Address) (common.Address, []common.Address, error) {
  2788  	return _TreasuryRebalance.Contract.GetRetired(&_TreasuryRebalance.CallOpts, _retiredAddress)
  2789  }
  2790  
  2791  // GetRetiredCount is a free data retrieval call binding the contract method 0xd1ed33fc.
  2792  //
  2793  // Solidity: function getRetiredCount() view returns(uint256)
  2794  func (_TreasuryRebalance *TreasuryRebalanceCaller) GetRetiredCount(opts *bind.CallOpts) (*big.Int, error) {
  2795  	var out []interface{}
  2796  	err := _TreasuryRebalance.contract.Call(opts, &out, "getRetiredCount")
  2797  
  2798  	if err != nil {
  2799  		return *new(*big.Int), err
  2800  	}
  2801  
  2802  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  2803  
  2804  	return out0, err
  2805  
  2806  }
  2807  
  2808  // GetRetiredCount is a free data retrieval call binding the contract method 0xd1ed33fc.
  2809  //
  2810  // Solidity: function getRetiredCount() view returns(uint256)
  2811  func (_TreasuryRebalance *TreasuryRebalanceSession) GetRetiredCount() (*big.Int, error) {
  2812  	return _TreasuryRebalance.Contract.GetRetiredCount(&_TreasuryRebalance.CallOpts)
  2813  }
  2814  
  2815  // GetRetiredCount is a free data retrieval call binding the contract method 0xd1ed33fc.
  2816  //
  2817  // Solidity: function getRetiredCount() view returns(uint256)
  2818  func (_TreasuryRebalance *TreasuryRebalanceCallerSession) GetRetiredCount() (*big.Int, error) {
  2819  	return _TreasuryRebalance.Contract.GetRetiredCount(&_TreasuryRebalance.CallOpts)
  2820  }
  2821  
  2822  // GetRetiredIndex is a free data retrieval call binding the contract method 0x681f6e7c.
  2823  //
  2824  // Solidity: function getRetiredIndex(address _retiredAddress) view returns(uint256)
  2825  func (_TreasuryRebalance *TreasuryRebalanceCaller) GetRetiredIndex(opts *bind.CallOpts, _retiredAddress common.Address) (*big.Int, error) {
  2826  	var out []interface{}
  2827  	err := _TreasuryRebalance.contract.Call(opts, &out, "getRetiredIndex", _retiredAddress)
  2828  
  2829  	if err != nil {
  2830  		return *new(*big.Int), err
  2831  	}
  2832  
  2833  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  2834  
  2835  	return out0, err
  2836  
  2837  }
  2838  
  2839  // GetRetiredIndex is a free data retrieval call binding the contract method 0x681f6e7c.
  2840  //
  2841  // Solidity: function getRetiredIndex(address _retiredAddress) view returns(uint256)
  2842  func (_TreasuryRebalance *TreasuryRebalanceSession) GetRetiredIndex(_retiredAddress common.Address) (*big.Int, error) {
  2843  	return _TreasuryRebalance.Contract.GetRetiredIndex(&_TreasuryRebalance.CallOpts, _retiredAddress)
  2844  }
  2845  
  2846  // GetRetiredIndex is a free data retrieval call binding the contract method 0x681f6e7c.
  2847  //
  2848  // Solidity: function getRetiredIndex(address _retiredAddress) view returns(uint256)
  2849  func (_TreasuryRebalance *TreasuryRebalanceCallerSession) GetRetiredIndex(_retiredAddress common.Address) (*big.Int, error) {
  2850  	return _TreasuryRebalance.Contract.GetRetiredIndex(&_TreasuryRebalance.CallOpts, _retiredAddress)
  2851  }
  2852  
  2853  // GetTreasuryAmount is a free data retrieval call binding the contract method 0xe20fcf00.
  2854  //
  2855  // Solidity: function getTreasuryAmount() view returns(uint256 treasuryAmount)
  2856  func (_TreasuryRebalance *TreasuryRebalanceCaller) GetTreasuryAmount(opts *bind.CallOpts) (*big.Int, error) {
  2857  	var out []interface{}
  2858  	err := _TreasuryRebalance.contract.Call(opts, &out, "getTreasuryAmount")
  2859  
  2860  	if err != nil {
  2861  		return *new(*big.Int), err
  2862  	}
  2863  
  2864  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  2865  
  2866  	return out0, err
  2867  
  2868  }
  2869  
  2870  // GetTreasuryAmount is a free data retrieval call binding the contract method 0xe20fcf00.
  2871  //
  2872  // Solidity: function getTreasuryAmount() view returns(uint256 treasuryAmount)
  2873  func (_TreasuryRebalance *TreasuryRebalanceSession) GetTreasuryAmount() (*big.Int, error) {
  2874  	return _TreasuryRebalance.Contract.GetTreasuryAmount(&_TreasuryRebalance.CallOpts)
  2875  }
  2876  
  2877  // GetTreasuryAmount is a free data retrieval call binding the contract method 0xe20fcf00.
  2878  //
  2879  // Solidity: function getTreasuryAmount() view returns(uint256 treasuryAmount)
  2880  func (_TreasuryRebalance *TreasuryRebalanceCallerSession) GetTreasuryAmount() (*big.Int, error) {
  2881  	return _TreasuryRebalance.Contract.GetTreasuryAmount(&_TreasuryRebalance.CallOpts)
  2882  }
  2883  
  2884  // IsContractAddr is a free data retrieval call binding the contract method 0xe2384cb3.
  2885  //
  2886  // Solidity: function isContractAddr(address _addr) view returns(bool)
  2887  func (_TreasuryRebalance *TreasuryRebalanceCaller) IsContractAddr(opts *bind.CallOpts, _addr common.Address) (bool, error) {
  2888  	var out []interface{}
  2889  	err := _TreasuryRebalance.contract.Call(opts, &out, "isContractAddr", _addr)
  2890  
  2891  	if err != nil {
  2892  		return *new(bool), err
  2893  	}
  2894  
  2895  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  2896  
  2897  	return out0, err
  2898  
  2899  }
  2900  
  2901  // IsContractAddr is a free data retrieval call binding the contract method 0xe2384cb3.
  2902  //
  2903  // Solidity: function isContractAddr(address _addr) view returns(bool)
  2904  func (_TreasuryRebalance *TreasuryRebalanceSession) IsContractAddr(_addr common.Address) (bool, error) {
  2905  	return _TreasuryRebalance.Contract.IsContractAddr(&_TreasuryRebalance.CallOpts, _addr)
  2906  }
  2907  
  2908  // IsContractAddr is a free data retrieval call binding the contract method 0xe2384cb3.
  2909  //
  2910  // Solidity: function isContractAddr(address _addr) view returns(bool)
  2911  func (_TreasuryRebalance *TreasuryRebalanceCallerSession) IsContractAddr(_addr common.Address) (bool, error) {
  2912  	return _TreasuryRebalance.Contract.IsContractAddr(&_TreasuryRebalance.CallOpts, _addr)
  2913  }
  2914  
  2915  // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b.
  2916  //
  2917  // Solidity: function isOwner() view returns(bool)
  2918  func (_TreasuryRebalance *TreasuryRebalanceCaller) IsOwner(opts *bind.CallOpts) (bool, error) {
  2919  	var out []interface{}
  2920  	err := _TreasuryRebalance.contract.Call(opts, &out, "isOwner")
  2921  
  2922  	if err != nil {
  2923  		return *new(bool), err
  2924  	}
  2925  
  2926  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  2927  
  2928  	return out0, err
  2929  
  2930  }
  2931  
  2932  // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b.
  2933  //
  2934  // Solidity: function isOwner() view returns(bool)
  2935  func (_TreasuryRebalance *TreasuryRebalanceSession) IsOwner() (bool, error) {
  2936  	return _TreasuryRebalance.Contract.IsOwner(&_TreasuryRebalance.CallOpts)
  2937  }
  2938  
  2939  // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b.
  2940  //
  2941  // Solidity: function isOwner() view returns(bool)
  2942  func (_TreasuryRebalance *TreasuryRebalanceCallerSession) IsOwner() (bool, error) {
  2943  	return _TreasuryRebalance.Contract.IsOwner(&_TreasuryRebalance.CallOpts)
  2944  }
  2945  
  2946  // Memo is a free data retrieval call binding the contract method 0x58c3b870.
  2947  //
  2948  // Solidity: function memo() view returns(string)
  2949  func (_TreasuryRebalance *TreasuryRebalanceCaller) Memo(opts *bind.CallOpts) (string, error) {
  2950  	var out []interface{}
  2951  	err := _TreasuryRebalance.contract.Call(opts, &out, "memo")
  2952  
  2953  	if err != nil {
  2954  		return *new(string), err
  2955  	}
  2956  
  2957  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
  2958  
  2959  	return out0, err
  2960  
  2961  }
  2962  
  2963  // Memo is a free data retrieval call binding the contract method 0x58c3b870.
  2964  //
  2965  // Solidity: function memo() view returns(string)
  2966  func (_TreasuryRebalance *TreasuryRebalanceSession) Memo() (string, error) {
  2967  	return _TreasuryRebalance.Contract.Memo(&_TreasuryRebalance.CallOpts)
  2968  }
  2969  
  2970  // Memo is a free data retrieval call binding the contract method 0x58c3b870.
  2971  //
  2972  // Solidity: function memo() view returns(string)
  2973  func (_TreasuryRebalance *TreasuryRebalanceCallerSession) Memo() (string, error) {
  2974  	return _TreasuryRebalance.Contract.Memo(&_TreasuryRebalance.CallOpts)
  2975  }
  2976  
  2977  // NewbieExists is a free data retrieval call binding the contract method 0x683e13cb.
  2978  //
  2979  // Solidity: function newbieExists(address _newbieAddress) view returns(bool)
  2980  func (_TreasuryRebalance *TreasuryRebalanceCaller) NewbieExists(opts *bind.CallOpts, _newbieAddress common.Address) (bool, error) {
  2981  	var out []interface{}
  2982  	err := _TreasuryRebalance.contract.Call(opts, &out, "newbieExists", _newbieAddress)
  2983  
  2984  	if err != nil {
  2985  		return *new(bool), err
  2986  	}
  2987  
  2988  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  2989  
  2990  	return out0, err
  2991  
  2992  }
  2993  
  2994  // NewbieExists is a free data retrieval call binding the contract method 0x683e13cb.
  2995  //
  2996  // Solidity: function newbieExists(address _newbieAddress) view returns(bool)
  2997  func (_TreasuryRebalance *TreasuryRebalanceSession) NewbieExists(_newbieAddress common.Address) (bool, error) {
  2998  	return _TreasuryRebalance.Contract.NewbieExists(&_TreasuryRebalance.CallOpts, _newbieAddress)
  2999  }
  3000  
  3001  // NewbieExists is a free data retrieval call binding the contract method 0x683e13cb.
  3002  //
  3003  // Solidity: function newbieExists(address _newbieAddress) view returns(bool)
  3004  func (_TreasuryRebalance *TreasuryRebalanceCallerSession) NewbieExists(_newbieAddress common.Address) (bool, error) {
  3005  	return _TreasuryRebalance.Contract.NewbieExists(&_TreasuryRebalance.CallOpts, _newbieAddress)
  3006  }
  3007  
  3008  // Newbies is a free data retrieval call binding the contract method 0x94393e11.
  3009  //
  3010  // Solidity: function newbies(uint256 ) view returns(address newbie, uint256 amount)
  3011  func (_TreasuryRebalance *TreasuryRebalanceCaller) Newbies(opts *bind.CallOpts, arg0 *big.Int) (struct {
  3012  	Newbie common.Address
  3013  	Amount *big.Int
  3014  }, error) {
  3015  	var out []interface{}
  3016  	err := _TreasuryRebalance.contract.Call(opts, &out, "newbies", arg0)
  3017  
  3018  	outstruct := new(struct {
  3019  		Newbie common.Address
  3020  		Amount *big.Int
  3021  	})
  3022  
  3023  	outstruct.Newbie = *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  3024  	outstruct.Amount = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int)
  3025  	return *outstruct, err
  3026  
  3027  }
  3028  
  3029  // Newbies is a free data retrieval call binding the contract method 0x94393e11.
  3030  //
  3031  // Solidity: function newbies(uint256 ) view returns(address newbie, uint256 amount)
  3032  func (_TreasuryRebalance *TreasuryRebalanceSession) Newbies(arg0 *big.Int) (struct {
  3033  	Newbie common.Address
  3034  	Amount *big.Int
  3035  }, error) {
  3036  	return _TreasuryRebalance.Contract.Newbies(&_TreasuryRebalance.CallOpts, arg0)
  3037  }
  3038  
  3039  // Newbies is a free data retrieval call binding the contract method 0x94393e11.
  3040  //
  3041  // Solidity: function newbies(uint256 ) view returns(address newbie, uint256 amount)
  3042  func (_TreasuryRebalance *TreasuryRebalanceCallerSession) Newbies(arg0 *big.Int) (struct {
  3043  	Newbie common.Address
  3044  	Amount *big.Int
  3045  }, error) {
  3046  	return _TreasuryRebalance.Contract.Newbies(&_TreasuryRebalance.CallOpts, arg0)
  3047  }
  3048  
  3049  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
  3050  //
  3051  // Solidity: function owner() view returns(address)
  3052  func (_TreasuryRebalance *TreasuryRebalanceCaller) Owner(opts *bind.CallOpts) (common.Address, error) {
  3053  	var out []interface{}
  3054  	err := _TreasuryRebalance.contract.Call(opts, &out, "owner")
  3055  
  3056  	if err != nil {
  3057  		return *new(common.Address), err
  3058  	}
  3059  
  3060  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  3061  
  3062  	return out0, err
  3063  
  3064  }
  3065  
  3066  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
  3067  //
  3068  // Solidity: function owner() view returns(address)
  3069  func (_TreasuryRebalance *TreasuryRebalanceSession) Owner() (common.Address, error) {
  3070  	return _TreasuryRebalance.Contract.Owner(&_TreasuryRebalance.CallOpts)
  3071  }
  3072  
  3073  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
  3074  //
  3075  // Solidity: function owner() view returns(address)
  3076  func (_TreasuryRebalance *TreasuryRebalanceCallerSession) Owner() (common.Address, error) {
  3077  	return _TreasuryRebalance.Contract.Owner(&_TreasuryRebalance.CallOpts)
  3078  }
  3079  
  3080  // RebalanceBlockNumber is a free data retrieval call binding the contract method 0x49a3fb45.
  3081  //
  3082  // Solidity: function rebalanceBlockNumber() view returns(uint256)
  3083  func (_TreasuryRebalance *TreasuryRebalanceCaller) RebalanceBlockNumber(opts *bind.CallOpts) (*big.Int, error) {
  3084  	var out []interface{}
  3085  	err := _TreasuryRebalance.contract.Call(opts, &out, "rebalanceBlockNumber")
  3086  
  3087  	if err != nil {
  3088  		return *new(*big.Int), err
  3089  	}
  3090  
  3091  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  3092  
  3093  	return out0, err
  3094  
  3095  }
  3096  
  3097  // RebalanceBlockNumber is a free data retrieval call binding the contract method 0x49a3fb45.
  3098  //
  3099  // Solidity: function rebalanceBlockNumber() view returns(uint256)
  3100  func (_TreasuryRebalance *TreasuryRebalanceSession) RebalanceBlockNumber() (*big.Int, error) {
  3101  	return _TreasuryRebalance.Contract.RebalanceBlockNumber(&_TreasuryRebalance.CallOpts)
  3102  }
  3103  
  3104  // RebalanceBlockNumber is a free data retrieval call binding the contract method 0x49a3fb45.
  3105  //
  3106  // Solidity: function rebalanceBlockNumber() view returns(uint256)
  3107  func (_TreasuryRebalance *TreasuryRebalanceCallerSession) RebalanceBlockNumber() (*big.Int, error) {
  3108  	return _TreasuryRebalance.Contract.RebalanceBlockNumber(&_TreasuryRebalance.CallOpts)
  3109  }
  3110  
  3111  // RetiredExists is a free data retrieval call binding the contract method 0x01784e05.
  3112  //
  3113  // Solidity: function retiredExists(address _retiredAddress) view returns(bool)
  3114  func (_TreasuryRebalance *TreasuryRebalanceCaller) RetiredExists(opts *bind.CallOpts, _retiredAddress common.Address) (bool, error) {
  3115  	var out []interface{}
  3116  	err := _TreasuryRebalance.contract.Call(opts, &out, "retiredExists", _retiredAddress)
  3117  
  3118  	if err != nil {
  3119  		return *new(bool), err
  3120  	}
  3121  
  3122  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  3123  
  3124  	return out0, err
  3125  
  3126  }
  3127  
  3128  // RetiredExists is a free data retrieval call binding the contract method 0x01784e05.
  3129  //
  3130  // Solidity: function retiredExists(address _retiredAddress) view returns(bool)
  3131  func (_TreasuryRebalance *TreasuryRebalanceSession) RetiredExists(_retiredAddress common.Address) (bool, error) {
  3132  	return _TreasuryRebalance.Contract.RetiredExists(&_TreasuryRebalance.CallOpts, _retiredAddress)
  3133  }
  3134  
  3135  // RetiredExists is a free data retrieval call binding the contract method 0x01784e05.
  3136  //
  3137  // Solidity: function retiredExists(address _retiredAddress) view returns(bool)
  3138  func (_TreasuryRebalance *TreasuryRebalanceCallerSession) RetiredExists(_retiredAddress common.Address) (bool, error) {
  3139  	return _TreasuryRebalance.Contract.RetiredExists(&_TreasuryRebalance.CallOpts, _retiredAddress)
  3140  }
  3141  
  3142  // Retirees is a free data retrieval call binding the contract method 0x5a12667b.
  3143  //
  3144  // Solidity: function retirees(uint256 ) view returns(address retired)
  3145  func (_TreasuryRebalance *TreasuryRebalanceCaller) Retirees(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) {
  3146  	var out []interface{}
  3147  	err := _TreasuryRebalance.contract.Call(opts, &out, "retirees", arg0)
  3148  
  3149  	if err != nil {
  3150  		return *new(common.Address), err
  3151  	}
  3152  
  3153  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  3154  
  3155  	return out0, err
  3156  
  3157  }
  3158  
  3159  // Retirees is a free data retrieval call binding the contract method 0x5a12667b.
  3160  //
  3161  // Solidity: function retirees(uint256 ) view returns(address retired)
  3162  func (_TreasuryRebalance *TreasuryRebalanceSession) Retirees(arg0 *big.Int) (common.Address, error) {
  3163  	return _TreasuryRebalance.Contract.Retirees(&_TreasuryRebalance.CallOpts, arg0)
  3164  }
  3165  
  3166  // Retirees is a free data retrieval call binding the contract method 0x5a12667b.
  3167  //
  3168  // Solidity: function retirees(uint256 ) view returns(address retired)
  3169  func (_TreasuryRebalance *TreasuryRebalanceCallerSession) Retirees(arg0 *big.Int) (common.Address, error) {
  3170  	return _TreasuryRebalance.Contract.Retirees(&_TreasuryRebalance.CallOpts, arg0)
  3171  }
  3172  
  3173  // Status is a free data retrieval call binding the contract method 0x200d2ed2.
  3174  //
  3175  // Solidity: function status() view returns(uint8)
  3176  func (_TreasuryRebalance *TreasuryRebalanceCaller) Status(opts *bind.CallOpts) (uint8, error) {
  3177  	var out []interface{}
  3178  	err := _TreasuryRebalance.contract.Call(opts, &out, "status")
  3179  
  3180  	if err != nil {
  3181  		return *new(uint8), err
  3182  	}
  3183  
  3184  	out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8)
  3185  
  3186  	return out0, err
  3187  
  3188  }
  3189  
  3190  // Status is a free data retrieval call binding the contract method 0x200d2ed2.
  3191  //
  3192  // Solidity: function status() view returns(uint8)
  3193  func (_TreasuryRebalance *TreasuryRebalanceSession) Status() (uint8, error) {
  3194  	return _TreasuryRebalance.Contract.Status(&_TreasuryRebalance.CallOpts)
  3195  }
  3196  
  3197  // Status is a free data retrieval call binding the contract method 0x200d2ed2.
  3198  //
  3199  // Solidity: function status() view returns(uint8)
  3200  func (_TreasuryRebalance *TreasuryRebalanceCallerSession) Status() (uint8, error) {
  3201  	return _TreasuryRebalance.Contract.Status(&_TreasuryRebalance.CallOpts)
  3202  }
  3203  
  3204  // SumOfRetiredBalance is a free data retrieval call binding the contract method 0x45205a6b.
  3205  //
  3206  // Solidity: function sumOfRetiredBalance() view returns(uint256 retireesBalance)
  3207  func (_TreasuryRebalance *TreasuryRebalanceCaller) SumOfRetiredBalance(opts *bind.CallOpts) (*big.Int, error) {
  3208  	var out []interface{}
  3209  	err := _TreasuryRebalance.contract.Call(opts, &out, "sumOfRetiredBalance")
  3210  
  3211  	if err != nil {
  3212  		return *new(*big.Int), err
  3213  	}
  3214  
  3215  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  3216  
  3217  	return out0, err
  3218  
  3219  }
  3220  
  3221  // SumOfRetiredBalance is a free data retrieval call binding the contract method 0x45205a6b.
  3222  //
  3223  // Solidity: function sumOfRetiredBalance() view returns(uint256 retireesBalance)
  3224  func (_TreasuryRebalance *TreasuryRebalanceSession) SumOfRetiredBalance() (*big.Int, error) {
  3225  	return _TreasuryRebalance.Contract.SumOfRetiredBalance(&_TreasuryRebalance.CallOpts)
  3226  }
  3227  
  3228  // SumOfRetiredBalance is a free data retrieval call binding the contract method 0x45205a6b.
  3229  //
  3230  // Solidity: function sumOfRetiredBalance() view returns(uint256 retireesBalance)
  3231  func (_TreasuryRebalance *TreasuryRebalanceCallerSession) SumOfRetiredBalance() (*big.Int, error) {
  3232  	return _TreasuryRebalance.Contract.SumOfRetiredBalance(&_TreasuryRebalance.CallOpts)
  3233  }
  3234  
  3235  // Approve is a paid mutator transaction binding the contract method 0xdaea85c5.
  3236  //
  3237  // Solidity: function approve(address _retiredAddress) returns()
  3238  func (_TreasuryRebalance *TreasuryRebalanceTransactor) Approve(opts *bind.TransactOpts, _retiredAddress common.Address) (*types.Transaction, error) {
  3239  	return _TreasuryRebalance.contract.Transact(opts, "approve", _retiredAddress)
  3240  }
  3241  
  3242  // Approve is a paid mutator transaction binding the contract method 0xdaea85c5.
  3243  //
  3244  // Solidity: function approve(address _retiredAddress) returns()
  3245  func (_TreasuryRebalance *TreasuryRebalanceSession) Approve(_retiredAddress common.Address) (*types.Transaction, error) {
  3246  	return _TreasuryRebalance.Contract.Approve(&_TreasuryRebalance.TransactOpts, _retiredAddress)
  3247  }
  3248  
  3249  // Approve is a paid mutator transaction binding the contract method 0xdaea85c5.
  3250  //
  3251  // Solidity: function approve(address _retiredAddress) returns()
  3252  func (_TreasuryRebalance *TreasuryRebalanceTransactorSession) Approve(_retiredAddress common.Address) (*types.Transaction, error) {
  3253  	return _TreasuryRebalance.Contract.Approve(&_TreasuryRebalance.TransactOpts, _retiredAddress)
  3254  }
  3255  
  3256  // FinalizeApproval is a paid mutator transaction binding the contract method 0xfaaf9ca6.
  3257  //
  3258  // Solidity: function finalizeApproval() returns()
  3259  func (_TreasuryRebalance *TreasuryRebalanceTransactor) FinalizeApproval(opts *bind.TransactOpts) (*types.Transaction, error) {
  3260  	return _TreasuryRebalance.contract.Transact(opts, "finalizeApproval")
  3261  }
  3262  
  3263  // FinalizeApproval is a paid mutator transaction binding the contract method 0xfaaf9ca6.
  3264  //
  3265  // Solidity: function finalizeApproval() returns()
  3266  func (_TreasuryRebalance *TreasuryRebalanceSession) FinalizeApproval() (*types.Transaction, error) {
  3267  	return _TreasuryRebalance.Contract.FinalizeApproval(&_TreasuryRebalance.TransactOpts)
  3268  }
  3269  
  3270  // FinalizeApproval is a paid mutator transaction binding the contract method 0xfaaf9ca6.
  3271  //
  3272  // Solidity: function finalizeApproval() returns()
  3273  func (_TreasuryRebalance *TreasuryRebalanceTransactorSession) FinalizeApproval() (*types.Transaction, error) {
  3274  	return _TreasuryRebalance.Contract.FinalizeApproval(&_TreasuryRebalance.TransactOpts)
  3275  }
  3276  
  3277  // FinalizeContract is a paid mutator transaction binding the contract method 0xea6d4a9b.
  3278  //
  3279  // Solidity: function finalizeContract(string _memo) returns()
  3280  func (_TreasuryRebalance *TreasuryRebalanceTransactor) FinalizeContract(opts *bind.TransactOpts, _memo string) (*types.Transaction, error) {
  3281  	return _TreasuryRebalance.contract.Transact(opts, "finalizeContract", _memo)
  3282  }
  3283  
  3284  // FinalizeContract is a paid mutator transaction binding the contract method 0xea6d4a9b.
  3285  //
  3286  // Solidity: function finalizeContract(string _memo) returns()
  3287  func (_TreasuryRebalance *TreasuryRebalanceSession) FinalizeContract(_memo string) (*types.Transaction, error) {
  3288  	return _TreasuryRebalance.Contract.FinalizeContract(&_TreasuryRebalance.TransactOpts, _memo)
  3289  }
  3290  
  3291  // FinalizeContract is a paid mutator transaction binding the contract method 0xea6d4a9b.
  3292  //
  3293  // Solidity: function finalizeContract(string _memo) returns()
  3294  func (_TreasuryRebalance *TreasuryRebalanceTransactorSession) FinalizeContract(_memo string) (*types.Transaction, error) {
  3295  	return _TreasuryRebalance.Contract.FinalizeContract(&_TreasuryRebalance.TransactOpts, _memo)
  3296  }
  3297  
  3298  // FinalizeRegistration is a paid mutator transaction binding the contract method 0x48409096.
  3299  //
  3300  // Solidity: function finalizeRegistration() returns()
  3301  func (_TreasuryRebalance *TreasuryRebalanceTransactor) FinalizeRegistration(opts *bind.TransactOpts) (*types.Transaction, error) {
  3302  	return _TreasuryRebalance.contract.Transact(opts, "finalizeRegistration")
  3303  }
  3304  
  3305  // FinalizeRegistration is a paid mutator transaction binding the contract method 0x48409096.
  3306  //
  3307  // Solidity: function finalizeRegistration() returns()
  3308  func (_TreasuryRebalance *TreasuryRebalanceSession) FinalizeRegistration() (*types.Transaction, error) {
  3309  	return _TreasuryRebalance.Contract.FinalizeRegistration(&_TreasuryRebalance.TransactOpts)
  3310  }
  3311  
  3312  // FinalizeRegistration is a paid mutator transaction binding the contract method 0x48409096.
  3313  //
  3314  // Solidity: function finalizeRegistration() returns()
  3315  func (_TreasuryRebalance *TreasuryRebalanceTransactorSession) FinalizeRegistration() (*types.Transaction, error) {
  3316  	return _TreasuryRebalance.Contract.FinalizeRegistration(&_TreasuryRebalance.TransactOpts)
  3317  }
  3318  
  3319  // RegisterNewbie is a paid mutator transaction binding the contract method 0x652e27e0.
  3320  //
  3321  // Solidity: function registerNewbie(address _newbieAddress, uint256 _amount) returns()
  3322  func (_TreasuryRebalance *TreasuryRebalanceTransactor) RegisterNewbie(opts *bind.TransactOpts, _newbieAddress common.Address, _amount *big.Int) (*types.Transaction, error) {
  3323  	return _TreasuryRebalance.contract.Transact(opts, "registerNewbie", _newbieAddress, _amount)
  3324  }
  3325  
  3326  // RegisterNewbie is a paid mutator transaction binding the contract method 0x652e27e0.
  3327  //
  3328  // Solidity: function registerNewbie(address _newbieAddress, uint256 _amount) returns()
  3329  func (_TreasuryRebalance *TreasuryRebalanceSession) RegisterNewbie(_newbieAddress common.Address, _amount *big.Int) (*types.Transaction, error) {
  3330  	return _TreasuryRebalance.Contract.RegisterNewbie(&_TreasuryRebalance.TransactOpts, _newbieAddress, _amount)
  3331  }
  3332  
  3333  // RegisterNewbie is a paid mutator transaction binding the contract method 0x652e27e0.
  3334  //
  3335  // Solidity: function registerNewbie(address _newbieAddress, uint256 _amount) returns()
  3336  func (_TreasuryRebalance *TreasuryRebalanceTransactorSession) RegisterNewbie(_newbieAddress common.Address, _amount *big.Int) (*types.Transaction, error) {
  3337  	return _TreasuryRebalance.Contract.RegisterNewbie(&_TreasuryRebalance.TransactOpts, _newbieAddress, _amount)
  3338  }
  3339  
  3340  // RegisterRetired is a paid mutator transaction binding the contract method 0x1f8c1798.
  3341  //
  3342  // Solidity: function registerRetired(address _retiredAddress) returns()
  3343  func (_TreasuryRebalance *TreasuryRebalanceTransactor) RegisterRetired(opts *bind.TransactOpts, _retiredAddress common.Address) (*types.Transaction, error) {
  3344  	return _TreasuryRebalance.contract.Transact(opts, "registerRetired", _retiredAddress)
  3345  }
  3346  
  3347  // RegisterRetired is a paid mutator transaction binding the contract method 0x1f8c1798.
  3348  //
  3349  // Solidity: function registerRetired(address _retiredAddress) returns()
  3350  func (_TreasuryRebalance *TreasuryRebalanceSession) RegisterRetired(_retiredAddress common.Address) (*types.Transaction, error) {
  3351  	return _TreasuryRebalance.Contract.RegisterRetired(&_TreasuryRebalance.TransactOpts, _retiredAddress)
  3352  }
  3353  
  3354  // RegisterRetired is a paid mutator transaction binding the contract method 0x1f8c1798.
  3355  //
  3356  // Solidity: function registerRetired(address _retiredAddress) returns()
  3357  func (_TreasuryRebalance *TreasuryRebalanceTransactorSession) RegisterRetired(_retiredAddress common.Address) (*types.Transaction, error) {
  3358  	return _TreasuryRebalance.Contract.RegisterRetired(&_TreasuryRebalance.TransactOpts, _retiredAddress)
  3359  }
  3360  
  3361  // RemoveNewbie is a paid mutator transaction binding the contract method 0x6864b95b.
  3362  //
  3363  // Solidity: function removeNewbie(address _newbieAddress) returns()
  3364  func (_TreasuryRebalance *TreasuryRebalanceTransactor) RemoveNewbie(opts *bind.TransactOpts, _newbieAddress common.Address) (*types.Transaction, error) {
  3365  	return _TreasuryRebalance.contract.Transact(opts, "removeNewbie", _newbieAddress)
  3366  }
  3367  
  3368  // RemoveNewbie is a paid mutator transaction binding the contract method 0x6864b95b.
  3369  //
  3370  // Solidity: function removeNewbie(address _newbieAddress) returns()
  3371  func (_TreasuryRebalance *TreasuryRebalanceSession) RemoveNewbie(_newbieAddress common.Address) (*types.Transaction, error) {
  3372  	return _TreasuryRebalance.Contract.RemoveNewbie(&_TreasuryRebalance.TransactOpts, _newbieAddress)
  3373  }
  3374  
  3375  // RemoveNewbie is a paid mutator transaction binding the contract method 0x6864b95b.
  3376  //
  3377  // Solidity: function removeNewbie(address _newbieAddress) returns()
  3378  func (_TreasuryRebalance *TreasuryRebalanceTransactorSession) RemoveNewbie(_newbieAddress common.Address) (*types.Transaction, error) {
  3379  	return _TreasuryRebalance.Contract.RemoveNewbie(&_TreasuryRebalance.TransactOpts, _newbieAddress)
  3380  }
  3381  
  3382  // RemoveRetired is a paid mutator transaction binding the contract method 0x1c1dac59.
  3383  //
  3384  // Solidity: function removeRetired(address _retiredAddress) returns()
  3385  func (_TreasuryRebalance *TreasuryRebalanceTransactor) RemoveRetired(opts *bind.TransactOpts, _retiredAddress common.Address) (*types.Transaction, error) {
  3386  	return _TreasuryRebalance.contract.Transact(opts, "removeRetired", _retiredAddress)
  3387  }
  3388  
  3389  // RemoveRetired is a paid mutator transaction binding the contract method 0x1c1dac59.
  3390  //
  3391  // Solidity: function removeRetired(address _retiredAddress) returns()
  3392  func (_TreasuryRebalance *TreasuryRebalanceSession) RemoveRetired(_retiredAddress common.Address) (*types.Transaction, error) {
  3393  	return _TreasuryRebalance.Contract.RemoveRetired(&_TreasuryRebalance.TransactOpts, _retiredAddress)
  3394  }
  3395  
  3396  // RemoveRetired is a paid mutator transaction binding the contract method 0x1c1dac59.
  3397  //
  3398  // Solidity: function removeRetired(address _retiredAddress) returns()
  3399  func (_TreasuryRebalance *TreasuryRebalanceTransactorSession) RemoveRetired(_retiredAddress common.Address) (*types.Transaction, error) {
  3400  	return _TreasuryRebalance.Contract.RemoveRetired(&_TreasuryRebalance.TransactOpts, _retiredAddress)
  3401  }
  3402  
  3403  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
  3404  //
  3405  // Solidity: function renounceOwnership() returns()
  3406  func (_TreasuryRebalance *TreasuryRebalanceTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) {
  3407  	return _TreasuryRebalance.contract.Transact(opts, "renounceOwnership")
  3408  }
  3409  
  3410  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
  3411  //
  3412  // Solidity: function renounceOwnership() returns()
  3413  func (_TreasuryRebalance *TreasuryRebalanceSession) RenounceOwnership() (*types.Transaction, error) {
  3414  	return _TreasuryRebalance.Contract.RenounceOwnership(&_TreasuryRebalance.TransactOpts)
  3415  }
  3416  
  3417  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
  3418  //
  3419  // Solidity: function renounceOwnership() returns()
  3420  func (_TreasuryRebalance *TreasuryRebalanceTransactorSession) RenounceOwnership() (*types.Transaction, error) {
  3421  	return _TreasuryRebalance.Contract.RenounceOwnership(&_TreasuryRebalance.TransactOpts)
  3422  }
  3423  
  3424  // Reset is a paid mutator transaction binding the contract method 0xd826f88f.
  3425  //
  3426  // Solidity: function reset() returns()
  3427  func (_TreasuryRebalance *TreasuryRebalanceTransactor) Reset(opts *bind.TransactOpts) (*types.Transaction, error) {
  3428  	return _TreasuryRebalance.contract.Transact(opts, "reset")
  3429  }
  3430  
  3431  // Reset is a paid mutator transaction binding the contract method 0xd826f88f.
  3432  //
  3433  // Solidity: function reset() returns()
  3434  func (_TreasuryRebalance *TreasuryRebalanceSession) Reset() (*types.Transaction, error) {
  3435  	return _TreasuryRebalance.Contract.Reset(&_TreasuryRebalance.TransactOpts)
  3436  }
  3437  
  3438  // Reset is a paid mutator transaction binding the contract method 0xd826f88f.
  3439  //
  3440  // Solidity: function reset() returns()
  3441  func (_TreasuryRebalance *TreasuryRebalanceTransactorSession) Reset() (*types.Transaction, error) {
  3442  	return _TreasuryRebalance.Contract.Reset(&_TreasuryRebalance.TransactOpts)
  3443  }
  3444  
  3445  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
  3446  //
  3447  // Solidity: function transferOwnership(address newOwner) returns()
  3448  func (_TreasuryRebalance *TreasuryRebalanceTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) {
  3449  	return _TreasuryRebalance.contract.Transact(opts, "transferOwnership", newOwner)
  3450  }
  3451  
  3452  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
  3453  //
  3454  // Solidity: function transferOwnership(address newOwner) returns()
  3455  func (_TreasuryRebalance *TreasuryRebalanceSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
  3456  	return _TreasuryRebalance.Contract.TransferOwnership(&_TreasuryRebalance.TransactOpts, newOwner)
  3457  }
  3458  
  3459  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
  3460  //
  3461  // Solidity: function transferOwnership(address newOwner) returns()
  3462  func (_TreasuryRebalance *TreasuryRebalanceTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
  3463  	return _TreasuryRebalance.Contract.TransferOwnership(&_TreasuryRebalance.TransactOpts, newOwner)
  3464  }
  3465  
  3466  // Fallback is a paid mutator transaction binding the contract fallback function.
  3467  //
  3468  // Solidity: fallback() payable returns()
  3469  func (_TreasuryRebalance *TreasuryRebalanceTransactor) Fallback(opts *bind.TransactOpts, calldata []byte) (*types.Transaction, error) {
  3470  	return _TreasuryRebalance.contract.RawTransact(opts, calldata)
  3471  }
  3472  
  3473  // Fallback is a paid mutator transaction binding the contract fallback function.
  3474  //
  3475  // Solidity: fallback() payable returns()
  3476  func (_TreasuryRebalance *TreasuryRebalanceSession) Fallback(calldata []byte) (*types.Transaction, error) {
  3477  	return _TreasuryRebalance.Contract.Fallback(&_TreasuryRebalance.TransactOpts, calldata)
  3478  }
  3479  
  3480  // Fallback is a paid mutator transaction binding the contract fallback function.
  3481  //
  3482  // Solidity: fallback() payable returns()
  3483  func (_TreasuryRebalance *TreasuryRebalanceTransactorSession) Fallback(calldata []byte) (*types.Transaction, error) {
  3484  	return _TreasuryRebalance.Contract.Fallback(&_TreasuryRebalance.TransactOpts, calldata)
  3485  }
  3486  
  3487  // TreasuryRebalanceApprovedIterator is returned from FilterApproved and is used to iterate over the raw logs and unpacked data for Approved events raised by the TreasuryRebalance contract.
  3488  type TreasuryRebalanceApprovedIterator struct {
  3489  	Event *TreasuryRebalanceApproved // Event containing the contract specifics and raw log
  3490  
  3491  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  3492  	event    string              // Event name to use for unpacking event data
  3493  
  3494  	logs chan types.Log      // Log channel receiving the found contract events
  3495  	sub  klaytn.Subscription // Subscription for errors, completion and termination
  3496  	done bool                // Whether the subscription completed delivering logs
  3497  	fail error               // Occurred error to stop iteration
  3498  }
  3499  
  3500  // Next advances the iterator to the subsequent event, returning whether there
  3501  // are any more events found. In case of a retrieval or parsing error, false is
  3502  // returned and Error() can be queried for the exact failure.
  3503  func (it *TreasuryRebalanceApprovedIterator) Next() bool {
  3504  	// If the iterator failed, stop iterating
  3505  	if it.fail != nil {
  3506  		return false
  3507  	}
  3508  	// If the iterator completed, deliver directly whatever's available
  3509  	if it.done {
  3510  		select {
  3511  		case log := <-it.logs:
  3512  			it.Event = new(TreasuryRebalanceApproved)
  3513  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3514  				it.fail = err
  3515  				return false
  3516  			}
  3517  			it.Event.Raw = log
  3518  			return true
  3519  
  3520  		default:
  3521  			return false
  3522  		}
  3523  	}
  3524  	// Iterator still in progress, wait for either a data or an error event
  3525  	select {
  3526  	case log := <-it.logs:
  3527  		it.Event = new(TreasuryRebalanceApproved)
  3528  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3529  			it.fail = err
  3530  			return false
  3531  		}
  3532  		it.Event.Raw = log
  3533  		return true
  3534  
  3535  	case err := <-it.sub.Err():
  3536  		it.done = true
  3537  		it.fail = err
  3538  		return it.Next()
  3539  	}
  3540  }
  3541  
  3542  // Error returns any retrieval or parsing error occurred during filtering.
  3543  func (it *TreasuryRebalanceApprovedIterator) Error() error {
  3544  	return it.fail
  3545  }
  3546  
  3547  // Close terminates the iteration process, releasing any pending underlying
  3548  // resources.
  3549  func (it *TreasuryRebalanceApprovedIterator) Close() error {
  3550  	it.sub.Unsubscribe()
  3551  	return nil
  3552  }
  3553  
  3554  // TreasuryRebalanceApproved represents a Approved event raised by the TreasuryRebalance contract.
  3555  type TreasuryRebalanceApproved struct {
  3556  	Retired        common.Address
  3557  	Approver       common.Address
  3558  	ApproversCount *big.Int
  3559  	Raw            types.Log // Blockchain specific contextual infos
  3560  }
  3561  
  3562  // FilterApproved is a free log retrieval operation binding the contract event 0x80da462ebfbe41cfc9bc015e7a9a3c7a2a73dbccede72d8ceb583606c27f8f90.
  3563  //
  3564  // Solidity: event Approved(address retired, address approver, uint256 approversCount)
  3565  func (_TreasuryRebalance *TreasuryRebalanceFilterer) FilterApproved(opts *bind.FilterOpts) (*TreasuryRebalanceApprovedIterator, error) {
  3566  
  3567  	logs, sub, err := _TreasuryRebalance.contract.FilterLogs(opts, "Approved")
  3568  	if err != nil {
  3569  		return nil, err
  3570  	}
  3571  	return &TreasuryRebalanceApprovedIterator{contract: _TreasuryRebalance.contract, event: "Approved", logs: logs, sub: sub}, nil
  3572  }
  3573  
  3574  // WatchApproved is a free log subscription operation binding the contract event 0x80da462ebfbe41cfc9bc015e7a9a3c7a2a73dbccede72d8ceb583606c27f8f90.
  3575  //
  3576  // Solidity: event Approved(address retired, address approver, uint256 approversCount)
  3577  func (_TreasuryRebalance *TreasuryRebalanceFilterer) WatchApproved(opts *bind.WatchOpts, sink chan<- *TreasuryRebalanceApproved) (event.Subscription, error) {
  3578  
  3579  	logs, sub, err := _TreasuryRebalance.contract.WatchLogs(opts, "Approved")
  3580  	if err != nil {
  3581  		return nil, err
  3582  	}
  3583  	return event.NewSubscription(func(quit <-chan struct{}) error {
  3584  		defer sub.Unsubscribe()
  3585  		for {
  3586  			select {
  3587  			case log := <-logs:
  3588  				// New log arrived, parse the event and forward to the user
  3589  				event := new(TreasuryRebalanceApproved)
  3590  				if err := _TreasuryRebalance.contract.UnpackLog(event, "Approved", log); err != nil {
  3591  					return err
  3592  				}
  3593  				event.Raw = log
  3594  
  3595  				select {
  3596  				case sink <- event:
  3597  				case err := <-sub.Err():
  3598  					return err
  3599  				case <-quit:
  3600  					return nil
  3601  				}
  3602  			case err := <-sub.Err():
  3603  				return err
  3604  			case <-quit:
  3605  				return nil
  3606  			}
  3607  		}
  3608  	}), nil
  3609  }
  3610  
  3611  // ParseApproved is a log parse operation binding the contract event 0x80da462ebfbe41cfc9bc015e7a9a3c7a2a73dbccede72d8ceb583606c27f8f90.
  3612  //
  3613  // Solidity: event Approved(address retired, address approver, uint256 approversCount)
  3614  func (_TreasuryRebalance *TreasuryRebalanceFilterer) ParseApproved(log types.Log) (*TreasuryRebalanceApproved, error) {
  3615  	event := new(TreasuryRebalanceApproved)
  3616  	if err := _TreasuryRebalance.contract.UnpackLog(event, "Approved", log); err != nil {
  3617  		return nil, err
  3618  	}
  3619  	return event, nil
  3620  }
  3621  
  3622  // TreasuryRebalanceContractDeployedIterator is returned from FilterContractDeployed and is used to iterate over the raw logs and unpacked data for ContractDeployed events raised by the TreasuryRebalance contract.
  3623  type TreasuryRebalanceContractDeployedIterator struct {
  3624  	Event *TreasuryRebalanceContractDeployed // Event containing the contract specifics and raw log
  3625  
  3626  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  3627  	event    string              // Event name to use for unpacking event data
  3628  
  3629  	logs chan types.Log      // Log channel receiving the found contract events
  3630  	sub  klaytn.Subscription // Subscription for errors, completion and termination
  3631  	done bool                // Whether the subscription completed delivering logs
  3632  	fail error               // Occurred error to stop iteration
  3633  }
  3634  
  3635  // Next advances the iterator to the subsequent event, returning whether there
  3636  // are any more events found. In case of a retrieval or parsing error, false is
  3637  // returned and Error() can be queried for the exact failure.
  3638  func (it *TreasuryRebalanceContractDeployedIterator) Next() bool {
  3639  	// If the iterator failed, stop iterating
  3640  	if it.fail != nil {
  3641  		return false
  3642  	}
  3643  	// If the iterator completed, deliver directly whatever's available
  3644  	if it.done {
  3645  		select {
  3646  		case log := <-it.logs:
  3647  			it.Event = new(TreasuryRebalanceContractDeployed)
  3648  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3649  				it.fail = err
  3650  				return false
  3651  			}
  3652  			it.Event.Raw = log
  3653  			return true
  3654  
  3655  		default:
  3656  			return false
  3657  		}
  3658  	}
  3659  	// Iterator still in progress, wait for either a data or an error event
  3660  	select {
  3661  	case log := <-it.logs:
  3662  		it.Event = new(TreasuryRebalanceContractDeployed)
  3663  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3664  			it.fail = err
  3665  			return false
  3666  		}
  3667  		it.Event.Raw = log
  3668  		return true
  3669  
  3670  	case err := <-it.sub.Err():
  3671  		it.done = true
  3672  		it.fail = err
  3673  		return it.Next()
  3674  	}
  3675  }
  3676  
  3677  // Error returns any retrieval or parsing error occurred during filtering.
  3678  func (it *TreasuryRebalanceContractDeployedIterator) Error() error {
  3679  	return it.fail
  3680  }
  3681  
  3682  // Close terminates the iteration process, releasing any pending underlying
  3683  // resources.
  3684  func (it *TreasuryRebalanceContractDeployedIterator) Close() error {
  3685  	it.sub.Unsubscribe()
  3686  	return nil
  3687  }
  3688  
  3689  // TreasuryRebalanceContractDeployed represents a ContractDeployed event raised by the TreasuryRebalance contract.
  3690  type TreasuryRebalanceContractDeployed struct {
  3691  	Status               uint8
  3692  	RebalanceBlockNumber *big.Int
  3693  	DeployedBlockNumber  *big.Int
  3694  	Raw                  types.Log // Blockchain specific contextual infos
  3695  }
  3696  
  3697  // FilterContractDeployed is a free log retrieval operation binding the contract event 0x6f182006c5a12fe70c0728eedb2d1b0628c41483ca6721c606707d778d22ed0a.
  3698  //
  3699  // Solidity: event ContractDeployed(uint8 status, uint256 rebalanceBlockNumber, uint256 deployedBlockNumber)
  3700  func (_TreasuryRebalance *TreasuryRebalanceFilterer) FilterContractDeployed(opts *bind.FilterOpts) (*TreasuryRebalanceContractDeployedIterator, error) {
  3701  
  3702  	logs, sub, err := _TreasuryRebalance.contract.FilterLogs(opts, "ContractDeployed")
  3703  	if err != nil {
  3704  		return nil, err
  3705  	}
  3706  	return &TreasuryRebalanceContractDeployedIterator{contract: _TreasuryRebalance.contract, event: "ContractDeployed", logs: logs, sub: sub}, nil
  3707  }
  3708  
  3709  // WatchContractDeployed is a free log subscription operation binding the contract event 0x6f182006c5a12fe70c0728eedb2d1b0628c41483ca6721c606707d778d22ed0a.
  3710  //
  3711  // Solidity: event ContractDeployed(uint8 status, uint256 rebalanceBlockNumber, uint256 deployedBlockNumber)
  3712  func (_TreasuryRebalance *TreasuryRebalanceFilterer) WatchContractDeployed(opts *bind.WatchOpts, sink chan<- *TreasuryRebalanceContractDeployed) (event.Subscription, error) {
  3713  
  3714  	logs, sub, err := _TreasuryRebalance.contract.WatchLogs(opts, "ContractDeployed")
  3715  	if err != nil {
  3716  		return nil, err
  3717  	}
  3718  	return event.NewSubscription(func(quit <-chan struct{}) error {
  3719  		defer sub.Unsubscribe()
  3720  		for {
  3721  			select {
  3722  			case log := <-logs:
  3723  				// New log arrived, parse the event and forward to the user
  3724  				event := new(TreasuryRebalanceContractDeployed)
  3725  				if err := _TreasuryRebalance.contract.UnpackLog(event, "ContractDeployed", log); err != nil {
  3726  					return err
  3727  				}
  3728  				event.Raw = log
  3729  
  3730  				select {
  3731  				case sink <- event:
  3732  				case err := <-sub.Err():
  3733  					return err
  3734  				case <-quit:
  3735  					return nil
  3736  				}
  3737  			case err := <-sub.Err():
  3738  				return err
  3739  			case <-quit:
  3740  				return nil
  3741  			}
  3742  		}
  3743  	}), nil
  3744  }
  3745  
  3746  // ParseContractDeployed is a log parse operation binding the contract event 0x6f182006c5a12fe70c0728eedb2d1b0628c41483ca6721c606707d778d22ed0a.
  3747  //
  3748  // Solidity: event ContractDeployed(uint8 status, uint256 rebalanceBlockNumber, uint256 deployedBlockNumber)
  3749  func (_TreasuryRebalance *TreasuryRebalanceFilterer) ParseContractDeployed(log types.Log) (*TreasuryRebalanceContractDeployed, error) {
  3750  	event := new(TreasuryRebalanceContractDeployed)
  3751  	if err := _TreasuryRebalance.contract.UnpackLog(event, "ContractDeployed", log); err != nil {
  3752  		return nil, err
  3753  	}
  3754  	return event, nil
  3755  }
  3756  
  3757  // TreasuryRebalanceFinalizedIterator is returned from FilterFinalized and is used to iterate over the raw logs and unpacked data for Finalized events raised by the TreasuryRebalance contract.
  3758  type TreasuryRebalanceFinalizedIterator struct {
  3759  	Event *TreasuryRebalanceFinalized // Event containing the contract specifics and raw log
  3760  
  3761  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  3762  	event    string              // Event name to use for unpacking event data
  3763  
  3764  	logs chan types.Log      // Log channel receiving the found contract events
  3765  	sub  klaytn.Subscription // Subscription for errors, completion and termination
  3766  	done bool                // Whether the subscription completed delivering logs
  3767  	fail error               // Occurred error to stop iteration
  3768  }
  3769  
  3770  // Next advances the iterator to the subsequent event, returning whether there
  3771  // are any more events found. In case of a retrieval or parsing error, false is
  3772  // returned and Error() can be queried for the exact failure.
  3773  func (it *TreasuryRebalanceFinalizedIterator) Next() bool {
  3774  	// If the iterator failed, stop iterating
  3775  	if it.fail != nil {
  3776  		return false
  3777  	}
  3778  	// If the iterator completed, deliver directly whatever's available
  3779  	if it.done {
  3780  		select {
  3781  		case log := <-it.logs:
  3782  			it.Event = new(TreasuryRebalanceFinalized)
  3783  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3784  				it.fail = err
  3785  				return false
  3786  			}
  3787  			it.Event.Raw = log
  3788  			return true
  3789  
  3790  		default:
  3791  			return false
  3792  		}
  3793  	}
  3794  	// Iterator still in progress, wait for either a data or an error event
  3795  	select {
  3796  	case log := <-it.logs:
  3797  		it.Event = new(TreasuryRebalanceFinalized)
  3798  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3799  			it.fail = err
  3800  			return false
  3801  		}
  3802  		it.Event.Raw = log
  3803  		return true
  3804  
  3805  	case err := <-it.sub.Err():
  3806  		it.done = true
  3807  		it.fail = err
  3808  		return it.Next()
  3809  	}
  3810  }
  3811  
  3812  // Error returns any retrieval or parsing error occurred during filtering.
  3813  func (it *TreasuryRebalanceFinalizedIterator) Error() error {
  3814  	return it.fail
  3815  }
  3816  
  3817  // Close terminates the iteration process, releasing any pending underlying
  3818  // resources.
  3819  func (it *TreasuryRebalanceFinalizedIterator) Close() error {
  3820  	it.sub.Unsubscribe()
  3821  	return nil
  3822  }
  3823  
  3824  // TreasuryRebalanceFinalized represents a Finalized event raised by the TreasuryRebalance contract.
  3825  type TreasuryRebalanceFinalized struct {
  3826  	Memo   string
  3827  	Status uint8
  3828  	Raw    types.Log // Blockchain specific contextual infos
  3829  }
  3830  
  3831  // FilterFinalized is a free log retrieval operation binding the contract event 0x8f8636c7757ca9b7d154e1d44ca90d8e8c885b9eac417c59bbf8eb7779ca6404.
  3832  //
  3833  // Solidity: event Finalized(string memo, uint8 status)
  3834  func (_TreasuryRebalance *TreasuryRebalanceFilterer) FilterFinalized(opts *bind.FilterOpts) (*TreasuryRebalanceFinalizedIterator, error) {
  3835  
  3836  	logs, sub, err := _TreasuryRebalance.contract.FilterLogs(opts, "Finalized")
  3837  	if err != nil {
  3838  		return nil, err
  3839  	}
  3840  	return &TreasuryRebalanceFinalizedIterator{contract: _TreasuryRebalance.contract, event: "Finalized", logs: logs, sub: sub}, nil
  3841  }
  3842  
  3843  // WatchFinalized is a free log subscription operation binding the contract event 0x8f8636c7757ca9b7d154e1d44ca90d8e8c885b9eac417c59bbf8eb7779ca6404.
  3844  //
  3845  // Solidity: event Finalized(string memo, uint8 status)
  3846  func (_TreasuryRebalance *TreasuryRebalanceFilterer) WatchFinalized(opts *bind.WatchOpts, sink chan<- *TreasuryRebalanceFinalized) (event.Subscription, error) {
  3847  
  3848  	logs, sub, err := _TreasuryRebalance.contract.WatchLogs(opts, "Finalized")
  3849  	if err != nil {
  3850  		return nil, err
  3851  	}
  3852  	return event.NewSubscription(func(quit <-chan struct{}) error {
  3853  		defer sub.Unsubscribe()
  3854  		for {
  3855  			select {
  3856  			case log := <-logs:
  3857  				// New log arrived, parse the event and forward to the user
  3858  				event := new(TreasuryRebalanceFinalized)
  3859  				if err := _TreasuryRebalance.contract.UnpackLog(event, "Finalized", log); err != nil {
  3860  					return err
  3861  				}
  3862  				event.Raw = log
  3863  
  3864  				select {
  3865  				case sink <- event:
  3866  				case err := <-sub.Err():
  3867  					return err
  3868  				case <-quit:
  3869  					return nil
  3870  				}
  3871  			case err := <-sub.Err():
  3872  				return err
  3873  			case <-quit:
  3874  				return nil
  3875  			}
  3876  		}
  3877  	}), nil
  3878  }
  3879  
  3880  // ParseFinalized is a log parse operation binding the contract event 0x8f8636c7757ca9b7d154e1d44ca90d8e8c885b9eac417c59bbf8eb7779ca6404.
  3881  //
  3882  // Solidity: event Finalized(string memo, uint8 status)
  3883  func (_TreasuryRebalance *TreasuryRebalanceFilterer) ParseFinalized(log types.Log) (*TreasuryRebalanceFinalized, error) {
  3884  	event := new(TreasuryRebalanceFinalized)
  3885  	if err := _TreasuryRebalance.contract.UnpackLog(event, "Finalized", log); err != nil {
  3886  		return nil, err
  3887  	}
  3888  	return event, nil
  3889  }
  3890  
  3891  // TreasuryRebalanceNewbieRegisteredIterator is returned from FilterNewbieRegistered and is used to iterate over the raw logs and unpacked data for NewbieRegistered events raised by the TreasuryRebalance contract.
  3892  type TreasuryRebalanceNewbieRegisteredIterator struct {
  3893  	Event *TreasuryRebalanceNewbieRegistered // Event containing the contract specifics and raw log
  3894  
  3895  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  3896  	event    string              // Event name to use for unpacking event data
  3897  
  3898  	logs chan types.Log      // Log channel receiving the found contract events
  3899  	sub  klaytn.Subscription // Subscription for errors, completion and termination
  3900  	done bool                // Whether the subscription completed delivering logs
  3901  	fail error               // Occurred error to stop iteration
  3902  }
  3903  
  3904  // Next advances the iterator to the subsequent event, returning whether there
  3905  // are any more events found. In case of a retrieval or parsing error, false is
  3906  // returned and Error() can be queried for the exact failure.
  3907  func (it *TreasuryRebalanceNewbieRegisteredIterator) Next() bool {
  3908  	// If the iterator failed, stop iterating
  3909  	if it.fail != nil {
  3910  		return false
  3911  	}
  3912  	// If the iterator completed, deliver directly whatever's available
  3913  	if it.done {
  3914  		select {
  3915  		case log := <-it.logs:
  3916  			it.Event = new(TreasuryRebalanceNewbieRegistered)
  3917  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3918  				it.fail = err
  3919  				return false
  3920  			}
  3921  			it.Event.Raw = log
  3922  			return true
  3923  
  3924  		default:
  3925  			return false
  3926  		}
  3927  	}
  3928  	// Iterator still in progress, wait for either a data or an error event
  3929  	select {
  3930  	case log := <-it.logs:
  3931  		it.Event = new(TreasuryRebalanceNewbieRegistered)
  3932  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3933  			it.fail = err
  3934  			return false
  3935  		}
  3936  		it.Event.Raw = log
  3937  		return true
  3938  
  3939  	case err := <-it.sub.Err():
  3940  		it.done = true
  3941  		it.fail = err
  3942  		return it.Next()
  3943  	}
  3944  }
  3945  
  3946  // Error returns any retrieval or parsing error occurred during filtering.
  3947  func (it *TreasuryRebalanceNewbieRegisteredIterator) Error() error {
  3948  	return it.fail
  3949  }
  3950  
  3951  // Close terminates the iteration process, releasing any pending underlying
  3952  // resources.
  3953  func (it *TreasuryRebalanceNewbieRegisteredIterator) Close() error {
  3954  	it.sub.Unsubscribe()
  3955  	return nil
  3956  }
  3957  
  3958  // TreasuryRebalanceNewbieRegistered represents a NewbieRegistered event raised by the TreasuryRebalance contract.
  3959  type TreasuryRebalanceNewbieRegistered struct {
  3960  	Newbie         common.Address
  3961  	FundAllocation *big.Int
  3962  	Raw            types.Log // Blockchain specific contextual infos
  3963  }
  3964  
  3965  // FilterNewbieRegistered is a free log retrieval operation binding the contract event 0xd261b37cd56b21cd1af841dca6331a133e5d8b9d55c2c6fe0ec822e2a303ef74.
  3966  //
  3967  // Solidity: event NewbieRegistered(address newbie, uint256 fundAllocation)
  3968  func (_TreasuryRebalance *TreasuryRebalanceFilterer) FilterNewbieRegistered(opts *bind.FilterOpts) (*TreasuryRebalanceNewbieRegisteredIterator, error) {
  3969  
  3970  	logs, sub, err := _TreasuryRebalance.contract.FilterLogs(opts, "NewbieRegistered")
  3971  	if err != nil {
  3972  		return nil, err
  3973  	}
  3974  	return &TreasuryRebalanceNewbieRegisteredIterator{contract: _TreasuryRebalance.contract, event: "NewbieRegistered", logs: logs, sub: sub}, nil
  3975  }
  3976  
  3977  // WatchNewbieRegistered is a free log subscription operation binding the contract event 0xd261b37cd56b21cd1af841dca6331a133e5d8b9d55c2c6fe0ec822e2a303ef74.
  3978  //
  3979  // Solidity: event NewbieRegistered(address newbie, uint256 fundAllocation)
  3980  func (_TreasuryRebalance *TreasuryRebalanceFilterer) WatchNewbieRegistered(opts *bind.WatchOpts, sink chan<- *TreasuryRebalanceNewbieRegistered) (event.Subscription, error) {
  3981  
  3982  	logs, sub, err := _TreasuryRebalance.contract.WatchLogs(opts, "NewbieRegistered")
  3983  	if err != nil {
  3984  		return nil, err
  3985  	}
  3986  	return event.NewSubscription(func(quit <-chan struct{}) error {
  3987  		defer sub.Unsubscribe()
  3988  		for {
  3989  			select {
  3990  			case log := <-logs:
  3991  				// New log arrived, parse the event and forward to the user
  3992  				event := new(TreasuryRebalanceNewbieRegistered)
  3993  				if err := _TreasuryRebalance.contract.UnpackLog(event, "NewbieRegistered", log); err != nil {
  3994  					return err
  3995  				}
  3996  				event.Raw = log
  3997  
  3998  				select {
  3999  				case sink <- event:
  4000  				case err := <-sub.Err():
  4001  					return err
  4002  				case <-quit:
  4003  					return nil
  4004  				}
  4005  			case err := <-sub.Err():
  4006  				return err
  4007  			case <-quit:
  4008  				return nil
  4009  			}
  4010  		}
  4011  	}), nil
  4012  }
  4013  
  4014  // ParseNewbieRegistered is a log parse operation binding the contract event 0xd261b37cd56b21cd1af841dca6331a133e5d8b9d55c2c6fe0ec822e2a303ef74.
  4015  //
  4016  // Solidity: event NewbieRegistered(address newbie, uint256 fundAllocation)
  4017  func (_TreasuryRebalance *TreasuryRebalanceFilterer) ParseNewbieRegistered(log types.Log) (*TreasuryRebalanceNewbieRegistered, error) {
  4018  	event := new(TreasuryRebalanceNewbieRegistered)
  4019  	if err := _TreasuryRebalance.contract.UnpackLog(event, "NewbieRegistered", log); err != nil {
  4020  		return nil, err
  4021  	}
  4022  	return event, nil
  4023  }
  4024  
  4025  // TreasuryRebalanceNewbieRemovedIterator is returned from FilterNewbieRemoved and is used to iterate over the raw logs and unpacked data for NewbieRemoved events raised by the TreasuryRebalance contract.
  4026  type TreasuryRebalanceNewbieRemovedIterator struct {
  4027  	Event *TreasuryRebalanceNewbieRemoved // Event containing the contract specifics and raw log
  4028  
  4029  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  4030  	event    string              // Event name to use for unpacking event data
  4031  
  4032  	logs chan types.Log      // Log channel receiving the found contract events
  4033  	sub  klaytn.Subscription // Subscription for errors, completion and termination
  4034  	done bool                // Whether the subscription completed delivering logs
  4035  	fail error               // Occurred error to stop iteration
  4036  }
  4037  
  4038  // Next advances the iterator to the subsequent event, returning whether there
  4039  // are any more events found. In case of a retrieval or parsing error, false is
  4040  // returned and Error() can be queried for the exact failure.
  4041  func (it *TreasuryRebalanceNewbieRemovedIterator) Next() bool {
  4042  	// If the iterator failed, stop iterating
  4043  	if it.fail != nil {
  4044  		return false
  4045  	}
  4046  	// If the iterator completed, deliver directly whatever's available
  4047  	if it.done {
  4048  		select {
  4049  		case log := <-it.logs:
  4050  			it.Event = new(TreasuryRebalanceNewbieRemoved)
  4051  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  4052  				it.fail = err
  4053  				return false
  4054  			}
  4055  			it.Event.Raw = log
  4056  			return true
  4057  
  4058  		default:
  4059  			return false
  4060  		}
  4061  	}
  4062  	// Iterator still in progress, wait for either a data or an error event
  4063  	select {
  4064  	case log := <-it.logs:
  4065  		it.Event = new(TreasuryRebalanceNewbieRemoved)
  4066  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  4067  			it.fail = err
  4068  			return false
  4069  		}
  4070  		it.Event.Raw = log
  4071  		return true
  4072  
  4073  	case err := <-it.sub.Err():
  4074  		it.done = true
  4075  		it.fail = err
  4076  		return it.Next()
  4077  	}
  4078  }
  4079  
  4080  // Error returns any retrieval or parsing error occurred during filtering.
  4081  func (it *TreasuryRebalanceNewbieRemovedIterator) Error() error {
  4082  	return it.fail
  4083  }
  4084  
  4085  // Close terminates the iteration process, releasing any pending underlying
  4086  // resources.
  4087  func (it *TreasuryRebalanceNewbieRemovedIterator) Close() error {
  4088  	it.sub.Unsubscribe()
  4089  	return nil
  4090  }
  4091  
  4092  // TreasuryRebalanceNewbieRemoved represents a NewbieRemoved event raised by the TreasuryRebalance contract.
  4093  type TreasuryRebalanceNewbieRemoved struct {
  4094  	Newbie common.Address
  4095  	Raw    types.Log // Blockchain specific contextual infos
  4096  }
  4097  
  4098  // FilterNewbieRemoved is a free log retrieval operation binding the contract event 0xe630072edaed8f0fccf534c7eaa063290db8f775b0824c7261d01e6619da4b38.
  4099  //
  4100  // Solidity: event NewbieRemoved(address newbie)
  4101  func (_TreasuryRebalance *TreasuryRebalanceFilterer) FilterNewbieRemoved(opts *bind.FilterOpts) (*TreasuryRebalanceNewbieRemovedIterator, error) {
  4102  
  4103  	logs, sub, err := _TreasuryRebalance.contract.FilterLogs(opts, "NewbieRemoved")
  4104  	if err != nil {
  4105  		return nil, err
  4106  	}
  4107  	return &TreasuryRebalanceNewbieRemovedIterator{contract: _TreasuryRebalance.contract, event: "NewbieRemoved", logs: logs, sub: sub}, nil
  4108  }
  4109  
  4110  // WatchNewbieRemoved is a free log subscription operation binding the contract event 0xe630072edaed8f0fccf534c7eaa063290db8f775b0824c7261d01e6619da4b38.
  4111  //
  4112  // Solidity: event NewbieRemoved(address newbie)
  4113  func (_TreasuryRebalance *TreasuryRebalanceFilterer) WatchNewbieRemoved(opts *bind.WatchOpts, sink chan<- *TreasuryRebalanceNewbieRemoved) (event.Subscription, error) {
  4114  
  4115  	logs, sub, err := _TreasuryRebalance.contract.WatchLogs(opts, "NewbieRemoved")
  4116  	if err != nil {
  4117  		return nil, err
  4118  	}
  4119  	return event.NewSubscription(func(quit <-chan struct{}) error {
  4120  		defer sub.Unsubscribe()
  4121  		for {
  4122  			select {
  4123  			case log := <-logs:
  4124  				// New log arrived, parse the event and forward to the user
  4125  				event := new(TreasuryRebalanceNewbieRemoved)
  4126  				if err := _TreasuryRebalance.contract.UnpackLog(event, "NewbieRemoved", log); err != nil {
  4127  					return err
  4128  				}
  4129  				event.Raw = log
  4130  
  4131  				select {
  4132  				case sink <- event:
  4133  				case err := <-sub.Err():
  4134  					return err
  4135  				case <-quit:
  4136  					return nil
  4137  				}
  4138  			case err := <-sub.Err():
  4139  				return err
  4140  			case <-quit:
  4141  				return nil
  4142  			}
  4143  		}
  4144  	}), nil
  4145  }
  4146  
  4147  // ParseNewbieRemoved is a log parse operation binding the contract event 0xe630072edaed8f0fccf534c7eaa063290db8f775b0824c7261d01e6619da4b38.
  4148  //
  4149  // Solidity: event NewbieRemoved(address newbie)
  4150  func (_TreasuryRebalance *TreasuryRebalanceFilterer) ParseNewbieRemoved(log types.Log) (*TreasuryRebalanceNewbieRemoved, error) {
  4151  	event := new(TreasuryRebalanceNewbieRemoved)
  4152  	if err := _TreasuryRebalance.contract.UnpackLog(event, "NewbieRemoved", log); err != nil {
  4153  		return nil, err
  4154  	}
  4155  	return event, nil
  4156  }
  4157  
  4158  // TreasuryRebalanceOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the TreasuryRebalance contract.
  4159  type TreasuryRebalanceOwnershipTransferredIterator struct {
  4160  	Event *TreasuryRebalanceOwnershipTransferred // Event containing the contract specifics and raw log
  4161  
  4162  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  4163  	event    string              // Event name to use for unpacking event data
  4164  
  4165  	logs chan types.Log      // Log channel receiving the found contract events
  4166  	sub  klaytn.Subscription // Subscription for errors, completion and termination
  4167  	done bool                // Whether the subscription completed delivering logs
  4168  	fail error               // Occurred error to stop iteration
  4169  }
  4170  
  4171  // Next advances the iterator to the subsequent event, returning whether there
  4172  // are any more events found. In case of a retrieval or parsing error, false is
  4173  // returned and Error() can be queried for the exact failure.
  4174  func (it *TreasuryRebalanceOwnershipTransferredIterator) Next() bool {
  4175  	// If the iterator failed, stop iterating
  4176  	if it.fail != nil {
  4177  		return false
  4178  	}
  4179  	// If the iterator completed, deliver directly whatever's available
  4180  	if it.done {
  4181  		select {
  4182  		case log := <-it.logs:
  4183  			it.Event = new(TreasuryRebalanceOwnershipTransferred)
  4184  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  4185  				it.fail = err
  4186  				return false
  4187  			}
  4188  			it.Event.Raw = log
  4189  			return true
  4190  
  4191  		default:
  4192  			return false
  4193  		}
  4194  	}
  4195  	// Iterator still in progress, wait for either a data or an error event
  4196  	select {
  4197  	case log := <-it.logs:
  4198  		it.Event = new(TreasuryRebalanceOwnershipTransferred)
  4199  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  4200  			it.fail = err
  4201  			return false
  4202  		}
  4203  		it.Event.Raw = log
  4204  		return true
  4205  
  4206  	case err := <-it.sub.Err():
  4207  		it.done = true
  4208  		it.fail = err
  4209  		return it.Next()
  4210  	}
  4211  }
  4212  
  4213  // Error returns any retrieval or parsing error occurred during filtering.
  4214  func (it *TreasuryRebalanceOwnershipTransferredIterator) Error() error {
  4215  	return it.fail
  4216  }
  4217  
  4218  // Close terminates the iteration process, releasing any pending underlying
  4219  // resources.
  4220  func (it *TreasuryRebalanceOwnershipTransferredIterator) Close() error {
  4221  	it.sub.Unsubscribe()
  4222  	return nil
  4223  }
  4224  
  4225  // TreasuryRebalanceOwnershipTransferred represents a OwnershipTransferred event raised by the TreasuryRebalance contract.
  4226  type TreasuryRebalanceOwnershipTransferred struct {
  4227  	PreviousOwner common.Address
  4228  	NewOwner      common.Address
  4229  	Raw           types.Log // Blockchain specific contextual infos
  4230  }
  4231  
  4232  // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  4233  //
  4234  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  4235  func (_TreasuryRebalance *TreasuryRebalanceFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*TreasuryRebalanceOwnershipTransferredIterator, error) {
  4236  
  4237  	var previousOwnerRule []interface{}
  4238  	for _, previousOwnerItem := range previousOwner {
  4239  		previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
  4240  	}
  4241  	var newOwnerRule []interface{}
  4242  	for _, newOwnerItem := range newOwner {
  4243  		newOwnerRule = append(newOwnerRule, newOwnerItem)
  4244  	}
  4245  
  4246  	logs, sub, err := _TreasuryRebalance.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
  4247  	if err != nil {
  4248  		return nil, err
  4249  	}
  4250  	return &TreasuryRebalanceOwnershipTransferredIterator{contract: _TreasuryRebalance.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil
  4251  }
  4252  
  4253  // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  4254  //
  4255  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  4256  func (_TreasuryRebalance *TreasuryRebalanceFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *TreasuryRebalanceOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) {
  4257  
  4258  	var previousOwnerRule []interface{}
  4259  	for _, previousOwnerItem := range previousOwner {
  4260  		previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
  4261  	}
  4262  	var newOwnerRule []interface{}
  4263  	for _, newOwnerItem := range newOwner {
  4264  		newOwnerRule = append(newOwnerRule, newOwnerItem)
  4265  	}
  4266  
  4267  	logs, sub, err := _TreasuryRebalance.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
  4268  	if err != nil {
  4269  		return nil, err
  4270  	}
  4271  	return event.NewSubscription(func(quit <-chan struct{}) error {
  4272  		defer sub.Unsubscribe()
  4273  		for {
  4274  			select {
  4275  			case log := <-logs:
  4276  				// New log arrived, parse the event and forward to the user
  4277  				event := new(TreasuryRebalanceOwnershipTransferred)
  4278  				if err := _TreasuryRebalance.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
  4279  					return err
  4280  				}
  4281  				event.Raw = log
  4282  
  4283  				select {
  4284  				case sink <- event:
  4285  				case err := <-sub.Err():
  4286  					return err
  4287  				case <-quit:
  4288  					return nil
  4289  				}
  4290  			case err := <-sub.Err():
  4291  				return err
  4292  			case <-quit:
  4293  				return nil
  4294  			}
  4295  		}
  4296  	}), nil
  4297  }
  4298  
  4299  // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  4300  //
  4301  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  4302  func (_TreasuryRebalance *TreasuryRebalanceFilterer) ParseOwnershipTransferred(log types.Log) (*TreasuryRebalanceOwnershipTransferred, error) {
  4303  	event := new(TreasuryRebalanceOwnershipTransferred)
  4304  	if err := _TreasuryRebalance.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
  4305  		return nil, err
  4306  	}
  4307  	return event, nil
  4308  }
  4309  
  4310  // TreasuryRebalanceRetiredRegisteredIterator is returned from FilterRetiredRegistered and is used to iterate over the raw logs and unpacked data for RetiredRegistered events raised by the TreasuryRebalance contract.
  4311  type TreasuryRebalanceRetiredRegisteredIterator struct {
  4312  	Event *TreasuryRebalanceRetiredRegistered // Event containing the contract specifics and raw log
  4313  
  4314  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  4315  	event    string              // Event name to use for unpacking event data
  4316  
  4317  	logs chan types.Log      // Log channel receiving the found contract events
  4318  	sub  klaytn.Subscription // Subscription for errors, completion and termination
  4319  	done bool                // Whether the subscription completed delivering logs
  4320  	fail error               // Occurred error to stop iteration
  4321  }
  4322  
  4323  // Next advances the iterator to the subsequent event, returning whether there
  4324  // are any more events found. In case of a retrieval or parsing error, false is
  4325  // returned and Error() can be queried for the exact failure.
  4326  func (it *TreasuryRebalanceRetiredRegisteredIterator) Next() bool {
  4327  	// If the iterator failed, stop iterating
  4328  	if it.fail != nil {
  4329  		return false
  4330  	}
  4331  	// If the iterator completed, deliver directly whatever's available
  4332  	if it.done {
  4333  		select {
  4334  		case log := <-it.logs:
  4335  			it.Event = new(TreasuryRebalanceRetiredRegistered)
  4336  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  4337  				it.fail = err
  4338  				return false
  4339  			}
  4340  			it.Event.Raw = log
  4341  			return true
  4342  
  4343  		default:
  4344  			return false
  4345  		}
  4346  	}
  4347  	// Iterator still in progress, wait for either a data or an error event
  4348  	select {
  4349  	case log := <-it.logs:
  4350  		it.Event = new(TreasuryRebalanceRetiredRegistered)
  4351  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  4352  			it.fail = err
  4353  			return false
  4354  		}
  4355  		it.Event.Raw = log
  4356  		return true
  4357  
  4358  	case err := <-it.sub.Err():
  4359  		it.done = true
  4360  		it.fail = err
  4361  		return it.Next()
  4362  	}
  4363  }
  4364  
  4365  // Error returns any retrieval or parsing error occurred during filtering.
  4366  func (it *TreasuryRebalanceRetiredRegisteredIterator) Error() error {
  4367  	return it.fail
  4368  }
  4369  
  4370  // Close terminates the iteration process, releasing any pending underlying
  4371  // resources.
  4372  func (it *TreasuryRebalanceRetiredRegisteredIterator) Close() error {
  4373  	it.sub.Unsubscribe()
  4374  	return nil
  4375  }
  4376  
  4377  // TreasuryRebalanceRetiredRegistered represents a RetiredRegistered event raised by the TreasuryRebalance contract.
  4378  type TreasuryRebalanceRetiredRegistered struct {
  4379  	Retired common.Address
  4380  	Raw     types.Log // Blockchain specific contextual infos
  4381  }
  4382  
  4383  // FilterRetiredRegistered is a free log retrieval operation binding the contract event 0x7da2e87d0b02df1162d5736cc40dfcfffd17198aaf093ddff4a8f4eb26002fde.
  4384  //
  4385  // Solidity: event RetiredRegistered(address retired)
  4386  func (_TreasuryRebalance *TreasuryRebalanceFilterer) FilterRetiredRegistered(opts *bind.FilterOpts) (*TreasuryRebalanceRetiredRegisteredIterator, error) {
  4387  
  4388  	logs, sub, err := _TreasuryRebalance.contract.FilterLogs(opts, "RetiredRegistered")
  4389  	if err != nil {
  4390  		return nil, err
  4391  	}
  4392  	return &TreasuryRebalanceRetiredRegisteredIterator{contract: _TreasuryRebalance.contract, event: "RetiredRegistered", logs: logs, sub: sub}, nil
  4393  }
  4394  
  4395  // WatchRetiredRegistered is a free log subscription operation binding the contract event 0x7da2e87d0b02df1162d5736cc40dfcfffd17198aaf093ddff4a8f4eb26002fde.
  4396  //
  4397  // Solidity: event RetiredRegistered(address retired)
  4398  func (_TreasuryRebalance *TreasuryRebalanceFilterer) WatchRetiredRegistered(opts *bind.WatchOpts, sink chan<- *TreasuryRebalanceRetiredRegistered) (event.Subscription, error) {
  4399  
  4400  	logs, sub, err := _TreasuryRebalance.contract.WatchLogs(opts, "RetiredRegistered")
  4401  	if err != nil {
  4402  		return nil, err
  4403  	}
  4404  	return event.NewSubscription(func(quit <-chan struct{}) error {
  4405  		defer sub.Unsubscribe()
  4406  		for {
  4407  			select {
  4408  			case log := <-logs:
  4409  				// New log arrived, parse the event and forward to the user
  4410  				event := new(TreasuryRebalanceRetiredRegistered)
  4411  				if err := _TreasuryRebalance.contract.UnpackLog(event, "RetiredRegistered", log); err != nil {
  4412  					return err
  4413  				}
  4414  				event.Raw = log
  4415  
  4416  				select {
  4417  				case sink <- event:
  4418  				case err := <-sub.Err():
  4419  					return err
  4420  				case <-quit:
  4421  					return nil
  4422  				}
  4423  			case err := <-sub.Err():
  4424  				return err
  4425  			case <-quit:
  4426  				return nil
  4427  			}
  4428  		}
  4429  	}), nil
  4430  }
  4431  
  4432  // ParseRetiredRegistered is a log parse operation binding the contract event 0x7da2e87d0b02df1162d5736cc40dfcfffd17198aaf093ddff4a8f4eb26002fde.
  4433  //
  4434  // Solidity: event RetiredRegistered(address retired)
  4435  func (_TreasuryRebalance *TreasuryRebalanceFilterer) ParseRetiredRegistered(log types.Log) (*TreasuryRebalanceRetiredRegistered, error) {
  4436  	event := new(TreasuryRebalanceRetiredRegistered)
  4437  	if err := _TreasuryRebalance.contract.UnpackLog(event, "RetiredRegistered", log); err != nil {
  4438  		return nil, err
  4439  	}
  4440  	return event, nil
  4441  }
  4442  
  4443  // TreasuryRebalanceRetiredRemovedIterator is returned from FilterRetiredRemoved and is used to iterate over the raw logs and unpacked data for RetiredRemoved events raised by the TreasuryRebalance contract.
  4444  type TreasuryRebalanceRetiredRemovedIterator struct {
  4445  	Event *TreasuryRebalanceRetiredRemoved // Event containing the contract specifics and raw log
  4446  
  4447  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  4448  	event    string              // Event name to use for unpacking event data
  4449  
  4450  	logs chan types.Log      // Log channel receiving the found contract events
  4451  	sub  klaytn.Subscription // Subscription for errors, completion and termination
  4452  	done bool                // Whether the subscription completed delivering logs
  4453  	fail error               // Occurred error to stop iteration
  4454  }
  4455  
  4456  // Next advances the iterator to the subsequent event, returning whether there
  4457  // are any more events found. In case of a retrieval or parsing error, false is
  4458  // returned and Error() can be queried for the exact failure.
  4459  func (it *TreasuryRebalanceRetiredRemovedIterator) Next() bool {
  4460  	// If the iterator failed, stop iterating
  4461  	if it.fail != nil {
  4462  		return false
  4463  	}
  4464  	// If the iterator completed, deliver directly whatever's available
  4465  	if it.done {
  4466  		select {
  4467  		case log := <-it.logs:
  4468  			it.Event = new(TreasuryRebalanceRetiredRemoved)
  4469  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  4470  				it.fail = err
  4471  				return false
  4472  			}
  4473  			it.Event.Raw = log
  4474  			return true
  4475  
  4476  		default:
  4477  			return false
  4478  		}
  4479  	}
  4480  	// Iterator still in progress, wait for either a data or an error event
  4481  	select {
  4482  	case log := <-it.logs:
  4483  		it.Event = new(TreasuryRebalanceRetiredRemoved)
  4484  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  4485  			it.fail = err
  4486  			return false
  4487  		}
  4488  		it.Event.Raw = log
  4489  		return true
  4490  
  4491  	case err := <-it.sub.Err():
  4492  		it.done = true
  4493  		it.fail = err
  4494  		return it.Next()
  4495  	}
  4496  }
  4497  
  4498  // Error returns any retrieval or parsing error occurred during filtering.
  4499  func (it *TreasuryRebalanceRetiredRemovedIterator) Error() error {
  4500  	return it.fail
  4501  }
  4502  
  4503  // Close terminates the iteration process, releasing any pending underlying
  4504  // resources.
  4505  func (it *TreasuryRebalanceRetiredRemovedIterator) Close() error {
  4506  	it.sub.Unsubscribe()
  4507  	return nil
  4508  }
  4509  
  4510  // TreasuryRebalanceRetiredRemoved represents a RetiredRemoved event raised by the TreasuryRebalance contract.
  4511  type TreasuryRebalanceRetiredRemoved struct {
  4512  	Retired common.Address
  4513  	Raw     types.Log // Blockchain specific contextual infos
  4514  }
  4515  
  4516  // FilterRetiredRemoved is a free log retrieval operation binding the contract event 0x1f46b11b62ae5cc6363d0d5c2e597c4cb8849543d9126353adb73c5d7215e237.
  4517  //
  4518  // Solidity: event RetiredRemoved(address retired)
  4519  func (_TreasuryRebalance *TreasuryRebalanceFilterer) FilterRetiredRemoved(opts *bind.FilterOpts) (*TreasuryRebalanceRetiredRemovedIterator, error) {
  4520  
  4521  	logs, sub, err := _TreasuryRebalance.contract.FilterLogs(opts, "RetiredRemoved")
  4522  	if err != nil {
  4523  		return nil, err
  4524  	}
  4525  	return &TreasuryRebalanceRetiredRemovedIterator{contract: _TreasuryRebalance.contract, event: "RetiredRemoved", logs: logs, sub: sub}, nil
  4526  }
  4527  
  4528  // WatchRetiredRemoved is a free log subscription operation binding the contract event 0x1f46b11b62ae5cc6363d0d5c2e597c4cb8849543d9126353adb73c5d7215e237.
  4529  //
  4530  // Solidity: event RetiredRemoved(address retired)
  4531  func (_TreasuryRebalance *TreasuryRebalanceFilterer) WatchRetiredRemoved(opts *bind.WatchOpts, sink chan<- *TreasuryRebalanceRetiredRemoved) (event.Subscription, error) {
  4532  
  4533  	logs, sub, err := _TreasuryRebalance.contract.WatchLogs(opts, "RetiredRemoved")
  4534  	if err != nil {
  4535  		return nil, err
  4536  	}
  4537  	return event.NewSubscription(func(quit <-chan struct{}) error {
  4538  		defer sub.Unsubscribe()
  4539  		for {
  4540  			select {
  4541  			case log := <-logs:
  4542  				// New log arrived, parse the event and forward to the user
  4543  				event := new(TreasuryRebalanceRetiredRemoved)
  4544  				if err := _TreasuryRebalance.contract.UnpackLog(event, "RetiredRemoved", log); err != nil {
  4545  					return err
  4546  				}
  4547  				event.Raw = log
  4548  
  4549  				select {
  4550  				case sink <- event:
  4551  				case err := <-sub.Err():
  4552  					return err
  4553  				case <-quit:
  4554  					return nil
  4555  				}
  4556  			case err := <-sub.Err():
  4557  				return err
  4558  			case <-quit:
  4559  				return nil
  4560  			}
  4561  		}
  4562  	}), nil
  4563  }
  4564  
  4565  // ParseRetiredRemoved is a log parse operation binding the contract event 0x1f46b11b62ae5cc6363d0d5c2e597c4cb8849543d9126353adb73c5d7215e237.
  4566  //
  4567  // Solidity: event RetiredRemoved(address retired)
  4568  func (_TreasuryRebalance *TreasuryRebalanceFilterer) ParseRetiredRemoved(log types.Log) (*TreasuryRebalanceRetiredRemoved, error) {
  4569  	event := new(TreasuryRebalanceRetiredRemoved)
  4570  	if err := _TreasuryRebalance.contract.UnpackLog(event, "RetiredRemoved", log); err != nil {
  4571  		return nil, err
  4572  	}
  4573  	return event, nil
  4574  }
  4575  
  4576  // TreasuryRebalanceStatusChangedIterator is returned from FilterStatusChanged and is used to iterate over the raw logs and unpacked data for StatusChanged events raised by the TreasuryRebalance contract.
  4577  type TreasuryRebalanceStatusChangedIterator struct {
  4578  	Event *TreasuryRebalanceStatusChanged // Event containing the contract specifics and raw log
  4579  
  4580  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  4581  	event    string              // Event name to use for unpacking event data
  4582  
  4583  	logs chan types.Log      // Log channel receiving the found contract events
  4584  	sub  klaytn.Subscription // Subscription for errors, completion and termination
  4585  	done bool                // Whether the subscription completed delivering logs
  4586  	fail error               // Occurred error to stop iteration
  4587  }
  4588  
  4589  // Next advances the iterator to the subsequent event, returning whether there
  4590  // are any more events found. In case of a retrieval or parsing error, false is
  4591  // returned and Error() can be queried for the exact failure.
  4592  func (it *TreasuryRebalanceStatusChangedIterator) Next() bool {
  4593  	// If the iterator failed, stop iterating
  4594  	if it.fail != nil {
  4595  		return false
  4596  	}
  4597  	// If the iterator completed, deliver directly whatever's available
  4598  	if it.done {
  4599  		select {
  4600  		case log := <-it.logs:
  4601  			it.Event = new(TreasuryRebalanceStatusChanged)
  4602  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  4603  				it.fail = err
  4604  				return false
  4605  			}
  4606  			it.Event.Raw = log
  4607  			return true
  4608  
  4609  		default:
  4610  			return false
  4611  		}
  4612  	}
  4613  	// Iterator still in progress, wait for either a data or an error event
  4614  	select {
  4615  	case log := <-it.logs:
  4616  		it.Event = new(TreasuryRebalanceStatusChanged)
  4617  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  4618  			it.fail = err
  4619  			return false
  4620  		}
  4621  		it.Event.Raw = log
  4622  		return true
  4623  
  4624  	case err := <-it.sub.Err():
  4625  		it.done = true
  4626  		it.fail = err
  4627  		return it.Next()
  4628  	}
  4629  }
  4630  
  4631  // Error returns any retrieval or parsing error occurred during filtering.
  4632  func (it *TreasuryRebalanceStatusChangedIterator) Error() error {
  4633  	return it.fail
  4634  }
  4635  
  4636  // Close terminates the iteration process, releasing any pending underlying
  4637  // resources.
  4638  func (it *TreasuryRebalanceStatusChangedIterator) Close() error {
  4639  	it.sub.Unsubscribe()
  4640  	return nil
  4641  }
  4642  
  4643  // TreasuryRebalanceStatusChanged represents a StatusChanged event raised by the TreasuryRebalance contract.
  4644  type TreasuryRebalanceStatusChanged struct {
  4645  	Status uint8
  4646  	Raw    types.Log // Blockchain specific contextual infos
  4647  }
  4648  
  4649  // FilterStatusChanged is a free log retrieval operation binding the contract event 0xafa725e7f44cadb687a7043853fa1a7e7b8f0da74ce87ec546e9420f04da8c1e.
  4650  //
  4651  // Solidity: event StatusChanged(uint8 status)
  4652  func (_TreasuryRebalance *TreasuryRebalanceFilterer) FilterStatusChanged(opts *bind.FilterOpts) (*TreasuryRebalanceStatusChangedIterator, error) {
  4653  
  4654  	logs, sub, err := _TreasuryRebalance.contract.FilterLogs(opts, "StatusChanged")
  4655  	if err != nil {
  4656  		return nil, err
  4657  	}
  4658  	return &TreasuryRebalanceStatusChangedIterator{contract: _TreasuryRebalance.contract, event: "StatusChanged", logs: logs, sub: sub}, nil
  4659  }
  4660  
  4661  // WatchStatusChanged is a free log subscription operation binding the contract event 0xafa725e7f44cadb687a7043853fa1a7e7b8f0da74ce87ec546e9420f04da8c1e.
  4662  //
  4663  // Solidity: event StatusChanged(uint8 status)
  4664  func (_TreasuryRebalance *TreasuryRebalanceFilterer) WatchStatusChanged(opts *bind.WatchOpts, sink chan<- *TreasuryRebalanceStatusChanged) (event.Subscription, error) {
  4665  
  4666  	logs, sub, err := _TreasuryRebalance.contract.WatchLogs(opts, "StatusChanged")
  4667  	if err != nil {
  4668  		return nil, err
  4669  	}
  4670  	return event.NewSubscription(func(quit <-chan struct{}) error {
  4671  		defer sub.Unsubscribe()
  4672  		for {
  4673  			select {
  4674  			case log := <-logs:
  4675  				// New log arrived, parse the event and forward to the user
  4676  				event := new(TreasuryRebalanceStatusChanged)
  4677  				if err := _TreasuryRebalance.contract.UnpackLog(event, "StatusChanged", log); err != nil {
  4678  					return err
  4679  				}
  4680  				event.Raw = log
  4681  
  4682  				select {
  4683  				case sink <- event:
  4684  				case err := <-sub.Err():
  4685  					return err
  4686  				case <-quit:
  4687  					return nil
  4688  				}
  4689  			case err := <-sub.Err():
  4690  				return err
  4691  			case <-quit:
  4692  				return nil
  4693  			}
  4694  		}
  4695  	}), nil
  4696  }
  4697  
  4698  // ParseStatusChanged is a log parse operation binding the contract event 0xafa725e7f44cadb687a7043853fa1a7e7b8f0da74ce87ec546e9420f04da8c1e.
  4699  //
  4700  // Solidity: event StatusChanged(uint8 status)
  4701  func (_TreasuryRebalance *TreasuryRebalanceFilterer) ParseStatusChanged(log types.Log) (*TreasuryRebalanceStatusChanged, error) {
  4702  	event := new(TreasuryRebalanceStatusChanged)
  4703  	if err := _TreasuryRebalance.contract.UnpackLog(event, "StatusChanged", log); err != nil {
  4704  		return nil, err
  4705  	}
  4706  	return event, nil
  4707  }