code.vegaprotocol.io/vega@v0.79.0/core/contracts/multisig_control/multisig_control.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 multisig_control
     5  
     6  import (
     7  	"errors"
     8  	"math/big"
     9  	"strings"
    10  
    11  	ethereum "github.com/ethereum/go-ethereum"
    12  	"github.com/ethereum/go-ethereum/accounts/abi"
    13  	"github.com/ethereum/go-ethereum/accounts/abi/bind"
    14  	"github.com/ethereum/go-ethereum/common"
    15  	"github.com/ethereum/go-ethereum/core/types"
    16  	"github.com/ethereum/go-ethereum/event"
    17  )
    18  
    19  // Reference imports to suppress errors if they are not otherwise used.
    20  var (
    21  	_ = errors.New
    22  	_ = big.NewInt
    23  	_ = strings.NewReader
    24  	_ = ethereum.NotFound
    25  	_ = bind.Bind
    26  	_ = common.Big1
    27  	_ = types.BloomLookup
    28  	_ = event.NewSubscription
    29  	_ = abi.ConvertType
    30  )
    31  
    32  // MultisigControlMetaData contains all meta data concerning the MultisigControl contract.
    33  var MultisigControlMetaData = &bind.MetaData{
    34  	ABI: "[{\"type\":\"function\",\"name\":\"addSigner\",\"inputs\":[{\"name\":\"newSigner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"nonce\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"signatures\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"burnNonce\",\"inputs\":[{\"name\":\"nonce\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"signatures\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"getCurrentThreshold\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint16\",\"internalType\":\"uint16\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getValidSignerCount\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"isNonceUsed\",\"inputs\":[{\"name\":\"nonce\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"isValidSigner\",\"inputs\":[{\"name\":\"signer_address\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"removeSigner\",\"inputs\":[{\"name\":\"oldSigner\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"nonce\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"signatures\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setThreshold\",\"inputs\":[{\"name\":\"newThreshold\",\"type\":\"uint16\",\"internalType\":\"uint16\"},{\"name\":\"nonce\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"signatures\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"verifySignatures\",\"inputs\":[{\"name\":\"signatures\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"message\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nonce\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"NonceBurnt\",\"inputs\":[{\"name\":\"nonce\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"SignerAdded\",\"inputs\":[{\"name\":\"newSigner\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"nonce\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"SignerRemoved\",\"inputs\":[{\"name\":\"oldSigner\",\"type\":\"address\",\"indexed\":false,\"internalType\":\"address\"},{\"name\":\"nonce\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"ThresholdSet\",\"inputs\":[{\"name\":\"newThreshold\",\"type\":\"uint16\",\"indexed\":false,\"internalType\":\"uint16\"},{\"name\":\"nonce\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false}]",
    35  }
    36  
    37  // MultisigControlABI is the input ABI used to generate the binding from.
    38  // Deprecated: Use MultisigControlMetaData.ABI instead.
    39  var MultisigControlABI = MultisigControlMetaData.ABI
    40  
    41  // MultisigControl is an auto generated Go binding around an Ethereum contract.
    42  type MultisigControl struct {
    43  	MultisigControlCaller     // Read-only binding to the contract
    44  	MultisigControlTransactor // Write-only binding to the contract
    45  	MultisigControlFilterer   // Log filterer for contract events
    46  }
    47  
    48  // MultisigControlCaller is an auto generated read-only Go binding around an Ethereum contract.
    49  type MultisigControlCaller struct {
    50  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    51  }
    52  
    53  // MultisigControlTransactor is an auto generated write-only Go binding around an Ethereum contract.
    54  type MultisigControlTransactor struct {
    55  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    56  }
    57  
    58  // MultisigControlFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
    59  type MultisigControlFilterer struct {
    60  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    61  }
    62  
    63  // MultisigControlSession is an auto generated Go binding around an Ethereum contract,
    64  // with pre-set call and transact options.
    65  type MultisigControlSession struct {
    66  	Contract     *MultisigControl  // Generic contract binding to set the session for
    67  	CallOpts     bind.CallOpts     // Call options to use throughout this session
    68  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
    69  }
    70  
    71  // MultisigControlCallerSession is an auto generated read-only Go binding around an Ethereum contract,
    72  // with pre-set call options.
    73  type MultisigControlCallerSession struct {
    74  	Contract *MultisigControlCaller // Generic contract caller binding to set the session for
    75  	CallOpts bind.CallOpts          // Call options to use throughout this session
    76  }
    77  
    78  // MultisigControlTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
    79  // with pre-set transact options.
    80  type MultisigControlTransactorSession struct {
    81  	Contract     *MultisigControlTransactor // Generic contract transactor binding to set the session for
    82  	TransactOpts bind.TransactOpts          // Transaction auth options to use throughout this session
    83  }
    84  
    85  // MultisigControlRaw is an auto generated low-level Go binding around an Ethereum contract.
    86  type MultisigControlRaw struct {
    87  	Contract *MultisigControl // Generic contract binding to access the raw methods on
    88  }
    89  
    90  // MultisigControlCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
    91  type MultisigControlCallerRaw struct {
    92  	Contract *MultisigControlCaller // Generic read-only contract binding to access the raw methods on
    93  }
    94  
    95  // MultisigControlTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
    96  type MultisigControlTransactorRaw struct {
    97  	Contract *MultisigControlTransactor // Generic write-only contract binding to access the raw methods on
    98  }
    99  
   100  // NewMultisigControl creates a new instance of MultisigControl, bound to a specific deployed contract.
   101  func NewMultisigControl(address common.Address, backend bind.ContractBackend) (*MultisigControl, error) {
   102  	contract, err := bindMultisigControl(address, backend, backend, backend)
   103  	if err != nil {
   104  		return nil, err
   105  	}
   106  	return &MultisigControl{MultisigControlCaller: MultisigControlCaller{contract: contract}, MultisigControlTransactor: MultisigControlTransactor{contract: contract}, MultisigControlFilterer: MultisigControlFilterer{contract: contract}}, nil
   107  }
   108  
   109  // NewMultisigControlCaller creates a new read-only instance of MultisigControl, bound to a specific deployed contract.
   110  func NewMultisigControlCaller(address common.Address, caller bind.ContractCaller) (*MultisigControlCaller, error) {
   111  	contract, err := bindMultisigControl(address, caller, nil, nil)
   112  	if err != nil {
   113  		return nil, err
   114  	}
   115  	return &MultisigControlCaller{contract: contract}, nil
   116  }
   117  
   118  // NewMultisigControlTransactor creates a new write-only instance of MultisigControl, bound to a specific deployed contract.
   119  func NewMultisigControlTransactor(address common.Address, transactor bind.ContractTransactor) (*MultisigControlTransactor, error) {
   120  	contract, err := bindMultisigControl(address, nil, transactor, nil)
   121  	if err != nil {
   122  		return nil, err
   123  	}
   124  	return &MultisigControlTransactor{contract: contract}, nil
   125  }
   126  
   127  // NewMultisigControlFilterer creates a new log filterer instance of MultisigControl, bound to a specific deployed contract.
   128  func NewMultisigControlFilterer(address common.Address, filterer bind.ContractFilterer) (*MultisigControlFilterer, error) {
   129  	contract, err := bindMultisigControl(address, nil, nil, filterer)
   130  	if err != nil {
   131  		return nil, err
   132  	}
   133  	return &MultisigControlFilterer{contract: contract}, nil
   134  }
   135  
   136  // bindMultisigControl binds a generic wrapper to an already deployed contract.
   137  func bindMultisigControl(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   138  	parsed, err := MultisigControlMetaData.GetAbi()
   139  	if err != nil {
   140  		return nil, err
   141  	}
   142  	return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil
   143  }
   144  
   145  // Call invokes the (constant) contract method with params as input values and
   146  // sets the output to result. The result type might be a single field for simple
   147  // returns, a slice of interfaces for anonymous returns and a struct for named
   148  // returns.
   149  func (_MultisigControl *MultisigControlRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   150  	return _MultisigControl.Contract.MultisigControlCaller.contract.Call(opts, result, method, params...)
   151  }
   152  
   153  // Transfer initiates a plain transaction to move funds to the contract, calling
   154  // its default method if one is available.
   155  func (_MultisigControl *MultisigControlRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   156  	return _MultisigControl.Contract.MultisigControlTransactor.contract.Transfer(opts)
   157  }
   158  
   159  // Transact invokes the (paid) contract method with params as input values.
   160  func (_MultisigControl *MultisigControlRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   161  	return _MultisigControl.Contract.MultisigControlTransactor.contract.Transact(opts, method, params...)
   162  }
   163  
   164  // Call invokes the (constant) contract method with params as input values and
   165  // sets the output to result. The result type might be a single field for simple
   166  // returns, a slice of interfaces for anonymous returns and a struct for named
   167  // returns.
   168  func (_MultisigControl *MultisigControlCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   169  	return _MultisigControl.Contract.contract.Call(opts, result, method, params...)
   170  }
   171  
   172  // Transfer initiates a plain transaction to move funds to the contract, calling
   173  // its default method if one is available.
   174  func (_MultisigControl *MultisigControlTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   175  	return _MultisigControl.Contract.contract.Transfer(opts)
   176  }
   177  
   178  // Transact invokes the (paid) contract method with params as input values.
   179  func (_MultisigControl *MultisigControlTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   180  	return _MultisigControl.Contract.contract.Transact(opts, method, params...)
   181  }
   182  
   183  // GetCurrentThreshold is a free data retrieval call binding the contract method 0x1b71bf6e.
   184  //
   185  // Solidity: function getCurrentThreshold() view returns(uint16)
   186  func (_MultisigControl *MultisigControlCaller) GetCurrentThreshold(opts *bind.CallOpts) (uint16, error) {
   187  	var out []interface{}
   188  	err := _MultisigControl.contract.Call(opts, &out, "getCurrentThreshold")
   189  
   190  	if err != nil {
   191  		return *new(uint16), err
   192  	}
   193  
   194  	out0 := *abi.ConvertType(out[0], new(uint16)).(*uint16)
   195  
   196  	return out0, err
   197  
   198  }
   199  
   200  // GetCurrentThreshold is a free data retrieval call binding the contract method 0x1b71bf6e.
   201  //
   202  // Solidity: function getCurrentThreshold() view returns(uint16)
   203  func (_MultisigControl *MultisigControlSession) GetCurrentThreshold() (uint16, error) {
   204  	return _MultisigControl.Contract.GetCurrentThreshold(&_MultisigControl.CallOpts)
   205  }
   206  
   207  // GetCurrentThreshold is a free data retrieval call binding the contract method 0x1b71bf6e.
   208  //
   209  // Solidity: function getCurrentThreshold() view returns(uint16)
   210  func (_MultisigControl *MultisigControlCallerSession) GetCurrentThreshold() (uint16, error) {
   211  	return _MultisigControl.Contract.GetCurrentThreshold(&_MultisigControl.CallOpts)
   212  }
   213  
   214  // GetValidSignerCount is a free data retrieval call binding the contract method 0x86778ed0.
   215  //
   216  // Solidity: function getValidSignerCount() view returns(uint8)
   217  func (_MultisigControl *MultisigControlCaller) GetValidSignerCount(opts *bind.CallOpts) (uint8, error) {
   218  	var out []interface{}
   219  	err := _MultisigControl.contract.Call(opts, &out, "getValidSignerCount")
   220  
   221  	if err != nil {
   222  		return *new(uint8), err
   223  	}
   224  
   225  	out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8)
   226  
   227  	return out0, err
   228  
   229  }
   230  
   231  // GetValidSignerCount is a free data retrieval call binding the contract method 0x86778ed0.
   232  //
   233  // Solidity: function getValidSignerCount() view returns(uint8)
   234  func (_MultisigControl *MultisigControlSession) GetValidSignerCount() (uint8, error) {
   235  	return _MultisigControl.Contract.GetValidSignerCount(&_MultisigControl.CallOpts)
   236  }
   237  
   238  // GetValidSignerCount is a free data retrieval call binding the contract method 0x86778ed0.
   239  //
   240  // Solidity: function getValidSignerCount() view returns(uint8)
   241  func (_MultisigControl *MultisigControlCallerSession) GetValidSignerCount() (uint8, error) {
   242  	return _MultisigControl.Contract.GetValidSignerCount(&_MultisigControl.CallOpts)
   243  }
   244  
   245  // IsNonceUsed is a free data retrieval call binding the contract method 0x5d00bb12.
   246  //
   247  // Solidity: function isNonceUsed(uint256 nonce) view returns(bool)
   248  func (_MultisigControl *MultisigControlCaller) IsNonceUsed(opts *bind.CallOpts, nonce *big.Int) (bool, error) {
   249  	var out []interface{}
   250  	err := _MultisigControl.contract.Call(opts, &out, "isNonceUsed", nonce)
   251  
   252  	if err != nil {
   253  		return *new(bool), err
   254  	}
   255  
   256  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   257  
   258  	return out0, err
   259  
   260  }
   261  
   262  // IsNonceUsed is a free data retrieval call binding the contract method 0x5d00bb12.
   263  //
   264  // Solidity: function isNonceUsed(uint256 nonce) view returns(bool)
   265  func (_MultisigControl *MultisigControlSession) IsNonceUsed(nonce *big.Int) (bool, error) {
   266  	return _MultisigControl.Contract.IsNonceUsed(&_MultisigControl.CallOpts, nonce)
   267  }
   268  
   269  // IsNonceUsed is a free data retrieval call binding the contract method 0x5d00bb12.
   270  //
   271  // Solidity: function isNonceUsed(uint256 nonce) view returns(bool)
   272  func (_MultisigControl *MultisigControlCallerSession) IsNonceUsed(nonce *big.Int) (bool, error) {
   273  	return _MultisigControl.Contract.IsNonceUsed(&_MultisigControl.CallOpts, nonce)
   274  }
   275  
   276  // IsValidSigner is a free data retrieval call binding the contract method 0xd5f50582.
   277  //
   278  // Solidity: function isValidSigner(address signer_address) view returns(bool)
   279  func (_MultisigControl *MultisigControlCaller) IsValidSigner(opts *bind.CallOpts, signer_address common.Address) (bool, error) {
   280  	var out []interface{}
   281  	err := _MultisigControl.contract.Call(opts, &out, "isValidSigner", signer_address)
   282  
   283  	if err != nil {
   284  		return *new(bool), err
   285  	}
   286  
   287  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   288  
   289  	return out0, err
   290  
   291  }
   292  
   293  // IsValidSigner is a free data retrieval call binding the contract method 0xd5f50582.
   294  //
   295  // Solidity: function isValidSigner(address signer_address) view returns(bool)
   296  func (_MultisigControl *MultisigControlSession) IsValidSigner(signer_address common.Address) (bool, error) {
   297  	return _MultisigControl.Contract.IsValidSigner(&_MultisigControl.CallOpts, signer_address)
   298  }
   299  
   300  // IsValidSigner is a free data retrieval call binding the contract method 0xd5f50582.
   301  //
   302  // Solidity: function isValidSigner(address signer_address) view returns(bool)
   303  func (_MultisigControl *MultisigControlCallerSession) IsValidSigner(signer_address common.Address) (bool, error) {
   304  	return _MultisigControl.Contract.IsValidSigner(&_MultisigControl.CallOpts, signer_address)
   305  }
   306  
   307  // AddSigner is a paid mutator transaction binding the contract method 0xea72ebd0.
   308  //
   309  // Solidity: function addSigner(address newSigner, uint256 nonce, bytes signatures) returns()
   310  func (_MultisigControl *MultisigControlTransactor) AddSigner(opts *bind.TransactOpts, newSigner common.Address, nonce *big.Int, signatures []byte) (*types.Transaction, error) {
   311  	return _MultisigControl.contract.Transact(opts, "addSigner", newSigner, nonce, signatures)
   312  }
   313  
   314  // AddSigner is a paid mutator transaction binding the contract method 0xea72ebd0.
   315  //
   316  // Solidity: function addSigner(address newSigner, uint256 nonce, bytes signatures) returns()
   317  func (_MultisigControl *MultisigControlSession) AddSigner(newSigner common.Address, nonce *big.Int, signatures []byte) (*types.Transaction, error) {
   318  	return _MultisigControl.Contract.AddSigner(&_MultisigControl.TransactOpts, newSigner, nonce, signatures)
   319  }
   320  
   321  // AddSigner is a paid mutator transaction binding the contract method 0xea72ebd0.
   322  //
   323  // Solidity: function addSigner(address newSigner, uint256 nonce, bytes signatures) returns()
   324  func (_MultisigControl *MultisigControlTransactorSession) AddSigner(newSigner common.Address, nonce *big.Int, signatures []byte) (*types.Transaction, error) {
   325  	return _MultisigControl.Contract.AddSigner(&_MultisigControl.TransactOpts, newSigner, nonce, signatures)
   326  }
   327  
   328  // BurnNonce is a paid mutator transaction binding the contract method 0xc15ce890.
   329  //
   330  // Solidity: function burnNonce(uint256 nonce, bytes signatures) returns()
   331  func (_MultisigControl *MultisigControlTransactor) BurnNonce(opts *bind.TransactOpts, nonce *big.Int, signatures []byte) (*types.Transaction, error) {
   332  	return _MultisigControl.contract.Transact(opts, "burnNonce", nonce, signatures)
   333  }
   334  
   335  // BurnNonce is a paid mutator transaction binding the contract method 0xc15ce890.
   336  //
   337  // Solidity: function burnNonce(uint256 nonce, bytes signatures) returns()
   338  func (_MultisigControl *MultisigControlSession) BurnNonce(nonce *big.Int, signatures []byte) (*types.Transaction, error) {
   339  	return _MultisigControl.Contract.BurnNonce(&_MultisigControl.TransactOpts, nonce, signatures)
   340  }
   341  
   342  // BurnNonce is a paid mutator transaction binding the contract method 0xc15ce890.
   343  //
   344  // Solidity: function burnNonce(uint256 nonce, bytes signatures) returns()
   345  func (_MultisigControl *MultisigControlTransactorSession) BurnNonce(nonce *big.Int, signatures []byte) (*types.Transaction, error) {
   346  	return _MultisigControl.Contract.BurnNonce(&_MultisigControl.TransactOpts, nonce, signatures)
   347  }
   348  
   349  // RemoveSigner is a paid mutator transaction binding the contract method 0xa3dd8ff2.
   350  //
   351  // Solidity: function removeSigner(address oldSigner, uint256 nonce, bytes signatures) returns()
   352  func (_MultisigControl *MultisigControlTransactor) RemoveSigner(opts *bind.TransactOpts, oldSigner common.Address, nonce *big.Int, signatures []byte) (*types.Transaction, error) {
   353  	return _MultisigControl.contract.Transact(opts, "removeSigner", oldSigner, nonce, signatures)
   354  }
   355  
   356  // RemoveSigner is a paid mutator transaction binding the contract method 0xa3dd8ff2.
   357  //
   358  // Solidity: function removeSigner(address oldSigner, uint256 nonce, bytes signatures) returns()
   359  func (_MultisigControl *MultisigControlSession) RemoveSigner(oldSigner common.Address, nonce *big.Int, signatures []byte) (*types.Transaction, error) {
   360  	return _MultisigControl.Contract.RemoveSigner(&_MultisigControl.TransactOpts, oldSigner, nonce, signatures)
   361  }
   362  
   363  // RemoveSigner is a paid mutator transaction binding the contract method 0xa3dd8ff2.
   364  //
   365  // Solidity: function removeSigner(address oldSigner, uint256 nonce, bytes signatures) returns()
   366  func (_MultisigControl *MultisigControlTransactorSession) RemoveSigner(oldSigner common.Address, nonce *big.Int, signatures []byte) (*types.Transaction, error) {
   367  	return _MultisigControl.Contract.RemoveSigner(&_MultisigControl.TransactOpts, oldSigner, nonce, signatures)
   368  }
   369  
   370  // SetThreshold is a paid mutator transaction binding the contract method 0xee9aea8a.
   371  //
   372  // Solidity: function setThreshold(uint16 newThreshold, uint256 nonce, bytes signatures) returns()
   373  func (_MultisigControl *MultisigControlTransactor) SetThreshold(opts *bind.TransactOpts, newThreshold uint16, nonce *big.Int, signatures []byte) (*types.Transaction, error) {
   374  	return _MultisigControl.contract.Transact(opts, "setThreshold", newThreshold, nonce, signatures)
   375  }
   376  
   377  // SetThreshold is a paid mutator transaction binding the contract method 0xee9aea8a.
   378  //
   379  // Solidity: function setThreshold(uint16 newThreshold, uint256 nonce, bytes signatures) returns()
   380  func (_MultisigControl *MultisigControlSession) SetThreshold(newThreshold uint16, nonce *big.Int, signatures []byte) (*types.Transaction, error) {
   381  	return _MultisigControl.Contract.SetThreshold(&_MultisigControl.TransactOpts, newThreshold, nonce, signatures)
   382  }
   383  
   384  // SetThreshold is a paid mutator transaction binding the contract method 0xee9aea8a.
   385  //
   386  // Solidity: function setThreshold(uint16 newThreshold, uint256 nonce, bytes signatures) returns()
   387  func (_MultisigControl *MultisigControlTransactorSession) SetThreshold(newThreshold uint16, nonce *big.Int, signatures []byte) (*types.Transaction, error) {
   388  	return _MultisigControl.Contract.SetThreshold(&_MultisigControl.TransactOpts, newThreshold, nonce, signatures)
   389  }
   390  
   391  // VerifySignatures is a paid mutator transaction binding the contract method 0x3fef2806.
   392  //
   393  // Solidity: function verifySignatures(bytes signatures, bytes message, uint256 nonce) returns(bool)
   394  func (_MultisigControl *MultisigControlTransactor) VerifySignatures(opts *bind.TransactOpts, signatures []byte, message []byte, nonce *big.Int) (*types.Transaction, error) {
   395  	return _MultisigControl.contract.Transact(opts, "verifySignatures", signatures, message, nonce)
   396  }
   397  
   398  // VerifySignatures is a paid mutator transaction binding the contract method 0x3fef2806.
   399  //
   400  // Solidity: function verifySignatures(bytes signatures, bytes message, uint256 nonce) returns(bool)
   401  func (_MultisigControl *MultisigControlSession) VerifySignatures(signatures []byte, message []byte, nonce *big.Int) (*types.Transaction, error) {
   402  	return _MultisigControl.Contract.VerifySignatures(&_MultisigControl.TransactOpts, signatures, message, nonce)
   403  }
   404  
   405  // VerifySignatures is a paid mutator transaction binding the contract method 0x3fef2806.
   406  //
   407  // Solidity: function verifySignatures(bytes signatures, bytes message, uint256 nonce) returns(bool)
   408  func (_MultisigControl *MultisigControlTransactorSession) VerifySignatures(signatures []byte, message []byte, nonce *big.Int) (*types.Transaction, error) {
   409  	return _MultisigControl.Contract.VerifySignatures(&_MultisigControl.TransactOpts, signatures, message, nonce)
   410  }
   411  
   412  // MultisigControlNonceBurntIterator is returned from FilterNonceBurnt and is used to iterate over the raw logs and unpacked data for NonceBurnt events raised by the MultisigControl contract.
   413  type MultisigControlNonceBurntIterator struct {
   414  	Event *MultisigControlNonceBurnt // Event containing the contract specifics and raw log
   415  
   416  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   417  	event    string              // Event name to use for unpacking event data
   418  
   419  	logs chan types.Log        // Log channel receiving the found contract events
   420  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   421  	done bool                  // Whether the subscription completed delivering logs
   422  	fail error                 // Occurred error to stop iteration
   423  }
   424  
   425  // Next advances the iterator to the subsequent event, returning whether there
   426  // are any more events found. In case of a retrieval or parsing error, false is
   427  // returned and Error() can be queried for the exact failure.
   428  func (it *MultisigControlNonceBurntIterator) Next() bool {
   429  	// If the iterator failed, stop iterating
   430  	if it.fail != nil {
   431  		return false
   432  	}
   433  	// If the iterator completed, deliver directly whatever's available
   434  	if it.done {
   435  		select {
   436  		case log := <-it.logs:
   437  			it.Event = new(MultisigControlNonceBurnt)
   438  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   439  				it.fail = err
   440  				return false
   441  			}
   442  			it.Event.Raw = log
   443  			return true
   444  
   445  		default:
   446  			return false
   447  		}
   448  	}
   449  	// Iterator still in progress, wait for either a data or an error event
   450  	select {
   451  	case log := <-it.logs:
   452  		it.Event = new(MultisigControlNonceBurnt)
   453  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   454  			it.fail = err
   455  			return false
   456  		}
   457  		it.Event.Raw = log
   458  		return true
   459  
   460  	case err := <-it.sub.Err():
   461  		it.done = true
   462  		it.fail = err
   463  		return it.Next()
   464  	}
   465  }
   466  
   467  // Error returns any retrieval or parsing error occurred during filtering.
   468  func (it *MultisigControlNonceBurntIterator) Error() error {
   469  	return it.fail
   470  }
   471  
   472  // Close terminates the iteration process, releasing any pending underlying
   473  // resources.
   474  func (it *MultisigControlNonceBurntIterator) Close() error {
   475  	it.sub.Unsubscribe()
   476  	return nil
   477  }
   478  
   479  // MultisigControlNonceBurnt represents a NonceBurnt event raised by the MultisigControl contract.
   480  type MultisigControlNonceBurnt struct {
   481  	Nonce *big.Int
   482  	Raw   types.Log // Blockchain specific contextual infos
   483  }
   484  
   485  // FilterNonceBurnt is a free log retrieval operation binding the contract event 0xb33a7fc220f9e1c644c0f616b48edee1956a978a7dcb37a10f16e148969e4c0b.
   486  //
   487  // Solidity: event NonceBurnt(uint256 nonce)
   488  func (_MultisigControl *MultisigControlFilterer) FilterNonceBurnt(opts *bind.FilterOpts) (*MultisigControlNonceBurntIterator, error) {
   489  
   490  	logs, sub, err := _MultisigControl.contract.FilterLogs(opts, "NonceBurnt")
   491  	if err != nil {
   492  		return nil, err
   493  	}
   494  	return &MultisigControlNonceBurntIterator{contract: _MultisigControl.contract, event: "NonceBurnt", logs: logs, sub: sub}, nil
   495  }
   496  
   497  // WatchNonceBurnt is a free log subscription operation binding the contract event 0xb33a7fc220f9e1c644c0f616b48edee1956a978a7dcb37a10f16e148969e4c0b.
   498  //
   499  // Solidity: event NonceBurnt(uint256 nonce)
   500  func (_MultisigControl *MultisigControlFilterer) WatchNonceBurnt(opts *bind.WatchOpts, sink chan<- *MultisigControlNonceBurnt) (event.Subscription, error) {
   501  
   502  	logs, sub, err := _MultisigControl.contract.WatchLogs(opts, "NonceBurnt")
   503  	if err != nil {
   504  		return nil, err
   505  	}
   506  	return event.NewSubscription(func(quit <-chan struct{}) error {
   507  		defer sub.Unsubscribe()
   508  		for {
   509  			select {
   510  			case log := <-logs:
   511  				// New log arrived, parse the event and forward to the user
   512  				event := new(MultisigControlNonceBurnt)
   513  				if err := _MultisigControl.contract.UnpackLog(event, "NonceBurnt", log); err != nil {
   514  					return err
   515  				}
   516  				event.Raw = log
   517  
   518  				select {
   519  				case sink <- event:
   520  				case err := <-sub.Err():
   521  					return err
   522  				case <-quit:
   523  					return nil
   524  				}
   525  			case err := <-sub.Err():
   526  				return err
   527  			case <-quit:
   528  				return nil
   529  			}
   530  		}
   531  	}), nil
   532  }
   533  
   534  // ParseNonceBurnt is a log parse operation binding the contract event 0xb33a7fc220f9e1c644c0f616b48edee1956a978a7dcb37a10f16e148969e4c0b.
   535  //
   536  // Solidity: event NonceBurnt(uint256 nonce)
   537  func (_MultisigControl *MultisigControlFilterer) ParseNonceBurnt(log types.Log) (*MultisigControlNonceBurnt, error) {
   538  	event := new(MultisigControlNonceBurnt)
   539  	if err := _MultisigControl.contract.UnpackLog(event, "NonceBurnt", log); err != nil {
   540  		return nil, err
   541  	}
   542  	event.Raw = log
   543  	return event, nil
   544  }
   545  
   546  // MultisigControlSignerAddedIterator is returned from FilterSignerAdded and is used to iterate over the raw logs and unpacked data for SignerAdded events raised by the MultisigControl contract.
   547  type MultisigControlSignerAddedIterator struct {
   548  	Event *MultisigControlSignerAdded // Event containing the contract specifics and raw log
   549  
   550  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   551  	event    string              // Event name to use for unpacking event data
   552  
   553  	logs chan types.Log        // Log channel receiving the found contract events
   554  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   555  	done bool                  // Whether the subscription completed delivering logs
   556  	fail error                 // Occurred error to stop iteration
   557  }
   558  
   559  // Next advances the iterator to the subsequent event, returning whether there
   560  // are any more events found. In case of a retrieval or parsing error, false is
   561  // returned and Error() can be queried for the exact failure.
   562  func (it *MultisigControlSignerAddedIterator) Next() bool {
   563  	// If the iterator failed, stop iterating
   564  	if it.fail != nil {
   565  		return false
   566  	}
   567  	// If the iterator completed, deliver directly whatever's available
   568  	if it.done {
   569  		select {
   570  		case log := <-it.logs:
   571  			it.Event = new(MultisigControlSignerAdded)
   572  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   573  				it.fail = err
   574  				return false
   575  			}
   576  			it.Event.Raw = log
   577  			return true
   578  
   579  		default:
   580  			return false
   581  		}
   582  	}
   583  	// Iterator still in progress, wait for either a data or an error event
   584  	select {
   585  	case log := <-it.logs:
   586  		it.Event = new(MultisigControlSignerAdded)
   587  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   588  			it.fail = err
   589  			return false
   590  		}
   591  		it.Event.Raw = log
   592  		return true
   593  
   594  	case err := <-it.sub.Err():
   595  		it.done = true
   596  		it.fail = err
   597  		return it.Next()
   598  	}
   599  }
   600  
   601  // Error returns any retrieval or parsing error occurred during filtering.
   602  func (it *MultisigControlSignerAddedIterator) Error() error {
   603  	return it.fail
   604  }
   605  
   606  // Close terminates the iteration process, releasing any pending underlying
   607  // resources.
   608  func (it *MultisigControlSignerAddedIterator) Close() error {
   609  	it.sub.Unsubscribe()
   610  	return nil
   611  }
   612  
   613  // MultisigControlSignerAdded represents a SignerAdded event raised by the MultisigControl contract.
   614  type MultisigControlSignerAdded struct {
   615  	NewSigner common.Address
   616  	Nonce     *big.Int
   617  	Raw       types.Log // Blockchain specific contextual infos
   618  }
   619  
   620  // FilterSignerAdded is a free log retrieval operation binding the contract event 0x50999ebf9b59bf3157a58816611976f2d723378ad51457d7b0413209e0cdee59.
   621  //
   622  // Solidity: event SignerAdded(address newSigner, uint256 nonce)
   623  func (_MultisigControl *MultisigControlFilterer) FilterSignerAdded(opts *bind.FilterOpts) (*MultisigControlSignerAddedIterator, error) {
   624  
   625  	logs, sub, err := _MultisigControl.contract.FilterLogs(opts, "SignerAdded")
   626  	if err != nil {
   627  		return nil, err
   628  	}
   629  	return &MultisigControlSignerAddedIterator{contract: _MultisigControl.contract, event: "SignerAdded", logs: logs, sub: sub}, nil
   630  }
   631  
   632  // WatchSignerAdded is a free log subscription operation binding the contract event 0x50999ebf9b59bf3157a58816611976f2d723378ad51457d7b0413209e0cdee59.
   633  //
   634  // Solidity: event SignerAdded(address newSigner, uint256 nonce)
   635  func (_MultisigControl *MultisigControlFilterer) WatchSignerAdded(opts *bind.WatchOpts, sink chan<- *MultisigControlSignerAdded) (event.Subscription, error) {
   636  
   637  	logs, sub, err := _MultisigControl.contract.WatchLogs(opts, "SignerAdded")
   638  	if err != nil {
   639  		return nil, err
   640  	}
   641  	return event.NewSubscription(func(quit <-chan struct{}) error {
   642  		defer sub.Unsubscribe()
   643  		for {
   644  			select {
   645  			case log := <-logs:
   646  				// New log arrived, parse the event and forward to the user
   647  				event := new(MultisigControlSignerAdded)
   648  				if err := _MultisigControl.contract.UnpackLog(event, "SignerAdded", log); err != nil {
   649  					return err
   650  				}
   651  				event.Raw = log
   652  
   653  				select {
   654  				case sink <- event:
   655  				case err := <-sub.Err():
   656  					return err
   657  				case <-quit:
   658  					return nil
   659  				}
   660  			case err := <-sub.Err():
   661  				return err
   662  			case <-quit:
   663  				return nil
   664  			}
   665  		}
   666  	}), nil
   667  }
   668  
   669  // ParseSignerAdded is a log parse operation binding the contract event 0x50999ebf9b59bf3157a58816611976f2d723378ad51457d7b0413209e0cdee59.
   670  //
   671  // Solidity: event SignerAdded(address newSigner, uint256 nonce)
   672  func (_MultisigControl *MultisigControlFilterer) ParseSignerAdded(log types.Log) (*MultisigControlSignerAdded, error) {
   673  	event := new(MultisigControlSignerAdded)
   674  	if err := _MultisigControl.contract.UnpackLog(event, "SignerAdded", log); err != nil {
   675  		return nil, err
   676  	}
   677  	event.Raw = log
   678  	return event, nil
   679  }
   680  
   681  // MultisigControlSignerRemovedIterator is returned from FilterSignerRemoved and is used to iterate over the raw logs and unpacked data for SignerRemoved events raised by the MultisigControl contract.
   682  type MultisigControlSignerRemovedIterator struct {
   683  	Event *MultisigControlSignerRemoved // Event containing the contract specifics and raw log
   684  
   685  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   686  	event    string              // Event name to use for unpacking event data
   687  
   688  	logs chan types.Log        // Log channel receiving the found contract events
   689  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   690  	done bool                  // Whether the subscription completed delivering logs
   691  	fail error                 // Occurred error to stop iteration
   692  }
   693  
   694  // Next advances the iterator to the subsequent event, returning whether there
   695  // are any more events found. In case of a retrieval or parsing error, false is
   696  // returned and Error() can be queried for the exact failure.
   697  func (it *MultisigControlSignerRemovedIterator) Next() bool {
   698  	// If the iterator failed, stop iterating
   699  	if it.fail != nil {
   700  		return false
   701  	}
   702  	// If the iterator completed, deliver directly whatever's available
   703  	if it.done {
   704  		select {
   705  		case log := <-it.logs:
   706  			it.Event = new(MultisigControlSignerRemoved)
   707  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   708  				it.fail = err
   709  				return false
   710  			}
   711  			it.Event.Raw = log
   712  			return true
   713  
   714  		default:
   715  			return false
   716  		}
   717  	}
   718  	// Iterator still in progress, wait for either a data or an error event
   719  	select {
   720  	case log := <-it.logs:
   721  		it.Event = new(MultisigControlSignerRemoved)
   722  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   723  			it.fail = err
   724  			return false
   725  		}
   726  		it.Event.Raw = log
   727  		return true
   728  
   729  	case err := <-it.sub.Err():
   730  		it.done = true
   731  		it.fail = err
   732  		return it.Next()
   733  	}
   734  }
   735  
   736  // Error returns any retrieval or parsing error occurred during filtering.
   737  func (it *MultisigControlSignerRemovedIterator) Error() error {
   738  	return it.fail
   739  }
   740  
   741  // Close terminates the iteration process, releasing any pending underlying
   742  // resources.
   743  func (it *MultisigControlSignerRemovedIterator) Close() error {
   744  	it.sub.Unsubscribe()
   745  	return nil
   746  }
   747  
   748  // MultisigControlSignerRemoved represents a SignerRemoved event raised by the MultisigControl contract.
   749  type MultisigControlSignerRemoved struct {
   750  	OldSigner common.Address
   751  	Nonce     *big.Int
   752  	Raw       types.Log // Blockchain specific contextual infos
   753  }
   754  
   755  // FilterSignerRemoved is a free log retrieval operation binding the contract event 0x99c1d2c0ed8107e4db2e5dbfb10a2549cd2a63cbe39cf99d2adffbcd03954418.
   756  //
   757  // Solidity: event SignerRemoved(address oldSigner, uint256 nonce)
   758  func (_MultisigControl *MultisigControlFilterer) FilterSignerRemoved(opts *bind.FilterOpts) (*MultisigControlSignerRemovedIterator, error) {
   759  
   760  	logs, sub, err := _MultisigControl.contract.FilterLogs(opts, "SignerRemoved")
   761  	if err != nil {
   762  		return nil, err
   763  	}
   764  	return &MultisigControlSignerRemovedIterator{contract: _MultisigControl.contract, event: "SignerRemoved", logs: logs, sub: sub}, nil
   765  }
   766  
   767  // WatchSignerRemoved is a free log subscription operation binding the contract event 0x99c1d2c0ed8107e4db2e5dbfb10a2549cd2a63cbe39cf99d2adffbcd03954418.
   768  //
   769  // Solidity: event SignerRemoved(address oldSigner, uint256 nonce)
   770  func (_MultisigControl *MultisigControlFilterer) WatchSignerRemoved(opts *bind.WatchOpts, sink chan<- *MultisigControlSignerRemoved) (event.Subscription, error) {
   771  
   772  	logs, sub, err := _MultisigControl.contract.WatchLogs(opts, "SignerRemoved")
   773  	if err != nil {
   774  		return nil, err
   775  	}
   776  	return event.NewSubscription(func(quit <-chan struct{}) error {
   777  		defer sub.Unsubscribe()
   778  		for {
   779  			select {
   780  			case log := <-logs:
   781  				// New log arrived, parse the event and forward to the user
   782  				event := new(MultisigControlSignerRemoved)
   783  				if err := _MultisigControl.contract.UnpackLog(event, "SignerRemoved", log); err != nil {
   784  					return err
   785  				}
   786  				event.Raw = log
   787  
   788  				select {
   789  				case sink <- event:
   790  				case err := <-sub.Err():
   791  					return err
   792  				case <-quit:
   793  					return nil
   794  				}
   795  			case err := <-sub.Err():
   796  				return err
   797  			case <-quit:
   798  				return nil
   799  			}
   800  		}
   801  	}), nil
   802  }
   803  
   804  // ParseSignerRemoved is a log parse operation binding the contract event 0x99c1d2c0ed8107e4db2e5dbfb10a2549cd2a63cbe39cf99d2adffbcd03954418.
   805  //
   806  // Solidity: event SignerRemoved(address oldSigner, uint256 nonce)
   807  func (_MultisigControl *MultisigControlFilterer) ParseSignerRemoved(log types.Log) (*MultisigControlSignerRemoved, error) {
   808  	event := new(MultisigControlSignerRemoved)
   809  	if err := _MultisigControl.contract.UnpackLog(event, "SignerRemoved", log); err != nil {
   810  		return nil, err
   811  	}
   812  	event.Raw = log
   813  	return event, nil
   814  }
   815  
   816  // MultisigControlThresholdSetIterator is returned from FilterThresholdSet and is used to iterate over the raw logs and unpacked data for ThresholdSet events raised by the MultisigControl contract.
   817  type MultisigControlThresholdSetIterator struct {
   818  	Event *MultisigControlThresholdSet // Event containing the contract specifics and raw log
   819  
   820  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   821  	event    string              // Event name to use for unpacking event data
   822  
   823  	logs chan types.Log        // Log channel receiving the found contract events
   824  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   825  	done bool                  // Whether the subscription completed delivering logs
   826  	fail error                 // Occurred error to stop iteration
   827  }
   828  
   829  // Next advances the iterator to the subsequent event, returning whether there
   830  // are any more events found. In case of a retrieval or parsing error, false is
   831  // returned and Error() can be queried for the exact failure.
   832  func (it *MultisigControlThresholdSetIterator) Next() bool {
   833  	// If the iterator failed, stop iterating
   834  	if it.fail != nil {
   835  		return false
   836  	}
   837  	// If the iterator completed, deliver directly whatever's available
   838  	if it.done {
   839  		select {
   840  		case log := <-it.logs:
   841  			it.Event = new(MultisigControlThresholdSet)
   842  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   843  				it.fail = err
   844  				return false
   845  			}
   846  			it.Event.Raw = log
   847  			return true
   848  
   849  		default:
   850  			return false
   851  		}
   852  	}
   853  	// Iterator still in progress, wait for either a data or an error event
   854  	select {
   855  	case log := <-it.logs:
   856  		it.Event = new(MultisigControlThresholdSet)
   857  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   858  			it.fail = err
   859  			return false
   860  		}
   861  		it.Event.Raw = log
   862  		return true
   863  
   864  	case err := <-it.sub.Err():
   865  		it.done = true
   866  		it.fail = err
   867  		return it.Next()
   868  	}
   869  }
   870  
   871  // Error returns any retrieval or parsing error occurred during filtering.
   872  func (it *MultisigControlThresholdSetIterator) Error() error {
   873  	return it.fail
   874  }
   875  
   876  // Close terminates the iteration process, releasing any pending underlying
   877  // resources.
   878  func (it *MultisigControlThresholdSetIterator) Close() error {
   879  	it.sub.Unsubscribe()
   880  	return nil
   881  }
   882  
   883  // MultisigControlThresholdSet represents a ThresholdSet event raised by the MultisigControl contract.
   884  type MultisigControlThresholdSet struct {
   885  	NewThreshold uint16
   886  	Nonce        *big.Int
   887  	Raw          types.Log // Blockchain specific contextual infos
   888  }
   889  
   890  // FilterThresholdSet is a free log retrieval operation binding the contract event 0xf6d24c23627520a3b70e5dc66aa1249844b4bb407c2c153d9000a2b14a1e3c11.
   891  //
   892  // Solidity: event ThresholdSet(uint16 newThreshold, uint256 nonce)
   893  func (_MultisigControl *MultisigControlFilterer) FilterThresholdSet(opts *bind.FilterOpts) (*MultisigControlThresholdSetIterator, error) {
   894  
   895  	logs, sub, err := _MultisigControl.contract.FilterLogs(opts, "ThresholdSet")
   896  	if err != nil {
   897  		return nil, err
   898  	}
   899  	return &MultisigControlThresholdSetIterator{contract: _MultisigControl.contract, event: "ThresholdSet", logs: logs, sub: sub}, nil
   900  }
   901  
   902  // WatchThresholdSet is a free log subscription operation binding the contract event 0xf6d24c23627520a3b70e5dc66aa1249844b4bb407c2c153d9000a2b14a1e3c11.
   903  //
   904  // Solidity: event ThresholdSet(uint16 newThreshold, uint256 nonce)
   905  func (_MultisigControl *MultisigControlFilterer) WatchThresholdSet(opts *bind.WatchOpts, sink chan<- *MultisigControlThresholdSet) (event.Subscription, error) {
   906  
   907  	logs, sub, err := _MultisigControl.contract.WatchLogs(opts, "ThresholdSet")
   908  	if err != nil {
   909  		return nil, err
   910  	}
   911  	return event.NewSubscription(func(quit <-chan struct{}) error {
   912  		defer sub.Unsubscribe()
   913  		for {
   914  			select {
   915  			case log := <-logs:
   916  				// New log arrived, parse the event and forward to the user
   917  				event := new(MultisigControlThresholdSet)
   918  				if err := _MultisigControl.contract.UnpackLog(event, "ThresholdSet", log); err != nil {
   919  					return err
   920  				}
   921  				event.Raw = log
   922  
   923  				select {
   924  				case sink <- event:
   925  				case err := <-sub.Err():
   926  					return err
   927  				case <-quit:
   928  					return nil
   929  				}
   930  			case err := <-sub.Err():
   931  				return err
   932  			case <-quit:
   933  				return nil
   934  			}
   935  		}
   936  	}), nil
   937  }
   938  
   939  // ParseThresholdSet is a log parse operation binding the contract event 0xf6d24c23627520a3b70e5dc66aa1249844b4bb407c2c153d9000a2b14a1e3c11.
   940  //
   941  // Solidity: event ThresholdSet(uint16 newThreshold, uint256 nonce)
   942  func (_MultisigControl *MultisigControlFilterer) ParseThresholdSet(log types.Log) (*MultisigControlThresholdSet, error) {
   943  	event := new(MultisigControlThresholdSet)
   944  	if err := _MultisigControl.contract.UnpackLog(event, "ThresholdSet", log); err != nil {
   945  		return nil, err
   946  	}
   947  	event.Raw = log
   948  	return event, nil
   949  }