github.com/0xPolygon/supernets2-node@v0.0.0-20230711153321-2fe574524eaa/etherman/smartcontracts/supernets2datacommittee/supernets2datacommittee.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 supernets2datacommittee
     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  // Supernets2datacommitteeMetaData contains all meta data concerning the Supernets2datacommittee contract.
    33  var Supernets2datacommitteeMetaData = &bind.MetaData{
    34  	ABI: "[{\"inputs\":[],\"name\":\"CommitteeAddressDoesntExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EmptyURLNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooManyRequiredSignatures\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnexpectedAddrsAndSignaturesSize\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnexpectedAddrsBytesLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnexpectedCommitteeHash\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WrongAddrOrder\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"committeeHash\",\"type\":\"bytes32\"}],\"name\":\"CommitteeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"committeeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAmountOfMembers\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"members\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"requiredAmountOfSignatures\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requiredAmountOfSignatures\",\"type\":\"uint256\"},{\"internalType\":\"string[]\",\"name\":\"urls\",\"type\":\"string[]\"},{\"internalType\":\"bytes\",\"name\":\"addrsBytes\",\"type\":\"bytes\"}],\"name\":\"setupCommittee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"signedHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signaturesAndAddrs\",\"type\":\"bytes\"}],\"name\":\"verifySignatures\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"}]",
    35  	Bin: "0x608060405234801561001057600080fd5b506115e0806100206000396000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c80638129fc1c11610076578063c7a823e01161005b578063c7a823e01461015a578063dce1e2b61461016d578063f2fde38b1461017557600080fd5b80638129fc1c1461012a5780638da5cb5b1461013257600080fd5b8063609d4544116100a7578063609d4544146101025780636beedd3914610119578063715018a61461012257600080fd5b8063078fba2a146100c35780635daf08ca146100d8575b600080fd5b6100d66100d1366004610fa9565b610188565b005b6100eb6100e6366004611054565b61048c565b6040516100f992919061106d565b60405180910390f35b61010b60665481565b6040519081526020016100f9565b61010b60655481565b6100d661055e565b6100d6610572565b60335460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100f9565b6100d66101683660046110f6565b610709565b60675461010b565b6100d6610183366004611142565b61095c565b610190610a10565b82858110156101cb576040517f2e7dcd6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101d66014826111ae565b821461020e576040517f2ab6a12900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61021a60676000610eb5565b6000805b828110156104305760006102336014836111ae565b905060008682876102456014836111c5565b92610252939291906111d8565b61025b91611202565b60601c90508888848181106102725761027261124a565b90506020028101906102849190611279565b90506000036102bf576040517fb54b70e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610610324576040517fd53cfbe000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b809350606760405180604001604052808b8b878181106103465761034661124a565b90506020028101906103589190611279565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505073ffffffffffffffffffffffffffffffffffffffff851660209283015283546001810185559381522081519192600202019081906103cc90826113af565b5060209190910151600190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905550819050610428816114c9565b91505061021e565b508383604051610441929190611501565b6040519081900381206066819055606589905581527f831403fd381b3e6ac875d912ec2eee0e0203d0d29f7b3e0c96fc8f582d6db6579060200160405180910390a150505050505050565b6067818154811061049c57600080fd5b90600052602060002090600202016000915090508060000180546104bf9061130d565b80601f01602080910402602001604051908101604052809291908181526020018280546104eb9061130d565b80156105385780601f1061050d57610100808354040283529160200191610538565b820191906000526020600020905b81548152906001019060200180831161051b57829003601f168201915b5050506001909301549192505073ffffffffffffffffffffffffffffffffffffffff1682565b610566610a10565b6105706000610a91565b565b600054610100900460ff16158080156105925750600054600160ff909116105b806105ac5750303b1580156105ac575060005460ff166001145b61063d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561069b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6106a3610b08565b801561070657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6000606554604161071a91906111ae565b90508082108061073e575060146107318284611511565b61073b9190611553565b15155b15610775576040517f6b8eec4600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606654610784838381876111d8565b604051610792929190611501565b6040518091039020146107d1576040517f6b156b2800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060146107e08486611511565b6107ea9190611567565b905060005b60655481101561095357600061086a88888861080c6041876111ae565b90604161081981896111ae565b61082391906111c5565b92610830939291906111d8565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ba892505050565b90506000845b848110156109065760006108856014836111ae565b61088f90896111c5565b905060008a828b6108a16014836111c5565b926108ae939291906111d8565b6108b791611202565b60601c905073ffffffffffffffffffffffffffffffffffffffff851681036108f1576108e48360016111c5565b9750600193505050610906565b505080806108fe906114c9565b915050610870565b508061093e576040517f8431721300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050808061094b906114c9565b9150506107ef565b50505050505050565b610964610a10565b73ffffffffffffffffffffffffffffffffffffffff8116610a07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610634565b61070681610a91565b60335473ffffffffffffffffffffffffffffffffffffffff163314610570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610634565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610b9f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610634565b61057033610a91565b6000806000610bb78585610bce565b91509150610bc481610c13565b5090505b92915050565b6000808251604103610c045760208301516040840151606085015160001a610bf887828585610dc6565b94509450505050610c0c565b506000905060025b9250929050565b6000816004811115610c2757610c2761157b565b03610c2f5750565b6001816004811115610c4357610c4361157b565b03610caa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610634565b6002816004811115610cbe57610cbe61157b565b03610d25576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610634565b6003816004811115610d3957610d3961157b565b03610706576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610634565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115610dfd5750600090506003610eac565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015610e51573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116610ea557600060019250925050610eac565b9150600090505b94509492505050565b508054600082556002029060005260206000209081019061070691905b80821115610f19576000610ee68282610f1d565b506001810180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055600201610ed2565b5090565b508054610f299061130d565b6000825580601f10610f39575050565b601f01602090049060005260206000209081019061070691905b80821115610f195760008155600101610f53565b60008083601f840112610f7957600080fd5b50813567ffffffffffffffff811115610f9157600080fd5b602083019150836020828501011115610c0c57600080fd5b600080600080600060608688031215610fc157600080fd5b85359450602086013567ffffffffffffffff80821115610fe057600080fd5b818801915088601f830112610ff457600080fd5b81358181111561100357600080fd5b8960208260051b850101111561101857600080fd5b60208301965080955050604088013591508082111561103657600080fd5b5061104388828901610f67565b969995985093965092949392505050565b60006020828403121561106657600080fd5b5035919050565b604081526000835180604084015260005b8181101561109b576020818701810151606086840101520161107e565b5060006060828501015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b60008060006040848603121561110b57600080fd5b83359250602084013567ffffffffffffffff81111561112957600080fd5b61113586828701610f67565b9497909650939450505050565b60006020828403121561115457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461117857600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082028115828204841417610bc857610bc861117f565b80820180821115610bc857610bc861117f565b600080858511156111e857600080fd5b838611156111f557600080fd5b5050820193919092039150565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156112425780818660140360031b1b83161692505b505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126112ae57600080fd5b83018035915067ffffffffffffffff8211156112c957600080fd5b602001915036819003821315610c0c57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600181811c9082168061132157607f821691505b60208210810361135a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f8211156113aa57600081815260208120601f850160051c810160208610156113875750805b601f850160051c820191505b818110156113a657828155600101611393565b5050505b505050565b815167ffffffffffffffff8111156113c9576113c96112de565b6113dd816113d7845461130d565b84611360565b602080601f83116001811461143057600084156113fa5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556113a6565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561147d5788860151825594840194600190910190840161145e565b50858210156114b957878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036114fa576114fa61117f565b5060010190565b8183823760009101908152919050565b81810381811115610bc857610bc861117f565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261156257611562611524565b500690565b60008261157657611576611524565b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220a7cda335f388ab7e6f034edd256ac3bf132ec1297e19d952a06acd1bacb553ff64736f6c63430008110033",
    36  }
    37  
    38  // Supernets2datacommitteeABI is the input ABI used to generate the binding from.
    39  // Deprecated: Use Supernets2datacommitteeMetaData.ABI instead.
    40  var Supernets2datacommitteeABI = Supernets2datacommitteeMetaData.ABI
    41  
    42  // Supernets2datacommitteeBin is the compiled bytecode used for deploying new contracts.
    43  // Deprecated: Use Supernets2datacommitteeMetaData.Bin instead.
    44  var Supernets2datacommitteeBin = Supernets2datacommitteeMetaData.Bin
    45  
    46  // DeploySupernets2datacommittee deploys a new Ethereum contract, binding an instance of Supernets2datacommittee to it.
    47  func DeploySupernets2datacommittee(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Supernets2datacommittee, error) {
    48  	parsed, err := Supernets2datacommitteeMetaData.GetAbi()
    49  	if err != nil {
    50  		return common.Address{}, nil, nil, err
    51  	}
    52  	if parsed == nil {
    53  		return common.Address{}, nil, nil, errors.New("GetABI returned nil")
    54  	}
    55  
    56  	address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(Supernets2datacommitteeBin), backend)
    57  	if err != nil {
    58  		return common.Address{}, nil, nil, err
    59  	}
    60  	return address, tx, &Supernets2datacommittee{Supernets2datacommitteeCaller: Supernets2datacommitteeCaller{contract: contract}, Supernets2datacommitteeTransactor: Supernets2datacommitteeTransactor{contract: contract}, Supernets2datacommitteeFilterer: Supernets2datacommitteeFilterer{contract: contract}}, nil
    61  }
    62  
    63  // Supernets2datacommittee is an auto generated Go binding around an Ethereum contract.
    64  type Supernets2datacommittee struct {
    65  	Supernets2datacommitteeCaller     // Read-only binding to the contract
    66  	Supernets2datacommitteeTransactor // Write-only binding to the contract
    67  	Supernets2datacommitteeFilterer   // Log filterer for contract events
    68  }
    69  
    70  // Supernets2datacommitteeCaller is an auto generated read-only Go binding around an Ethereum contract.
    71  type Supernets2datacommitteeCaller struct {
    72  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    73  }
    74  
    75  // Supernets2datacommitteeTransactor is an auto generated write-only Go binding around an Ethereum contract.
    76  type Supernets2datacommitteeTransactor struct {
    77  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    78  }
    79  
    80  // Supernets2datacommitteeFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
    81  type Supernets2datacommitteeFilterer struct {
    82  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    83  }
    84  
    85  // Supernets2datacommitteeSession is an auto generated Go binding around an Ethereum contract,
    86  // with pre-set call and transact options.
    87  type Supernets2datacommitteeSession struct {
    88  	Contract     *Supernets2datacommittee // Generic contract binding to set the session for
    89  	CallOpts     bind.CallOpts            // Call options to use throughout this session
    90  	TransactOpts bind.TransactOpts        // Transaction auth options to use throughout this session
    91  }
    92  
    93  // Supernets2datacommitteeCallerSession is an auto generated read-only Go binding around an Ethereum contract,
    94  // with pre-set call options.
    95  type Supernets2datacommitteeCallerSession struct {
    96  	Contract *Supernets2datacommitteeCaller // Generic contract caller binding to set the session for
    97  	CallOpts bind.CallOpts                  // Call options to use throughout this session
    98  }
    99  
   100  // Supernets2datacommitteeTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
   101  // with pre-set transact options.
   102  type Supernets2datacommitteeTransactorSession struct {
   103  	Contract     *Supernets2datacommitteeTransactor // Generic contract transactor binding to set the session for
   104  	TransactOpts bind.TransactOpts                  // Transaction auth options to use throughout this session
   105  }
   106  
   107  // Supernets2datacommitteeRaw is an auto generated low-level Go binding around an Ethereum contract.
   108  type Supernets2datacommitteeRaw struct {
   109  	Contract *Supernets2datacommittee // Generic contract binding to access the raw methods on
   110  }
   111  
   112  // Supernets2datacommitteeCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
   113  type Supernets2datacommitteeCallerRaw struct {
   114  	Contract *Supernets2datacommitteeCaller // Generic read-only contract binding to access the raw methods on
   115  }
   116  
   117  // Supernets2datacommitteeTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
   118  type Supernets2datacommitteeTransactorRaw struct {
   119  	Contract *Supernets2datacommitteeTransactor // Generic write-only contract binding to access the raw methods on
   120  }
   121  
   122  // NewSupernets2datacommittee creates a new instance of Supernets2datacommittee, bound to a specific deployed contract.
   123  func NewSupernets2datacommittee(address common.Address, backend bind.ContractBackend) (*Supernets2datacommittee, error) {
   124  	contract, err := bindSupernets2datacommittee(address, backend, backend, backend)
   125  	if err != nil {
   126  		return nil, err
   127  	}
   128  	return &Supernets2datacommittee{Supernets2datacommitteeCaller: Supernets2datacommitteeCaller{contract: contract}, Supernets2datacommitteeTransactor: Supernets2datacommitteeTransactor{contract: contract}, Supernets2datacommitteeFilterer: Supernets2datacommitteeFilterer{contract: contract}}, nil
   129  }
   130  
   131  // NewSupernets2datacommitteeCaller creates a new read-only instance of Supernets2datacommittee, bound to a specific deployed contract.
   132  func NewSupernets2datacommitteeCaller(address common.Address, caller bind.ContractCaller) (*Supernets2datacommitteeCaller, error) {
   133  	contract, err := bindSupernets2datacommittee(address, caller, nil, nil)
   134  	if err != nil {
   135  		return nil, err
   136  	}
   137  	return &Supernets2datacommitteeCaller{contract: contract}, nil
   138  }
   139  
   140  // NewSupernets2datacommitteeTransactor creates a new write-only instance of Supernets2datacommittee, bound to a specific deployed contract.
   141  func NewSupernets2datacommitteeTransactor(address common.Address, transactor bind.ContractTransactor) (*Supernets2datacommitteeTransactor, error) {
   142  	contract, err := bindSupernets2datacommittee(address, nil, transactor, nil)
   143  	if err != nil {
   144  		return nil, err
   145  	}
   146  	return &Supernets2datacommitteeTransactor{contract: contract}, nil
   147  }
   148  
   149  // NewSupernets2datacommitteeFilterer creates a new log filterer instance of Supernets2datacommittee, bound to a specific deployed contract.
   150  func NewSupernets2datacommitteeFilterer(address common.Address, filterer bind.ContractFilterer) (*Supernets2datacommitteeFilterer, error) {
   151  	contract, err := bindSupernets2datacommittee(address, nil, nil, filterer)
   152  	if err != nil {
   153  		return nil, err
   154  	}
   155  	return &Supernets2datacommitteeFilterer{contract: contract}, nil
   156  }
   157  
   158  // bindSupernets2datacommittee binds a generic wrapper to an already deployed contract.
   159  func bindSupernets2datacommittee(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   160  	parsed, err := Supernets2datacommitteeMetaData.GetAbi()
   161  	if err != nil {
   162  		return nil, err
   163  	}
   164  	return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil
   165  }
   166  
   167  // Call invokes the (constant) contract method with params as input values and
   168  // sets the output to result. The result type might be a single field for simple
   169  // returns, a slice of interfaces for anonymous returns and a struct for named
   170  // returns.
   171  func (_Supernets2datacommittee *Supernets2datacommitteeRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   172  	return _Supernets2datacommittee.Contract.Supernets2datacommitteeCaller.contract.Call(opts, result, method, params...)
   173  }
   174  
   175  // Transfer initiates a plain transaction to move funds to the contract, calling
   176  // its default method if one is available.
   177  func (_Supernets2datacommittee *Supernets2datacommitteeRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   178  	return _Supernets2datacommittee.Contract.Supernets2datacommitteeTransactor.contract.Transfer(opts)
   179  }
   180  
   181  // Transact invokes the (paid) contract method with params as input values.
   182  func (_Supernets2datacommittee *Supernets2datacommitteeRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   183  	return _Supernets2datacommittee.Contract.Supernets2datacommitteeTransactor.contract.Transact(opts, method, params...)
   184  }
   185  
   186  // Call invokes the (constant) contract method with params as input values and
   187  // sets the output to result. The result type might be a single field for simple
   188  // returns, a slice of interfaces for anonymous returns and a struct for named
   189  // returns.
   190  func (_Supernets2datacommittee *Supernets2datacommitteeCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   191  	return _Supernets2datacommittee.Contract.contract.Call(opts, result, method, params...)
   192  }
   193  
   194  // Transfer initiates a plain transaction to move funds to the contract, calling
   195  // its default method if one is available.
   196  func (_Supernets2datacommittee *Supernets2datacommitteeTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   197  	return _Supernets2datacommittee.Contract.contract.Transfer(opts)
   198  }
   199  
   200  // Transact invokes the (paid) contract method with params as input values.
   201  func (_Supernets2datacommittee *Supernets2datacommitteeTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   202  	return _Supernets2datacommittee.Contract.contract.Transact(opts, method, params...)
   203  }
   204  
   205  // CommitteeHash is a free data retrieval call binding the contract method 0x609d4544.
   206  //
   207  // Solidity: function committeeHash() view returns(bytes32)
   208  func (_Supernets2datacommittee *Supernets2datacommitteeCaller) CommitteeHash(opts *bind.CallOpts) ([32]byte, error) {
   209  	var out []interface{}
   210  	err := _Supernets2datacommittee.contract.Call(opts, &out, "committeeHash")
   211  
   212  	if err != nil {
   213  		return *new([32]byte), err
   214  	}
   215  
   216  	out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
   217  
   218  	return out0, err
   219  
   220  }
   221  
   222  // CommitteeHash is a free data retrieval call binding the contract method 0x609d4544.
   223  //
   224  // Solidity: function committeeHash() view returns(bytes32)
   225  func (_Supernets2datacommittee *Supernets2datacommitteeSession) CommitteeHash() ([32]byte, error) {
   226  	return _Supernets2datacommittee.Contract.CommitteeHash(&_Supernets2datacommittee.CallOpts)
   227  }
   228  
   229  // CommitteeHash is a free data retrieval call binding the contract method 0x609d4544.
   230  //
   231  // Solidity: function committeeHash() view returns(bytes32)
   232  func (_Supernets2datacommittee *Supernets2datacommitteeCallerSession) CommitteeHash() ([32]byte, error) {
   233  	return _Supernets2datacommittee.Contract.CommitteeHash(&_Supernets2datacommittee.CallOpts)
   234  }
   235  
   236  // GetAmountOfMembers is a free data retrieval call binding the contract method 0xdce1e2b6.
   237  //
   238  // Solidity: function getAmountOfMembers() view returns(uint256)
   239  func (_Supernets2datacommittee *Supernets2datacommitteeCaller) GetAmountOfMembers(opts *bind.CallOpts) (*big.Int, error) {
   240  	var out []interface{}
   241  	err := _Supernets2datacommittee.contract.Call(opts, &out, "getAmountOfMembers")
   242  
   243  	if err != nil {
   244  		return *new(*big.Int), err
   245  	}
   246  
   247  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   248  
   249  	return out0, err
   250  
   251  }
   252  
   253  // GetAmountOfMembers is a free data retrieval call binding the contract method 0xdce1e2b6.
   254  //
   255  // Solidity: function getAmountOfMembers() view returns(uint256)
   256  func (_Supernets2datacommittee *Supernets2datacommitteeSession) GetAmountOfMembers() (*big.Int, error) {
   257  	return _Supernets2datacommittee.Contract.GetAmountOfMembers(&_Supernets2datacommittee.CallOpts)
   258  }
   259  
   260  // GetAmountOfMembers is a free data retrieval call binding the contract method 0xdce1e2b6.
   261  //
   262  // Solidity: function getAmountOfMembers() view returns(uint256)
   263  func (_Supernets2datacommittee *Supernets2datacommitteeCallerSession) GetAmountOfMembers() (*big.Int, error) {
   264  	return _Supernets2datacommittee.Contract.GetAmountOfMembers(&_Supernets2datacommittee.CallOpts)
   265  }
   266  
   267  // Members is a free data retrieval call binding the contract method 0x5daf08ca.
   268  //
   269  // Solidity: function members(uint256 ) view returns(string url, address addr)
   270  func (_Supernets2datacommittee *Supernets2datacommitteeCaller) Members(opts *bind.CallOpts, arg0 *big.Int) (struct {
   271  	Url  string
   272  	Addr common.Address
   273  }, error) {
   274  	var out []interface{}
   275  	err := _Supernets2datacommittee.contract.Call(opts, &out, "members", arg0)
   276  
   277  	outstruct := new(struct {
   278  		Url  string
   279  		Addr common.Address
   280  	})
   281  	if err != nil {
   282  		return *outstruct, err
   283  	}
   284  
   285  	outstruct.Url = *abi.ConvertType(out[0], new(string)).(*string)
   286  	outstruct.Addr = *abi.ConvertType(out[1], new(common.Address)).(*common.Address)
   287  
   288  	return *outstruct, err
   289  
   290  }
   291  
   292  // Members is a free data retrieval call binding the contract method 0x5daf08ca.
   293  //
   294  // Solidity: function members(uint256 ) view returns(string url, address addr)
   295  func (_Supernets2datacommittee *Supernets2datacommitteeSession) Members(arg0 *big.Int) (struct {
   296  	Url  string
   297  	Addr common.Address
   298  }, error) {
   299  	return _Supernets2datacommittee.Contract.Members(&_Supernets2datacommittee.CallOpts, arg0)
   300  }
   301  
   302  // Members is a free data retrieval call binding the contract method 0x5daf08ca.
   303  //
   304  // Solidity: function members(uint256 ) view returns(string url, address addr)
   305  func (_Supernets2datacommittee *Supernets2datacommitteeCallerSession) Members(arg0 *big.Int) (struct {
   306  	Url  string
   307  	Addr common.Address
   308  }, error) {
   309  	return _Supernets2datacommittee.Contract.Members(&_Supernets2datacommittee.CallOpts, arg0)
   310  }
   311  
   312  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   313  //
   314  // Solidity: function owner() view returns(address)
   315  func (_Supernets2datacommittee *Supernets2datacommitteeCaller) Owner(opts *bind.CallOpts) (common.Address, error) {
   316  	var out []interface{}
   317  	err := _Supernets2datacommittee.contract.Call(opts, &out, "owner")
   318  
   319  	if err != nil {
   320  		return *new(common.Address), err
   321  	}
   322  
   323  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   324  
   325  	return out0, err
   326  
   327  }
   328  
   329  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   330  //
   331  // Solidity: function owner() view returns(address)
   332  func (_Supernets2datacommittee *Supernets2datacommitteeSession) Owner() (common.Address, error) {
   333  	return _Supernets2datacommittee.Contract.Owner(&_Supernets2datacommittee.CallOpts)
   334  }
   335  
   336  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   337  //
   338  // Solidity: function owner() view returns(address)
   339  func (_Supernets2datacommittee *Supernets2datacommitteeCallerSession) Owner() (common.Address, error) {
   340  	return _Supernets2datacommittee.Contract.Owner(&_Supernets2datacommittee.CallOpts)
   341  }
   342  
   343  // RequiredAmountOfSignatures is a free data retrieval call binding the contract method 0x6beedd39.
   344  //
   345  // Solidity: function requiredAmountOfSignatures() view returns(uint256)
   346  func (_Supernets2datacommittee *Supernets2datacommitteeCaller) RequiredAmountOfSignatures(opts *bind.CallOpts) (*big.Int, error) {
   347  	var out []interface{}
   348  	err := _Supernets2datacommittee.contract.Call(opts, &out, "requiredAmountOfSignatures")
   349  
   350  	if err != nil {
   351  		return *new(*big.Int), err
   352  	}
   353  
   354  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   355  
   356  	return out0, err
   357  
   358  }
   359  
   360  // RequiredAmountOfSignatures is a free data retrieval call binding the contract method 0x6beedd39.
   361  //
   362  // Solidity: function requiredAmountOfSignatures() view returns(uint256)
   363  func (_Supernets2datacommittee *Supernets2datacommitteeSession) RequiredAmountOfSignatures() (*big.Int, error) {
   364  	return _Supernets2datacommittee.Contract.RequiredAmountOfSignatures(&_Supernets2datacommittee.CallOpts)
   365  }
   366  
   367  // RequiredAmountOfSignatures is a free data retrieval call binding the contract method 0x6beedd39.
   368  //
   369  // Solidity: function requiredAmountOfSignatures() view returns(uint256)
   370  func (_Supernets2datacommittee *Supernets2datacommitteeCallerSession) RequiredAmountOfSignatures() (*big.Int, error) {
   371  	return _Supernets2datacommittee.Contract.RequiredAmountOfSignatures(&_Supernets2datacommittee.CallOpts)
   372  }
   373  
   374  // VerifySignatures is a free data retrieval call binding the contract method 0xc7a823e0.
   375  //
   376  // Solidity: function verifySignatures(bytes32 signedHash, bytes signaturesAndAddrs) view returns()
   377  func (_Supernets2datacommittee *Supernets2datacommitteeCaller) VerifySignatures(opts *bind.CallOpts, signedHash [32]byte, signaturesAndAddrs []byte) error {
   378  	var out []interface{}
   379  	err := _Supernets2datacommittee.contract.Call(opts, &out, "verifySignatures", signedHash, signaturesAndAddrs)
   380  
   381  	if err != nil {
   382  		return err
   383  	}
   384  
   385  	return err
   386  
   387  }
   388  
   389  // VerifySignatures is a free data retrieval call binding the contract method 0xc7a823e0.
   390  //
   391  // Solidity: function verifySignatures(bytes32 signedHash, bytes signaturesAndAddrs) view returns()
   392  func (_Supernets2datacommittee *Supernets2datacommitteeSession) VerifySignatures(signedHash [32]byte, signaturesAndAddrs []byte) error {
   393  	return _Supernets2datacommittee.Contract.VerifySignatures(&_Supernets2datacommittee.CallOpts, signedHash, signaturesAndAddrs)
   394  }
   395  
   396  // VerifySignatures is a free data retrieval call binding the contract method 0xc7a823e0.
   397  //
   398  // Solidity: function verifySignatures(bytes32 signedHash, bytes signaturesAndAddrs) view returns()
   399  func (_Supernets2datacommittee *Supernets2datacommitteeCallerSession) VerifySignatures(signedHash [32]byte, signaturesAndAddrs []byte) error {
   400  	return _Supernets2datacommittee.Contract.VerifySignatures(&_Supernets2datacommittee.CallOpts, signedHash, signaturesAndAddrs)
   401  }
   402  
   403  // Initialize is a paid mutator transaction binding the contract method 0x8129fc1c.
   404  //
   405  // Solidity: function initialize() returns()
   406  func (_Supernets2datacommittee *Supernets2datacommitteeTransactor) Initialize(opts *bind.TransactOpts) (*types.Transaction, error) {
   407  	return _Supernets2datacommittee.contract.Transact(opts, "initialize")
   408  }
   409  
   410  // Initialize is a paid mutator transaction binding the contract method 0x8129fc1c.
   411  //
   412  // Solidity: function initialize() returns()
   413  func (_Supernets2datacommittee *Supernets2datacommitteeSession) Initialize() (*types.Transaction, error) {
   414  	return _Supernets2datacommittee.Contract.Initialize(&_Supernets2datacommittee.TransactOpts)
   415  }
   416  
   417  // Initialize is a paid mutator transaction binding the contract method 0x8129fc1c.
   418  //
   419  // Solidity: function initialize() returns()
   420  func (_Supernets2datacommittee *Supernets2datacommitteeTransactorSession) Initialize() (*types.Transaction, error) {
   421  	return _Supernets2datacommittee.Contract.Initialize(&_Supernets2datacommittee.TransactOpts)
   422  }
   423  
   424  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
   425  //
   426  // Solidity: function renounceOwnership() returns()
   427  func (_Supernets2datacommittee *Supernets2datacommitteeTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) {
   428  	return _Supernets2datacommittee.contract.Transact(opts, "renounceOwnership")
   429  }
   430  
   431  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
   432  //
   433  // Solidity: function renounceOwnership() returns()
   434  func (_Supernets2datacommittee *Supernets2datacommitteeSession) RenounceOwnership() (*types.Transaction, error) {
   435  	return _Supernets2datacommittee.Contract.RenounceOwnership(&_Supernets2datacommittee.TransactOpts)
   436  }
   437  
   438  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
   439  //
   440  // Solidity: function renounceOwnership() returns()
   441  func (_Supernets2datacommittee *Supernets2datacommitteeTransactorSession) RenounceOwnership() (*types.Transaction, error) {
   442  	return _Supernets2datacommittee.Contract.RenounceOwnership(&_Supernets2datacommittee.TransactOpts)
   443  }
   444  
   445  // SetupCommittee is a paid mutator transaction binding the contract method 0x078fba2a.
   446  //
   447  // Solidity: function setupCommittee(uint256 _requiredAmountOfSignatures, string[] urls, bytes addrsBytes) returns()
   448  func (_Supernets2datacommittee *Supernets2datacommitteeTransactor) SetupCommittee(opts *bind.TransactOpts, _requiredAmountOfSignatures *big.Int, urls []string, addrsBytes []byte) (*types.Transaction, error) {
   449  	return _Supernets2datacommittee.contract.Transact(opts, "setupCommittee", _requiredAmountOfSignatures, urls, addrsBytes)
   450  }
   451  
   452  // SetupCommittee is a paid mutator transaction binding the contract method 0x078fba2a.
   453  //
   454  // Solidity: function setupCommittee(uint256 _requiredAmountOfSignatures, string[] urls, bytes addrsBytes) returns()
   455  func (_Supernets2datacommittee *Supernets2datacommitteeSession) SetupCommittee(_requiredAmountOfSignatures *big.Int, urls []string, addrsBytes []byte) (*types.Transaction, error) {
   456  	return _Supernets2datacommittee.Contract.SetupCommittee(&_Supernets2datacommittee.TransactOpts, _requiredAmountOfSignatures, urls, addrsBytes)
   457  }
   458  
   459  // SetupCommittee is a paid mutator transaction binding the contract method 0x078fba2a.
   460  //
   461  // Solidity: function setupCommittee(uint256 _requiredAmountOfSignatures, string[] urls, bytes addrsBytes) returns()
   462  func (_Supernets2datacommittee *Supernets2datacommitteeTransactorSession) SetupCommittee(_requiredAmountOfSignatures *big.Int, urls []string, addrsBytes []byte) (*types.Transaction, error) {
   463  	return _Supernets2datacommittee.Contract.SetupCommittee(&_Supernets2datacommittee.TransactOpts, _requiredAmountOfSignatures, urls, addrsBytes)
   464  }
   465  
   466  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
   467  //
   468  // Solidity: function transferOwnership(address newOwner) returns()
   469  func (_Supernets2datacommittee *Supernets2datacommitteeTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) {
   470  	return _Supernets2datacommittee.contract.Transact(opts, "transferOwnership", newOwner)
   471  }
   472  
   473  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
   474  //
   475  // Solidity: function transferOwnership(address newOwner) returns()
   476  func (_Supernets2datacommittee *Supernets2datacommitteeSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
   477  	return _Supernets2datacommittee.Contract.TransferOwnership(&_Supernets2datacommittee.TransactOpts, newOwner)
   478  }
   479  
   480  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
   481  //
   482  // Solidity: function transferOwnership(address newOwner) returns()
   483  func (_Supernets2datacommittee *Supernets2datacommitteeTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
   484  	return _Supernets2datacommittee.Contract.TransferOwnership(&_Supernets2datacommittee.TransactOpts, newOwner)
   485  }
   486  
   487  // Supernets2datacommitteeCommitteeUpdatedIterator is returned from FilterCommitteeUpdated and is used to iterate over the raw logs and unpacked data for CommitteeUpdated events raised by the Supernets2datacommittee contract.
   488  type Supernets2datacommitteeCommitteeUpdatedIterator struct {
   489  	Event *Supernets2datacommitteeCommitteeUpdated // Event containing the contract specifics and raw log
   490  
   491  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   492  	event    string              // Event name to use for unpacking event data
   493  
   494  	logs chan types.Log        // Log channel receiving the found contract events
   495  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   496  	done bool                  // Whether the subscription completed delivering logs
   497  	fail error                 // Occurred error to stop iteration
   498  }
   499  
   500  // Next advances the iterator to the subsequent event, returning whether there
   501  // are any more events found. In case of a retrieval or parsing error, false is
   502  // returned and Error() can be queried for the exact failure.
   503  func (it *Supernets2datacommitteeCommitteeUpdatedIterator) Next() bool {
   504  	// If the iterator failed, stop iterating
   505  	if it.fail != nil {
   506  		return false
   507  	}
   508  	// If the iterator completed, deliver directly whatever's available
   509  	if it.done {
   510  		select {
   511  		case log := <-it.logs:
   512  			it.Event = new(Supernets2datacommitteeCommitteeUpdated)
   513  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   514  				it.fail = err
   515  				return false
   516  			}
   517  			it.Event.Raw = log
   518  			return true
   519  
   520  		default:
   521  			return false
   522  		}
   523  	}
   524  	// Iterator still in progress, wait for either a data or an error event
   525  	select {
   526  	case log := <-it.logs:
   527  		it.Event = new(Supernets2datacommitteeCommitteeUpdated)
   528  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   529  			it.fail = err
   530  			return false
   531  		}
   532  		it.Event.Raw = log
   533  		return true
   534  
   535  	case err := <-it.sub.Err():
   536  		it.done = true
   537  		it.fail = err
   538  		return it.Next()
   539  	}
   540  }
   541  
   542  // Error returns any retrieval or parsing error occurred during filtering.
   543  func (it *Supernets2datacommitteeCommitteeUpdatedIterator) Error() error {
   544  	return it.fail
   545  }
   546  
   547  // Close terminates the iteration process, releasing any pending underlying
   548  // resources.
   549  func (it *Supernets2datacommitteeCommitteeUpdatedIterator) Close() error {
   550  	it.sub.Unsubscribe()
   551  	return nil
   552  }
   553  
   554  // Supernets2datacommitteeCommitteeUpdated represents a CommitteeUpdated event raised by the Supernets2datacommittee contract.
   555  type Supernets2datacommitteeCommitteeUpdated struct {
   556  	CommitteeHash [32]byte
   557  	Raw           types.Log // Blockchain specific contextual infos
   558  }
   559  
   560  // FilterCommitteeUpdated is a free log retrieval operation binding the contract event 0x831403fd381b3e6ac875d912ec2eee0e0203d0d29f7b3e0c96fc8f582d6db657.
   561  //
   562  // Solidity: event CommitteeUpdated(bytes32 committeeHash)
   563  func (_Supernets2datacommittee *Supernets2datacommitteeFilterer) FilterCommitteeUpdated(opts *bind.FilterOpts) (*Supernets2datacommitteeCommitteeUpdatedIterator, error) {
   564  
   565  	logs, sub, err := _Supernets2datacommittee.contract.FilterLogs(opts, "CommitteeUpdated")
   566  	if err != nil {
   567  		return nil, err
   568  	}
   569  	return &Supernets2datacommitteeCommitteeUpdatedIterator{contract: _Supernets2datacommittee.contract, event: "CommitteeUpdated", logs: logs, sub: sub}, nil
   570  }
   571  
   572  // WatchCommitteeUpdated is a free log subscription operation binding the contract event 0x831403fd381b3e6ac875d912ec2eee0e0203d0d29f7b3e0c96fc8f582d6db657.
   573  //
   574  // Solidity: event CommitteeUpdated(bytes32 committeeHash)
   575  func (_Supernets2datacommittee *Supernets2datacommitteeFilterer) WatchCommitteeUpdated(opts *bind.WatchOpts, sink chan<- *Supernets2datacommitteeCommitteeUpdated) (event.Subscription, error) {
   576  
   577  	logs, sub, err := _Supernets2datacommittee.contract.WatchLogs(opts, "CommitteeUpdated")
   578  	if err != nil {
   579  		return nil, err
   580  	}
   581  	return event.NewSubscription(func(quit <-chan struct{}) error {
   582  		defer sub.Unsubscribe()
   583  		for {
   584  			select {
   585  			case log := <-logs:
   586  				// New log arrived, parse the event and forward to the user
   587  				event := new(Supernets2datacommitteeCommitteeUpdated)
   588  				if err := _Supernets2datacommittee.contract.UnpackLog(event, "CommitteeUpdated", log); err != nil {
   589  					return err
   590  				}
   591  				event.Raw = log
   592  
   593  				select {
   594  				case sink <- event:
   595  				case err := <-sub.Err():
   596  					return err
   597  				case <-quit:
   598  					return nil
   599  				}
   600  			case err := <-sub.Err():
   601  				return err
   602  			case <-quit:
   603  				return nil
   604  			}
   605  		}
   606  	}), nil
   607  }
   608  
   609  // ParseCommitteeUpdated is a log parse operation binding the contract event 0x831403fd381b3e6ac875d912ec2eee0e0203d0d29f7b3e0c96fc8f582d6db657.
   610  //
   611  // Solidity: event CommitteeUpdated(bytes32 committeeHash)
   612  func (_Supernets2datacommittee *Supernets2datacommitteeFilterer) ParseCommitteeUpdated(log types.Log) (*Supernets2datacommitteeCommitteeUpdated, error) {
   613  	event := new(Supernets2datacommitteeCommitteeUpdated)
   614  	if err := _Supernets2datacommittee.contract.UnpackLog(event, "CommitteeUpdated", log); err != nil {
   615  		return nil, err
   616  	}
   617  	event.Raw = log
   618  	return event, nil
   619  }
   620  
   621  // Supernets2datacommitteeInitializedIterator is returned from FilterInitialized and is used to iterate over the raw logs and unpacked data for Initialized events raised by the Supernets2datacommittee contract.
   622  type Supernets2datacommitteeInitializedIterator struct {
   623  	Event *Supernets2datacommitteeInitialized // Event containing the contract specifics and raw log
   624  
   625  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   626  	event    string              // Event name to use for unpacking event data
   627  
   628  	logs chan types.Log        // Log channel receiving the found contract events
   629  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   630  	done bool                  // Whether the subscription completed delivering logs
   631  	fail error                 // Occurred error to stop iteration
   632  }
   633  
   634  // Next advances the iterator to the subsequent event, returning whether there
   635  // are any more events found. In case of a retrieval or parsing error, false is
   636  // returned and Error() can be queried for the exact failure.
   637  func (it *Supernets2datacommitteeInitializedIterator) Next() bool {
   638  	// If the iterator failed, stop iterating
   639  	if it.fail != nil {
   640  		return false
   641  	}
   642  	// If the iterator completed, deliver directly whatever's available
   643  	if it.done {
   644  		select {
   645  		case log := <-it.logs:
   646  			it.Event = new(Supernets2datacommitteeInitialized)
   647  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   648  				it.fail = err
   649  				return false
   650  			}
   651  			it.Event.Raw = log
   652  			return true
   653  
   654  		default:
   655  			return false
   656  		}
   657  	}
   658  	// Iterator still in progress, wait for either a data or an error event
   659  	select {
   660  	case log := <-it.logs:
   661  		it.Event = new(Supernets2datacommitteeInitialized)
   662  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   663  			it.fail = err
   664  			return false
   665  		}
   666  		it.Event.Raw = log
   667  		return true
   668  
   669  	case err := <-it.sub.Err():
   670  		it.done = true
   671  		it.fail = err
   672  		return it.Next()
   673  	}
   674  }
   675  
   676  // Error returns any retrieval or parsing error occurred during filtering.
   677  func (it *Supernets2datacommitteeInitializedIterator) Error() error {
   678  	return it.fail
   679  }
   680  
   681  // Close terminates the iteration process, releasing any pending underlying
   682  // resources.
   683  func (it *Supernets2datacommitteeInitializedIterator) Close() error {
   684  	it.sub.Unsubscribe()
   685  	return nil
   686  }
   687  
   688  // Supernets2datacommitteeInitialized represents a Initialized event raised by the Supernets2datacommittee contract.
   689  type Supernets2datacommitteeInitialized struct {
   690  	Version uint8
   691  	Raw     types.Log // Blockchain specific contextual infos
   692  }
   693  
   694  // FilterInitialized is a free log retrieval operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498.
   695  //
   696  // Solidity: event Initialized(uint8 version)
   697  func (_Supernets2datacommittee *Supernets2datacommitteeFilterer) FilterInitialized(opts *bind.FilterOpts) (*Supernets2datacommitteeInitializedIterator, error) {
   698  
   699  	logs, sub, err := _Supernets2datacommittee.contract.FilterLogs(opts, "Initialized")
   700  	if err != nil {
   701  		return nil, err
   702  	}
   703  	return &Supernets2datacommitteeInitializedIterator{contract: _Supernets2datacommittee.contract, event: "Initialized", logs: logs, sub: sub}, nil
   704  }
   705  
   706  // WatchInitialized is a free log subscription operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498.
   707  //
   708  // Solidity: event Initialized(uint8 version)
   709  func (_Supernets2datacommittee *Supernets2datacommitteeFilterer) WatchInitialized(opts *bind.WatchOpts, sink chan<- *Supernets2datacommitteeInitialized) (event.Subscription, error) {
   710  
   711  	logs, sub, err := _Supernets2datacommittee.contract.WatchLogs(opts, "Initialized")
   712  	if err != nil {
   713  		return nil, err
   714  	}
   715  	return event.NewSubscription(func(quit <-chan struct{}) error {
   716  		defer sub.Unsubscribe()
   717  		for {
   718  			select {
   719  			case log := <-logs:
   720  				// New log arrived, parse the event and forward to the user
   721  				event := new(Supernets2datacommitteeInitialized)
   722  				if err := _Supernets2datacommittee.contract.UnpackLog(event, "Initialized", log); err != nil {
   723  					return err
   724  				}
   725  				event.Raw = log
   726  
   727  				select {
   728  				case sink <- event:
   729  				case err := <-sub.Err():
   730  					return err
   731  				case <-quit:
   732  					return nil
   733  				}
   734  			case err := <-sub.Err():
   735  				return err
   736  			case <-quit:
   737  				return nil
   738  			}
   739  		}
   740  	}), nil
   741  }
   742  
   743  // ParseInitialized is a log parse operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498.
   744  //
   745  // Solidity: event Initialized(uint8 version)
   746  func (_Supernets2datacommittee *Supernets2datacommitteeFilterer) ParseInitialized(log types.Log) (*Supernets2datacommitteeInitialized, error) {
   747  	event := new(Supernets2datacommitteeInitialized)
   748  	if err := _Supernets2datacommittee.contract.UnpackLog(event, "Initialized", log); err != nil {
   749  		return nil, err
   750  	}
   751  	event.Raw = log
   752  	return event, nil
   753  }
   754  
   755  // Supernets2datacommitteeOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the Supernets2datacommittee contract.
   756  type Supernets2datacommitteeOwnershipTransferredIterator struct {
   757  	Event *Supernets2datacommitteeOwnershipTransferred // Event containing the contract specifics and raw log
   758  
   759  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   760  	event    string              // Event name to use for unpacking event data
   761  
   762  	logs chan types.Log        // Log channel receiving the found contract events
   763  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   764  	done bool                  // Whether the subscription completed delivering logs
   765  	fail error                 // Occurred error to stop iteration
   766  }
   767  
   768  // Next advances the iterator to the subsequent event, returning whether there
   769  // are any more events found. In case of a retrieval or parsing error, false is
   770  // returned and Error() can be queried for the exact failure.
   771  func (it *Supernets2datacommitteeOwnershipTransferredIterator) Next() bool {
   772  	// If the iterator failed, stop iterating
   773  	if it.fail != nil {
   774  		return false
   775  	}
   776  	// If the iterator completed, deliver directly whatever's available
   777  	if it.done {
   778  		select {
   779  		case log := <-it.logs:
   780  			it.Event = new(Supernets2datacommitteeOwnershipTransferred)
   781  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   782  				it.fail = err
   783  				return false
   784  			}
   785  			it.Event.Raw = log
   786  			return true
   787  
   788  		default:
   789  			return false
   790  		}
   791  	}
   792  	// Iterator still in progress, wait for either a data or an error event
   793  	select {
   794  	case log := <-it.logs:
   795  		it.Event = new(Supernets2datacommitteeOwnershipTransferred)
   796  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   797  			it.fail = err
   798  			return false
   799  		}
   800  		it.Event.Raw = log
   801  		return true
   802  
   803  	case err := <-it.sub.Err():
   804  		it.done = true
   805  		it.fail = err
   806  		return it.Next()
   807  	}
   808  }
   809  
   810  // Error returns any retrieval or parsing error occurred during filtering.
   811  func (it *Supernets2datacommitteeOwnershipTransferredIterator) Error() error {
   812  	return it.fail
   813  }
   814  
   815  // Close terminates the iteration process, releasing any pending underlying
   816  // resources.
   817  func (it *Supernets2datacommitteeOwnershipTransferredIterator) Close() error {
   818  	it.sub.Unsubscribe()
   819  	return nil
   820  }
   821  
   822  // Supernets2datacommitteeOwnershipTransferred represents a OwnershipTransferred event raised by the Supernets2datacommittee contract.
   823  type Supernets2datacommitteeOwnershipTransferred struct {
   824  	PreviousOwner common.Address
   825  	NewOwner      common.Address
   826  	Raw           types.Log // Blockchain specific contextual infos
   827  }
   828  
   829  // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
   830  //
   831  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
   832  func (_Supernets2datacommittee *Supernets2datacommitteeFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*Supernets2datacommitteeOwnershipTransferredIterator, error) {
   833  
   834  	var previousOwnerRule []interface{}
   835  	for _, previousOwnerItem := range previousOwner {
   836  		previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
   837  	}
   838  	var newOwnerRule []interface{}
   839  	for _, newOwnerItem := range newOwner {
   840  		newOwnerRule = append(newOwnerRule, newOwnerItem)
   841  	}
   842  
   843  	logs, sub, err := _Supernets2datacommittee.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
   844  	if err != nil {
   845  		return nil, err
   846  	}
   847  	return &Supernets2datacommitteeOwnershipTransferredIterator{contract: _Supernets2datacommittee.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil
   848  }
   849  
   850  // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
   851  //
   852  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
   853  func (_Supernets2datacommittee *Supernets2datacommitteeFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *Supernets2datacommitteeOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) {
   854  
   855  	var previousOwnerRule []interface{}
   856  	for _, previousOwnerItem := range previousOwner {
   857  		previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
   858  	}
   859  	var newOwnerRule []interface{}
   860  	for _, newOwnerItem := range newOwner {
   861  		newOwnerRule = append(newOwnerRule, newOwnerItem)
   862  	}
   863  
   864  	logs, sub, err := _Supernets2datacommittee.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
   865  	if err != nil {
   866  		return nil, err
   867  	}
   868  	return event.NewSubscription(func(quit <-chan struct{}) error {
   869  		defer sub.Unsubscribe()
   870  		for {
   871  			select {
   872  			case log := <-logs:
   873  				// New log arrived, parse the event and forward to the user
   874  				event := new(Supernets2datacommitteeOwnershipTransferred)
   875  				if err := _Supernets2datacommittee.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
   876  					return err
   877  				}
   878  				event.Raw = log
   879  
   880  				select {
   881  				case sink <- event:
   882  				case err := <-sub.Err():
   883  					return err
   884  				case <-quit:
   885  					return nil
   886  				}
   887  			case err := <-sub.Err():
   888  				return err
   889  			case <-quit:
   890  				return nil
   891  			}
   892  		}
   893  	}), nil
   894  }
   895  
   896  // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
   897  //
   898  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
   899  func (_Supernets2datacommittee *Supernets2datacommitteeFilterer) ParseOwnershipTransferred(log types.Log) (*Supernets2datacommitteeOwnershipTransferred, error) {
   900  	event := new(Supernets2datacommitteeOwnershipTransferred)
   901  	if err := _Supernets2datacommittee.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
   902  		return nil, err
   903  	}
   904  	event.Raw = log
   905  	return event, nil
   906  }