github.com/status-im/status-go@v1.1.0/contracts/registrar/registrar.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 registrar
     5  
     6  import (
     7  	"math/big"
     8  	"strings"
     9  
    10  	ethereum "github.com/ethereum/go-ethereum"
    11  	"github.com/ethereum/go-ethereum/accounts/abi"
    12  	"github.com/ethereum/go-ethereum/accounts/abi/bind"
    13  	"github.com/ethereum/go-ethereum/common"
    14  	"github.com/ethereum/go-ethereum/core/types"
    15  	"github.com/ethereum/go-ethereum/event"
    16  )
    17  
    18  // Reference imports to suppress errors if they are not otherwise used.
    19  var (
    20  	_ = big.NewInt
    21  	_ = strings.NewReader
    22  	_ = ethereum.NotFound
    23  	_ = bind.Bind
    24  	_ = common.Big1
    25  	_ = types.BloomLookup
    26  	_ = event.NewSubscription
    27  )
    28  
    29  // ApproveAndCallFallBackABI is the input ABI used to generate the binding from.
    30  const ApproveAndCallFallBackABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_token\",\"type\":\"address\"},{\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"receiveApproval\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]"
    31  
    32  // ApproveAndCallFallBackFuncSigs maps the 4-byte function signature to its string representation.
    33  var ApproveAndCallFallBackFuncSigs = map[string]string{
    34  	"8f4ffcb1": "receiveApproval(address,uint256,address,bytes)",
    35  }
    36  
    37  // ApproveAndCallFallBack is an auto generated Go binding around an Ethereum contract.
    38  type ApproveAndCallFallBack struct {
    39  	ApproveAndCallFallBackCaller     // Read-only binding to the contract
    40  	ApproveAndCallFallBackTransactor // Write-only binding to the contract
    41  	ApproveAndCallFallBackFilterer   // Log filterer for contract events
    42  }
    43  
    44  // ApproveAndCallFallBackCaller is an auto generated read-only Go binding around an Ethereum contract.
    45  type ApproveAndCallFallBackCaller struct {
    46  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    47  }
    48  
    49  // ApproveAndCallFallBackTransactor is an auto generated write-only Go binding around an Ethereum contract.
    50  type ApproveAndCallFallBackTransactor struct {
    51  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    52  }
    53  
    54  // ApproveAndCallFallBackFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
    55  type ApproveAndCallFallBackFilterer struct {
    56  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    57  }
    58  
    59  // ApproveAndCallFallBackSession is an auto generated Go binding around an Ethereum contract,
    60  // with pre-set call and transact options.
    61  type ApproveAndCallFallBackSession struct {
    62  	Contract     *ApproveAndCallFallBack // Generic contract binding to set the session for
    63  	CallOpts     bind.CallOpts           // Call options to use throughout this session
    64  	TransactOpts bind.TransactOpts       // Transaction auth options to use throughout this session
    65  }
    66  
    67  // ApproveAndCallFallBackCallerSession is an auto generated read-only Go binding around an Ethereum contract,
    68  // with pre-set call options.
    69  type ApproveAndCallFallBackCallerSession struct {
    70  	Contract *ApproveAndCallFallBackCaller // Generic contract caller binding to set the session for
    71  	CallOpts bind.CallOpts                 // Call options to use throughout this session
    72  }
    73  
    74  // ApproveAndCallFallBackTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
    75  // with pre-set transact options.
    76  type ApproveAndCallFallBackTransactorSession struct {
    77  	Contract     *ApproveAndCallFallBackTransactor // Generic contract transactor binding to set the session for
    78  	TransactOpts bind.TransactOpts                 // Transaction auth options to use throughout this session
    79  }
    80  
    81  // ApproveAndCallFallBackRaw is an auto generated low-level Go binding around an Ethereum contract.
    82  type ApproveAndCallFallBackRaw struct {
    83  	Contract *ApproveAndCallFallBack // Generic contract binding to access the raw methods on
    84  }
    85  
    86  // ApproveAndCallFallBackCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
    87  type ApproveAndCallFallBackCallerRaw struct {
    88  	Contract *ApproveAndCallFallBackCaller // Generic read-only contract binding to access the raw methods on
    89  }
    90  
    91  // ApproveAndCallFallBackTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
    92  type ApproveAndCallFallBackTransactorRaw struct {
    93  	Contract *ApproveAndCallFallBackTransactor // Generic write-only contract binding to access the raw methods on
    94  }
    95  
    96  // NewApproveAndCallFallBack creates a new instance of ApproveAndCallFallBack, bound to a specific deployed contract.
    97  func NewApproveAndCallFallBack(address common.Address, backend bind.ContractBackend) (*ApproveAndCallFallBack, error) {
    98  	contract, err := bindApproveAndCallFallBack(address, backend, backend, backend)
    99  	if err != nil {
   100  		return nil, err
   101  	}
   102  	return &ApproveAndCallFallBack{ApproveAndCallFallBackCaller: ApproveAndCallFallBackCaller{contract: contract}, ApproveAndCallFallBackTransactor: ApproveAndCallFallBackTransactor{contract: contract}, ApproveAndCallFallBackFilterer: ApproveAndCallFallBackFilterer{contract: contract}}, nil
   103  }
   104  
   105  // NewApproveAndCallFallBackCaller creates a new read-only instance of ApproveAndCallFallBack, bound to a specific deployed contract.
   106  func NewApproveAndCallFallBackCaller(address common.Address, caller bind.ContractCaller) (*ApproveAndCallFallBackCaller, error) {
   107  	contract, err := bindApproveAndCallFallBack(address, caller, nil, nil)
   108  	if err != nil {
   109  		return nil, err
   110  	}
   111  	return &ApproveAndCallFallBackCaller{contract: contract}, nil
   112  }
   113  
   114  // NewApproveAndCallFallBackTransactor creates a new write-only instance of ApproveAndCallFallBack, bound to a specific deployed contract.
   115  func NewApproveAndCallFallBackTransactor(address common.Address, transactor bind.ContractTransactor) (*ApproveAndCallFallBackTransactor, error) {
   116  	contract, err := bindApproveAndCallFallBack(address, nil, transactor, nil)
   117  	if err != nil {
   118  		return nil, err
   119  	}
   120  	return &ApproveAndCallFallBackTransactor{contract: contract}, nil
   121  }
   122  
   123  // NewApproveAndCallFallBackFilterer creates a new log filterer instance of ApproveAndCallFallBack, bound to a specific deployed contract.
   124  func NewApproveAndCallFallBackFilterer(address common.Address, filterer bind.ContractFilterer) (*ApproveAndCallFallBackFilterer, error) {
   125  	contract, err := bindApproveAndCallFallBack(address, nil, nil, filterer)
   126  	if err != nil {
   127  		return nil, err
   128  	}
   129  	return &ApproveAndCallFallBackFilterer{contract: contract}, nil
   130  }
   131  
   132  // bindApproveAndCallFallBack binds a generic wrapper to an already deployed contract.
   133  func bindApproveAndCallFallBack(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   134  	parsed, err := abi.JSON(strings.NewReader(ApproveAndCallFallBackABI))
   135  	if err != nil {
   136  		return nil, err
   137  	}
   138  	return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
   139  }
   140  
   141  // Call invokes the (constant) contract method with params as input values and
   142  // sets the output to result. The result type might be a single field for simple
   143  // returns, a slice of interfaces for anonymous returns and a struct for named
   144  // returns.
   145  func (_ApproveAndCallFallBack *ApproveAndCallFallBackRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   146  	return _ApproveAndCallFallBack.Contract.ApproveAndCallFallBackCaller.contract.Call(opts, result, method, params...)
   147  }
   148  
   149  // Transfer initiates a plain transaction to move funds to the contract, calling
   150  // its default method if one is available.
   151  func (_ApproveAndCallFallBack *ApproveAndCallFallBackRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   152  	return _ApproveAndCallFallBack.Contract.ApproveAndCallFallBackTransactor.contract.Transfer(opts)
   153  }
   154  
   155  // Transact invokes the (paid) contract method with params as input values.
   156  func (_ApproveAndCallFallBack *ApproveAndCallFallBackRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   157  	return _ApproveAndCallFallBack.Contract.ApproveAndCallFallBackTransactor.contract.Transact(opts, method, params...)
   158  }
   159  
   160  // Call invokes the (constant) contract method with params as input values and
   161  // sets the output to result. The result type might be a single field for simple
   162  // returns, a slice of interfaces for anonymous returns and a struct for named
   163  // returns.
   164  func (_ApproveAndCallFallBack *ApproveAndCallFallBackCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   165  	return _ApproveAndCallFallBack.Contract.contract.Call(opts, result, method, params...)
   166  }
   167  
   168  // Transfer initiates a plain transaction to move funds to the contract, calling
   169  // its default method if one is available.
   170  func (_ApproveAndCallFallBack *ApproveAndCallFallBackTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   171  	return _ApproveAndCallFallBack.Contract.contract.Transfer(opts)
   172  }
   173  
   174  // Transact invokes the (paid) contract method with params as input values.
   175  func (_ApproveAndCallFallBack *ApproveAndCallFallBackTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   176  	return _ApproveAndCallFallBack.Contract.contract.Transact(opts, method, params...)
   177  }
   178  
   179  // ReceiveApproval is a paid mutator transaction binding the contract method 0x8f4ffcb1.
   180  //
   181  // Solidity: function receiveApproval(address from, uint256 _amount, address _token, bytes _data) returns()
   182  func (_ApproveAndCallFallBack *ApproveAndCallFallBackTransactor) ReceiveApproval(opts *bind.TransactOpts, from common.Address, _amount *big.Int, _token common.Address, _data []byte) (*types.Transaction, error) {
   183  	return _ApproveAndCallFallBack.contract.Transact(opts, "receiveApproval", from, _amount, _token, _data)
   184  }
   185  
   186  // ReceiveApproval is a paid mutator transaction binding the contract method 0x8f4ffcb1.
   187  //
   188  // Solidity: function receiveApproval(address from, uint256 _amount, address _token, bytes _data) returns()
   189  func (_ApproveAndCallFallBack *ApproveAndCallFallBackSession) ReceiveApproval(from common.Address, _amount *big.Int, _token common.Address, _data []byte) (*types.Transaction, error) {
   190  	return _ApproveAndCallFallBack.Contract.ReceiveApproval(&_ApproveAndCallFallBack.TransactOpts, from, _amount, _token, _data)
   191  }
   192  
   193  // ReceiveApproval is a paid mutator transaction binding the contract method 0x8f4ffcb1.
   194  //
   195  // Solidity: function receiveApproval(address from, uint256 _amount, address _token, bytes _data) returns()
   196  func (_ApproveAndCallFallBack *ApproveAndCallFallBackTransactorSession) ReceiveApproval(from common.Address, _amount *big.Int, _token common.Address, _data []byte) (*types.Transaction, error) {
   197  	return _ApproveAndCallFallBack.Contract.ReceiveApproval(&_ApproveAndCallFallBack.TransactOpts, from, _amount, _token, _data)
   198  }
   199  
   200  // ControlledABI is the input ABI used to generate the binding from.
   201  const ControlledABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"_newController\",\"type\":\"address\"}],\"name\":\"changeController\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"controller\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]"
   202  
   203  // ControlledFuncSigs maps the 4-byte function signature to its string representation.
   204  var ControlledFuncSigs = map[string]string{
   205  	"3cebb823": "changeController(address)",
   206  	"f77c4791": "controller()",
   207  }
   208  
   209  // Controlled is an auto generated Go binding around an Ethereum contract.
   210  type Controlled struct {
   211  	ControlledCaller     // Read-only binding to the contract
   212  	ControlledTransactor // Write-only binding to the contract
   213  	ControlledFilterer   // Log filterer for contract events
   214  }
   215  
   216  // ControlledCaller is an auto generated read-only Go binding around an Ethereum contract.
   217  type ControlledCaller struct {
   218  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
   219  }
   220  
   221  // ControlledTransactor is an auto generated write-only Go binding around an Ethereum contract.
   222  type ControlledTransactor struct {
   223  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
   224  }
   225  
   226  // ControlledFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
   227  type ControlledFilterer struct {
   228  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
   229  }
   230  
   231  // ControlledSession is an auto generated Go binding around an Ethereum contract,
   232  // with pre-set call and transact options.
   233  type ControlledSession struct {
   234  	Contract     *Controlled       // Generic contract binding to set the session for
   235  	CallOpts     bind.CallOpts     // Call options to use throughout this session
   236  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
   237  }
   238  
   239  // ControlledCallerSession is an auto generated read-only Go binding around an Ethereum contract,
   240  // with pre-set call options.
   241  type ControlledCallerSession struct {
   242  	Contract *ControlledCaller // Generic contract caller binding to set the session for
   243  	CallOpts bind.CallOpts     // Call options to use throughout this session
   244  }
   245  
   246  // ControlledTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
   247  // with pre-set transact options.
   248  type ControlledTransactorSession struct {
   249  	Contract     *ControlledTransactor // Generic contract transactor binding to set the session for
   250  	TransactOpts bind.TransactOpts     // Transaction auth options to use throughout this session
   251  }
   252  
   253  // ControlledRaw is an auto generated low-level Go binding around an Ethereum contract.
   254  type ControlledRaw struct {
   255  	Contract *Controlled // Generic contract binding to access the raw methods on
   256  }
   257  
   258  // ControlledCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
   259  type ControlledCallerRaw struct {
   260  	Contract *ControlledCaller // Generic read-only contract binding to access the raw methods on
   261  }
   262  
   263  // ControlledTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
   264  type ControlledTransactorRaw struct {
   265  	Contract *ControlledTransactor // Generic write-only contract binding to access the raw methods on
   266  }
   267  
   268  // NewControlled creates a new instance of Controlled, bound to a specific deployed contract.
   269  func NewControlled(address common.Address, backend bind.ContractBackend) (*Controlled, error) {
   270  	contract, err := bindControlled(address, backend, backend, backend)
   271  	if err != nil {
   272  		return nil, err
   273  	}
   274  	return &Controlled{ControlledCaller: ControlledCaller{contract: contract}, ControlledTransactor: ControlledTransactor{contract: contract}, ControlledFilterer: ControlledFilterer{contract: contract}}, nil
   275  }
   276  
   277  // NewControlledCaller creates a new read-only instance of Controlled, bound to a specific deployed contract.
   278  func NewControlledCaller(address common.Address, caller bind.ContractCaller) (*ControlledCaller, error) {
   279  	contract, err := bindControlled(address, caller, nil, nil)
   280  	if err != nil {
   281  		return nil, err
   282  	}
   283  	return &ControlledCaller{contract: contract}, nil
   284  }
   285  
   286  // NewControlledTransactor creates a new write-only instance of Controlled, bound to a specific deployed contract.
   287  func NewControlledTransactor(address common.Address, transactor bind.ContractTransactor) (*ControlledTransactor, error) {
   288  	contract, err := bindControlled(address, nil, transactor, nil)
   289  	if err != nil {
   290  		return nil, err
   291  	}
   292  	return &ControlledTransactor{contract: contract}, nil
   293  }
   294  
   295  // NewControlledFilterer creates a new log filterer instance of Controlled, bound to a specific deployed contract.
   296  func NewControlledFilterer(address common.Address, filterer bind.ContractFilterer) (*ControlledFilterer, error) {
   297  	contract, err := bindControlled(address, nil, nil, filterer)
   298  	if err != nil {
   299  		return nil, err
   300  	}
   301  	return &ControlledFilterer{contract: contract}, nil
   302  }
   303  
   304  // bindControlled binds a generic wrapper to an already deployed contract.
   305  func bindControlled(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   306  	parsed, err := abi.JSON(strings.NewReader(ControlledABI))
   307  	if err != nil {
   308  		return nil, err
   309  	}
   310  	return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
   311  }
   312  
   313  // Call invokes the (constant) contract method with params as input values and
   314  // sets the output to result. The result type might be a single field for simple
   315  // returns, a slice of interfaces for anonymous returns and a struct for named
   316  // returns.
   317  func (_Controlled *ControlledRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   318  	return _Controlled.Contract.ControlledCaller.contract.Call(opts, result, method, params...)
   319  }
   320  
   321  // Transfer initiates a plain transaction to move funds to the contract, calling
   322  // its default method if one is available.
   323  func (_Controlled *ControlledRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   324  	return _Controlled.Contract.ControlledTransactor.contract.Transfer(opts)
   325  }
   326  
   327  // Transact invokes the (paid) contract method with params as input values.
   328  func (_Controlled *ControlledRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   329  	return _Controlled.Contract.ControlledTransactor.contract.Transact(opts, method, params...)
   330  }
   331  
   332  // Call invokes the (constant) contract method with params as input values and
   333  // sets the output to result. The result type might be a single field for simple
   334  // returns, a slice of interfaces for anonymous returns and a struct for named
   335  // returns.
   336  func (_Controlled *ControlledCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   337  	return _Controlled.Contract.contract.Call(opts, result, method, params...)
   338  }
   339  
   340  // Transfer initiates a plain transaction to move funds to the contract, calling
   341  // its default method if one is available.
   342  func (_Controlled *ControlledTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   343  	return _Controlled.Contract.contract.Transfer(opts)
   344  }
   345  
   346  // Transact invokes the (paid) contract method with params as input values.
   347  func (_Controlled *ControlledTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   348  	return _Controlled.Contract.contract.Transact(opts, method, params...)
   349  }
   350  
   351  // Controller is a free data retrieval call binding the contract method 0xf77c4791.
   352  //
   353  // Solidity: function controller() view returns(address)
   354  func (_Controlled *ControlledCaller) Controller(opts *bind.CallOpts) (common.Address, error) {
   355  	var out []interface{}
   356  	err := _Controlled.contract.Call(opts, &out, "controller")
   357  
   358  	if err != nil {
   359  		return *new(common.Address), err
   360  	}
   361  
   362  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   363  
   364  	return out0, err
   365  
   366  }
   367  
   368  // Controller is a free data retrieval call binding the contract method 0xf77c4791.
   369  //
   370  // Solidity: function controller() view returns(address)
   371  func (_Controlled *ControlledSession) Controller() (common.Address, error) {
   372  	return _Controlled.Contract.Controller(&_Controlled.CallOpts)
   373  }
   374  
   375  // Controller is a free data retrieval call binding the contract method 0xf77c4791.
   376  //
   377  // Solidity: function controller() view returns(address)
   378  func (_Controlled *ControlledCallerSession) Controller() (common.Address, error) {
   379  	return _Controlled.Contract.Controller(&_Controlled.CallOpts)
   380  }
   381  
   382  // ChangeController is a paid mutator transaction binding the contract method 0x3cebb823.
   383  //
   384  // Solidity: function changeController(address _newController) returns()
   385  func (_Controlled *ControlledTransactor) ChangeController(opts *bind.TransactOpts, _newController common.Address) (*types.Transaction, error) {
   386  	return _Controlled.contract.Transact(opts, "changeController", _newController)
   387  }
   388  
   389  // ChangeController is a paid mutator transaction binding the contract method 0x3cebb823.
   390  //
   391  // Solidity: function changeController(address _newController) returns()
   392  func (_Controlled *ControlledSession) ChangeController(_newController common.Address) (*types.Transaction, error) {
   393  	return _Controlled.Contract.ChangeController(&_Controlled.TransactOpts, _newController)
   394  }
   395  
   396  // ChangeController is a paid mutator transaction binding the contract method 0x3cebb823.
   397  //
   398  // Solidity: function changeController(address _newController) returns()
   399  func (_Controlled *ControlledTransactorSession) ChangeController(_newController common.Address) (*types.Transaction, error) {
   400  	return _Controlled.Contract.ChangeController(&_Controlled.TransactOpts, _newController)
   401  }
   402  
   403  // UsernameRegistrarABI is the input ABI used to generate the binding from.
   404  const UsernameRegistrarABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"resolver\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_secret\",\"type\":\"bytes32\"}],\"name\":\"reserveSlash\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"reservedUsernamesMerkleRoot\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"},{\"name\":\"_beneficiary\",\"type\":\"address\"}],\"name\":\"withdrawExcessBalance\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_label\",\"type\":\"bytes32\"}],\"name\":\"updateAccountOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newController\",\"type\":\"address\"}],\"name\":\"changeController\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_username\",\"type\":\"string\"},{\"name\":\"_offendingPos\",\"type\":\"uint256\"},{\"name\":\"_reserveSecret\",\"type\":\"uint256\"}],\"name\":\"slashInvalidUsername\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_username\",\"type\":\"string\"},{\"name\":\"_proof\",\"type\":\"bytes32[]\"},{\"name\":\"_reserveSecret\",\"type\":\"uint256\"}],\"name\":\"slashReservedUsername\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"reserveAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"usernameMinLength\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_label\",\"type\":\"bytes32\"}],\"name\":\"release\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_label\",\"type\":\"bytes32\"}],\"name\":\"getCreationTime\",\"outputs\":[{\"name\":\"creationTime\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"releaseDelay\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ensRegistry\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_label\",\"type\":\"bytes32\"},{\"name\":\"_tokenBalance\",\"type\":\"uint256\"},{\"name\":\"_creationTime\",\"type\":\"uint256\"},{\"name\":\"_accountOwner\",\"type\":\"address\"}],\"name\":\"migrateUsername\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_label\",\"type\":\"bytes32\"}],\"name\":\"getSlashRewardPart\",\"outputs\":[{\"name\":\"partReward\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_price\",\"type\":\"uint256\"}],\"name\":\"updateRegistryPrice\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_username\",\"type\":\"string\"},{\"name\":\"_reserveSecret\",\"type\":\"uint256\"}],\"name\":\"slashAddressLikeUsername\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_token\",\"type\":\"address\"},{\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"receiveApproval\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_username\",\"type\":\"string\"},{\"name\":\"_reserveSecret\",\"type\":\"uint256\"}],\"name\":\"slashSmallUsername\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getPrice\",\"outputs\":[{\"name\":\"registryPrice\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_price\",\"type\":\"uint256\"}],\"name\":\"migrateRegistry\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"price\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_label\",\"type\":\"bytes32\"}],\"name\":\"getExpirationTime\",\"outputs\":[{\"name\":\"releaseTime\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_label\",\"type\":\"bytes32\"}],\"name\":\"getAccountOwner\",\"outputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_domainHash\",\"type\":\"bytes32\"},{\"name\":\"_beneficiary\",\"type\":\"address\"}],\"name\":\"withdrawWrongNode\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_price\",\"type\":\"uint256\"}],\"name\":\"activate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_label\",\"type\":\"bytes32\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_pubkeyA\",\"type\":\"bytes32\"},{\"name\":\"_pubkeyB\",\"type\":\"bytes32\"}],\"name\":\"register\",\"outputs\":[{\"name\":\"namehash\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"accounts\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"},{\"name\":\"creationTime\",\"type\":\"uint256\"},{\"name\":\"owner\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"state\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_label\",\"type\":\"bytes32\"},{\"name\":\"_newRegistry\",\"type\":\"address\"}],\"name\":\"moveAccount\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"parentRegistry\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ensNode\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_labels\",\"type\":\"bytes32[]\"}],\"name\":\"eraseNode\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newRegistry\",\"type\":\"address\"}],\"name\":\"moveRegistry\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_label\",\"type\":\"bytes32\"}],\"name\":\"getAccountBalance\",\"outputs\":[{\"name\":\"accountBalance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"controller\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_label\",\"type\":\"bytes32\"}],\"name\":\"dropUsername\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"state\",\"type\":\"uint8\"}],\"name\":\"RegistryState\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"RegistryPrice\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"newRegistry\",\"type\":\"address\"}],\"name\":\"RegistryMoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"nameHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"UsernameOwner\",\"type\":\"event\"}]"
   405  
   406  // UsernameRegistrarFuncSigs maps the 4-byte function signature to its string representation.
   407  var UsernameRegistrarFuncSigs = map[string]string{
   408  	"bc529c43": "accounts(bytes32)",
   409  	"b260c42a": "activate(uint256)",
   410  	"3cebb823": "changeController(address)",
   411  	"f77c4791": "controller()",
   412  	"f9e54282": "dropUsername(bytes32)",
   413  	"ddbcf3a1": "ensNode()",
   414  	"7d73b231": "ensRegistry()",
   415  	"de10f04b": "eraseNode(bytes32[])",
   416  	"ebf701e0": "getAccountBalance(bytes32)",
   417  	"aacffccf": "getAccountOwner(bytes32)",
   418  	"6f79301d": "getCreationTime(bytes32)",
   419  	"a1454830": "getExpirationTime(bytes32)",
   420  	"98d5fdca": "getPrice()",
   421  	"8382b460": "getSlashRewardPart(bytes32)",
   422  	"98f038ff": "migrateRegistry(uint256)",
   423  	"80cd0015": "migrateUsername(bytes32,uint256,uint256,address)",
   424  	"c23e61b9": "moveAccount(bytes32,address)",
   425  	"e882c3ce": "moveRegistry(address)",
   426  	"c9b84d4d": "parentRegistry()",
   427  	"a035b1fe": "price()",
   428  	"8f4ffcb1": "receiveApproval(address,uint256,address,bytes)",
   429  	"b82fedbb": "register(bytes32,address,bytes32,bytes32)",
   430  	"67d42a8b": "release(bytes32)",
   431  	"7195bf23": "releaseDelay()",
   432  	"4b09b72a": "reserveAmount()",
   433  	"05c24481": "reserveSlash(bytes32)",
   434  	"07f908cb": "reservedUsernamesMerkleRoot()",
   435  	"04f3bcec": "resolver()",
   436  	"4e543b26": "setResolver(address)",
   437  	"8cf7b7a4": "slashAddressLikeUsername(string,uint256)",
   438  	"40784ebd": "slashInvalidUsername(string,uint256,uint256)",
   439  	"40b1ad52": "slashReservedUsername(string,bytes32[],uint256)",
   440  	"96bba9a8": "slashSmallUsername(string,uint256)",
   441  	"c19d93fb": "state()",
   442  	"fc0c546a": "token()",
   443  	"32e1ed24": "updateAccountOwner(bytes32)",
   444  	"860e9b0f": "updateRegistryPrice(uint256)",
   445  	"59ad0209": "usernameMinLength()",
   446  	"307c7a0d": "withdrawExcessBalance(address,address)",
   447  	"afe12e77": "withdrawWrongNode(bytes32,address)",
   448  }
   449  
   450  // UsernameRegistrar is an auto generated Go binding around an Ethereum contract.
   451  type UsernameRegistrar struct {
   452  	UsernameRegistrarCaller     // Read-only binding to the contract
   453  	UsernameRegistrarTransactor // Write-only binding to the contract
   454  	UsernameRegistrarFilterer   // Log filterer for contract events
   455  }
   456  
   457  // UsernameRegistrarCaller is an auto generated read-only Go binding around an Ethereum contract.
   458  type UsernameRegistrarCaller struct {
   459  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
   460  }
   461  
   462  // UsernameRegistrarTransactor is an auto generated write-only Go binding around an Ethereum contract.
   463  type UsernameRegistrarTransactor struct {
   464  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
   465  }
   466  
   467  // UsernameRegistrarFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
   468  type UsernameRegistrarFilterer struct {
   469  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
   470  }
   471  
   472  // UsernameRegistrarSession is an auto generated Go binding around an Ethereum contract,
   473  // with pre-set call and transact options.
   474  type UsernameRegistrarSession struct {
   475  	Contract     *UsernameRegistrar // Generic contract binding to set the session for
   476  	CallOpts     bind.CallOpts      // Call options to use throughout this session
   477  	TransactOpts bind.TransactOpts  // Transaction auth options to use throughout this session
   478  }
   479  
   480  // UsernameRegistrarCallerSession is an auto generated read-only Go binding around an Ethereum contract,
   481  // with pre-set call options.
   482  type UsernameRegistrarCallerSession struct {
   483  	Contract *UsernameRegistrarCaller // Generic contract caller binding to set the session for
   484  	CallOpts bind.CallOpts            // Call options to use throughout this session
   485  }
   486  
   487  // UsernameRegistrarTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
   488  // with pre-set transact options.
   489  type UsernameRegistrarTransactorSession struct {
   490  	Contract     *UsernameRegistrarTransactor // Generic contract transactor binding to set the session for
   491  	TransactOpts bind.TransactOpts            // Transaction auth options to use throughout this session
   492  }
   493  
   494  // UsernameRegistrarRaw is an auto generated low-level Go binding around an Ethereum contract.
   495  type UsernameRegistrarRaw struct {
   496  	Contract *UsernameRegistrar // Generic contract binding to access the raw methods on
   497  }
   498  
   499  // UsernameRegistrarCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
   500  type UsernameRegistrarCallerRaw struct {
   501  	Contract *UsernameRegistrarCaller // Generic read-only contract binding to access the raw methods on
   502  }
   503  
   504  // UsernameRegistrarTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
   505  type UsernameRegistrarTransactorRaw struct {
   506  	Contract *UsernameRegistrarTransactor // Generic write-only contract binding to access the raw methods on
   507  }
   508  
   509  // NewUsernameRegistrar creates a new instance of UsernameRegistrar, bound to a specific deployed contract.
   510  func NewUsernameRegistrar(address common.Address, backend bind.ContractBackend) (*UsernameRegistrar, error) {
   511  	contract, err := bindUsernameRegistrar(address, backend, backend, backend)
   512  	if err != nil {
   513  		return nil, err
   514  	}
   515  	return &UsernameRegistrar{UsernameRegistrarCaller: UsernameRegistrarCaller{contract: contract}, UsernameRegistrarTransactor: UsernameRegistrarTransactor{contract: contract}, UsernameRegistrarFilterer: UsernameRegistrarFilterer{contract: contract}}, nil
   516  }
   517  
   518  // NewUsernameRegistrarCaller creates a new read-only instance of UsernameRegistrar, bound to a specific deployed contract.
   519  func NewUsernameRegistrarCaller(address common.Address, caller bind.ContractCaller) (*UsernameRegistrarCaller, error) {
   520  	contract, err := bindUsernameRegistrar(address, caller, nil, nil)
   521  	if err != nil {
   522  		return nil, err
   523  	}
   524  	return &UsernameRegistrarCaller{contract: contract}, nil
   525  }
   526  
   527  // NewUsernameRegistrarTransactor creates a new write-only instance of UsernameRegistrar, bound to a specific deployed contract.
   528  func NewUsernameRegistrarTransactor(address common.Address, transactor bind.ContractTransactor) (*UsernameRegistrarTransactor, error) {
   529  	contract, err := bindUsernameRegistrar(address, nil, transactor, nil)
   530  	if err != nil {
   531  		return nil, err
   532  	}
   533  	return &UsernameRegistrarTransactor{contract: contract}, nil
   534  }
   535  
   536  // NewUsernameRegistrarFilterer creates a new log filterer instance of UsernameRegistrar, bound to a specific deployed contract.
   537  func NewUsernameRegistrarFilterer(address common.Address, filterer bind.ContractFilterer) (*UsernameRegistrarFilterer, error) {
   538  	contract, err := bindUsernameRegistrar(address, nil, nil, filterer)
   539  	if err != nil {
   540  		return nil, err
   541  	}
   542  	return &UsernameRegistrarFilterer{contract: contract}, nil
   543  }
   544  
   545  // bindUsernameRegistrar binds a generic wrapper to an already deployed contract.
   546  func bindUsernameRegistrar(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   547  	parsed, err := abi.JSON(strings.NewReader(UsernameRegistrarABI))
   548  	if err != nil {
   549  		return nil, err
   550  	}
   551  	return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
   552  }
   553  
   554  // Call invokes the (constant) contract method with params as input values and
   555  // sets the output to result. The result type might be a single field for simple
   556  // returns, a slice of interfaces for anonymous returns and a struct for named
   557  // returns.
   558  func (_UsernameRegistrar *UsernameRegistrarRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   559  	return _UsernameRegistrar.Contract.UsernameRegistrarCaller.contract.Call(opts, result, method, params...)
   560  }
   561  
   562  // Transfer initiates a plain transaction to move funds to the contract, calling
   563  // its default method if one is available.
   564  func (_UsernameRegistrar *UsernameRegistrarRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   565  	return _UsernameRegistrar.Contract.UsernameRegistrarTransactor.contract.Transfer(opts)
   566  }
   567  
   568  // Transact invokes the (paid) contract method with params as input values.
   569  func (_UsernameRegistrar *UsernameRegistrarRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   570  	return _UsernameRegistrar.Contract.UsernameRegistrarTransactor.contract.Transact(opts, method, params...)
   571  }
   572  
   573  // Call invokes the (constant) contract method with params as input values and
   574  // sets the output to result. The result type might be a single field for simple
   575  // returns, a slice of interfaces for anonymous returns and a struct for named
   576  // returns.
   577  func (_UsernameRegistrar *UsernameRegistrarCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   578  	return _UsernameRegistrar.Contract.contract.Call(opts, result, method, params...)
   579  }
   580  
   581  // Transfer initiates a plain transaction to move funds to the contract, calling
   582  // its default method if one is available.
   583  func (_UsernameRegistrar *UsernameRegistrarTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   584  	return _UsernameRegistrar.Contract.contract.Transfer(opts)
   585  }
   586  
   587  // Transact invokes the (paid) contract method with params as input values.
   588  func (_UsernameRegistrar *UsernameRegistrarTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   589  	return _UsernameRegistrar.Contract.contract.Transact(opts, method, params...)
   590  }
   591  
   592  // Accounts is a free data retrieval call binding the contract method 0xbc529c43.
   593  //
   594  // Solidity: function accounts(bytes32 ) view returns(uint256 balance, uint256 creationTime, address owner)
   595  func (_UsernameRegistrar *UsernameRegistrarCaller) Accounts(opts *bind.CallOpts, arg0 [32]byte) (struct {
   596  	Balance      *big.Int
   597  	CreationTime *big.Int
   598  	Owner        common.Address
   599  }, error) {
   600  	var out []interface{}
   601  	err := _UsernameRegistrar.contract.Call(opts, &out, "accounts", arg0)
   602  
   603  	outstruct := new(struct {
   604  		Balance      *big.Int
   605  		CreationTime *big.Int
   606  		Owner        common.Address
   607  	})
   608  	if err != nil {
   609  		return *outstruct, err
   610  	}
   611  
   612  	outstruct.Balance = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   613  	outstruct.CreationTime = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int)
   614  	outstruct.Owner = *abi.ConvertType(out[2], new(common.Address)).(*common.Address)
   615  
   616  	return *outstruct, err
   617  
   618  }
   619  
   620  // Accounts is a free data retrieval call binding the contract method 0xbc529c43.
   621  //
   622  // Solidity: function accounts(bytes32 ) view returns(uint256 balance, uint256 creationTime, address owner)
   623  func (_UsernameRegistrar *UsernameRegistrarSession) Accounts(arg0 [32]byte) (struct {
   624  	Balance      *big.Int
   625  	CreationTime *big.Int
   626  	Owner        common.Address
   627  }, error) {
   628  	return _UsernameRegistrar.Contract.Accounts(&_UsernameRegistrar.CallOpts, arg0)
   629  }
   630  
   631  // Accounts is a free data retrieval call binding the contract method 0xbc529c43.
   632  //
   633  // Solidity: function accounts(bytes32 ) view returns(uint256 balance, uint256 creationTime, address owner)
   634  func (_UsernameRegistrar *UsernameRegistrarCallerSession) Accounts(arg0 [32]byte) (struct {
   635  	Balance      *big.Int
   636  	CreationTime *big.Int
   637  	Owner        common.Address
   638  }, error) {
   639  	return _UsernameRegistrar.Contract.Accounts(&_UsernameRegistrar.CallOpts, arg0)
   640  }
   641  
   642  // Controller is a free data retrieval call binding the contract method 0xf77c4791.
   643  //
   644  // Solidity: function controller() view returns(address)
   645  func (_UsernameRegistrar *UsernameRegistrarCaller) Controller(opts *bind.CallOpts) (common.Address, error) {
   646  	var out []interface{}
   647  	err := _UsernameRegistrar.contract.Call(opts, &out, "controller")
   648  
   649  	if err != nil {
   650  		return *new(common.Address), err
   651  	}
   652  
   653  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   654  
   655  	return out0, err
   656  
   657  }
   658  
   659  // Controller is a free data retrieval call binding the contract method 0xf77c4791.
   660  //
   661  // Solidity: function controller() view returns(address)
   662  func (_UsernameRegistrar *UsernameRegistrarSession) Controller() (common.Address, error) {
   663  	return _UsernameRegistrar.Contract.Controller(&_UsernameRegistrar.CallOpts)
   664  }
   665  
   666  // Controller is a free data retrieval call binding the contract method 0xf77c4791.
   667  //
   668  // Solidity: function controller() view returns(address)
   669  func (_UsernameRegistrar *UsernameRegistrarCallerSession) Controller() (common.Address, error) {
   670  	return _UsernameRegistrar.Contract.Controller(&_UsernameRegistrar.CallOpts)
   671  }
   672  
   673  // EnsNode is a free data retrieval call binding the contract method 0xddbcf3a1.
   674  //
   675  // Solidity: function ensNode() view returns(bytes32)
   676  func (_UsernameRegistrar *UsernameRegistrarCaller) EnsNode(opts *bind.CallOpts) ([32]byte, error) {
   677  	var out []interface{}
   678  	err := _UsernameRegistrar.contract.Call(opts, &out, "ensNode")
   679  
   680  	if err != nil {
   681  		return *new([32]byte), err
   682  	}
   683  
   684  	out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
   685  
   686  	return out0, err
   687  
   688  }
   689  
   690  // EnsNode is a free data retrieval call binding the contract method 0xddbcf3a1.
   691  //
   692  // Solidity: function ensNode() view returns(bytes32)
   693  func (_UsernameRegistrar *UsernameRegistrarSession) EnsNode() ([32]byte, error) {
   694  	return _UsernameRegistrar.Contract.EnsNode(&_UsernameRegistrar.CallOpts)
   695  }
   696  
   697  // EnsNode is a free data retrieval call binding the contract method 0xddbcf3a1.
   698  //
   699  // Solidity: function ensNode() view returns(bytes32)
   700  func (_UsernameRegistrar *UsernameRegistrarCallerSession) EnsNode() ([32]byte, error) {
   701  	return _UsernameRegistrar.Contract.EnsNode(&_UsernameRegistrar.CallOpts)
   702  }
   703  
   704  // EnsRegistry is a free data retrieval call binding the contract method 0x7d73b231.
   705  //
   706  // Solidity: function ensRegistry() view returns(address)
   707  func (_UsernameRegistrar *UsernameRegistrarCaller) EnsRegistry(opts *bind.CallOpts) (common.Address, error) {
   708  	var out []interface{}
   709  	err := _UsernameRegistrar.contract.Call(opts, &out, "ensRegistry")
   710  
   711  	if err != nil {
   712  		return *new(common.Address), err
   713  	}
   714  
   715  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   716  
   717  	return out0, err
   718  
   719  }
   720  
   721  // EnsRegistry is a free data retrieval call binding the contract method 0x7d73b231.
   722  //
   723  // Solidity: function ensRegistry() view returns(address)
   724  func (_UsernameRegistrar *UsernameRegistrarSession) EnsRegistry() (common.Address, error) {
   725  	return _UsernameRegistrar.Contract.EnsRegistry(&_UsernameRegistrar.CallOpts)
   726  }
   727  
   728  // EnsRegistry is a free data retrieval call binding the contract method 0x7d73b231.
   729  //
   730  // Solidity: function ensRegistry() view returns(address)
   731  func (_UsernameRegistrar *UsernameRegistrarCallerSession) EnsRegistry() (common.Address, error) {
   732  	return _UsernameRegistrar.Contract.EnsRegistry(&_UsernameRegistrar.CallOpts)
   733  }
   734  
   735  // GetAccountBalance is a free data retrieval call binding the contract method 0xebf701e0.
   736  //
   737  // Solidity: function getAccountBalance(bytes32 _label) view returns(uint256 accountBalance)
   738  func (_UsernameRegistrar *UsernameRegistrarCaller) GetAccountBalance(opts *bind.CallOpts, _label [32]byte) (*big.Int, error) {
   739  	var out []interface{}
   740  	err := _UsernameRegistrar.contract.Call(opts, &out, "getAccountBalance", _label)
   741  
   742  	if err != nil {
   743  		return *new(*big.Int), err
   744  	}
   745  
   746  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   747  
   748  	return out0, err
   749  
   750  }
   751  
   752  // GetAccountBalance is a free data retrieval call binding the contract method 0xebf701e0.
   753  //
   754  // Solidity: function getAccountBalance(bytes32 _label) view returns(uint256 accountBalance)
   755  func (_UsernameRegistrar *UsernameRegistrarSession) GetAccountBalance(_label [32]byte) (*big.Int, error) {
   756  	return _UsernameRegistrar.Contract.GetAccountBalance(&_UsernameRegistrar.CallOpts, _label)
   757  }
   758  
   759  // GetAccountBalance is a free data retrieval call binding the contract method 0xebf701e0.
   760  //
   761  // Solidity: function getAccountBalance(bytes32 _label) view returns(uint256 accountBalance)
   762  func (_UsernameRegistrar *UsernameRegistrarCallerSession) GetAccountBalance(_label [32]byte) (*big.Int, error) {
   763  	return _UsernameRegistrar.Contract.GetAccountBalance(&_UsernameRegistrar.CallOpts, _label)
   764  }
   765  
   766  // GetAccountOwner is a free data retrieval call binding the contract method 0xaacffccf.
   767  //
   768  // Solidity: function getAccountOwner(bytes32 _label) view returns(address owner)
   769  func (_UsernameRegistrar *UsernameRegistrarCaller) GetAccountOwner(opts *bind.CallOpts, _label [32]byte) (common.Address, error) {
   770  	var out []interface{}
   771  	err := _UsernameRegistrar.contract.Call(opts, &out, "getAccountOwner", _label)
   772  
   773  	if err != nil {
   774  		return *new(common.Address), err
   775  	}
   776  
   777  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   778  
   779  	return out0, err
   780  
   781  }
   782  
   783  // GetAccountOwner is a free data retrieval call binding the contract method 0xaacffccf.
   784  //
   785  // Solidity: function getAccountOwner(bytes32 _label) view returns(address owner)
   786  func (_UsernameRegistrar *UsernameRegistrarSession) GetAccountOwner(_label [32]byte) (common.Address, error) {
   787  	return _UsernameRegistrar.Contract.GetAccountOwner(&_UsernameRegistrar.CallOpts, _label)
   788  }
   789  
   790  // GetAccountOwner is a free data retrieval call binding the contract method 0xaacffccf.
   791  //
   792  // Solidity: function getAccountOwner(bytes32 _label) view returns(address owner)
   793  func (_UsernameRegistrar *UsernameRegistrarCallerSession) GetAccountOwner(_label [32]byte) (common.Address, error) {
   794  	return _UsernameRegistrar.Contract.GetAccountOwner(&_UsernameRegistrar.CallOpts, _label)
   795  }
   796  
   797  // GetCreationTime is a free data retrieval call binding the contract method 0x6f79301d.
   798  //
   799  // Solidity: function getCreationTime(bytes32 _label) view returns(uint256 creationTime)
   800  func (_UsernameRegistrar *UsernameRegistrarCaller) GetCreationTime(opts *bind.CallOpts, _label [32]byte) (*big.Int, error) {
   801  	var out []interface{}
   802  	err := _UsernameRegistrar.contract.Call(opts, &out, "getCreationTime", _label)
   803  
   804  	if err != nil {
   805  		return *new(*big.Int), err
   806  	}
   807  
   808  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   809  
   810  	return out0, err
   811  
   812  }
   813  
   814  // GetCreationTime is a free data retrieval call binding the contract method 0x6f79301d.
   815  //
   816  // Solidity: function getCreationTime(bytes32 _label) view returns(uint256 creationTime)
   817  func (_UsernameRegistrar *UsernameRegistrarSession) GetCreationTime(_label [32]byte) (*big.Int, error) {
   818  	return _UsernameRegistrar.Contract.GetCreationTime(&_UsernameRegistrar.CallOpts, _label)
   819  }
   820  
   821  // GetCreationTime is a free data retrieval call binding the contract method 0x6f79301d.
   822  //
   823  // Solidity: function getCreationTime(bytes32 _label) view returns(uint256 creationTime)
   824  func (_UsernameRegistrar *UsernameRegistrarCallerSession) GetCreationTime(_label [32]byte) (*big.Int, error) {
   825  	return _UsernameRegistrar.Contract.GetCreationTime(&_UsernameRegistrar.CallOpts, _label)
   826  }
   827  
   828  // GetExpirationTime is a free data retrieval call binding the contract method 0xa1454830.
   829  //
   830  // Solidity: function getExpirationTime(bytes32 _label) view returns(uint256 releaseTime)
   831  func (_UsernameRegistrar *UsernameRegistrarCaller) GetExpirationTime(opts *bind.CallOpts, _label [32]byte) (*big.Int, error) {
   832  	var out []interface{}
   833  	err := _UsernameRegistrar.contract.Call(opts, &out, "getExpirationTime", _label)
   834  
   835  	if err != nil {
   836  		return *new(*big.Int), err
   837  	}
   838  
   839  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   840  
   841  	return out0, err
   842  
   843  }
   844  
   845  // GetExpirationTime is a free data retrieval call binding the contract method 0xa1454830.
   846  //
   847  // Solidity: function getExpirationTime(bytes32 _label) view returns(uint256 releaseTime)
   848  func (_UsernameRegistrar *UsernameRegistrarSession) GetExpirationTime(_label [32]byte) (*big.Int, error) {
   849  	return _UsernameRegistrar.Contract.GetExpirationTime(&_UsernameRegistrar.CallOpts, _label)
   850  }
   851  
   852  // GetExpirationTime is a free data retrieval call binding the contract method 0xa1454830.
   853  //
   854  // Solidity: function getExpirationTime(bytes32 _label) view returns(uint256 releaseTime)
   855  func (_UsernameRegistrar *UsernameRegistrarCallerSession) GetExpirationTime(_label [32]byte) (*big.Int, error) {
   856  	return _UsernameRegistrar.Contract.GetExpirationTime(&_UsernameRegistrar.CallOpts, _label)
   857  }
   858  
   859  // GetPrice is a free data retrieval call binding the contract method 0x98d5fdca.
   860  //
   861  // Solidity: function getPrice() view returns(uint256 registryPrice)
   862  func (_UsernameRegistrar *UsernameRegistrarCaller) GetPrice(opts *bind.CallOpts) (*big.Int, error) {
   863  	var out []interface{}
   864  	err := _UsernameRegistrar.contract.Call(opts, &out, "getPrice")
   865  
   866  	if err != nil {
   867  		return *new(*big.Int), err
   868  	}
   869  
   870  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   871  
   872  	return out0, err
   873  
   874  }
   875  
   876  // GetPrice is a free data retrieval call binding the contract method 0x98d5fdca.
   877  //
   878  // Solidity: function getPrice() view returns(uint256 registryPrice)
   879  func (_UsernameRegistrar *UsernameRegistrarSession) GetPrice() (*big.Int, error) {
   880  	return _UsernameRegistrar.Contract.GetPrice(&_UsernameRegistrar.CallOpts)
   881  }
   882  
   883  // GetPrice is a free data retrieval call binding the contract method 0x98d5fdca.
   884  //
   885  // Solidity: function getPrice() view returns(uint256 registryPrice)
   886  func (_UsernameRegistrar *UsernameRegistrarCallerSession) GetPrice() (*big.Int, error) {
   887  	return _UsernameRegistrar.Contract.GetPrice(&_UsernameRegistrar.CallOpts)
   888  }
   889  
   890  // GetSlashRewardPart is a free data retrieval call binding the contract method 0x8382b460.
   891  //
   892  // Solidity: function getSlashRewardPart(bytes32 _label) view returns(uint256 partReward)
   893  func (_UsernameRegistrar *UsernameRegistrarCaller) GetSlashRewardPart(opts *bind.CallOpts, _label [32]byte) (*big.Int, error) {
   894  	var out []interface{}
   895  	err := _UsernameRegistrar.contract.Call(opts, &out, "getSlashRewardPart", _label)
   896  
   897  	if err != nil {
   898  		return *new(*big.Int), err
   899  	}
   900  
   901  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   902  
   903  	return out0, err
   904  
   905  }
   906  
   907  // GetSlashRewardPart is a free data retrieval call binding the contract method 0x8382b460.
   908  //
   909  // Solidity: function getSlashRewardPart(bytes32 _label) view returns(uint256 partReward)
   910  func (_UsernameRegistrar *UsernameRegistrarSession) GetSlashRewardPart(_label [32]byte) (*big.Int, error) {
   911  	return _UsernameRegistrar.Contract.GetSlashRewardPart(&_UsernameRegistrar.CallOpts, _label)
   912  }
   913  
   914  // GetSlashRewardPart is a free data retrieval call binding the contract method 0x8382b460.
   915  //
   916  // Solidity: function getSlashRewardPart(bytes32 _label) view returns(uint256 partReward)
   917  func (_UsernameRegistrar *UsernameRegistrarCallerSession) GetSlashRewardPart(_label [32]byte) (*big.Int, error) {
   918  	return _UsernameRegistrar.Contract.GetSlashRewardPart(&_UsernameRegistrar.CallOpts, _label)
   919  }
   920  
   921  // ParentRegistry is a free data retrieval call binding the contract method 0xc9b84d4d.
   922  //
   923  // Solidity: function parentRegistry() view returns(address)
   924  func (_UsernameRegistrar *UsernameRegistrarCaller) ParentRegistry(opts *bind.CallOpts) (common.Address, error) {
   925  	var out []interface{}
   926  	err := _UsernameRegistrar.contract.Call(opts, &out, "parentRegistry")
   927  
   928  	if err != nil {
   929  		return *new(common.Address), err
   930  	}
   931  
   932  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   933  
   934  	return out0, err
   935  
   936  }
   937  
   938  // ParentRegistry is a free data retrieval call binding the contract method 0xc9b84d4d.
   939  //
   940  // Solidity: function parentRegistry() view returns(address)
   941  func (_UsernameRegistrar *UsernameRegistrarSession) ParentRegistry() (common.Address, error) {
   942  	return _UsernameRegistrar.Contract.ParentRegistry(&_UsernameRegistrar.CallOpts)
   943  }
   944  
   945  // ParentRegistry is a free data retrieval call binding the contract method 0xc9b84d4d.
   946  //
   947  // Solidity: function parentRegistry() view returns(address)
   948  func (_UsernameRegistrar *UsernameRegistrarCallerSession) ParentRegistry() (common.Address, error) {
   949  	return _UsernameRegistrar.Contract.ParentRegistry(&_UsernameRegistrar.CallOpts)
   950  }
   951  
   952  // Price is a free data retrieval call binding the contract method 0xa035b1fe.
   953  //
   954  // Solidity: function price() view returns(uint256)
   955  func (_UsernameRegistrar *UsernameRegistrarCaller) Price(opts *bind.CallOpts) (*big.Int, error) {
   956  	var out []interface{}
   957  	err := _UsernameRegistrar.contract.Call(opts, &out, "price")
   958  
   959  	if err != nil {
   960  		return *new(*big.Int), err
   961  	}
   962  
   963  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   964  
   965  	return out0, err
   966  
   967  }
   968  
   969  // Price is a free data retrieval call binding the contract method 0xa035b1fe.
   970  //
   971  // Solidity: function price() view returns(uint256)
   972  func (_UsernameRegistrar *UsernameRegistrarSession) Price() (*big.Int, error) {
   973  	return _UsernameRegistrar.Contract.Price(&_UsernameRegistrar.CallOpts)
   974  }
   975  
   976  // Price is a free data retrieval call binding the contract method 0xa035b1fe.
   977  //
   978  // Solidity: function price() view returns(uint256)
   979  func (_UsernameRegistrar *UsernameRegistrarCallerSession) Price() (*big.Int, error) {
   980  	return _UsernameRegistrar.Contract.Price(&_UsernameRegistrar.CallOpts)
   981  }
   982  
   983  // ReleaseDelay is a free data retrieval call binding the contract method 0x7195bf23.
   984  //
   985  // Solidity: function releaseDelay() view returns(uint256)
   986  func (_UsernameRegistrar *UsernameRegistrarCaller) ReleaseDelay(opts *bind.CallOpts) (*big.Int, error) {
   987  	var out []interface{}
   988  	err := _UsernameRegistrar.contract.Call(opts, &out, "releaseDelay")
   989  
   990  	if err != nil {
   991  		return *new(*big.Int), err
   992  	}
   993  
   994  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   995  
   996  	return out0, err
   997  
   998  }
   999  
  1000  // ReleaseDelay is a free data retrieval call binding the contract method 0x7195bf23.
  1001  //
  1002  // Solidity: function releaseDelay() view returns(uint256)
  1003  func (_UsernameRegistrar *UsernameRegistrarSession) ReleaseDelay() (*big.Int, error) {
  1004  	return _UsernameRegistrar.Contract.ReleaseDelay(&_UsernameRegistrar.CallOpts)
  1005  }
  1006  
  1007  // ReleaseDelay is a free data retrieval call binding the contract method 0x7195bf23.
  1008  //
  1009  // Solidity: function releaseDelay() view returns(uint256)
  1010  func (_UsernameRegistrar *UsernameRegistrarCallerSession) ReleaseDelay() (*big.Int, error) {
  1011  	return _UsernameRegistrar.Contract.ReleaseDelay(&_UsernameRegistrar.CallOpts)
  1012  }
  1013  
  1014  // ReserveAmount is a free data retrieval call binding the contract method 0x4b09b72a.
  1015  //
  1016  // Solidity: function reserveAmount() view returns(uint256)
  1017  func (_UsernameRegistrar *UsernameRegistrarCaller) ReserveAmount(opts *bind.CallOpts) (*big.Int, error) {
  1018  	var out []interface{}
  1019  	err := _UsernameRegistrar.contract.Call(opts, &out, "reserveAmount")
  1020  
  1021  	if err != nil {
  1022  		return *new(*big.Int), err
  1023  	}
  1024  
  1025  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1026  
  1027  	return out0, err
  1028  
  1029  }
  1030  
  1031  // ReserveAmount is a free data retrieval call binding the contract method 0x4b09b72a.
  1032  //
  1033  // Solidity: function reserveAmount() view returns(uint256)
  1034  func (_UsernameRegistrar *UsernameRegistrarSession) ReserveAmount() (*big.Int, error) {
  1035  	return _UsernameRegistrar.Contract.ReserveAmount(&_UsernameRegistrar.CallOpts)
  1036  }
  1037  
  1038  // ReserveAmount is a free data retrieval call binding the contract method 0x4b09b72a.
  1039  //
  1040  // Solidity: function reserveAmount() view returns(uint256)
  1041  func (_UsernameRegistrar *UsernameRegistrarCallerSession) ReserveAmount() (*big.Int, error) {
  1042  	return _UsernameRegistrar.Contract.ReserveAmount(&_UsernameRegistrar.CallOpts)
  1043  }
  1044  
  1045  // ReservedUsernamesMerkleRoot is a free data retrieval call binding the contract method 0x07f908cb.
  1046  //
  1047  // Solidity: function reservedUsernamesMerkleRoot() view returns(bytes32)
  1048  func (_UsernameRegistrar *UsernameRegistrarCaller) ReservedUsernamesMerkleRoot(opts *bind.CallOpts) ([32]byte, error) {
  1049  	var out []interface{}
  1050  	err := _UsernameRegistrar.contract.Call(opts, &out, "reservedUsernamesMerkleRoot")
  1051  
  1052  	if err != nil {
  1053  		return *new([32]byte), err
  1054  	}
  1055  
  1056  	out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
  1057  
  1058  	return out0, err
  1059  
  1060  }
  1061  
  1062  // ReservedUsernamesMerkleRoot is a free data retrieval call binding the contract method 0x07f908cb.
  1063  //
  1064  // Solidity: function reservedUsernamesMerkleRoot() view returns(bytes32)
  1065  func (_UsernameRegistrar *UsernameRegistrarSession) ReservedUsernamesMerkleRoot() ([32]byte, error) {
  1066  	return _UsernameRegistrar.Contract.ReservedUsernamesMerkleRoot(&_UsernameRegistrar.CallOpts)
  1067  }
  1068  
  1069  // ReservedUsernamesMerkleRoot is a free data retrieval call binding the contract method 0x07f908cb.
  1070  //
  1071  // Solidity: function reservedUsernamesMerkleRoot() view returns(bytes32)
  1072  func (_UsernameRegistrar *UsernameRegistrarCallerSession) ReservedUsernamesMerkleRoot() ([32]byte, error) {
  1073  	return _UsernameRegistrar.Contract.ReservedUsernamesMerkleRoot(&_UsernameRegistrar.CallOpts)
  1074  }
  1075  
  1076  // Resolver is a free data retrieval call binding the contract method 0x04f3bcec.
  1077  //
  1078  // Solidity: function resolver() view returns(address)
  1079  func (_UsernameRegistrar *UsernameRegistrarCaller) Resolver(opts *bind.CallOpts) (common.Address, error) {
  1080  	var out []interface{}
  1081  	err := _UsernameRegistrar.contract.Call(opts, &out, "resolver")
  1082  
  1083  	if err != nil {
  1084  		return *new(common.Address), err
  1085  	}
  1086  
  1087  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  1088  
  1089  	return out0, err
  1090  
  1091  }
  1092  
  1093  // Resolver is a free data retrieval call binding the contract method 0x04f3bcec.
  1094  //
  1095  // Solidity: function resolver() view returns(address)
  1096  func (_UsernameRegistrar *UsernameRegistrarSession) Resolver() (common.Address, error) {
  1097  	return _UsernameRegistrar.Contract.Resolver(&_UsernameRegistrar.CallOpts)
  1098  }
  1099  
  1100  // Resolver is a free data retrieval call binding the contract method 0x04f3bcec.
  1101  //
  1102  // Solidity: function resolver() view returns(address)
  1103  func (_UsernameRegistrar *UsernameRegistrarCallerSession) Resolver() (common.Address, error) {
  1104  	return _UsernameRegistrar.Contract.Resolver(&_UsernameRegistrar.CallOpts)
  1105  }
  1106  
  1107  // State is a free data retrieval call binding the contract method 0xc19d93fb.
  1108  //
  1109  // Solidity: function state() view returns(uint8)
  1110  func (_UsernameRegistrar *UsernameRegistrarCaller) State(opts *bind.CallOpts) (uint8, error) {
  1111  	var out []interface{}
  1112  	err := _UsernameRegistrar.contract.Call(opts, &out, "state")
  1113  
  1114  	if err != nil {
  1115  		return *new(uint8), err
  1116  	}
  1117  
  1118  	out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8)
  1119  
  1120  	return out0, err
  1121  
  1122  }
  1123  
  1124  // State is a free data retrieval call binding the contract method 0xc19d93fb.
  1125  //
  1126  // Solidity: function state() view returns(uint8)
  1127  func (_UsernameRegistrar *UsernameRegistrarSession) State() (uint8, error) {
  1128  	return _UsernameRegistrar.Contract.State(&_UsernameRegistrar.CallOpts)
  1129  }
  1130  
  1131  // State is a free data retrieval call binding the contract method 0xc19d93fb.
  1132  //
  1133  // Solidity: function state() view returns(uint8)
  1134  func (_UsernameRegistrar *UsernameRegistrarCallerSession) State() (uint8, error) {
  1135  	return _UsernameRegistrar.Contract.State(&_UsernameRegistrar.CallOpts)
  1136  }
  1137  
  1138  // Token is a free data retrieval call binding the contract method 0xfc0c546a.
  1139  //
  1140  // Solidity: function token() view returns(address)
  1141  func (_UsernameRegistrar *UsernameRegistrarCaller) Token(opts *bind.CallOpts) (common.Address, error) {
  1142  	var out []interface{}
  1143  	err := _UsernameRegistrar.contract.Call(opts, &out, "token")
  1144  
  1145  	if err != nil {
  1146  		return *new(common.Address), err
  1147  	}
  1148  
  1149  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  1150  
  1151  	return out0, err
  1152  
  1153  }
  1154  
  1155  // Token is a free data retrieval call binding the contract method 0xfc0c546a.
  1156  //
  1157  // Solidity: function token() view returns(address)
  1158  func (_UsernameRegistrar *UsernameRegistrarSession) Token() (common.Address, error) {
  1159  	return _UsernameRegistrar.Contract.Token(&_UsernameRegistrar.CallOpts)
  1160  }
  1161  
  1162  // Token is a free data retrieval call binding the contract method 0xfc0c546a.
  1163  //
  1164  // Solidity: function token() view returns(address)
  1165  func (_UsernameRegistrar *UsernameRegistrarCallerSession) Token() (common.Address, error) {
  1166  	return _UsernameRegistrar.Contract.Token(&_UsernameRegistrar.CallOpts)
  1167  }
  1168  
  1169  // UsernameMinLength is a free data retrieval call binding the contract method 0x59ad0209.
  1170  //
  1171  // Solidity: function usernameMinLength() view returns(uint256)
  1172  func (_UsernameRegistrar *UsernameRegistrarCaller) UsernameMinLength(opts *bind.CallOpts) (*big.Int, error) {
  1173  	var out []interface{}
  1174  	err := _UsernameRegistrar.contract.Call(opts, &out, "usernameMinLength")
  1175  
  1176  	if err != nil {
  1177  		return *new(*big.Int), err
  1178  	}
  1179  
  1180  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1181  
  1182  	return out0, err
  1183  
  1184  }
  1185  
  1186  // UsernameMinLength is a free data retrieval call binding the contract method 0x59ad0209.
  1187  //
  1188  // Solidity: function usernameMinLength() view returns(uint256)
  1189  func (_UsernameRegistrar *UsernameRegistrarSession) UsernameMinLength() (*big.Int, error) {
  1190  	return _UsernameRegistrar.Contract.UsernameMinLength(&_UsernameRegistrar.CallOpts)
  1191  }
  1192  
  1193  // UsernameMinLength is a free data retrieval call binding the contract method 0x59ad0209.
  1194  //
  1195  // Solidity: function usernameMinLength() view returns(uint256)
  1196  func (_UsernameRegistrar *UsernameRegistrarCallerSession) UsernameMinLength() (*big.Int, error) {
  1197  	return _UsernameRegistrar.Contract.UsernameMinLength(&_UsernameRegistrar.CallOpts)
  1198  }
  1199  
  1200  // Activate is a paid mutator transaction binding the contract method 0xb260c42a.
  1201  //
  1202  // Solidity: function activate(uint256 _price) returns()
  1203  func (_UsernameRegistrar *UsernameRegistrarTransactor) Activate(opts *bind.TransactOpts, _price *big.Int) (*types.Transaction, error) {
  1204  	return _UsernameRegistrar.contract.Transact(opts, "activate", _price)
  1205  }
  1206  
  1207  // Activate is a paid mutator transaction binding the contract method 0xb260c42a.
  1208  //
  1209  // Solidity: function activate(uint256 _price) returns()
  1210  func (_UsernameRegistrar *UsernameRegistrarSession) Activate(_price *big.Int) (*types.Transaction, error) {
  1211  	return _UsernameRegistrar.Contract.Activate(&_UsernameRegistrar.TransactOpts, _price)
  1212  }
  1213  
  1214  // Activate is a paid mutator transaction binding the contract method 0xb260c42a.
  1215  //
  1216  // Solidity: function activate(uint256 _price) returns()
  1217  func (_UsernameRegistrar *UsernameRegistrarTransactorSession) Activate(_price *big.Int) (*types.Transaction, error) {
  1218  	return _UsernameRegistrar.Contract.Activate(&_UsernameRegistrar.TransactOpts, _price)
  1219  }
  1220  
  1221  // ChangeController is a paid mutator transaction binding the contract method 0x3cebb823.
  1222  //
  1223  // Solidity: function changeController(address _newController) returns()
  1224  func (_UsernameRegistrar *UsernameRegistrarTransactor) ChangeController(opts *bind.TransactOpts, _newController common.Address) (*types.Transaction, error) {
  1225  	return _UsernameRegistrar.contract.Transact(opts, "changeController", _newController)
  1226  }
  1227  
  1228  // ChangeController is a paid mutator transaction binding the contract method 0x3cebb823.
  1229  //
  1230  // Solidity: function changeController(address _newController) returns()
  1231  func (_UsernameRegistrar *UsernameRegistrarSession) ChangeController(_newController common.Address) (*types.Transaction, error) {
  1232  	return _UsernameRegistrar.Contract.ChangeController(&_UsernameRegistrar.TransactOpts, _newController)
  1233  }
  1234  
  1235  // ChangeController is a paid mutator transaction binding the contract method 0x3cebb823.
  1236  //
  1237  // Solidity: function changeController(address _newController) returns()
  1238  func (_UsernameRegistrar *UsernameRegistrarTransactorSession) ChangeController(_newController common.Address) (*types.Transaction, error) {
  1239  	return _UsernameRegistrar.Contract.ChangeController(&_UsernameRegistrar.TransactOpts, _newController)
  1240  }
  1241  
  1242  // DropUsername is a paid mutator transaction binding the contract method 0xf9e54282.
  1243  //
  1244  // Solidity: function dropUsername(bytes32 _label) returns()
  1245  func (_UsernameRegistrar *UsernameRegistrarTransactor) DropUsername(opts *bind.TransactOpts, _label [32]byte) (*types.Transaction, error) {
  1246  	return _UsernameRegistrar.contract.Transact(opts, "dropUsername", _label)
  1247  }
  1248  
  1249  // DropUsername is a paid mutator transaction binding the contract method 0xf9e54282.
  1250  //
  1251  // Solidity: function dropUsername(bytes32 _label) returns()
  1252  func (_UsernameRegistrar *UsernameRegistrarSession) DropUsername(_label [32]byte) (*types.Transaction, error) {
  1253  	return _UsernameRegistrar.Contract.DropUsername(&_UsernameRegistrar.TransactOpts, _label)
  1254  }
  1255  
  1256  // DropUsername is a paid mutator transaction binding the contract method 0xf9e54282.
  1257  //
  1258  // Solidity: function dropUsername(bytes32 _label) returns()
  1259  func (_UsernameRegistrar *UsernameRegistrarTransactorSession) DropUsername(_label [32]byte) (*types.Transaction, error) {
  1260  	return _UsernameRegistrar.Contract.DropUsername(&_UsernameRegistrar.TransactOpts, _label)
  1261  }
  1262  
  1263  // EraseNode is a paid mutator transaction binding the contract method 0xde10f04b.
  1264  //
  1265  // Solidity: function eraseNode(bytes32[] _labels) returns()
  1266  func (_UsernameRegistrar *UsernameRegistrarTransactor) EraseNode(opts *bind.TransactOpts, _labels [][32]byte) (*types.Transaction, error) {
  1267  	return _UsernameRegistrar.contract.Transact(opts, "eraseNode", _labels)
  1268  }
  1269  
  1270  // EraseNode is a paid mutator transaction binding the contract method 0xde10f04b.
  1271  //
  1272  // Solidity: function eraseNode(bytes32[] _labels) returns()
  1273  func (_UsernameRegistrar *UsernameRegistrarSession) EraseNode(_labels [][32]byte) (*types.Transaction, error) {
  1274  	return _UsernameRegistrar.Contract.EraseNode(&_UsernameRegistrar.TransactOpts, _labels)
  1275  }
  1276  
  1277  // EraseNode is a paid mutator transaction binding the contract method 0xde10f04b.
  1278  //
  1279  // Solidity: function eraseNode(bytes32[] _labels) returns()
  1280  func (_UsernameRegistrar *UsernameRegistrarTransactorSession) EraseNode(_labels [][32]byte) (*types.Transaction, error) {
  1281  	return _UsernameRegistrar.Contract.EraseNode(&_UsernameRegistrar.TransactOpts, _labels)
  1282  }
  1283  
  1284  // MigrateRegistry is a paid mutator transaction binding the contract method 0x98f038ff.
  1285  //
  1286  // Solidity: function migrateRegistry(uint256 _price) returns()
  1287  func (_UsernameRegistrar *UsernameRegistrarTransactor) MigrateRegistry(opts *bind.TransactOpts, _price *big.Int) (*types.Transaction, error) {
  1288  	return _UsernameRegistrar.contract.Transact(opts, "migrateRegistry", _price)
  1289  }
  1290  
  1291  // MigrateRegistry is a paid mutator transaction binding the contract method 0x98f038ff.
  1292  //
  1293  // Solidity: function migrateRegistry(uint256 _price) returns()
  1294  func (_UsernameRegistrar *UsernameRegistrarSession) MigrateRegistry(_price *big.Int) (*types.Transaction, error) {
  1295  	return _UsernameRegistrar.Contract.MigrateRegistry(&_UsernameRegistrar.TransactOpts, _price)
  1296  }
  1297  
  1298  // MigrateRegistry is a paid mutator transaction binding the contract method 0x98f038ff.
  1299  //
  1300  // Solidity: function migrateRegistry(uint256 _price) returns()
  1301  func (_UsernameRegistrar *UsernameRegistrarTransactorSession) MigrateRegistry(_price *big.Int) (*types.Transaction, error) {
  1302  	return _UsernameRegistrar.Contract.MigrateRegistry(&_UsernameRegistrar.TransactOpts, _price)
  1303  }
  1304  
  1305  // MigrateUsername is a paid mutator transaction binding the contract method 0x80cd0015.
  1306  //
  1307  // Solidity: function migrateUsername(bytes32 _label, uint256 _tokenBalance, uint256 _creationTime, address _accountOwner) returns()
  1308  func (_UsernameRegistrar *UsernameRegistrarTransactor) MigrateUsername(opts *bind.TransactOpts, _label [32]byte, _tokenBalance *big.Int, _creationTime *big.Int, _accountOwner common.Address) (*types.Transaction, error) {
  1309  	return _UsernameRegistrar.contract.Transact(opts, "migrateUsername", _label, _tokenBalance, _creationTime, _accountOwner)
  1310  }
  1311  
  1312  // MigrateUsername is a paid mutator transaction binding the contract method 0x80cd0015.
  1313  //
  1314  // Solidity: function migrateUsername(bytes32 _label, uint256 _tokenBalance, uint256 _creationTime, address _accountOwner) returns()
  1315  func (_UsernameRegistrar *UsernameRegistrarSession) MigrateUsername(_label [32]byte, _tokenBalance *big.Int, _creationTime *big.Int, _accountOwner common.Address) (*types.Transaction, error) {
  1316  	return _UsernameRegistrar.Contract.MigrateUsername(&_UsernameRegistrar.TransactOpts, _label, _tokenBalance, _creationTime, _accountOwner)
  1317  }
  1318  
  1319  // MigrateUsername is a paid mutator transaction binding the contract method 0x80cd0015.
  1320  //
  1321  // Solidity: function migrateUsername(bytes32 _label, uint256 _tokenBalance, uint256 _creationTime, address _accountOwner) returns()
  1322  func (_UsernameRegistrar *UsernameRegistrarTransactorSession) MigrateUsername(_label [32]byte, _tokenBalance *big.Int, _creationTime *big.Int, _accountOwner common.Address) (*types.Transaction, error) {
  1323  	return _UsernameRegistrar.Contract.MigrateUsername(&_UsernameRegistrar.TransactOpts, _label, _tokenBalance, _creationTime, _accountOwner)
  1324  }
  1325  
  1326  // MoveAccount is a paid mutator transaction binding the contract method 0xc23e61b9.
  1327  //
  1328  // Solidity: function moveAccount(bytes32 _label, address _newRegistry) returns()
  1329  func (_UsernameRegistrar *UsernameRegistrarTransactor) MoveAccount(opts *bind.TransactOpts, _label [32]byte, _newRegistry common.Address) (*types.Transaction, error) {
  1330  	return _UsernameRegistrar.contract.Transact(opts, "moveAccount", _label, _newRegistry)
  1331  }
  1332  
  1333  // MoveAccount is a paid mutator transaction binding the contract method 0xc23e61b9.
  1334  //
  1335  // Solidity: function moveAccount(bytes32 _label, address _newRegistry) returns()
  1336  func (_UsernameRegistrar *UsernameRegistrarSession) MoveAccount(_label [32]byte, _newRegistry common.Address) (*types.Transaction, error) {
  1337  	return _UsernameRegistrar.Contract.MoveAccount(&_UsernameRegistrar.TransactOpts, _label, _newRegistry)
  1338  }
  1339  
  1340  // MoveAccount is a paid mutator transaction binding the contract method 0xc23e61b9.
  1341  //
  1342  // Solidity: function moveAccount(bytes32 _label, address _newRegistry) returns()
  1343  func (_UsernameRegistrar *UsernameRegistrarTransactorSession) MoveAccount(_label [32]byte, _newRegistry common.Address) (*types.Transaction, error) {
  1344  	return _UsernameRegistrar.Contract.MoveAccount(&_UsernameRegistrar.TransactOpts, _label, _newRegistry)
  1345  }
  1346  
  1347  // MoveRegistry is a paid mutator transaction binding the contract method 0xe882c3ce.
  1348  //
  1349  // Solidity: function moveRegistry(address _newRegistry) returns()
  1350  func (_UsernameRegistrar *UsernameRegistrarTransactor) MoveRegistry(opts *bind.TransactOpts, _newRegistry common.Address) (*types.Transaction, error) {
  1351  	return _UsernameRegistrar.contract.Transact(opts, "moveRegistry", _newRegistry)
  1352  }
  1353  
  1354  // MoveRegistry is a paid mutator transaction binding the contract method 0xe882c3ce.
  1355  //
  1356  // Solidity: function moveRegistry(address _newRegistry) returns()
  1357  func (_UsernameRegistrar *UsernameRegistrarSession) MoveRegistry(_newRegistry common.Address) (*types.Transaction, error) {
  1358  	return _UsernameRegistrar.Contract.MoveRegistry(&_UsernameRegistrar.TransactOpts, _newRegistry)
  1359  }
  1360  
  1361  // MoveRegistry is a paid mutator transaction binding the contract method 0xe882c3ce.
  1362  //
  1363  // Solidity: function moveRegistry(address _newRegistry) returns()
  1364  func (_UsernameRegistrar *UsernameRegistrarTransactorSession) MoveRegistry(_newRegistry common.Address) (*types.Transaction, error) {
  1365  	return _UsernameRegistrar.Contract.MoveRegistry(&_UsernameRegistrar.TransactOpts, _newRegistry)
  1366  }
  1367  
  1368  // ReceiveApproval is a paid mutator transaction binding the contract method 0x8f4ffcb1.
  1369  //
  1370  // Solidity: function receiveApproval(address _from, uint256 _amount, address _token, bytes _data) returns()
  1371  func (_UsernameRegistrar *UsernameRegistrarTransactor) ReceiveApproval(opts *bind.TransactOpts, _from common.Address, _amount *big.Int, _token common.Address, _data []byte) (*types.Transaction, error) {
  1372  	return _UsernameRegistrar.contract.Transact(opts, "receiveApproval", _from, _amount, _token, _data)
  1373  }
  1374  
  1375  // ReceiveApproval is a paid mutator transaction binding the contract method 0x8f4ffcb1.
  1376  //
  1377  // Solidity: function receiveApproval(address _from, uint256 _amount, address _token, bytes _data) returns()
  1378  func (_UsernameRegistrar *UsernameRegistrarSession) ReceiveApproval(_from common.Address, _amount *big.Int, _token common.Address, _data []byte) (*types.Transaction, error) {
  1379  	return _UsernameRegistrar.Contract.ReceiveApproval(&_UsernameRegistrar.TransactOpts, _from, _amount, _token, _data)
  1380  }
  1381  
  1382  // ReceiveApproval is a paid mutator transaction binding the contract method 0x8f4ffcb1.
  1383  //
  1384  // Solidity: function receiveApproval(address _from, uint256 _amount, address _token, bytes _data) returns()
  1385  func (_UsernameRegistrar *UsernameRegistrarTransactorSession) ReceiveApproval(_from common.Address, _amount *big.Int, _token common.Address, _data []byte) (*types.Transaction, error) {
  1386  	return _UsernameRegistrar.Contract.ReceiveApproval(&_UsernameRegistrar.TransactOpts, _from, _amount, _token, _data)
  1387  }
  1388  
  1389  // Register is a paid mutator transaction binding the contract method 0xb82fedbb.
  1390  //
  1391  // Solidity: function register(bytes32 _label, address _account, bytes32 _pubkeyA, bytes32 _pubkeyB) returns(bytes32 namehash)
  1392  func (_UsernameRegistrar *UsernameRegistrarTransactor) Register(opts *bind.TransactOpts, _label [32]byte, _account common.Address, _pubkeyA [32]byte, _pubkeyB [32]byte) (*types.Transaction, error) {
  1393  	return _UsernameRegistrar.contract.Transact(opts, "register", _label, _account, _pubkeyA, _pubkeyB)
  1394  }
  1395  
  1396  // Register is a paid mutator transaction binding the contract method 0xb82fedbb.
  1397  //
  1398  // Solidity: function register(bytes32 _label, address _account, bytes32 _pubkeyA, bytes32 _pubkeyB) returns(bytes32 namehash)
  1399  func (_UsernameRegistrar *UsernameRegistrarSession) Register(_label [32]byte, _account common.Address, _pubkeyA [32]byte, _pubkeyB [32]byte) (*types.Transaction, error) {
  1400  	return _UsernameRegistrar.Contract.Register(&_UsernameRegistrar.TransactOpts, _label, _account, _pubkeyA, _pubkeyB)
  1401  }
  1402  
  1403  // Register is a paid mutator transaction binding the contract method 0xb82fedbb.
  1404  //
  1405  // Solidity: function register(bytes32 _label, address _account, bytes32 _pubkeyA, bytes32 _pubkeyB) returns(bytes32 namehash)
  1406  func (_UsernameRegistrar *UsernameRegistrarTransactorSession) Register(_label [32]byte, _account common.Address, _pubkeyA [32]byte, _pubkeyB [32]byte) (*types.Transaction, error) {
  1407  	return _UsernameRegistrar.Contract.Register(&_UsernameRegistrar.TransactOpts, _label, _account, _pubkeyA, _pubkeyB)
  1408  }
  1409  
  1410  // Release is a paid mutator transaction binding the contract method 0x67d42a8b.
  1411  //
  1412  // Solidity: function release(bytes32 _label) returns()
  1413  func (_UsernameRegistrar *UsernameRegistrarTransactor) Release(opts *bind.TransactOpts, _label [32]byte) (*types.Transaction, error) {
  1414  	return _UsernameRegistrar.contract.Transact(opts, "release", _label)
  1415  }
  1416  
  1417  // Release is a paid mutator transaction binding the contract method 0x67d42a8b.
  1418  //
  1419  // Solidity: function release(bytes32 _label) returns()
  1420  func (_UsernameRegistrar *UsernameRegistrarSession) Release(_label [32]byte) (*types.Transaction, error) {
  1421  	return _UsernameRegistrar.Contract.Release(&_UsernameRegistrar.TransactOpts, _label)
  1422  }
  1423  
  1424  // Release is a paid mutator transaction binding the contract method 0x67d42a8b.
  1425  //
  1426  // Solidity: function release(bytes32 _label) returns()
  1427  func (_UsernameRegistrar *UsernameRegistrarTransactorSession) Release(_label [32]byte) (*types.Transaction, error) {
  1428  	return _UsernameRegistrar.Contract.Release(&_UsernameRegistrar.TransactOpts, _label)
  1429  }
  1430  
  1431  // ReserveSlash is a paid mutator transaction binding the contract method 0x05c24481.
  1432  //
  1433  // Solidity: function reserveSlash(bytes32 _secret) returns()
  1434  func (_UsernameRegistrar *UsernameRegistrarTransactor) ReserveSlash(opts *bind.TransactOpts, _secret [32]byte) (*types.Transaction, error) {
  1435  	return _UsernameRegistrar.contract.Transact(opts, "reserveSlash", _secret)
  1436  }
  1437  
  1438  // ReserveSlash is a paid mutator transaction binding the contract method 0x05c24481.
  1439  //
  1440  // Solidity: function reserveSlash(bytes32 _secret) returns()
  1441  func (_UsernameRegistrar *UsernameRegistrarSession) ReserveSlash(_secret [32]byte) (*types.Transaction, error) {
  1442  	return _UsernameRegistrar.Contract.ReserveSlash(&_UsernameRegistrar.TransactOpts, _secret)
  1443  }
  1444  
  1445  // ReserveSlash is a paid mutator transaction binding the contract method 0x05c24481.
  1446  //
  1447  // Solidity: function reserveSlash(bytes32 _secret) returns()
  1448  func (_UsernameRegistrar *UsernameRegistrarTransactorSession) ReserveSlash(_secret [32]byte) (*types.Transaction, error) {
  1449  	return _UsernameRegistrar.Contract.ReserveSlash(&_UsernameRegistrar.TransactOpts, _secret)
  1450  }
  1451  
  1452  // SetResolver is a paid mutator transaction binding the contract method 0x4e543b26.
  1453  //
  1454  // Solidity: function setResolver(address _resolver) returns()
  1455  func (_UsernameRegistrar *UsernameRegistrarTransactor) SetResolver(opts *bind.TransactOpts, _resolver common.Address) (*types.Transaction, error) {
  1456  	return _UsernameRegistrar.contract.Transact(opts, "setResolver", _resolver)
  1457  }
  1458  
  1459  // SetResolver is a paid mutator transaction binding the contract method 0x4e543b26.
  1460  //
  1461  // Solidity: function setResolver(address _resolver) returns()
  1462  func (_UsernameRegistrar *UsernameRegistrarSession) SetResolver(_resolver common.Address) (*types.Transaction, error) {
  1463  	return _UsernameRegistrar.Contract.SetResolver(&_UsernameRegistrar.TransactOpts, _resolver)
  1464  }
  1465  
  1466  // SetResolver is a paid mutator transaction binding the contract method 0x4e543b26.
  1467  //
  1468  // Solidity: function setResolver(address _resolver) returns()
  1469  func (_UsernameRegistrar *UsernameRegistrarTransactorSession) SetResolver(_resolver common.Address) (*types.Transaction, error) {
  1470  	return _UsernameRegistrar.Contract.SetResolver(&_UsernameRegistrar.TransactOpts, _resolver)
  1471  }
  1472  
  1473  // SlashAddressLikeUsername is a paid mutator transaction binding the contract method 0x8cf7b7a4.
  1474  //
  1475  // Solidity: function slashAddressLikeUsername(string _username, uint256 _reserveSecret) returns()
  1476  func (_UsernameRegistrar *UsernameRegistrarTransactor) SlashAddressLikeUsername(opts *bind.TransactOpts, _username string, _reserveSecret *big.Int) (*types.Transaction, error) {
  1477  	return _UsernameRegistrar.contract.Transact(opts, "slashAddressLikeUsername", _username, _reserveSecret)
  1478  }
  1479  
  1480  // SlashAddressLikeUsername is a paid mutator transaction binding the contract method 0x8cf7b7a4.
  1481  //
  1482  // Solidity: function slashAddressLikeUsername(string _username, uint256 _reserveSecret) returns()
  1483  func (_UsernameRegistrar *UsernameRegistrarSession) SlashAddressLikeUsername(_username string, _reserveSecret *big.Int) (*types.Transaction, error) {
  1484  	return _UsernameRegistrar.Contract.SlashAddressLikeUsername(&_UsernameRegistrar.TransactOpts, _username, _reserveSecret)
  1485  }
  1486  
  1487  // SlashAddressLikeUsername is a paid mutator transaction binding the contract method 0x8cf7b7a4.
  1488  //
  1489  // Solidity: function slashAddressLikeUsername(string _username, uint256 _reserveSecret) returns()
  1490  func (_UsernameRegistrar *UsernameRegistrarTransactorSession) SlashAddressLikeUsername(_username string, _reserveSecret *big.Int) (*types.Transaction, error) {
  1491  	return _UsernameRegistrar.Contract.SlashAddressLikeUsername(&_UsernameRegistrar.TransactOpts, _username, _reserveSecret)
  1492  }
  1493  
  1494  // SlashInvalidUsername is a paid mutator transaction binding the contract method 0x40784ebd.
  1495  //
  1496  // Solidity: function slashInvalidUsername(string _username, uint256 _offendingPos, uint256 _reserveSecret) returns()
  1497  func (_UsernameRegistrar *UsernameRegistrarTransactor) SlashInvalidUsername(opts *bind.TransactOpts, _username string, _offendingPos *big.Int, _reserveSecret *big.Int) (*types.Transaction, error) {
  1498  	return _UsernameRegistrar.contract.Transact(opts, "slashInvalidUsername", _username, _offendingPos, _reserveSecret)
  1499  }
  1500  
  1501  // SlashInvalidUsername is a paid mutator transaction binding the contract method 0x40784ebd.
  1502  //
  1503  // Solidity: function slashInvalidUsername(string _username, uint256 _offendingPos, uint256 _reserveSecret) returns()
  1504  func (_UsernameRegistrar *UsernameRegistrarSession) SlashInvalidUsername(_username string, _offendingPos *big.Int, _reserveSecret *big.Int) (*types.Transaction, error) {
  1505  	return _UsernameRegistrar.Contract.SlashInvalidUsername(&_UsernameRegistrar.TransactOpts, _username, _offendingPos, _reserveSecret)
  1506  }
  1507  
  1508  // SlashInvalidUsername is a paid mutator transaction binding the contract method 0x40784ebd.
  1509  //
  1510  // Solidity: function slashInvalidUsername(string _username, uint256 _offendingPos, uint256 _reserveSecret) returns()
  1511  func (_UsernameRegistrar *UsernameRegistrarTransactorSession) SlashInvalidUsername(_username string, _offendingPos *big.Int, _reserveSecret *big.Int) (*types.Transaction, error) {
  1512  	return _UsernameRegistrar.Contract.SlashInvalidUsername(&_UsernameRegistrar.TransactOpts, _username, _offendingPos, _reserveSecret)
  1513  }
  1514  
  1515  // SlashReservedUsername is a paid mutator transaction binding the contract method 0x40b1ad52.
  1516  //
  1517  // Solidity: function slashReservedUsername(string _username, bytes32[] _proof, uint256 _reserveSecret) returns()
  1518  func (_UsernameRegistrar *UsernameRegistrarTransactor) SlashReservedUsername(opts *bind.TransactOpts, _username string, _proof [][32]byte, _reserveSecret *big.Int) (*types.Transaction, error) {
  1519  	return _UsernameRegistrar.contract.Transact(opts, "slashReservedUsername", _username, _proof, _reserveSecret)
  1520  }
  1521  
  1522  // SlashReservedUsername is a paid mutator transaction binding the contract method 0x40b1ad52.
  1523  //
  1524  // Solidity: function slashReservedUsername(string _username, bytes32[] _proof, uint256 _reserveSecret) returns()
  1525  func (_UsernameRegistrar *UsernameRegistrarSession) SlashReservedUsername(_username string, _proof [][32]byte, _reserveSecret *big.Int) (*types.Transaction, error) {
  1526  	return _UsernameRegistrar.Contract.SlashReservedUsername(&_UsernameRegistrar.TransactOpts, _username, _proof, _reserveSecret)
  1527  }
  1528  
  1529  // SlashReservedUsername is a paid mutator transaction binding the contract method 0x40b1ad52.
  1530  //
  1531  // Solidity: function slashReservedUsername(string _username, bytes32[] _proof, uint256 _reserveSecret) returns()
  1532  func (_UsernameRegistrar *UsernameRegistrarTransactorSession) SlashReservedUsername(_username string, _proof [][32]byte, _reserveSecret *big.Int) (*types.Transaction, error) {
  1533  	return _UsernameRegistrar.Contract.SlashReservedUsername(&_UsernameRegistrar.TransactOpts, _username, _proof, _reserveSecret)
  1534  }
  1535  
  1536  // SlashSmallUsername is a paid mutator transaction binding the contract method 0x96bba9a8.
  1537  //
  1538  // Solidity: function slashSmallUsername(string _username, uint256 _reserveSecret) returns()
  1539  func (_UsernameRegistrar *UsernameRegistrarTransactor) SlashSmallUsername(opts *bind.TransactOpts, _username string, _reserveSecret *big.Int) (*types.Transaction, error) {
  1540  	return _UsernameRegistrar.contract.Transact(opts, "slashSmallUsername", _username, _reserveSecret)
  1541  }
  1542  
  1543  // SlashSmallUsername is a paid mutator transaction binding the contract method 0x96bba9a8.
  1544  //
  1545  // Solidity: function slashSmallUsername(string _username, uint256 _reserveSecret) returns()
  1546  func (_UsernameRegistrar *UsernameRegistrarSession) SlashSmallUsername(_username string, _reserveSecret *big.Int) (*types.Transaction, error) {
  1547  	return _UsernameRegistrar.Contract.SlashSmallUsername(&_UsernameRegistrar.TransactOpts, _username, _reserveSecret)
  1548  }
  1549  
  1550  // SlashSmallUsername is a paid mutator transaction binding the contract method 0x96bba9a8.
  1551  //
  1552  // Solidity: function slashSmallUsername(string _username, uint256 _reserveSecret) returns()
  1553  func (_UsernameRegistrar *UsernameRegistrarTransactorSession) SlashSmallUsername(_username string, _reserveSecret *big.Int) (*types.Transaction, error) {
  1554  	return _UsernameRegistrar.Contract.SlashSmallUsername(&_UsernameRegistrar.TransactOpts, _username, _reserveSecret)
  1555  }
  1556  
  1557  // UpdateAccountOwner is a paid mutator transaction binding the contract method 0x32e1ed24.
  1558  //
  1559  // Solidity: function updateAccountOwner(bytes32 _label) returns()
  1560  func (_UsernameRegistrar *UsernameRegistrarTransactor) UpdateAccountOwner(opts *bind.TransactOpts, _label [32]byte) (*types.Transaction, error) {
  1561  	return _UsernameRegistrar.contract.Transact(opts, "updateAccountOwner", _label)
  1562  }
  1563  
  1564  // UpdateAccountOwner is a paid mutator transaction binding the contract method 0x32e1ed24.
  1565  //
  1566  // Solidity: function updateAccountOwner(bytes32 _label) returns()
  1567  func (_UsernameRegistrar *UsernameRegistrarSession) UpdateAccountOwner(_label [32]byte) (*types.Transaction, error) {
  1568  	return _UsernameRegistrar.Contract.UpdateAccountOwner(&_UsernameRegistrar.TransactOpts, _label)
  1569  }
  1570  
  1571  // UpdateAccountOwner is a paid mutator transaction binding the contract method 0x32e1ed24.
  1572  //
  1573  // Solidity: function updateAccountOwner(bytes32 _label) returns()
  1574  func (_UsernameRegistrar *UsernameRegistrarTransactorSession) UpdateAccountOwner(_label [32]byte) (*types.Transaction, error) {
  1575  	return _UsernameRegistrar.Contract.UpdateAccountOwner(&_UsernameRegistrar.TransactOpts, _label)
  1576  }
  1577  
  1578  // UpdateRegistryPrice is a paid mutator transaction binding the contract method 0x860e9b0f.
  1579  //
  1580  // Solidity: function updateRegistryPrice(uint256 _price) returns()
  1581  func (_UsernameRegistrar *UsernameRegistrarTransactor) UpdateRegistryPrice(opts *bind.TransactOpts, _price *big.Int) (*types.Transaction, error) {
  1582  	return _UsernameRegistrar.contract.Transact(opts, "updateRegistryPrice", _price)
  1583  }
  1584  
  1585  // UpdateRegistryPrice is a paid mutator transaction binding the contract method 0x860e9b0f.
  1586  //
  1587  // Solidity: function updateRegistryPrice(uint256 _price) returns()
  1588  func (_UsernameRegistrar *UsernameRegistrarSession) UpdateRegistryPrice(_price *big.Int) (*types.Transaction, error) {
  1589  	return _UsernameRegistrar.Contract.UpdateRegistryPrice(&_UsernameRegistrar.TransactOpts, _price)
  1590  }
  1591  
  1592  // UpdateRegistryPrice is a paid mutator transaction binding the contract method 0x860e9b0f.
  1593  //
  1594  // Solidity: function updateRegistryPrice(uint256 _price) returns()
  1595  func (_UsernameRegistrar *UsernameRegistrarTransactorSession) UpdateRegistryPrice(_price *big.Int) (*types.Transaction, error) {
  1596  	return _UsernameRegistrar.Contract.UpdateRegistryPrice(&_UsernameRegistrar.TransactOpts, _price)
  1597  }
  1598  
  1599  // WithdrawExcessBalance is a paid mutator transaction binding the contract method 0x307c7a0d.
  1600  //
  1601  // Solidity: function withdrawExcessBalance(address _token, address _beneficiary) returns()
  1602  func (_UsernameRegistrar *UsernameRegistrarTransactor) WithdrawExcessBalance(opts *bind.TransactOpts, _token common.Address, _beneficiary common.Address) (*types.Transaction, error) {
  1603  	return _UsernameRegistrar.contract.Transact(opts, "withdrawExcessBalance", _token, _beneficiary)
  1604  }
  1605  
  1606  // WithdrawExcessBalance is a paid mutator transaction binding the contract method 0x307c7a0d.
  1607  //
  1608  // Solidity: function withdrawExcessBalance(address _token, address _beneficiary) returns()
  1609  func (_UsernameRegistrar *UsernameRegistrarSession) WithdrawExcessBalance(_token common.Address, _beneficiary common.Address) (*types.Transaction, error) {
  1610  	return _UsernameRegistrar.Contract.WithdrawExcessBalance(&_UsernameRegistrar.TransactOpts, _token, _beneficiary)
  1611  }
  1612  
  1613  // WithdrawExcessBalance is a paid mutator transaction binding the contract method 0x307c7a0d.
  1614  //
  1615  // Solidity: function withdrawExcessBalance(address _token, address _beneficiary) returns()
  1616  func (_UsernameRegistrar *UsernameRegistrarTransactorSession) WithdrawExcessBalance(_token common.Address, _beneficiary common.Address) (*types.Transaction, error) {
  1617  	return _UsernameRegistrar.Contract.WithdrawExcessBalance(&_UsernameRegistrar.TransactOpts, _token, _beneficiary)
  1618  }
  1619  
  1620  // WithdrawWrongNode is a paid mutator transaction binding the contract method 0xafe12e77.
  1621  //
  1622  // Solidity: function withdrawWrongNode(bytes32 _domainHash, address _beneficiary) returns()
  1623  func (_UsernameRegistrar *UsernameRegistrarTransactor) WithdrawWrongNode(opts *bind.TransactOpts, _domainHash [32]byte, _beneficiary common.Address) (*types.Transaction, error) {
  1624  	return _UsernameRegistrar.contract.Transact(opts, "withdrawWrongNode", _domainHash, _beneficiary)
  1625  }
  1626  
  1627  // WithdrawWrongNode is a paid mutator transaction binding the contract method 0xafe12e77.
  1628  //
  1629  // Solidity: function withdrawWrongNode(bytes32 _domainHash, address _beneficiary) returns()
  1630  func (_UsernameRegistrar *UsernameRegistrarSession) WithdrawWrongNode(_domainHash [32]byte, _beneficiary common.Address) (*types.Transaction, error) {
  1631  	return _UsernameRegistrar.Contract.WithdrawWrongNode(&_UsernameRegistrar.TransactOpts, _domainHash, _beneficiary)
  1632  }
  1633  
  1634  // WithdrawWrongNode is a paid mutator transaction binding the contract method 0xafe12e77.
  1635  //
  1636  // Solidity: function withdrawWrongNode(bytes32 _domainHash, address _beneficiary) returns()
  1637  func (_UsernameRegistrar *UsernameRegistrarTransactorSession) WithdrawWrongNode(_domainHash [32]byte, _beneficiary common.Address) (*types.Transaction, error) {
  1638  	return _UsernameRegistrar.Contract.WithdrawWrongNode(&_UsernameRegistrar.TransactOpts, _domainHash, _beneficiary)
  1639  }
  1640  
  1641  // UsernameRegistrarRegistryMovedIterator is returned from FilterRegistryMoved and is used to iterate over the raw logs and unpacked data for RegistryMoved events raised by the UsernameRegistrar contract.
  1642  type UsernameRegistrarRegistryMovedIterator struct {
  1643  	Event *UsernameRegistrarRegistryMoved // Event containing the contract specifics and raw log
  1644  
  1645  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1646  	event    string              // Event name to use for unpacking event data
  1647  
  1648  	logs chan types.Log        // Log channel receiving the found contract events
  1649  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1650  	done bool                  // Whether the subscription completed delivering logs
  1651  	fail error                 // Occurred error to stop iteration
  1652  }
  1653  
  1654  // Next advances the iterator to the subsequent event, returning whether there
  1655  // are any more events found. In case of a retrieval or parsing error, false is
  1656  // returned and Error() can be queried for the exact failure.
  1657  func (it *UsernameRegistrarRegistryMovedIterator) Next() bool {
  1658  	// If the iterator failed, stop iterating
  1659  	if it.fail != nil {
  1660  		return false
  1661  	}
  1662  	// If the iterator completed, deliver directly whatever's available
  1663  	if it.done {
  1664  		select {
  1665  		case log := <-it.logs:
  1666  			it.Event = new(UsernameRegistrarRegistryMoved)
  1667  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1668  				it.fail = err
  1669  				return false
  1670  			}
  1671  			it.Event.Raw = log
  1672  			return true
  1673  
  1674  		default:
  1675  			return false
  1676  		}
  1677  	}
  1678  	// Iterator still in progress, wait for either a data or an error event
  1679  	select {
  1680  	case log := <-it.logs:
  1681  		it.Event = new(UsernameRegistrarRegistryMoved)
  1682  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1683  			it.fail = err
  1684  			return false
  1685  		}
  1686  		it.Event.Raw = log
  1687  		return true
  1688  
  1689  	case err := <-it.sub.Err():
  1690  		it.done = true
  1691  		it.fail = err
  1692  		return it.Next()
  1693  	}
  1694  }
  1695  
  1696  // Error returns any retrieval or parsing error occurred during filtering.
  1697  func (it *UsernameRegistrarRegistryMovedIterator) Error() error {
  1698  	return it.fail
  1699  }
  1700  
  1701  // Close terminates the iteration process, releasing any pending underlying
  1702  // resources.
  1703  func (it *UsernameRegistrarRegistryMovedIterator) Close() error {
  1704  	it.sub.Unsubscribe()
  1705  	return nil
  1706  }
  1707  
  1708  // UsernameRegistrarRegistryMoved represents a RegistryMoved event raised by the UsernameRegistrar contract.
  1709  type UsernameRegistrarRegistryMoved struct {
  1710  	NewRegistry common.Address
  1711  	Raw         types.Log // Blockchain specific contextual infos
  1712  }
  1713  
  1714  // FilterRegistryMoved is a free log retrieval operation binding the contract event 0xce0afb4c27dbd57a3646e2d639557521bfb05a42dc0ec50f9c1fe13d92e3e6d6.
  1715  //
  1716  // Solidity: event RegistryMoved(address newRegistry)
  1717  func (_UsernameRegistrar *UsernameRegistrarFilterer) FilterRegistryMoved(opts *bind.FilterOpts) (*UsernameRegistrarRegistryMovedIterator, error) {
  1718  
  1719  	logs, sub, err := _UsernameRegistrar.contract.FilterLogs(opts, "RegistryMoved")
  1720  	if err != nil {
  1721  		return nil, err
  1722  	}
  1723  	return &UsernameRegistrarRegistryMovedIterator{contract: _UsernameRegistrar.contract, event: "RegistryMoved", logs: logs, sub: sub}, nil
  1724  }
  1725  
  1726  // WatchRegistryMoved is a free log subscription operation binding the contract event 0xce0afb4c27dbd57a3646e2d639557521bfb05a42dc0ec50f9c1fe13d92e3e6d6.
  1727  //
  1728  // Solidity: event RegistryMoved(address newRegistry)
  1729  func (_UsernameRegistrar *UsernameRegistrarFilterer) WatchRegistryMoved(opts *bind.WatchOpts, sink chan<- *UsernameRegistrarRegistryMoved) (event.Subscription, error) {
  1730  
  1731  	logs, sub, err := _UsernameRegistrar.contract.WatchLogs(opts, "RegistryMoved")
  1732  	if err != nil {
  1733  		return nil, err
  1734  	}
  1735  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1736  		defer sub.Unsubscribe()
  1737  		for {
  1738  			select {
  1739  			case log := <-logs:
  1740  				// New log arrived, parse the event and forward to the user
  1741  				event := new(UsernameRegistrarRegistryMoved)
  1742  				if err := _UsernameRegistrar.contract.UnpackLog(event, "RegistryMoved", log); err != nil {
  1743  					return err
  1744  				}
  1745  				event.Raw = log
  1746  
  1747  				select {
  1748  				case sink <- event:
  1749  				case err := <-sub.Err():
  1750  					return err
  1751  				case <-quit:
  1752  					return nil
  1753  				}
  1754  			case err := <-sub.Err():
  1755  				return err
  1756  			case <-quit:
  1757  				return nil
  1758  			}
  1759  		}
  1760  	}), nil
  1761  }
  1762  
  1763  // ParseRegistryMoved is a log parse operation binding the contract event 0xce0afb4c27dbd57a3646e2d639557521bfb05a42dc0ec50f9c1fe13d92e3e6d6.
  1764  //
  1765  // Solidity: event RegistryMoved(address newRegistry)
  1766  func (_UsernameRegistrar *UsernameRegistrarFilterer) ParseRegistryMoved(log types.Log) (*UsernameRegistrarRegistryMoved, error) {
  1767  	event := new(UsernameRegistrarRegistryMoved)
  1768  	if err := _UsernameRegistrar.contract.UnpackLog(event, "RegistryMoved", log); err != nil {
  1769  		return nil, err
  1770  	}
  1771  	event.Raw = log
  1772  	return event, nil
  1773  }
  1774  
  1775  // UsernameRegistrarRegistryPriceIterator is returned from FilterRegistryPrice and is used to iterate over the raw logs and unpacked data for RegistryPrice events raised by the UsernameRegistrar contract.
  1776  type UsernameRegistrarRegistryPriceIterator struct {
  1777  	Event *UsernameRegistrarRegistryPrice // Event containing the contract specifics and raw log
  1778  
  1779  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1780  	event    string              // Event name to use for unpacking event data
  1781  
  1782  	logs chan types.Log        // Log channel receiving the found contract events
  1783  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1784  	done bool                  // Whether the subscription completed delivering logs
  1785  	fail error                 // Occurred error to stop iteration
  1786  }
  1787  
  1788  // Next advances the iterator to the subsequent event, returning whether there
  1789  // are any more events found. In case of a retrieval or parsing error, false is
  1790  // returned and Error() can be queried for the exact failure.
  1791  func (it *UsernameRegistrarRegistryPriceIterator) Next() bool {
  1792  	// If the iterator failed, stop iterating
  1793  	if it.fail != nil {
  1794  		return false
  1795  	}
  1796  	// If the iterator completed, deliver directly whatever's available
  1797  	if it.done {
  1798  		select {
  1799  		case log := <-it.logs:
  1800  			it.Event = new(UsernameRegistrarRegistryPrice)
  1801  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1802  				it.fail = err
  1803  				return false
  1804  			}
  1805  			it.Event.Raw = log
  1806  			return true
  1807  
  1808  		default:
  1809  			return false
  1810  		}
  1811  	}
  1812  	// Iterator still in progress, wait for either a data or an error event
  1813  	select {
  1814  	case log := <-it.logs:
  1815  		it.Event = new(UsernameRegistrarRegistryPrice)
  1816  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1817  			it.fail = err
  1818  			return false
  1819  		}
  1820  		it.Event.Raw = log
  1821  		return true
  1822  
  1823  	case err := <-it.sub.Err():
  1824  		it.done = true
  1825  		it.fail = err
  1826  		return it.Next()
  1827  	}
  1828  }
  1829  
  1830  // Error returns any retrieval or parsing error occurred during filtering.
  1831  func (it *UsernameRegistrarRegistryPriceIterator) Error() error {
  1832  	return it.fail
  1833  }
  1834  
  1835  // Close terminates the iteration process, releasing any pending underlying
  1836  // resources.
  1837  func (it *UsernameRegistrarRegistryPriceIterator) Close() error {
  1838  	it.sub.Unsubscribe()
  1839  	return nil
  1840  }
  1841  
  1842  // UsernameRegistrarRegistryPrice represents a RegistryPrice event raised by the UsernameRegistrar contract.
  1843  type UsernameRegistrarRegistryPrice struct {
  1844  	Price *big.Int
  1845  	Raw   types.Log // Blockchain specific contextual infos
  1846  }
  1847  
  1848  // FilterRegistryPrice is a free log retrieval operation binding the contract event 0x45d3cd7c7bd7d211f00610f51660b2f114c7833e0c52ef3603c6d41ed07a7458.
  1849  //
  1850  // Solidity: event RegistryPrice(uint256 price)
  1851  func (_UsernameRegistrar *UsernameRegistrarFilterer) FilterRegistryPrice(opts *bind.FilterOpts) (*UsernameRegistrarRegistryPriceIterator, error) {
  1852  
  1853  	logs, sub, err := _UsernameRegistrar.contract.FilterLogs(opts, "RegistryPrice")
  1854  	if err != nil {
  1855  		return nil, err
  1856  	}
  1857  	return &UsernameRegistrarRegistryPriceIterator{contract: _UsernameRegistrar.contract, event: "RegistryPrice", logs: logs, sub: sub}, nil
  1858  }
  1859  
  1860  // WatchRegistryPrice is a free log subscription operation binding the contract event 0x45d3cd7c7bd7d211f00610f51660b2f114c7833e0c52ef3603c6d41ed07a7458.
  1861  //
  1862  // Solidity: event RegistryPrice(uint256 price)
  1863  func (_UsernameRegistrar *UsernameRegistrarFilterer) WatchRegistryPrice(opts *bind.WatchOpts, sink chan<- *UsernameRegistrarRegistryPrice) (event.Subscription, error) {
  1864  
  1865  	logs, sub, err := _UsernameRegistrar.contract.WatchLogs(opts, "RegistryPrice")
  1866  	if err != nil {
  1867  		return nil, err
  1868  	}
  1869  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1870  		defer sub.Unsubscribe()
  1871  		for {
  1872  			select {
  1873  			case log := <-logs:
  1874  				// New log arrived, parse the event and forward to the user
  1875  				event := new(UsernameRegistrarRegistryPrice)
  1876  				if err := _UsernameRegistrar.contract.UnpackLog(event, "RegistryPrice", log); err != nil {
  1877  					return err
  1878  				}
  1879  				event.Raw = log
  1880  
  1881  				select {
  1882  				case sink <- event:
  1883  				case err := <-sub.Err():
  1884  					return err
  1885  				case <-quit:
  1886  					return nil
  1887  				}
  1888  			case err := <-sub.Err():
  1889  				return err
  1890  			case <-quit:
  1891  				return nil
  1892  			}
  1893  		}
  1894  	}), nil
  1895  }
  1896  
  1897  // ParseRegistryPrice is a log parse operation binding the contract event 0x45d3cd7c7bd7d211f00610f51660b2f114c7833e0c52ef3603c6d41ed07a7458.
  1898  //
  1899  // Solidity: event RegistryPrice(uint256 price)
  1900  func (_UsernameRegistrar *UsernameRegistrarFilterer) ParseRegistryPrice(log types.Log) (*UsernameRegistrarRegistryPrice, error) {
  1901  	event := new(UsernameRegistrarRegistryPrice)
  1902  	if err := _UsernameRegistrar.contract.UnpackLog(event, "RegistryPrice", log); err != nil {
  1903  		return nil, err
  1904  	}
  1905  	event.Raw = log
  1906  	return event, nil
  1907  }
  1908  
  1909  // UsernameRegistrarRegistryStateIterator is returned from FilterRegistryState and is used to iterate over the raw logs and unpacked data for RegistryState events raised by the UsernameRegistrar contract.
  1910  type UsernameRegistrarRegistryStateIterator struct {
  1911  	Event *UsernameRegistrarRegistryState // Event containing the contract specifics and raw log
  1912  
  1913  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1914  	event    string              // Event name to use for unpacking event data
  1915  
  1916  	logs chan types.Log        // Log channel receiving the found contract events
  1917  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1918  	done bool                  // Whether the subscription completed delivering logs
  1919  	fail error                 // Occurred error to stop iteration
  1920  }
  1921  
  1922  // Next advances the iterator to the subsequent event, returning whether there
  1923  // are any more events found. In case of a retrieval or parsing error, false is
  1924  // returned and Error() can be queried for the exact failure.
  1925  func (it *UsernameRegistrarRegistryStateIterator) Next() bool {
  1926  	// If the iterator failed, stop iterating
  1927  	if it.fail != nil {
  1928  		return false
  1929  	}
  1930  	// If the iterator completed, deliver directly whatever's available
  1931  	if it.done {
  1932  		select {
  1933  		case log := <-it.logs:
  1934  			it.Event = new(UsernameRegistrarRegistryState)
  1935  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1936  				it.fail = err
  1937  				return false
  1938  			}
  1939  			it.Event.Raw = log
  1940  			return true
  1941  
  1942  		default:
  1943  			return false
  1944  		}
  1945  	}
  1946  	// Iterator still in progress, wait for either a data or an error event
  1947  	select {
  1948  	case log := <-it.logs:
  1949  		it.Event = new(UsernameRegistrarRegistryState)
  1950  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1951  			it.fail = err
  1952  			return false
  1953  		}
  1954  		it.Event.Raw = log
  1955  		return true
  1956  
  1957  	case err := <-it.sub.Err():
  1958  		it.done = true
  1959  		it.fail = err
  1960  		return it.Next()
  1961  	}
  1962  }
  1963  
  1964  // Error returns any retrieval or parsing error occurred during filtering.
  1965  func (it *UsernameRegistrarRegistryStateIterator) Error() error {
  1966  	return it.fail
  1967  }
  1968  
  1969  // Close terminates the iteration process, releasing any pending underlying
  1970  // resources.
  1971  func (it *UsernameRegistrarRegistryStateIterator) Close() error {
  1972  	it.sub.Unsubscribe()
  1973  	return nil
  1974  }
  1975  
  1976  // UsernameRegistrarRegistryState represents a RegistryState event raised by the UsernameRegistrar contract.
  1977  type UsernameRegistrarRegistryState struct {
  1978  	State uint8
  1979  	Raw   types.Log // Blockchain specific contextual infos
  1980  }
  1981  
  1982  // FilterRegistryState is a free log retrieval operation binding the contract event 0xee85d4d9a9722e814f07db07f29734cd5a97e0e58781ad41ae4572193b1caea0.
  1983  //
  1984  // Solidity: event RegistryState(uint8 state)
  1985  func (_UsernameRegistrar *UsernameRegistrarFilterer) FilterRegistryState(opts *bind.FilterOpts) (*UsernameRegistrarRegistryStateIterator, error) {
  1986  
  1987  	logs, sub, err := _UsernameRegistrar.contract.FilterLogs(opts, "RegistryState")
  1988  	if err != nil {
  1989  		return nil, err
  1990  	}
  1991  	return &UsernameRegistrarRegistryStateIterator{contract: _UsernameRegistrar.contract, event: "RegistryState", logs: logs, sub: sub}, nil
  1992  }
  1993  
  1994  // WatchRegistryState is a free log subscription operation binding the contract event 0xee85d4d9a9722e814f07db07f29734cd5a97e0e58781ad41ae4572193b1caea0.
  1995  //
  1996  // Solidity: event RegistryState(uint8 state)
  1997  func (_UsernameRegistrar *UsernameRegistrarFilterer) WatchRegistryState(opts *bind.WatchOpts, sink chan<- *UsernameRegistrarRegistryState) (event.Subscription, error) {
  1998  
  1999  	logs, sub, err := _UsernameRegistrar.contract.WatchLogs(opts, "RegistryState")
  2000  	if err != nil {
  2001  		return nil, err
  2002  	}
  2003  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2004  		defer sub.Unsubscribe()
  2005  		for {
  2006  			select {
  2007  			case log := <-logs:
  2008  				// New log arrived, parse the event and forward to the user
  2009  				event := new(UsernameRegistrarRegistryState)
  2010  				if err := _UsernameRegistrar.contract.UnpackLog(event, "RegistryState", log); err != nil {
  2011  					return err
  2012  				}
  2013  				event.Raw = log
  2014  
  2015  				select {
  2016  				case sink <- event:
  2017  				case err := <-sub.Err():
  2018  					return err
  2019  				case <-quit:
  2020  					return nil
  2021  				}
  2022  			case err := <-sub.Err():
  2023  				return err
  2024  			case <-quit:
  2025  				return nil
  2026  			}
  2027  		}
  2028  	}), nil
  2029  }
  2030  
  2031  // ParseRegistryState is a log parse operation binding the contract event 0xee85d4d9a9722e814f07db07f29734cd5a97e0e58781ad41ae4572193b1caea0.
  2032  //
  2033  // Solidity: event RegistryState(uint8 state)
  2034  func (_UsernameRegistrar *UsernameRegistrarFilterer) ParseRegistryState(log types.Log) (*UsernameRegistrarRegistryState, error) {
  2035  	event := new(UsernameRegistrarRegistryState)
  2036  	if err := _UsernameRegistrar.contract.UnpackLog(event, "RegistryState", log); err != nil {
  2037  		return nil, err
  2038  	}
  2039  	event.Raw = log
  2040  	return event, nil
  2041  }
  2042  
  2043  // UsernameRegistrarUsernameOwnerIterator is returned from FilterUsernameOwner and is used to iterate over the raw logs and unpacked data for UsernameOwner events raised by the UsernameRegistrar contract.
  2044  type UsernameRegistrarUsernameOwnerIterator struct {
  2045  	Event *UsernameRegistrarUsernameOwner // Event containing the contract specifics and raw log
  2046  
  2047  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2048  	event    string              // Event name to use for unpacking event data
  2049  
  2050  	logs chan types.Log        // Log channel receiving the found contract events
  2051  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2052  	done bool                  // Whether the subscription completed delivering logs
  2053  	fail error                 // Occurred error to stop iteration
  2054  }
  2055  
  2056  // Next advances the iterator to the subsequent event, returning whether there
  2057  // are any more events found. In case of a retrieval or parsing error, false is
  2058  // returned and Error() can be queried for the exact failure.
  2059  func (it *UsernameRegistrarUsernameOwnerIterator) Next() bool {
  2060  	// If the iterator failed, stop iterating
  2061  	if it.fail != nil {
  2062  		return false
  2063  	}
  2064  	// If the iterator completed, deliver directly whatever's available
  2065  	if it.done {
  2066  		select {
  2067  		case log := <-it.logs:
  2068  			it.Event = new(UsernameRegistrarUsernameOwner)
  2069  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2070  				it.fail = err
  2071  				return false
  2072  			}
  2073  			it.Event.Raw = log
  2074  			return true
  2075  
  2076  		default:
  2077  			return false
  2078  		}
  2079  	}
  2080  	// Iterator still in progress, wait for either a data or an error event
  2081  	select {
  2082  	case log := <-it.logs:
  2083  		it.Event = new(UsernameRegistrarUsernameOwner)
  2084  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2085  			it.fail = err
  2086  			return false
  2087  		}
  2088  		it.Event.Raw = log
  2089  		return true
  2090  
  2091  	case err := <-it.sub.Err():
  2092  		it.done = true
  2093  		it.fail = err
  2094  		return it.Next()
  2095  	}
  2096  }
  2097  
  2098  // Error returns any retrieval or parsing error occurred during filtering.
  2099  func (it *UsernameRegistrarUsernameOwnerIterator) Error() error {
  2100  	return it.fail
  2101  }
  2102  
  2103  // Close terminates the iteration process, releasing any pending underlying
  2104  // resources.
  2105  func (it *UsernameRegistrarUsernameOwnerIterator) Close() error {
  2106  	it.sub.Unsubscribe()
  2107  	return nil
  2108  }
  2109  
  2110  // UsernameRegistrarUsernameOwner represents a UsernameOwner event raised by the UsernameRegistrar contract.
  2111  type UsernameRegistrarUsernameOwner struct {
  2112  	NameHash [32]byte
  2113  	Owner    common.Address
  2114  	Raw      types.Log // Blockchain specific contextual infos
  2115  }
  2116  
  2117  // FilterUsernameOwner is a free log retrieval operation binding the contract event 0xd2da4206c3fa95b8fc1ee48627023d322b59cc7218e14cb95cf0c0fe562f2e4d.
  2118  //
  2119  // Solidity: event UsernameOwner(bytes32 indexed nameHash, address owner)
  2120  func (_UsernameRegistrar *UsernameRegistrarFilterer) FilterUsernameOwner(opts *bind.FilterOpts, nameHash [][32]byte) (*UsernameRegistrarUsernameOwnerIterator, error) {
  2121  
  2122  	var nameHashRule []interface{}
  2123  	for _, nameHashItem := range nameHash {
  2124  		nameHashRule = append(nameHashRule, nameHashItem)
  2125  	}
  2126  
  2127  	logs, sub, err := _UsernameRegistrar.contract.FilterLogs(opts, "UsernameOwner", nameHashRule)
  2128  	if err != nil {
  2129  		return nil, err
  2130  	}
  2131  	return &UsernameRegistrarUsernameOwnerIterator{contract: _UsernameRegistrar.contract, event: "UsernameOwner", logs: logs, sub: sub}, nil
  2132  }
  2133  
  2134  // WatchUsernameOwner is a free log subscription operation binding the contract event 0xd2da4206c3fa95b8fc1ee48627023d322b59cc7218e14cb95cf0c0fe562f2e4d.
  2135  //
  2136  // Solidity: event UsernameOwner(bytes32 indexed nameHash, address owner)
  2137  func (_UsernameRegistrar *UsernameRegistrarFilterer) WatchUsernameOwner(opts *bind.WatchOpts, sink chan<- *UsernameRegistrarUsernameOwner, nameHash [][32]byte) (event.Subscription, error) {
  2138  
  2139  	var nameHashRule []interface{}
  2140  	for _, nameHashItem := range nameHash {
  2141  		nameHashRule = append(nameHashRule, nameHashItem)
  2142  	}
  2143  
  2144  	logs, sub, err := _UsernameRegistrar.contract.WatchLogs(opts, "UsernameOwner", nameHashRule)
  2145  	if err != nil {
  2146  		return nil, err
  2147  	}
  2148  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2149  		defer sub.Unsubscribe()
  2150  		for {
  2151  			select {
  2152  			case log := <-logs:
  2153  				// New log arrived, parse the event and forward to the user
  2154  				event := new(UsernameRegistrarUsernameOwner)
  2155  				if err := _UsernameRegistrar.contract.UnpackLog(event, "UsernameOwner", log); err != nil {
  2156  					return err
  2157  				}
  2158  				event.Raw = log
  2159  
  2160  				select {
  2161  				case sink <- event:
  2162  				case err := <-sub.Err():
  2163  					return err
  2164  				case <-quit:
  2165  					return nil
  2166  				}
  2167  			case err := <-sub.Err():
  2168  				return err
  2169  			case <-quit:
  2170  				return nil
  2171  			}
  2172  		}
  2173  	}), nil
  2174  }
  2175  
  2176  // ParseUsernameOwner is a log parse operation binding the contract event 0xd2da4206c3fa95b8fc1ee48627023d322b59cc7218e14cb95cf0c0fe562f2e4d.
  2177  //
  2178  // Solidity: event UsernameOwner(bytes32 indexed nameHash, address owner)
  2179  func (_UsernameRegistrar *UsernameRegistrarFilterer) ParseUsernameOwner(log types.Log) (*UsernameRegistrarUsernameOwner, error) {
  2180  	event := new(UsernameRegistrarUsernameOwner)
  2181  	if err := _UsernameRegistrar.contract.UnpackLog(event, "UsernameOwner", log); err != nil {
  2182  		return nil, err
  2183  	}
  2184  	event.Raw = log
  2185  	return event, nil
  2186  }