// Code generated - DO NOT EDIT. // This file is a generated binding and any manual changes will be lost. package notarymanager import ( "errors" "math/big" "strings" ethereum "github.com/ethereum/go-ethereum" "github.com/ethereum/go-ethereum/accounts/abi" "github.com/ethereum/go-ethereum/accounts/abi/bind" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/event" ) // Reference imports to suppress errors if they are not otherwise used. var ( _ = errors.New _ = big.NewInt _ = strings.NewReader _ = ethereum.NotFound _ = bind.Bind _ = common.Big1 _ = types.BloomLookup _ = event.NewSubscription ) // AbstractGuardRegistryMetaData contains all meta data concerning the AbstractGuardRegistry contract. var AbstractGuardRegistryMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"GuardAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"GuardRemoved\",\"type\":\"event\"}]", } // AbstractGuardRegistryABI is the input ABI used to generate the binding from. // Deprecated: Use AbstractGuardRegistryMetaData.ABI instead. var AbstractGuardRegistryABI = AbstractGuardRegistryMetaData.ABI // AbstractGuardRegistry is an auto generated Go binding around an Ethereum contract. type AbstractGuardRegistry struct { AbstractGuardRegistryCaller // Read-only binding to the contract AbstractGuardRegistryTransactor // Write-only binding to the contract AbstractGuardRegistryFilterer // Log filterer for contract events } // AbstractGuardRegistryCaller is an auto generated read-only Go binding around an Ethereum contract. type AbstractGuardRegistryCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AbstractGuardRegistryTransactor is an auto generated write-only Go binding around an Ethereum contract. type AbstractGuardRegistryTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AbstractGuardRegistryFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type AbstractGuardRegistryFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AbstractGuardRegistrySession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type AbstractGuardRegistrySession struct { Contract *AbstractGuardRegistry // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AbstractGuardRegistryCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type AbstractGuardRegistryCallerSession struct { Contract *AbstractGuardRegistryCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // AbstractGuardRegistryTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type AbstractGuardRegistryTransactorSession struct { Contract *AbstractGuardRegistryTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AbstractGuardRegistryRaw is an auto generated low-level Go binding around an Ethereum contract. type AbstractGuardRegistryRaw struct { Contract *AbstractGuardRegistry // Generic contract binding to access the raw methods on } // AbstractGuardRegistryCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type AbstractGuardRegistryCallerRaw struct { Contract *AbstractGuardRegistryCaller // Generic read-only contract binding to access the raw methods on } // AbstractGuardRegistryTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type AbstractGuardRegistryTransactorRaw struct { Contract *AbstractGuardRegistryTransactor // Generic write-only contract binding to access the raw methods on } // NewAbstractGuardRegistry creates a new instance of AbstractGuardRegistry, bound to a specific deployed contract. func NewAbstractGuardRegistry(address common.Address, backend bind.ContractBackend) (*AbstractGuardRegistry, error) { contract, err := bindAbstractGuardRegistry(address, backend, backend, backend) if err != nil { return nil, err } return &AbstractGuardRegistry{AbstractGuardRegistryCaller: AbstractGuardRegistryCaller{contract: contract}, AbstractGuardRegistryTransactor: AbstractGuardRegistryTransactor{contract: contract}, AbstractGuardRegistryFilterer: AbstractGuardRegistryFilterer{contract: contract}}, nil } // NewAbstractGuardRegistryCaller creates a new read-only instance of AbstractGuardRegistry, bound to a specific deployed contract. func NewAbstractGuardRegistryCaller(address common.Address, caller bind.ContractCaller) (*AbstractGuardRegistryCaller, error) { contract, err := bindAbstractGuardRegistry(address, caller, nil, nil) if err != nil { return nil, err } return &AbstractGuardRegistryCaller{contract: contract}, nil } // NewAbstractGuardRegistryTransactor creates a new write-only instance of AbstractGuardRegistry, bound to a specific deployed contract. func NewAbstractGuardRegistryTransactor(address common.Address, transactor bind.ContractTransactor) (*AbstractGuardRegistryTransactor, error) { contract, err := bindAbstractGuardRegistry(address, nil, transactor, nil) if err != nil { return nil, err } return &AbstractGuardRegistryTransactor{contract: contract}, nil } // NewAbstractGuardRegistryFilterer creates a new log filterer instance of AbstractGuardRegistry, bound to a specific deployed contract. func NewAbstractGuardRegistryFilterer(address common.Address, filterer bind.ContractFilterer) (*AbstractGuardRegistryFilterer, error) { contract, err := bindAbstractGuardRegistry(address, nil, nil, filterer) if err != nil { return nil, err } return &AbstractGuardRegistryFilterer{contract: contract}, nil } // bindAbstractGuardRegistry binds a generic wrapper to an already deployed contract. func bindAbstractGuardRegistry(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(AbstractGuardRegistryABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_AbstractGuardRegistry *AbstractGuardRegistryRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _AbstractGuardRegistry.Contract.AbstractGuardRegistryCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_AbstractGuardRegistry *AbstractGuardRegistryRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _AbstractGuardRegistry.Contract.AbstractGuardRegistryTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_AbstractGuardRegistry *AbstractGuardRegistryRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _AbstractGuardRegistry.Contract.AbstractGuardRegistryTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_AbstractGuardRegistry *AbstractGuardRegistryCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _AbstractGuardRegistry.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_AbstractGuardRegistry *AbstractGuardRegistryTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _AbstractGuardRegistry.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_AbstractGuardRegistry *AbstractGuardRegistryTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _AbstractGuardRegistry.Contract.contract.Transact(opts, method, params...) } // AbstractGuardRegistryGuardAddedIterator is returned from FilterGuardAdded and is used to iterate over the raw logs and unpacked data for GuardAdded events raised by the AbstractGuardRegistry contract. type AbstractGuardRegistryGuardAddedIterator struct { Event *AbstractGuardRegistryGuardAdded // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *AbstractGuardRegistryGuardAddedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(AbstractGuardRegistryGuardAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(AbstractGuardRegistryGuardAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *AbstractGuardRegistryGuardAddedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AbstractGuardRegistryGuardAddedIterator) Close() error { it.sub.Unsubscribe() return nil } // AbstractGuardRegistryGuardAdded represents a GuardAdded event raised by the AbstractGuardRegistry contract. type AbstractGuardRegistryGuardAdded struct { Guard common.Address Raw types.Log // Blockchain specific contextual infos } // FilterGuardAdded is a free log retrieval operation binding the contract event 0x93405f05cd04f0d1bd875f2de00f1f3890484ffd0589248953bdfd29ba7f2f59. // // Solidity: event GuardAdded(address guard) func (_AbstractGuardRegistry *AbstractGuardRegistryFilterer) FilterGuardAdded(opts *bind.FilterOpts) (*AbstractGuardRegistryGuardAddedIterator, error) { logs, sub, err := _AbstractGuardRegistry.contract.FilterLogs(opts, "GuardAdded") if err != nil { return nil, err } return &AbstractGuardRegistryGuardAddedIterator{contract: _AbstractGuardRegistry.contract, event: "GuardAdded", logs: logs, sub: sub}, nil } // WatchGuardAdded is a free log subscription operation binding the contract event 0x93405f05cd04f0d1bd875f2de00f1f3890484ffd0589248953bdfd29ba7f2f59. // // Solidity: event GuardAdded(address guard) func (_AbstractGuardRegistry *AbstractGuardRegistryFilterer) WatchGuardAdded(opts *bind.WatchOpts, sink chan<- *AbstractGuardRegistryGuardAdded) (event.Subscription, error) { logs, sub, err := _AbstractGuardRegistry.contract.WatchLogs(opts, "GuardAdded") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(AbstractGuardRegistryGuardAdded) if err := _AbstractGuardRegistry.contract.UnpackLog(event, "GuardAdded", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseGuardAdded is a log parse operation binding the contract event 0x93405f05cd04f0d1bd875f2de00f1f3890484ffd0589248953bdfd29ba7f2f59. // // Solidity: event GuardAdded(address guard) func (_AbstractGuardRegistry *AbstractGuardRegistryFilterer) ParseGuardAdded(log types.Log) (*AbstractGuardRegistryGuardAdded, error) { event := new(AbstractGuardRegistryGuardAdded) if err := _AbstractGuardRegistry.contract.UnpackLog(event, "GuardAdded", log); err != nil { return nil, err } event.Raw = log return event, nil } // AbstractGuardRegistryGuardRemovedIterator is returned from FilterGuardRemoved and is used to iterate over the raw logs and unpacked data for GuardRemoved events raised by the AbstractGuardRegistry contract. type AbstractGuardRegistryGuardRemovedIterator struct { Event *AbstractGuardRegistryGuardRemoved // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *AbstractGuardRegistryGuardRemovedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(AbstractGuardRegistryGuardRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(AbstractGuardRegistryGuardRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *AbstractGuardRegistryGuardRemovedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AbstractGuardRegistryGuardRemovedIterator) Close() error { it.sub.Unsubscribe() return nil } // AbstractGuardRegistryGuardRemoved represents a GuardRemoved event raised by the AbstractGuardRegistry contract. type AbstractGuardRegistryGuardRemoved struct { Guard common.Address Raw types.Log // Blockchain specific contextual infos } // FilterGuardRemoved is a free log retrieval operation binding the contract event 0x59926e0a78d12238b668b31c8e3f6ece235a59a00ede111d883e255b68c4d048. // // Solidity: event GuardRemoved(address guard) func (_AbstractGuardRegistry *AbstractGuardRegistryFilterer) FilterGuardRemoved(opts *bind.FilterOpts) (*AbstractGuardRegistryGuardRemovedIterator, error) { logs, sub, err := _AbstractGuardRegistry.contract.FilterLogs(opts, "GuardRemoved") if err != nil { return nil, err } return &AbstractGuardRegistryGuardRemovedIterator{contract: _AbstractGuardRegistry.contract, event: "GuardRemoved", logs: logs, sub: sub}, nil } // WatchGuardRemoved is a free log subscription operation binding the contract event 0x59926e0a78d12238b668b31c8e3f6ece235a59a00ede111d883e255b68c4d048. // // Solidity: event GuardRemoved(address guard) func (_AbstractGuardRegistry *AbstractGuardRegistryFilterer) WatchGuardRemoved(opts *bind.WatchOpts, sink chan<- *AbstractGuardRegistryGuardRemoved) (event.Subscription, error) { logs, sub, err := _AbstractGuardRegistry.contract.WatchLogs(opts, "GuardRemoved") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(AbstractGuardRegistryGuardRemoved) if err := _AbstractGuardRegistry.contract.UnpackLog(event, "GuardRemoved", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseGuardRemoved is a log parse operation binding the contract event 0x59926e0a78d12238b668b31c8e3f6ece235a59a00ede111d883e255b68c4d048. // // Solidity: event GuardRemoved(address guard) func (_AbstractGuardRegistry *AbstractGuardRegistryFilterer) ParseGuardRemoved(log types.Log) (*AbstractGuardRegistryGuardRemoved, error) { event := new(AbstractGuardRegistryGuardRemoved) if err := _AbstractGuardRegistry.contract.UnpackLog(event, "GuardRemoved", log); err != nil { return nil, err } event.Raw = log return event, nil } // AbstractNotaryRegistryMetaData contains all meta data concerning the AbstractNotaryRegistry contract. var AbstractNotaryRegistryMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"domain\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"}],\"name\":\"NotaryAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"domain\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"}],\"name\":\"NotaryRemoved\",\"type\":\"event\"}]", } // AbstractNotaryRegistryABI is the input ABI used to generate the binding from. // Deprecated: Use AbstractNotaryRegistryMetaData.ABI instead. var AbstractNotaryRegistryABI = AbstractNotaryRegistryMetaData.ABI // AbstractNotaryRegistry is an auto generated Go binding around an Ethereum contract. type AbstractNotaryRegistry struct { AbstractNotaryRegistryCaller // Read-only binding to the contract AbstractNotaryRegistryTransactor // Write-only binding to the contract AbstractNotaryRegistryFilterer // Log filterer for contract events } // AbstractNotaryRegistryCaller is an auto generated read-only Go binding around an Ethereum contract. type AbstractNotaryRegistryCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AbstractNotaryRegistryTransactor is an auto generated write-only Go binding around an Ethereum contract. type AbstractNotaryRegistryTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AbstractNotaryRegistryFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type AbstractNotaryRegistryFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AbstractNotaryRegistrySession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type AbstractNotaryRegistrySession struct { Contract *AbstractNotaryRegistry // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AbstractNotaryRegistryCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type AbstractNotaryRegistryCallerSession struct { Contract *AbstractNotaryRegistryCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // AbstractNotaryRegistryTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type AbstractNotaryRegistryTransactorSession struct { Contract *AbstractNotaryRegistryTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AbstractNotaryRegistryRaw is an auto generated low-level Go binding around an Ethereum contract. type AbstractNotaryRegistryRaw struct { Contract *AbstractNotaryRegistry // Generic contract binding to access the raw methods on } // AbstractNotaryRegistryCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type AbstractNotaryRegistryCallerRaw struct { Contract *AbstractNotaryRegistryCaller // Generic read-only contract binding to access the raw methods on } // AbstractNotaryRegistryTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type AbstractNotaryRegistryTransactorRaw struct { Contract *AbstractNotaryRegistryTransactor // Generic write-only contract binding to access the raw methods on } // NewAbstractNotaryRegistry creates a new instance of AbstractNotaryRegistry, bound to a specific deployed contract. func NewAbstractNotaryRegistry(address common.Address, backend bind.ContractBackend) (*AbstractNotaryRegistry, error) { contract, err := bindAbstractNotaryRegistry(address, backend, backend, backend) if err != nil { return nil, err } return &AbstractNotaryRegistry{AbstractNotaryRegistryCaller: AbstractNotaryRegistryCaller{contract: contract}, AbstractNotaryRegistryTransactor: AbstractNotaryRegistryTransactor{contract: contract}, AbstractNotaryRegistryFilterer: AbstractNotaryRegistryFilterer{contract: contract}}, nil } // NewAbstractNotaryRegistryCaller creates a new read-only instance of AbstractNotaryRegistry, bound to a specific deployed contract. func NewAbstractNotaryRegistryCaller(address common.Address, caller bind.ContractCaller) (*AbstractNotaryRegistryCaller, error) { contract, err := bindAbstractNotaryRegistry(address, caller, nil, nil) if err != nil { return nil, err } return &AbstractNotaryRegistryCaller{contract: contract}, nil } // NewAbstractNotaryRegistryTransactor creates a new write-only instance of AbstractNotaryRegistry, bound to a specific deployed contract. func NewAbstractNotaryRegistryTransactor(address common.Address, transactor bind.ContractTransactor) (*AbstractNotaryRegistryTransactor, error) { contract, err := bindAbstractNotaryRegistry(address, nil, transactor, nil) if err != nil { return nil, err } return &AbstractNotaryRegistryTransactor{contract: contract}, nil } // NewAbstractNotaryRegistryFilterer creates a new log filterer instance of AbstractNotaryRegistry, bound to a specific deployed contract. func NewAbstractNotaryRegistryFilterer(address common.Address, filterer bind.ContractFilterer) (*AbstractNotaryRegistryFilterer, error) { contract, err := bindAbstractNotaryRegistry(address, nil, nil, filterer) if err != nil { return nil, err } return &AbstractNotaryRegistryFilterer{contract: contract}, nil } // bindAbstractNotaryRegistry binds a generic wrapper to an already deployed contract. func bindAbstractNotaryRegistry(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(AbstractNotaryRegistryABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_AbstractNotaryRegistry *AbstractNotaryRegistryRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _AbstractNotaryRegistry.Contract.AbstractNotaryRegistryCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_AbstractNotaryRegistry *AbstractNotaryRegistryRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _AbstractNotaryRegistry.Contract.AbstractNotaryRegistryTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_AbstractNotaryRegistry *AbstractNotaryRegistryRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _AbstractNotaryRegistry.Contract.AbstractNotaryRegistryTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_AbstractNotaryRegistry *AbstractNotaryRegistryCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _AbstractNotaryRegistry.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_AbstractNotaryRegistry *AbstractNotaryRegistryTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _AbstractNotaryRegistry.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_AbstractNotaryRegistry *AbstractNotaryRegistryTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _AbstractNotaryRegistry.Contract.contract.Transact(opts, method, params...) } // AbstractNotaryRegistryNotaryAddedIterator is returned from FilterNotaryAdded and is used to iterate over the raw logs and unpacked data for NotaryAdded events raised by the AbstractNotaryRegistry contract. type AbstractNotaryRegistryNotaryAddedIterator struct { Event *AbstractNotaryRegistryNotaryAdded // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *AbstractNotaryRegistryNotaryAddedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(AbstractNotaryRegistryNotaryAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(AbstractNotaryRegistryNotaryAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *AbstractNotaryRegistryNotaryAddedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AbstractNotaryRegistryNotaryAddedIterator) Close() error { it.sub.Unsubscribe() return nil } // AbstractNotaryRegistryNotaryAdded represents a NotaryAdded event raised by the AbstractNotaryRegistry contract. type AbstractNotaryRegistryNotaryAdded struct { Domain uint32 Notary common.Address Raw types.Log // Blockchain specific contextual infos } // FilterNotaryAdded is a free log retrieval operation binding the contract event 0x62d8d15324cce2626119bb61d595f59e655486b1ab41b52c0793d814fe03c355. // // Solidity: event NotaryAdded(uint32 indexed domain, address notary) func (_AbstractNotaryRegistry *AbstractNotaryRegistryFilterer) FilterNotaryAdded(opts *bind.FilterOpts, domain []uint32) (*AbstractNotaryRegistryNotaryAddedIterator, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _AbstractNotaryRegistry.contract.FilterLogs(opts, "NotaryAdded", domainRule) if err != nil { return nil, err } return &AbstractNotaryRegistryNotaryAddedIterator{contract: _AbstractNotaryRegistry.contract, event: "NotaryAdded", logs: logs, sub: sub}, nil } // WatchNotaryAdded is a free log subscription operation binding the contract event 0x62d8d15324cce2626119bb61d595f59e655486b1ab41b52c0793d814fe03c355. // // Solidity: event NotaryAdded(uint32 indexed domain, address notary) func (_AbstractNotaryRegistry *AbstractNotaryRegistryFilterer) WatchNotaryAdded(opts *bind.WatchOpts, sink chan<- *AbstractNotaryRegistryNotaryAdded, domain []uint32) (event.Subscription, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _AbstractNotaryRegistry.contract.WatchLogs(opts, "NotaryAdded", domainRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(AbstractNotaryRegistryNotaryAdded) if err := _AbstractNotaryRegistry.contract.UnpackLog(event, "NotaryAdded", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseNotaryAdded is a log parse operation binding the contract event 0x62d8d15324cce2626119bb61d595f59e655486b1ab41b52c0793d814fe03c355. // // Solidity: event NotaryAdded(uint32 indexed domain, address notary) func (_AbstractNotaryRegistry *AbstractNotaryRegistryFilterer) ParseNotaryAdded(log types.Log) (*AbstractNotaryRegistryNotaryAdded, error) { event := new(AbstractNotaryRegistryNotaryAdded) if err := _AbstractNotaryRegistry.contract.UnpackLog(event, "NotaryAdded", log); err != nil { return nil, err } event.Raw = log return event, nil } // AbstractNotaryRegistryNotaryRemovedIterator is returned from FilterNotaryRemoved and is used to iterate over the raw logs and unpacked data for NotaryRemoved events raised by the AbstractNotaryRegistry contract. type AbstractNotaryRegistryNotaryRemovedIterator struct { Event *AbstractNotaryRegistryNotaryRemoved // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *AbstractNotaryRegistryNotaryRemovedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(AbstractNotaryRegistryNotaryRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(AbstractNotaryRegistryNotaryRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *AbstractNotaryRegistryNotaryRemovedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AbstractNotaryRegistryNotaryRemovedIterator) Close() error { it.sub.Unsubscribe() return nil } // AbstractNotaryRegistryNotaryRemoved represents a NotaryRemoved event raised by the AbstractNotaryRegistry contract. type AbstractNotaryRegistryNotaryRemoved struct { Domain uint32 Notary common.Address Raw types.Log // Blockchain specific contextual infos } // FilterNotaryRemoved is a free log retrieval operation binding the contract event 0x3e006f5b97c04e82df349064761281b0981d45330c2f3e57cc032203b0e31b6b. // // Solidity: event NotaryRemoved(uint32 indexed domain, address notary) func (_AbstractNotaryRegistry *AbstractNotaryRegistryFilterer) FilterNotaryRemoved(opts *bind.FilterOpts, domain []uint32) (*AbstractNotaryRegistryNotaryRemovedIterator, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _AbstractNotaryRegistry.contract.FilterLogs(opts, "NotaryRemoved", domainRule) if err != nil { return nil, err } return &AbstractNotaryRegistryNotaryRemovedIterator{contract: _AbstractNotaryRegistry.contract, event: "NotaryRemoved", logs: logs, sub: sub}, nil } // WatchNotaryRemoved is a free log subscription operation binding the contract event 0x3e006f5b97c04e82df349064761281b0981d45330c2f3e57cc032203b0e31b6b. // // Solidity: event NotaryRemoved(uint32 indexed domain, address notary) func (_AbstractNotaryRegistry *AbstractNotaryRegistryFilterer) WatchNotaryRemoved(opts *bind.WatchOpts, sink chan<- *AbstractNotaryRegistryNotaryRemoved, domain []uint32) (event.Subscription, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _AbstractNotaryRegistry.contract.WatchLogs(opts, "NotaryRemoved", domainRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(AbstractNotaryRegistryNotaryRemoved) if err := _AbstractNotaryRegistry.contract.UnpackLog(event, "NotaryRemoved", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseNotaryRemoved is a log parse operation binding the contract event 0x3e006f5b97c04e82df349064761281b0981d45330c2f3e57cc032203b0e31b6b. // // Solidity: event NotaryRemoved(uint32 indexed domain, address notary) func (_AbstractNotaryRegistry *AbstractNotaryRegistryFilterer) ParseNotaryRemoved(log types.Log) (*AbstractNotaryRegistryNotaryRemoved, error) { event := new(AbstractNotaryRegistryNotaryRemoved) if err := _AbstractNotaryRegistry.contract.UnpackLog(event, "NotaryRemoved", log); err != nil { return nil, err } event.Raw = log return event, nil } // AddressMetaData contains all meta data concerning the Address contract. var AddressMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202d8251e138fe0b5086afd25e7b9e0da1f52c856fa3ff55f47bdbbeef2f4413a864736f6c63430008110033", } // AddressABI is the input ABI used to generate the binding from. // Deprecated: Use AddressMetaData.ABI instead. var AddressABI = AddressMetaData.ABI // AddressBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use AddressMetaData.Bin instead. var AddressBin = AddressMetaData.Bin // DeployAddress deploys a new Ethereum contract, binding an instance of Address to it. func DeployAddress(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Address, error) { parsed, err := AddressMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(AddressBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil } // Address is an auto generated Go binding around an Ethereum contract. type Address struct { AddressCaller // Read-only binding to the contract AddressTransactor // Write-only binding to the contract AddressFilterer // Log filterer for contract events } // AddressCaller is an auto generated read-only Go binding around an Ethereum contract. type AddressCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AddressTransactor is an auto generated write-only Go binding around an Ethereum contract. type AddressTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AddressFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type AddressFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AddressSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type AddressSession struct { Contract *Address // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AddressCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type AddressCallerSession struct { Contract *AddressCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // AddressTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type AddressTransactorSession struct { Contract *AddressTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AddressRaw is an auto generated low-level Go binding around an Ethereum contract. type AddressRaw struct { Contract *Address // Generic contract binding to access the raw methods on } // AddressCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type AddressCallerRaw struct { Contract *AddressCaller // Generic read-only contract binding to access the raw methods on } // AddressTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type AddressTransactorRaw struct { Contract *AddressTransactor // Generic write-only contract binding to access the raw methods on } // NewAddress creates a new instance of Address, bound to a specific deployed contract. func NewAddress(address common.Address, backend bind.ContractBackend) (*Address, error) { contract, err := bindAddress(address, backend, backend, backend) if err != nil { return nil, err } return &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil } // NewAddressCaller creates a new read-only instance of Address, bound to a specific deployed contract. func NewAddressCaller(address common.Address, caller bind.ContractCaller) (*AddressCaller, error) { contract, err := bindAddress(address, caller, nil, nil) if err != nil { return nil, err } return &AddressCaller{contract: contract}, nil } // NewAddressTransactor creates a new write-only instance of Address, bound to a specific deployed contract. func NewAddressTransactor(address common.Address, transactor bind.ContractTransactor) (*AddressTransactor, error) { contract, err := bindAddress(address, nil, transactor, nil) if err != nil { return nil, err } return &AddressTransactor{contract: contract}, nil } // NewAddressFilterer creates a new log filterer instance of Address, bound to a specific deployed contract. func NewAddressFilterer(address common.Address, filterer bind.ContractFilterer) (*AddressFilterer, error) { contract, err := bindAddress(address, nil, nil, filterer) if err != nil { return nil, err } return &AddressFilterer{contract: contract}, nil } // bindAddress binds a generic wrapper to an already deployed contract. func bindAddress(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(AddressABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Address *AddressRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Address.Contract.AddressCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Address *AddressRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Address.Contract.AddressTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Address *AddressRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Address.Contract.AddressTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Address *AddressCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Address.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Address *AddressTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Address.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Address *AddressTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Address.Contract.contract.Transact(opts, method, params...) } // AddressUpgradeableMetaData contains all meta data concerning the AddressUpgradeable contract. var AddressUpgradeableMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f1390d161456d895fa438a0f48187e166bef6d7e832bd664ec8d7226c47f3c7464736f6c63430008110033", } // AddressUpgradeableABI is the input ABI used to generate the binding from. // Deprecated: Use AddressUpgradeableMetaData.ABI instead. var AddressUpgradeableABI = AddressUpgradeableMetaData.ABI // AddressUpgradeableBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use AddressUpgradeableMetaData.Bin instead. var AddressUpgradeableBin = AddressUpgradeableMetaData.Bin // DeployAddressUpgradeable deploys a new Ethereum contract, binding an instance of AddressUpgradeable to it. func DeployAddressUpgradeable(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *AddressUpgradeable, error) { parsed, err := AddressUpgradeableMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(AddressUpgradeableBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &AddressUpgradeable{AddressUpgradeableCaller: AddressUpgradeableCaller{contract: contract}, AddressUpgradeableTransactor: AddressUpgradeableTransactor{contract: contract}, AddressUpgradeableFilterer: AddressUpgradeableFilterer{contract: contract}}, nil } // AddressUpgradeable is an auto generated Go binding around an Ethereum contract. type AddressUpgradeable struct { AddressUpgradeableCaller // Read-only binding to the contract AddressUpgradeableTransactor // Write-only binding to the contract AddressUpgradeableFilterer // Log filterer for contract events } // AddressUpgradeableCaller is an auto generated read-only Go binding around an Ethereum contract. type AddressUpgradeableCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AddressUpgradeableTransactor is an auto generated write-only Go binding around an Ethereum contract. type AddressUpgradeableTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AddressUpgradeableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type AddressUpgradeableFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AddressUpgradeableSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type AddressUpgradeableSession struct { Contract *AddressUpgradeable // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AddressUpgradeableCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type AddressUpgradeableCallerSession struct { Contract *AddressUpgradeableCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // AddressUpgradeableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type AddressUpgradeableTransactorSession struct { Contract *AddressUpgradeableTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AddressUpgradeableRaw is an auto generated low-level Go binding around an Ethereum contract. type AddressUpgradeableRaw struct { Contract *AddressUpgradeable // Generic contract binding to access the raw methods on } // AddressUpgradeableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type AddressUpgradeableCallerRaw struct { Contract *AddressUpgradeableCaller // Generic read-only contract binding to access the raw methods on } // AddressUpgradeableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type AddressUpgradeableTransactorRaw struct { Contract *AddressUpgradeableTransactor // Generic write-only contract binding to access the raw methods on } // NewAddressUpgradeable creates a new instance of AddressUpgradeable, bound to a specific deployed contract. func NewAddressUpgradeable(address common.Address, backend bind.ContractBackend) (*AddressUpgradeable, error) { contract, err := bindAddressUpgradeable(address, backend, backend, backend) if err != nil { return nil, err } return &AddressUpgradeable{AddressUpgradeableCaller: AddressUpgradeableCaller{contract: contract}, AddressUpgradeableTransactor: AddressUpgradeableTransactor{contract: contract}, AddressUpgradeableFilterer: AddressUpgradeableFilterer{contract: contract}}, nil } // NewAddressUpgradeableCaller creates a new read-only instance of AddressUpgradeable, bound to a specific deployed contract. func NewAddressUpgradeableCaller(address common.Address, caller bind.ContractCaller) (*AddressUpgradeableCaller, error) { contract, err := bindAddressUpgradeable(address, caller, nil, nil) if err != nil { return nil, err } return &AddressUpgradeableCaller{contract: contract}, nil } // NewAddressUpgradeableTransactor creates a new write-only instance of AddressUpgradeable, bound to a specific deployed contract. func NewAddressUpgradeableTransactor(address common.Address, transactor bind.ContractTransactor) (*AddressUpgradeableTransactor, error) { contract, err := bindAddressUpgradeable(address, nil, transactor, nil) if err != nil { return nil, err } return &AddressUpgradeableTransactor{contract: contract}, nil } // NewAddressUpgradeableFilterer creates a new log filterer instance of AddressUpgradeable, bound to a specific deployed contract. func NewAddressUpgradeableFilterer(address common.Address, filterer bind.ContractFilterer) (*AddressUpgradeableFilterer, error) { contract, err := bindAddressUpgradeable(address, nil, nil, filterer) if err != nil { return nil, err } return &AddressUpgradeableFilterer{contract: contract}, nil } // bindAddressUpgradeable binds a generic wrapper to an already deployed contract. func bindAddressUpgradeable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(AddressUpgradeableABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_AddressUpgradeable *AddressUpgradeableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _AddressUpgradeable.Contract.AddressUpgradeableCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_AddressUpgradeable *AddressUpgradeableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _AddressUpgradeable.Contract.AddressUpgradeableTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_AddressUpgradeable *AddressUpgradeableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _AddressUpgradeable.Contract.AddressUpgradeableTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_AddressUpgradeable *AddressUpgradeableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _AddressUpgradeable.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_AddressUpgradeable *AddressUpgradeableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _AddressUpgradeable.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_AddressUpgradeable *AddressUpgradeableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _AddressUpgradeable.Contract.contract.Transact(opts, method, params...) } // AttestationMetaData contains all meta data concerning the Attestation contract. var AttestationMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122055365cf1f844f9b66d435286ff1b4be1e63391c5e9f5f0831b4f3d366ffe772e64736f6c63430008110033", } // AttestationABI is the input ABI used to generate the binding from. // Deprecated: Use AttestationMetaData.ABI instead. var AttestationABI = AttestationMetaData.ABI // AttestationBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use AttestationMetaData.Bin instead. var AttestationBin = AttestationMetaData.Bin // DeployAttestation deploys a new Ethereum contract, binding an instance of Attestation to it. func DeployAttestation(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Attestation, error) { parsed, err := AttestationMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(AttestationBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &Attestation{AttestationCaller: AttestationCaller{contract: contract}, AttestationTransactor: AttestationTransactor{contract: contract}, AttestationFilterer: AttestationFilterer{contract: contract}}, nil } // Attestation is an auto generated Go binding around an Ethereum contract. type Attestation struct { AttestationCaller // Read-only binding to the contract AttestationTransactor // Write-only binding to the contract AttestationFilterer // Log filterer for contract events } // AttestationCaller is an auto generated read-only Go binding around an Ethereum contract. type AttestationCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AttestationTransactor is an auto generated write-only Go binding around an Ethereum contract. type AttestationTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AttestationFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type AttestationFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AttestationSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type AttestationSession struct { Contract *Attestation // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AttestationCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type AttestationCallerSession struct { Contract *AttestationCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // AttestationTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type AttestationTransactorSession struct { Contract *AttestationTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AttestationRaw is an auto generated low-level Go binding around an Ethereum contract. type AttestationRaw struct { Contract *Attestation // Generic contract binding to access the raw methods on } // AttestationCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type AttestationCallerRaw struct { Contract *AttestationCaller // Generic read-only contract binding to access the raw methods on } // AttestationTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type AttestationTransactorRaw struct { Contract *AttestationTransactor // Generic write-only contract binding to access the raw methods on } // NewAttestation creates a new instance of Attestation, bound to a specific deployed contract. func NewAttestation(address common.Address, backend bind.ContractBackend) (*Attestation, error) { contract, err := bindAttestation(address, backend, backend, backend) if err != nil { return nil, err } return &Attestation{AttestationCaller: AttestationCaller{contract: contract}, AttestationTransactor: AttestationTransactor{contract: contract}, AttestationFilterer: AttestationFilterer{contract: contract}}, nil } // NewAttestationCaller creates a new read-only instance of Attestation, bound to a specific deployed contract. func NewAttestationCaller(address common.Address, caller bind.ContractCaller) (*AttestationCaller, error) { contract, err := bindAttestation(address, caller, nil, nil) if err != nil { return nil, err } return &AttestationCaller{contract: contract}, nil } // NewAttestationTransactor creates a new write-only instance of Attestation, bound to a specific deployed contract. func NewAttestationTransactor(address common.Address, transactor bind.ContractTransactor) (*AttestationTransactor, error) { contract, err := bindAttestation(address, nil, transactor, nil) if err != nil { return nil, err } return &AttestationTransactor{contract: contract}, nil } // NewAttestationFilterer creates a new log filterer instance of Attestation, bound to a specific deployed contract. func NewAttestationFilterer(address common.Address, filterer bind.ContractFilterer) (*AttestationFilterer, error) { contract, err := bindAttestation(address, nil, nil, filterer) if err != nil { return nil, err } return &AttestationFilterer{contract: contract}, nil } // bindAttestation binds a generic wrapper to an already deployed contract. func bindAttestation(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(AttestationABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Attestation *AttestationRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Attestation.Contract.AttestationCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Attestation *AttestationRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Attestation.Contract.AttestationTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Attestation *AttestationRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Attestation.Contract.AttestationTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Attestation *AttestationCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Attestation.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Attestation *AttestationTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Attestation.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Attestation *AttestationTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Attestation.Contract.contract.Transact(opts, method, params...) } // AttestationHubMetaData contains all meta data concerning the AttestationHub contract. var AttestationHubMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"attestation\",\"type\":\"bytes\"}],\"name\":\"AttestationAccepted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"domain\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"}],\"name\":\"NotaryAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"domain\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"}],\"name\":\"NotaryRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_attestation\",\"type\":\"bytes\"}],\"name\":\"submitAttestation\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "f646a512": "submitAttestation(bytes)", }, } // AttestationHubABI is the input ABI used to generate the binding from. // Deprecated: Use AttestationHubMetaData.ABI instead. var AttestationHubABI = AttestationHubMetaData.ABI // Deprecated: Use AttestationHubMetaData.Sigs instead. // AttestationHubFuncSigs maps the 4-byte function signature to its string representation. var AttestationHubFuncSigs = AttestationHubMetaData.Sigs // AttestationHub is an auto generated Go binding around an Ethereum contract. type AttestationHub struct { AttestationHubCaller // Read-only binding to the contract AttestationHubTransactor // Write-only binding to the contract AttestationHubFilterer // Log filterer for contract events } // AttestationHubCaller is an auto generated read-only Go binding around an Ethereum contract. type AttestationHubCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AttestationHubTransactor is an auto generated write-only Go binding around an Ethereum contract. type AttestationHubTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AttestationHubFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type AttestationHubFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AttestationHubSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type AttestationHubSession struct { Contract *AttestationHub // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AttestationHubCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type AttestationHubCallerSession struct { Contract *AttestationHubCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // AttestationHubTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type AttestationHubTransactorSession struct { Contract *AttestationHubTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AttestationHubRaw is an auto generated low-level Go binding around an Ethereum contract. type AttestationHubRaw struct { Contract *AttestationHub // Generic contract binding to access the raw methods on } // AttestationHubCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type AttestationHubCallerRaw struct { Contract *AttestationHubCaller // Generic read-only contract binding to access the raw methods on } // AttestationHubTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type AttestationHubTransactorRaw struct { Contract *AttestationHubTransactor // Generic write-only contract binding to access the raw methods on } // NewAttestationHub creates a new instance of AttestationHub, bound to a specific deployed contract. func NewAttestationHub(address common.Address, backend bind.ContractBackend) (*AttestationHub, error) { contract, err := bindAttestationHub(address, backend, backend, backend) if err != nil { return nil, err } return &AttestationHub{AttestationHubCaller: AttestationHubCaller{contract: contract}, AttestationHubTransactor: AttestationHubTransactor{contract: contract}, AttestationHubFilterer: AttestationHubFilterer{contract: contract}}, nil } // NewAttestationHubCaller creates a new read-only instance of AttestationHub, bound to a specific deployed contract. func NewAttestationHubCaller(address common.Address, caller bind.ContractCaller) (*AttestationHubCaller, error) { contract, err := bindAttestationHub(address, caller, nil, nil) if err != nil { return nil, err } return &AttestationHubCaller{contract: contract}, nil } // NewAttestationHubTransactor creates a new write-only instance of AttestationHub, bound to a specific deployed contract. func NewAttestationHubTransactor(address common.Address, transactor bind.ContractTransactor) (*AttestationHubTransactor, error) { contract, err := bindAttestationHub(address, nil, transactor, nil) if err != nil { return nil, err } return &AttestationHubTransactor{contract: contract}, nil } // NewAttestationHubFilterer creates a new log filterer instance of AttestationHub, bound to a specific deployed contract. func NewAttestationHubFilterer(address common.Address, filterer bind.ContractFilterer) (*AttestationHubFilterer, error) { contract, err := bindAttestationHub(address, nil, nil, filterer) if err != nil { return nil, err } return &AttestationHubFilterer{contract: contract}, nil } // bindAttestationHub binds a generic wrapper to an already deployed contract. func bindAttestationHub(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(AttestationHubABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_AttestationHub *AttestationHubRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _AttestationHub.Contract.AttestationHubCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_AttestationHub *AttestationHubRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _AttestationHub.Contract.AttestationHubTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_AttestationHub *AttestationHubRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _AttestationHub.Contract.AttestationHubTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_AttestationHub *AttestationHubCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _AttestationHub.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_AttestationHub *AttestationHubTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _AttestationHub.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_AttestationHub *AttestationHubTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _AttestationHub.Contract.contract.Transact(opts, method, params...) } // SubmitAttestation is a paid mutator transaction binding the contract method 0xf646a512. // // Solidity: function submitAttestation(bytes _attestation) returns(bool) func (_AttestationHub *AttestationHubTransactor) SubmitAttestation(opts *bind.TransactOpts, _attestation []byte) (*types.Transaction, error) { return _AttestationHub.contract.Transact(opts, "submitAttestation", _attestation) } // SubmitAttestation is a paid mutator transaction binding the contract method 0xf646a512. // // Solidity: function submitAttestation(bytes _attestation) returns(bool) func (_AttestationHub *AttestationHubSession) SubmitAttestation(_attestation []byte) (*types.Transaction, error) { return _AttestationHub.Contract.SubmitAttestation(&_AttestationHub.TransactOpts, _attestation) } // SubmitAttestation is a paid mutator transaction binding the contract method 0xf646a512. // // Solidity: function submitAttestation(bytes _attestation) returns(bool) func (_AttestationHub *AttestationHubTransactorSession) SubmitAttestation(_attestation []byte) (*types.Transaction, error) { return _AttestationHub.Contract.SubmitAttestation(&_AttestationHub.TransactOpts, _attestation) } // AttestationHubAttestationAcceptedIterator is returned from FilterAttestationAccepted and is used to iterate over the raw logs and unpacked data for AttestationAccepted events raised by the AttestationHub contract. type AttestationHubAttestationAcceptedIterator struct { Event *AttestationHubAttestationAccepted // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *AttestationHubAttestationAcceptedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(AttestationHubAttestationAccepted) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(AttestationHubAttestationAccepted) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *AttestationHubAttestationAcceptedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AttestationHubAttestationAcceptedIterator) Close() error { it.sub.Unsubscribe() return nil } // AttestationHubAttestationAccepted represents a AttestationAccepted event raised by the AttestationHub contract. type AttestationHubAttestationAccepted struct { Notary common.Address Attestation []byte Raw types.Log // Blockchain specific contextual infos } // FilterAttestationAccepted is a free log retrieval operation binding the contract event 0x744faabf74c86a873d8f8256c1f071b7ac997f1a9fa1f506dc5a528d5bbb16f3. // // Solidity: event AttestationAccepted(address indexed notary, bytes attestation) func (_AttestationHub *AttestationHubFilterer) FilterAttestationAccepted(opts *bind.FilterOpts, notary []common.Address) (*AttestationHubAttestationAcceptedIterator, error) { var notaryRule []interface{} for _, notaryItem := range notary { notaryRule = append(notaryRule, notaryItem) } logs, sub, err := _AttestationHub.contract.FilterLogs(opts, "AttestationAccepted", notaryRule) if err != nil { return nil, err } return &AttestationHubAttestationAcceptedIterator{contract: _AttestationHub.contract, event: "AttestationAccepted", logs: logs, sub: sub}, nil } // WatchAttestationAccepted is a free log subscription operation binding the contract event 0x744faabf74c86a873d8f8256c1f071b7ac997f1a9fa1f506dc5a528d5bbb16f3. // // Solidity: event AttestationAccepted(address indexed notary, bytes attestation) func (_AttestationHub *AttestationHubFilterer) WatchAttestationAccepted(opts *bind.WatchOpts, sink chan<- *AttestationHubAttestationAccepted, notary []common.Address) (event.Subscription, error) { var notaryRule []interface{} for _, notaryItem := range notary { notaryRule = append(notaryRule, notaryItem) } logs, sub, err := _AttestationHub.contract.WatchLogs(opts, "AttestationAccepted", notaryRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(AttestationHubAttestationAccepted) if err := _AttestationHub.contract.UnpackLog(event, "AttestationAccepted", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseAttestationAccepted is a log parse operation binding the contract event 0x744faabf74c86a873d8f8256c1f071b7ac997f1a9fa1f506dc5a528d5bbb16f3. // // Solidity: event AttestationAccepted(address indexed notary, bytes attestation) func (_AttestationHub *AttestationHubFilterer) ParseAttestationAccepted(log types.Log) (*AttestationHubAttestationAccepted, error) { event := new(AttestationHubAttestationAccepted) if err := _AttestationHub.contract.UnpackLog(event, "AttestationAccepted", log); err != nil { return nil, err } event.Raw = log return event, nil } // AttestationHubNotaryAddedIterator is returned from FilterNotaryAdded and is used to iterate over the raw logs and unpacked data for NotaryAdded events raised by the AttestationHub contract. type AttestationHubNotaryAddedIterator struct { Event *AttestationHubNotaryAdded // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *AttestationHubNotaryAddedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(AttestationHubNotaryAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(AttestationHubNotaryAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *AttestationHubNotaryAddedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AttestationHubNotaryAddedIterator) Close() error { it.sub.Unsubscribe() return nil } // AttestationHubNotaryAdded represents a NotaryAdded event raised by the AttestationHub contract. type AttestationHubNotaryAdded struct { Domain uint32 Notary common.Address Raw types.Log // Blockchain specific contextual infos } // FilterNotaryAdded is a free log retrieval operation binding the contract event 0x62d8d15324cce2626119bb61d595f59e655486b1ab41b52c0793d814fe03c355. // // Solidity: event NotaryAdded(uint32 indexed domain, address notary) func (_AttestationHub *AttestationHubFilterer) FilterNotaryAdded(opts *bind.FilterOpts, domain []uint32) (*AttestationHubNotaryAddedIterator, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _AttestationHub.contract.FilterLogs(opts, "NotaryAdded", domainRule) if err != nil { return nil, err } return &AttestationHubNotaryAddedIterator{contract: _AttestationHub.contract, event: "NotaryAdded", logs: logs, sub: sub}, nil } // WatchNotaryAdded is a free log subscription operation binding the contract event 0x62d8d15324cce2626119bb61d595f59e655486b1ab41b52c0793d814fe03c355. // // Solidity: event NotaryAdded(uint32 indexed domain, address notary) func (_AttestationHub *AttestationHubFilterer) WatchNotaryAdded(opts *bind.WatchOpts, sink chan<- *AttestationHubNotaryAdded, domain []uint32) (event.Subscription, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _AttestationHub.contract.WatchLogs(opts, "NotaryAdded", domainRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(AttestationHubNotaryAdded) if err := _AttestationHub.contract.UnpackLog(event, "NotaryAdded", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseNotaryAdded is a log parse operation binding the contract event 0x62d8d15324cce2626119bb61d595f59e655486b1ab41b52c0793d814fe03c355. // // Solidity: event NotaryAdded(uint32 indexed domain, address notary) func (_AttestationHub *AttestationHubFilterer) ParseNotaryAdded(log types.Log) (*AttestationHubNotaryAdded, error) { event := new(AttestationHubNotaryAdded) if err := _AttestationHub.contract.UnpackLog(event, "NotaryAdded", log); err != nil { return nil, err } event.Raw = log return event, nil } // AttestationHubNotaryRemovedIterator is returned from FilterNotaryRemoved and is used to iterate over the raw logs and unpacked data for NotaryRemoved events raised by the AttestationHub contract. type AttestationHubNotaryRemovedIterator struct { Event *AttestationHubNotaryRemoved // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *AttestationHubNotaryRemovedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(AttestationHubNotaryRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(AttestationHubNotaryRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *AttestationHubNotaryRemovedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AttestationHubNotaryRemovedIterator) Close() error { it.sub.Unsubscribe() return nil } // AttestationHubNotaryRemoved represents a NotaryRemoved event raised by the AttestationHub contract. type AttestationHubNotaryRemoved struct { Domain uint32 Notary common.Address Raw types.Log // Blockchain specific contextual infos } // FilterNotaryRemoved is a free log retrieval operation binding the contract event 0x3e006f5b97c04e82df349064761281b0981d45330c2f3e57cc032203b0e31b6b. // // Solidity: event NotaryRemoved(uint32 indexed domain, address notary) func (_AttestationHub *AttestationHubFilterer) FilterNotaryRemoved(opts *bind.FilterOpts, domain []uint32) (*AttestationHubNotaryRemovedIterator, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _AttestationHub.contract.FilterLogs(opts, "NotaryRemoved", domainRule) if err != nil { return nil, err } return &AttestationHubNotaryRemovedIterator{contract: _AttestationHub.contract, event: "NotaryRemoved", logs: logs, sub: sub}, nil } // WatchNotaryRemoved is a free log subscription operation binding the contract event 0x3e006f5b97c04e82df349064761281b0981d45330c2f3e57cc032203b0e31b6b. // // Solidity: event NotaryRemoved(uint32 indexed domain, address notary) func (_AttestationHub *AttestationHubFilterer) WatchNotaryRemoved(opts *bind.WatchOpts, sink chan<- *AttestationHubNotaryRemoved, domain []uint32) (event.Subscription, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _AttestationHub.contract.WatchLogs(opts, "NotaryRemoved", domainRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(AttestationHubNotaryRemoved) if err := _AttestationHub.contract.UnpackLog(event, "NotaryRemoved", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseNotaryRemoved is a log parse operation binding the contract event 0x3e006f5b97c04e82df349064761281b0981d45330c2f3e57cc032203b0e31b6b. // // Solidity: event NotaryRemoved(uint32 indexed domain, address notary) func (_AttestationHub *AttestationHubFilterer) ParseNotaryRemoved(log types.Log) (*AttestationHubNotaryRemoved, error) { event := new(AttestationHubNotaryRemoved) if err := _AttestationHub.contract.UnpackLog(event, "NotaryRemoved", log); err != nil { return nil, err } event.Raw = log return event, nil } // AttestationHubEventsMetaData contains all meta data concerning the AttestationHubEvents contract. var AttestationHubEventsMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"attestation\",\"type\":\"bytes\"}],\"name\":\"AttestationAccepted\",\"type\":\"event\"}]", } // AttestationHubEventsABI is the input ABI used to generate the binding from. // Deprecated: Use AttestationHubEventsMetaData.ABI instead. var AttestationHubEventsABI = AttestationHubEventsMetaData.ABI // AttestationHubEvents is an auto generated Go binding around an Ethereum contract. type AttestationHubEvents struct { AttestationHubEventsCaller // Read-only binding to the contract AttestationHubEventsTransactor // Write-only binding to the contract AttestationHubEventsFilterer // Log filterer for contract events } // AttestationHubEventsCaller is an auto generated read-only Go binding around an Ethereum contract. type AttestationHubEventsCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AttestationHubEventsTransactor is an auto generated write-only Go binding around an Ethereum contract. type AttestationHubEventsTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AttestationHubEventsFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type AttestationHubEventsFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AttestationHubEventsSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type AttestationHubEventsSession struct { Contract *AttestationHubEvents // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AttestationHubEventsCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type AttestationHubEventsCallerSession struct { Contract *AttestationHubEventsCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // AttestationHubEventsTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type AttestationHubEventsTransactorSession struct { Contract *AttestationHubEventsTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AttestationHubEventsRaw is an auto generated low-level Go binding around an Ethereum contract. type AttestationHubEventsRaw struct { Contract *AttestationHubEvents // Generic contract binding to access the raw methods on } // AttestationHubEventsCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type AttestationHubEventsCallerRaw struct { Contract *AttestationHubEventsCaller // Generic read-only contract binding to access the raw methods on } // AttestationHubEventsTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type AttestationHubEventsTransactorRaw struct { Contract *AttestationHubEventsTransactor // Generic write-only contract binding to access the raw methods on } // NewAttestationHubEvents creates a new instance of AttestationHubEvents, bound to a specific deployed contract. func NewAttestationHubEvents(address common.Address, backend bind.ContractBackend) (*AttestationHubEvents, error) { contract, err := bindAttestationHubEvents(address, backend, backend, backend) if err != nil { return nil, err } return &AttestationHubEvents{AttestationHubEventsCaller: AttestationHubEventsCaller{contract: contract}, AttestationHubEventsTransactor: AttestationHubEventsTransactor{contract: contract}, AttestationHubEventsFilterer: AttestationHubEventsFilterer{contract: contract}}, nil } // NewAttestationHubEventsCaller creates a new read-only instance of AttestationHubEvents, bound to a specific deployed contract. func NewAttestationHubEventsCaller(address common.Address, caller bind.ContractCaller) (*AttestationHubEventsCaller, error) { contract, err := bindAttestationHubEvents(address, caller, nil, nil) if err != nil { return nil, err } return &AttestationHubEventsCaller{contract: contract}, nil } // NewAttestationHubEventsTransactor creates a new write-only instance of AttestationHubEvents, bound to a specific deployed contract. func NewAttestationHubEventsTransactor(address common.Address, transactor bind.ContractTransactor) (*AttestationHubEventsTransactor, error) { contract, err := bindAttestationHubEvents(address, nil, transactor, nil) if err != nil { return nil, err } return &AttestationHubEventsTransactor{contract: contract}, nil } // NewAttestationHubEventsFilterer creates a new log filterer instance of AttestationHubEvents, bound to a specific deployed contract. func NewAttestationHubEventsFilterer(address common.Address, filterer bind.ContractFilterer) (*AttestationHubEventsFilterer, error) { contract, err := bindAttestationHubEvents(address, nil, nil, filterer) if err != nil { return nil, err } return &AttestationHubEventsFilterer{contract: contract}, nil } // bindAttestationHubEvents binds a generic wrapper to an already deployed contract. func bindAttestationHubEvents(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(AttestationHubEventsABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_AttestationHubEvents *AttestationHubEventsRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _AttestationHubEvents.Contract.AttestationHubEventsCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_AttestationHubEvents *AttestationHubEventsRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _AttestationHubEvents.Contract.AttestationHubEventsTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_AttestationHubEvents *AttestationHubEventsRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _AttestationHubEvents.Contract.AttestationHubEventsTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_AttestationHubEvents *AttestationHubEventsCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _AttestationHubEvents.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_AttestationHubEvents *AttestationHubEventsTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _AttestationHubEvents.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_AttestationHubEvents *AttestationHubEventsTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _AttestationHubEvents.Contract.contract.Transact(opts, method, params...) } // AttestationHubEventsAttestationAcceptedIterator is returned from FilterAttestationAccepted and is used to iterate over the raw logs and unpacked data for AttestationAccepted events raised by the AttestationHubEvents contract. type AttestationHubEventsAttestationAcceptedIterator struct { Event *AttestationHubEventsAttestationAccepted // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *AttestationHubEventsAttestationAcceptedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(AttestationHubEventsAttestationAccepted) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(AttestationHubEventsAttestationAccepted) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *AttestationHubEventsAttestationAcceptedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AttestationHubEventsAttestationAcceptedIterator) Close() error { it.sub.Unsubscribe() return nil } // AttestationHubEventsAttestationAccepted represents a AttestationAccepted event raised by the AttestationHubEvents contract. type AttestationHubEventsAttestationAccepted struct { Notary common.Address Attestation []byte Raw types.Log // Blockchain specific contextual infos } // FilterAttestationAccepted is a free log retrieval operation binding the contract event 0x744faabf74c86a873d8f8256c1f071b7ac997f1a9fa1f506dc5a528d5bbb16f3. // // Solidity: event AttestationAccepted(address indexed notary, bytes attestation) func (_AttestationHubEvents *AttestationHubEventsFilterer) FilterAttestationAccepted(opts *bind.FilterOpts, notary []common.Address) (*AttestationHubEventsAttestationAcceptedIterator, error) { var notaryRule []interface{} for _, notaryItem := range notary { notaryRule = append(notaryRule, notaryItem) } logs, sub, err := _AttestationHubEvents.contract.FilterLogs(opts, "AttestationAccepted", notaryRule) if err != nil { return nil, err } return &AttestationHubEventsAttestationAcceptedIterator{contract: _AttestationHubEvents.contract, event: "AttestationAccepted", logs: logs, sub: sub}, nil } // WatchAttestationAccepted is a free log subscription operation binding the contract event 0x744faabf74c86a873d8f8256c1f071b7ac997f1a9fa1f506dc5a528d5bbb16f3. // // Solidity: event AttestationAccepted(address indexed notary, bytes attestation) func (_AttestationHubEvents *AttestationHubEventsFilterer) WatchAttestationAccepted(opts *bind.WatchOpts, sink chan<- *AttestationHubEventsAttestationAccepted, notary []common.Address) (event.Subscription, error) { var notaryRule []interface{} for _, notaryItem := range notary { notaryRule = append(notaryRule, notaryItem) } logs, sub, err := _AttestationHubEvents.contract.WatchLogs(opts, "AttestationAccepted", notaryRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(AttestationHubEventsAttestationAccepted) if err := _AttestationHubEvents.contract.UnpackLog(event, "AttestationAccepted", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseAttestationAccepted is a log parse operation binding the contract event 0x744faabf74c86a873d8f8256c1f071b7ac997f1a9fa1f506dc5a528d5bbb16f3. // // Solidity: event AttestationAccepted(address indexed notary, bytes attestation) func (_AttestationHubEvents *AttestationHubEventsFilterer) ParseAttestationAccepted(log types.Log) (*AttestationHubEventsAttestationAccepted, error) { event := new(AttestationHubEventsAttestationAccepted) if err := _AttestationHubEvents.contract.UnpackLog(event, "AttestationAccepted", log); err != nil { return nil, err } event.Raw = log return event, nil } // AuthMetaData contains all meta data concerning the Auth contract. var AuthMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e84357cdd232ee0640e3b2fd532fa6b490ad496c013a7ab917638a29201799f964736f6c63430008110033", } // AuthABI is the input ABI used to generate the binding from. // Deprecated: Use AuthMetaData.ABI instead. var AuthABI = AuthMetaData.ABI // AuthBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use AuthMetaData.Bin instead. var AuthBin = AuthMetaData.Bin // DeployAuth deploys a new Ethereum contract, binding an instance of Auth to it. func DeployAuth(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Auth, error) { parsed, err := AuthMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(AuthBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &Auth{AuthCaller: AuthCaller{contract: contract}, AuthTransactor: AuthTransactor{contract: contract}, AuthFilterer: AuthFilterer{contract: contract}}, nil } // Auth is an auto generated Go binding around an Ethereum contract. type Auth struct { AuthCaller // Read-only binding to the contract AuthTransactor // Write-only binding to the contract AuthFilterer // Log filterer for contract events } // AuthCaller is an auto generated read-only Go binding around an Ethereum contract. type AuthCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AuthTransactor is an auto generated write-only Go binding around an Ethereum contract. type AuthTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AuthFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type AuthFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AuthSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type AuthSession struct { Contract *Auth // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AuthCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type AuthCallerSession struct { Contract *AuthCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // AuthTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type AuthTransactorSession struct { Contract *AuthTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AuthRaw is an auto generated low-level Go binding around an Ethereum contract. type AuthRaw struct { Contract *Auth // Generic contract binding to access the raw methods on } // AuthCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type AuthCallerRaw struct { Contract *AuthCaller // Generic read-only contract binding to access the raw methods on } // AuthTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type AuthTransactorRaw struct { Contract *AuthTransactor // Generic write-only contract binding to access the raw methods on } // NewAuth creates a new instance of Auth, bound to a specific deployed contract. func NewAuth(address common.Address, backend bind.ContractBackend) (*Auth, error) { contract, err := bindAuth(address, backend, backend, backend) if err != nil { return nil, err } return &Auth{AuthCaller: AuthCaller{contract: contract}, AuthTransactor: AuthTransactor{contract: contract}, AuthFilterer: AuthFilterer{contract: contract}}, nil } // NewAuthCaller creates a new read-only instance of Auth, bound to a specific deployed contract. func NewAuthCaller(address common.Address, caller bind.ContractCaller) (*AuthCaller, error) { contract, err := bindAuth(address, caller, nil, nil) if err != nil { return nil, err } return &AuthCaller{contract: contract}, nil } // NewAuthTransactor creates a new write-only instance of Auth, bound to a specific deployed contract. func NewAuthTransactor(address common.Address, transactor bind.ContractTransactor) (*AuthTransactor, error) { contract, err := bindAuth(address, nil, transactor, nil) if err != nil { return nil, err } return &AuthTransactor{contract: contract}, nil } // NewAuthFilterer creates a new log filterer instance of Auth, bound to a specific deployed contract. func NewAuthFilterer(address common.Address, filterer bind.ContractFilterer) (*AuthFilterer, error) { contract, err := bindAuth(address, nil, nil, filterer) if err != nil { return nil, err } return &AuthFilterer{contract: contract}, nil } // bindAuth binds a generic wrapper to an already deployed contract. func bindAuth(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(AuthABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Auth *AuthRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Auth.Contract.AuthCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Auth *AuthRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Auth.Contract.AuthTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Auth *AuthRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Auth.Contract.AuthTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Auth *AuthCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Auth.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Auth *AuthTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Auth.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Auth *AuthTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Auth.Contract.contract.Transact(opts, method, params...) } // ByteStringMetaData contains all meta data concerning the ByteString contract. var ByteStringMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122026c9f205db599a81d7c5f56adea9f247df31b9a417e5edd21bcd401466dc8e5764736f6c63430008110033", } // ByteStringABI is the input ABI used to generate the binding from. // Deprecated: Use ByteStringMetaData.ABI instead. var ByteStringABI = ByteStringMetaData.ABI // ByteStringBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use ByteStringMetaData.Bin instead. var ByteStringBin = ByteStringMetaData.Bin // DeployByteString deploys a new Ethereum contract, binding an instance of ByteString to it. func DeployByteString(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ByteString, error) { parsed, err := ByteStringMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ByteStringBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &ByteString{ByteStringCaller: ByteStringCaller{contract: contract}, ByteStringTransactor: ByteStringTransactor{contract: contract}, ByteStringFilterer: ByteStringFilterer{contract: contract}}, nil } // ByteString is an auto generated Go binding around an Ethereum contract. type ByteString struct { ByteStringCaller // Read-only binding to the contract ByteStringTransactor // Write-only binding to the contract ByteStringFilterer // Log filterer for contract events } // ByteStringCaller is an auto generated read-only Go binding around an Ethereum contract. type ByteStringCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ByteStringTransactor is an auto generated write-only Go binding around an Ethereum contract. type ByteStringTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ByteStringFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type ByteStringFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ByteStringSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type ByteStringSession struct { Contract *ByteString // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ByteStringCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type ByteStringCallerSession struct { Contract *ByteStringCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // ByteStringTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type ByteStringTransactorSession struct { Contract *ByteStringTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ByteStringRaw is an auto generated low-level Go binding around an Ethereum contract. type ByteStringRaw struct { Contract *ByteString // Generic contract binding to access the raw methods on } // ByteStringCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type ByteStringCallerRaw struct { Contract *ByteStringCaller // Generic read-only contract binding to access the raw methods on } // ByteStringTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type ByteStringTransactorRaw struct { Contract *ByteStringTransactor // Generic write-only contract binding to access the raw methods on } // NewByteString creates a new instance of ByteString, bound to a specific deployed contract. func NewByteString(address common.Address, backend bind.ContractBackend) (*ByteString, error) { contract, err := bindByteString(address, backend, backend, backend) if err != nil { return nil, err } return &ByteString{ByteStringCaller: ByteStringCaller{contract: contract}, ByteStringTransactor: ByteStringTransactor{contract: contract}, ByteStringFilterer: ByteStringFilterer{contract: contract}}, nil } // NewByteStringCaller creates a new read-only instance of ByteString, bound to a specific deployed contract. func NewByteStringCaller(address common.Address, caller bind.ContractCaller) (*ByteStringCaller, error) { contract, err := bindByteString(address, caller, nil, nil) if err != nil { return nil, err } return &ByteStringCaller{contract: contract}, nil } // NewByteStringTransactor creates a new write-only instance of ByteString, bound to a specific deployed contract. func NewByteStringTransactor(address common.Address, transactor bind.ContractTransactor) (*ByteStringTransactor, error) { contract, err := bindByteString(address, nil, transactor, nil) if err != nil { return nil, err } return &ByteStringTransactor{contract: contract}, nil } // NewByteStringFilterer creates a new log filterer instance of ByteString, bound to a specific deployed contract. func NewByteStringFilterer(address common.Address, filterer bind.ContractFilterer) (*ByteStringFilterer, error) { contract, err := bindByteString(address, nil, nil, filterer) if err != nil { return nil, err } return &ByteStringFilterer{contract: contract}, nil } // bindByteString binds a generic wrapper to an already deployed contract. func bindByteString(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(ByteStringABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ByteString *ByteStringRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _ByteString.Contract.ByteStringCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ByteString *ByteStringRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ByteString.Contract.ByteStringTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ByteString *ByteStringRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ByteString.Contract.ByteStringTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ByteString *ByteStringCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _ByteString.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ByteString *ByteStringTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ByteString.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ByteString *ByteStringTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ByteString.Contract.contract.Transact(opts, method, params...) } // ContextMetaData contains all meta data concerning the Context contract. var ContextMetaData = &bind.MetaData{ ABI: "[]", } // ContextABI is the input ABI used to generate the binding from. // Deprecated: Use ContextMetaData.ABI instead. var ContextABI = ContextMetaData.ABI // Context is an auto generated Go binding around an Ethereum contract. type Context struct { ContextCaller // Read-only binding to the contract ContextTransactor // Write-only binding to the contract ContextFilterer // Log filterer for contract events } // ContextCaller is an auto generated read-only Go binding around an Ethereum contract. type ContextCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ContextTransactor is an auto generated write-only Go binding around an Ethereum contract. type ContextTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ContextFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type ContextFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ContextSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type ContextSession struct { Contract *Context // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ContextCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type ContextCallerSession struct { Contract *ContextCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // ContextTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type ContextTransactorSession struct { Contract *ContextTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ContextRaw is an auto generated low-level Go binding around an Ethereum contract. type ContextRaw struct { Contract *Context // Generic contract binding to access the raw methods on } // ContextCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type ContextCallerRaw struct { Contract *ContextCaller // Generic read-only contract binding to access the raw methods on } // ContextTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type ContextTransactorRaw struct { Contract *ContextTransactor // Generic write-only contract binding to access the raw methods on } // NewContext creates a new instance of Context, bound to a specific deployed contract. func NewContext(address common.Address, backend bind.ContractBackend) (*Context, error) { contract, err := bindContext(address, backend, backend, backend) if err != nil { return nil, err } return &Context{ContextCaller: ContextCaller{contract: contract}, ContextTransactor: ContextTransactor{contract: contract}, ContextFilterer: ContextFilterer{contract: contract}}, nil } // NewContextCaller creates a new read-only instance of Context, bound to a specific deployed contract. func NewContextCaller(address common.Address, caller bind.ContractCaller) (*ContextCaller, error) { contract, err := bindContext(address, caller, nil, nil) if err != nil { return nil, err } return &ContextCaller{contract: contract}, nil } // NewContextTransactor creates a new write-only instance of Context, bound to a specific deployed contract. func NewContextTransactor(address common.Address, transactor bind.ContractTransactor) (*ContextTransactor, error) { contract, err := bindContext(address, nil, transactor, nil) if err != nil { return nil, err } return &ContextTransactor{contract: contract}, nil } // NewContextFilterer creates a new log filterer instance of Context, bound to a specific deployed contract. func NewContextFilterer(address common.Address, filterer bind.ContractFilterer) (*ContextFilterer, error) { contract, err := bindContext(address, nil, nil, filterer) if err != nil { return nil, err } return &ContextFilterer{contract: contract}, nil } // bindContext binds a generic wrapper to an already deployed contract. func bindContext(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(ContextABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Context *ContextRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Context.Contract.ContextCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Context *ContextRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Context.Contract.ContextTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Context *ContextRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Context.Contract.ContextTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Context *ContextCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Context.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Context *ContextTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Context.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Context *ContextTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Context.Contract.contract.Transact(opts, method, params...) } // ContextUpgradeableMetaData contains all meta data concerning the ContextUpgradeable contract. var ContextUpgradeableMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"}]", } // ContextUpgradeableABI is the input ABI used to generate the binding from. // Deprecated: Use ContextUpgradeableMetaData.ABI instead. var ContextUpgradeableABI = ContextUpgradeableMetaData.ABI // ContextUpgradeable is an auto generated Go binding around an Ethereum contract. type ContextUpgradeable struct { ContextUpgradeableCaller // Read-only binding to the contract ContextUpgradeableTransactor // Write-only binding to the contract ContextUpgradeableFilterer // Log filterer for contract events } // ContextUpgradeableCaller is an auto generated read-only Go binding around an Ethereum contract. type ContextUpgradeableCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ContextUpgradeableTransactor is an auto generated write-only Go binding around an Ethereum contract. type ContextUpgradeableTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ContextUpgradeableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type ContextUpgradeableFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ContextUpgradeableSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type ContextUpgradeableSession struct { Contract *ContextUpgradeable // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ContextUpgradeableCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type ContextUpgradeableCallerSession struct { Contract *ContextUpgradeableCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // ContextUpgradeableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type ContextUpgradeableTransactorSession struct { Contract *ContextUpgradeableTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ContextUpgradeableRaw is an auto generated low-level Go binding around an Ethereum contract. type ContextUpgradeableRaw struct { Contract *ContextUpgradeable // Generic contract binding to access the raw methods on } // ContextUpgradeableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type ContextUpgradeableCallerRaw struct { Contract *ContextUpgradeableCaller // Generic read-only contract binding to access the raw methods on } // ContextUpgradeableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type ContextUpgradeableTransactorRaw struct { Contract *ContextUpgradeableTransactor // Generic write-only contract binding to access the raw methods on } // NewContextUpgradeable creates a new instance of ContextUpgradeable, bound to a specific deployed contract. func NewContextUpgradeable(address common.Address, backend bind.ContractBackend) (*ContextUpgradeable, error) { contract, err := bindContextUpgradeable(address, backend, backend, backend) if err != nil { return nil, err } return &ContextUpgradeable{ContextUpgradeableCaller: ContextUpgradeableCaller{contract: contract}, ContextUpgradeableTransactor: ContextUpgradeableTransactor{contract: contract}, ContextUpgradeableFilterer: ContextUpgradeableFilterer{contract: contract}}, nil } // NewContextUpgradeableCaller creates a new read-only instance of ContextUpgradeable, bound to a specific deployed contract. func NewContextUpgradeableCaller(address common.Address, caller bind.ContractCaller) (*ContextUpgradeableCaller, error) { contract, err := bindContextUpgradeable(address, caller, nil, nil) if err != nil { return nil, err } return &ContextUpgradeableCaller{contract: contract}, nil } // NewContextUpgradeableTransactor creates a new write-only instance of ContextUpgradeable, bound to a specific deployed contract. func NewContextUpgradeableTransactor(address common.Address, transactor bind.ContractTransactor) (*ContextUpgradeableTransactor, error) { contract, err := bindContextUpgradeable(address, nil, transactor, nil) if err != nil { return nil, err } return &ContextUpgradeableTransactor{contract: contract}, nil } // NewContextUpgradeableFilterer creates a new log filterer instance of ContextUpgradeable, bound to a specific deployed contract. func NewContextUpgradeableFilterer(address common.Address, filterer bind.ContractFilterer) (*ContextUpgradeableFilterer, error) { contract, err := bindContextUpgradeable(address, nil, nil, filterer) if err != nil { return nil, err } return &ContextUpgradeableFilterer{contract: contract}, nil } // bindContextUpgradeable binds a generic wrapper to an already deployed contract. func bindContextUpgradeable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(ContextUpgradeableABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ContextUpgradeable *ContextUpgradeableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _ContextUpgradeable.Contract.ContextUpgradeableCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ContextUpgradeable *ContextUpgradeableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ContextUpgradeable.Contract.ContextUpgradeableTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ContextUpgradeable *ContextUpgradeableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ContextUpgradeable.Contract.ContextUpgradeableTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ContextUpgradeable *ContextUpgradeableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _ContextUpgradeable.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ContextUpgradeable *ContextUpgradeableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ContextUpgradeable.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ContextUpgradeable *ContextUpgradeableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ContextUpgradeable.Contract.contract.Transact(opts, method, params...) } // ContextUpgradeableInitializedIterator is returned from FilterInitialized and is used to iterate over the raw logs and unpacked data for Initialized events raised by the ContextUpgradeable contract. type ContextUpgradeableInitializedIterator struct { Event *ContextUpgradeableInitialized // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ContextUpgradeableInitializedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ContextUpgradeableInitialized) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ContextUpgradeableInitialized) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ContextUpgradeableInitializedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ContextUpgradeableInitializedIterator) Close() error { it.sub.Unsubscribe() return nil } // ContextUpgradeableInitialized represents a Initialized event raised by the ContextUpgradeable contract. type ContextUpgradeableInitialized struct { Version uint8 Raw types.Log // Blockchain specific contextual infos } // FilterInitialized is a free log retrieval operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. // // Solidity: event Initialized(uint8 version) func (_ContextUpgradeable *ContextUpgradeableFilterer) FilterInitialized(opts *bind.FilterOpts) (*ContextUpgradeableInitializedIterator, error) { logs, sub, err := _ContextUpgradeable.contract.FilterLogs(opts, "Initialized") if err != nil { return nil, err } return &ContextUpgradeableInitializedIterator{contract: _ContextUpgradeable.contract, event: "Initialized", logs: logs, sub: sub}, nil } // WatchInitialized is a free log subscription operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. // // Solidity: event Initialized(uint8 version) func (_ContextUpgradeable *ContextUpgradeableFilterer) WatchInitialized(opts *bind.WatchOpts, sink chan<- *ContextUpgradeableInitialized) (event.Subscription, error) { logs, sub, err := _ContextUpgradeable.contract.WatchLogs(opts, "Initialized") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ContextUpgradeableInitialized) if err := _ContextUpgradeable.contract.UnpackLog(event, "Initialized", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseInitialized is a log parse operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. // // Solidity: event Initialized(uint8 version) func (_ContextUpgradeable *ContextUpgradeableFilterer) ParseInitialized(log types.Log) (*ContextUpgradeableInitialized, error) { event := new(ContextUpgradeableInitialized) if err := _ContextUpgradeable.contract.UnpackLog(event, "Initialized", log); err != nil { return nil, err } event.Raw = log return event, nil } // DomainContextMetaData contains all meta data concerning the DomainContext contract. var DomainContextMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"name\":\"localDomain\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", Sigs: map[string]string{ "8d3638f4": "localDomain()", }, } // DomainContextABI is the input ABI used to generate the binding from. // Deprecated: Use DomainContextMetaData.ABI instead. var DomainContextABI = DomainContextMetaData.ABI // Deprecated: Use DomainContextMetaData.Sigs instead. // DomainContextFuncSigs maps the 4-byte function signature to its string representation. var DomainContextFuncSigs = DomainContextMetaData.Sigs // DomainContext is an auto generated Go binding around an Ethereum contract. type DomainContext struct { DomainContextCaller // Read-only binding to the contract DomainContextTransactor // Write-only binding to the contract DomainContextFilterer // Log filterer for contract events } // DomainContextCaller is an auto generated read-only Go binding around an Ethereum contract. type DomainContextCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // DomainContextTransactor is an auto generated write-only Go binding around an Ethereum contract. type DomainContextTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // DomainContextFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type DomainContextFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // DomainContextSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type DomainContextSession struct { Contract *DomainContext // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // DomainContextCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type DomainContextCallerSession struct { Contract *DomainContextCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // DomainContextTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type DomainContextTransactorSession struct { Contract *DomainContextTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // DomainContextRaw is an auto generated low-level Go binding around an Ethereum contract. type DomainContextRaw struct { Contract *DomainContext // Generic contract binding to access the raw methods on } // DomainContextCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type DomainContextCallerRaw struct { Contract *DomainContextCaller // Generic read-only contract binding to access the raw methods on } // DomainContextTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type DomainContextTransactorRaw struct { Contract *DomainContextTransactor // Generic write-only contract binding to access the raw methods on } // NewDomainContext creates a new instance of DomainContext, bound to a specific deployed contract. func NewDomainContext(address common.Address, backend bind.ContractBackend) (*DomainContext, error) { contract, err := bindDomainContext(address, backend, backend, backend) if err != nil { return nil, err } return &DomainContext{DomainContextCaller: DomainContextCaller{contract: contract}, DomainContextTransactor: DomainContextTransactor{contract: contract}, DomainContextFilterer: DomainContextFilterer{contract: contract}}, nil } // NewDomainContextCaller creates a new read-only instance of DomainContext, bound to a specific deployed contract. func NewDomainContextCaller(address common.Address, caller bind.ContractCaller) (*DomainContextCaller, error) { contract, err := bindDomainContext(address, caller, nil, nil) if err != nil { return nil, err } return &DomainContextCaller{contract: contract}, nil } // NewDomainContextTransactor creates a new write-only instance of DomainContext, bound to a specific deployed contract. func NewDomainContextTransactor(address common.Address, transactor bind.ContractTransactor) (*DomainContextTransactor, error) { contract, err := bindDomainContext(address, nil, transactor, nil) if err != nil { return nil, err } return &DomainContextTransactor{contract: contract}, nil } // NewDomainContextFilterer creates a new log filterer instance of DomainContext, bound to a specific deployed contract. func NewDomainContextFilterer(address common.Address, filterer bind.ContractFilterer) (*DomainContextFilterer, error) { contract, err := bindDomainContext(address, nil, nil, filterer) if err != nil { return nil, err } return &DomainContextFilterer{contract: contract}, nil } // bindDomainContext binds a generic wrapper to an already deployed contract. func bindDomainContext(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(DomainContextABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_DomainContext *DomainContextRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _DomainContext.Contract.DomainContextCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_DomainContext *DomainContextRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _DomainContext.Contract.DomainContextTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_DomainContext *DomainContextRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _DomainContext.Contract.DomainContextTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_DomainContext *DomainContextCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _DomainContext.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_DomainContext *DomainContextTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _DomainContext.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_DomainContext *DomainContextTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _DomainContext.Contract.contract.Transact(opts, method, params...) } // LocalDomain is a free data retrieval call binding the contract method 0x8d3638f4. // // Solidity: function localDomain() view returns(uint32) func (_DomainContext *DomainContextCaller) LocalDomain(opts *bind.CallOpts) (uint32, error) { var out []interface{} err := _DomainContext.contract.Call(opts, &out, "localDomain") if err != nil { return *new(uint32), err } out0 := *abi.ConvertType(out[0], new(uint32)).(*uint32) return out0, err } // LocalDomain is a free data retrieval call binding the contract method 0x8d3638f4. // // Solidity: function localDomain() view returns(uint32) func (_DomainContext *DomainContextSession) LocalDomain() (uint32, error) { return _DomainContext.Contract.LocalDomain(&_DomainContext.CallOpts) } // LocalDomain is a free data retrieval call binding the contract method 0x8d3638f4. // // Solidity: function localDomain() view returns(uint32) func (_DomainContext *DomainContextCallerSession) LocalDomain() (uint32, error) { return _DomainContext.Contract.LocalDomain(&_DomainContext.CallOpts) } // DomainNotaryRegistryMetaData contains all meta data concerning the DomainNotaryRegistry contract. var DomainNotaryRegistryMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"domain\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"}],\"name\":\"NotaryAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"domain\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"}],\"name\":\"NotaryRemoved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"allNotaries\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getNotary\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"localDomain\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"notariesAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", Sigs: map[string]string{ "9817e315": "allNotaries()", "c07dc7f5": "getNotary(uint256)", "8d3638f4": "localDomain()", "8e62e9ef": "notariesAmount()", }, } // DomainNotaryRegistryABI is the input ABI used to generate the binding from. // Deprecated: Use DomainNotaryRegistryMetaData.ABI instead. var DomainNotaryRegistryABI = DomainNotaryRegistryMetaData.ABI // Deprecated: Use DomainNotaryRegistryMetaData.Sigs instead. // DomainNotaryRegistryFuncSigs maps the 4-byte function signature to its string representation. var DomainNotaryRegistryFuncSigs = DomainNotaryRegistryMetaData.Sigs // DomainNotaryRegistry is an auto generated Go binding around an Ethereum contract. type DomainNotaryRegistry struct { DomainNotaryRegistryCaller // Read-only binding to the contract DomainNotaryRegistryTransactor // Write-only binding to the contract DomainNotaryRegistryFilterer // Log filterer for contract events } // DomainNotaryRegistryCaller is an auto generated read-only Go binding around an Ethereum contract. type DomainNotaryRegistryCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // DomainNotaryRegistryTransactor is an auto generated write-only Go binding around an Ethereum contract. type DomainNotaryRegistryTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // DomainNotaryRegistryFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type DomainNotaryRegistryFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // DomainNotaryRegistrySession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type DomainNotaryRegistrySession struct { Contract *DomainNotaryRegistry // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // DomainNotaryRegistryCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type DomainNotaryRegistryCallerSession struct { Contract *DomainNotaryRegistryCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // DomainNotaryRegistryTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type DomainNotaryRegistryTransactorSession struct { Contract *DomainNotaryRegistryTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // DomainNotaryRegistryRaw is an auto generated low-level Go binding around an Ethereum contract. type DomainNotaryRegistryRaw struct { Contract *DomainNotaryRegistry // Generic contract binding to access the raw methods on } // DomainNotaryRegistryCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type DomainNotaryRegistryCallerRaw struct { Contract *DomainNotaryRegistryCaller // Generic read-only contract binding to access the raw methods on } // DomainNotaryRegistryTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type DomainNotaryRegistryTransactorRaw struct { Contract *DomainNotaryRegistryTransactor // Generic write-only contract binding to access the raw methods on } // NewDomainNotaryRegistry creates a new instance of DomainNotaryRegistry, bound to a specific deployed contract. func NewDomainNotaryRegistry(address common.Address, backend bind.ContractBackend) (*DomainNotaryRegistry, error) { contract, err := bindDomainNotaryRegistry(address, backend, backend, backend) if err != nil { return nil, err } return &DomainNotaryRegistry{DomainNotaryRegistryCaller: DomainNotaryRegistryCaller{contract: contract}, DomainNotaryRegistryTransactor: DomainNotaryRegistryTransactor{contract: contract}, DomainNotaryRegistryFilterer: DomainNotaryRegistryFilterer{contract: contract}}, nil } // NewDomainNotaryRegistryCaller creates a new read-only instance of DomainNotaryRegistry, bound to a specific deployed contract. func NewDomainNotaryRegistryCaller(address common.Address, caller bind.ContractCaller) (*DomainNotaryRegistryCaller, error) { contract, err := bindDomainNotaryRegistry(address, caller, nil, nil) if err != nil { return nil, err } return &DomainNotaryRegistryCaller{contract: contract}, nil } // NewDomainNotaryRegistryTransactor creates a new write-only instance of DomainNotaryRegistry, bound to a specific deployed contract. func NewDomainNotaryRegistryTransactor(address common.Address, transactor bind.ContractTransactor) (*DomainNotaryRegistryTransactor, error) { contract, err := bindDomainNotaryRegistry(address, nil, transactor, nil) if err != nil { return nil, err } return &DomainNotaryRegistryTransactor{contract: contract}, nil } // NewDomainNotaryRegistryFilterer creates a new log filterer instance of DomainNotaryRegistry, bound to a specific deployed contract. func NewDomainNotaryRegistryFilterer(address common.Address, filterer bind.ContractFilterer) (*DomainNotaryRegistryFilterer, error) { contract, err := bindDomainNotaryRegistry(address, nil, nil, filterer) if err != nil { return nil, err } return &DomainNotaryRegistryFilterer{contract: contract}, nil } // bindDomainNotaryRegistry binds a generic wrapper to an already deployed contract. func bindDomainNotaryRegistry(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(DomainNotaryRegistryABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_DomainNotaryRegistry *DomainNotaryRegistryRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _DomainNotaryRegistry.Contract.DomainNotaryRegistryCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_DomainNotaryRegistry *DomainNotaryRegistryRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _DomainNotaryRegistry.Contract.DomainNotaryRegistryTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_DomainNotaryRegistry *DomainNotaryRegistryRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _DomainNotaryRegistry.Contract.DomainNotaryRegistryTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_DomainNotaryRegistry *DomainNotaryRegistryCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _DomainNotaryRegistry.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_DomainNotaryRegistry *DomainNotaryRegistryTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _DomainNotaryRegistry.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_DomainNotaryRegistry *DomainNotaryRegistryTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _DomainNotaryRegistry.Contract.contract.Transact(opts, method, params...) } // AllNotaries is a free data retrieval call binding the contract method 0x9817e315. // // Solidity: function allNotaries() view returns(address[]) func (_DomainNotaryRegistry *DomainNotaryRegistryCaller) AllNotaries(opts *bind.CallOpts) ([]common.Address, error) { var out []interface{} err := _DomainNotaryRegistry.contract.Call(opts, &out, "allNotaries") if err != nil { return *new([]common.Address), err } out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) return out0, err } // AllNotaries is a free data retrieval call binding the contract method 0x9817e315. // // Solidity: function allNotaries() view returns(address[]) func (_DomainNotaryRegistry *DomainNotaryRegistrySession) AllNotaries() ([]common.Address, error) { return _DomainNotaryRegistry.Contract.AllNotaries(&_DomainNotaryRegistry.CallOpts) } // AllNotaries is a free data retrieval call binding the contract method 0x9817e315. // // Solidity: function allNotaries() view returns(address[]) func (_DomainNotaryRegistry *DomainNotaryRegistryCallerSession) AllNotaries() ([]common.Address, error) { return _DomainNotaryRegistry.Contract.AllNotaries(&_DomainNotaryRegistry.CallOpts) } // GetNotary is a free data retrieval call binding the contract method 0xc07dc7f5. // // Solidity: function getNotary(uint256 _index) view returns(address) func (_DomainNotaryRegistry *DomainNotaryRegistryCaller) GetNotary(opts *bind.CallOpts, _index *big.Int) (common.Address, error) { var out []interface{} err := _DomainNotaryRegistry.contract.Call(opts, &out, "getNotary", _index) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetNotary is a free data retrieval call binding the contract method 0xc07dc7f5. // // Solidity: function getNotary(uint256 _index) view returns(address) func (_DomainNotaryRegistry *DomainNotaryRegistrySession) GetNotary(_index *big.Int) (common.Address, error) { return _DomainNotaryRegistry.Contract.GetNotary(&_DomainNotaryRegistry.CallOpts, _index) } // GetNotary is a free data retrieval call binding the contract method 0xc07dc7f5. // // Solidity: function getNotary(uint256 _index) view returns(address) func (_DomainNotaryRegistry *DomainNotaryRegistryCallerSession) GetNotary(_index *big.Int) (common.Address, error) { return _DomainNotaryRegistry.Contract.GetNotary(&_DomainNotaryRegistry.CallOpts, _index) } // LocalDomain is a free data retrieval call binding the contract method 0x8d3638f4. // // Solidity: function localDomain() view returns(uint32) func (_DomainNotaryRegistry *DomainNotaryRegistryCaller) LocalDomain(opts *bind.CallOpts) (uint32, error) { var out []interface{} err := _DomainNotaryRegistry.contract.Call(opts, &out, "localDomain") if err != nil { return *new(uint32), err } out0 := *abi.ConvertType(out[0], new(uint32)).(*uint32) return out0, err } // LocalDomain is a free data retrieval call binding the contract method 0x8d3638f4. // // Solidity: function localDomain() view returns(uint32) func (_DomainNotaryRegistry *DomainNotaryRegistrySession) LocalDomain() (uint32, error) { return _DomainNotaryRegistry.Contract.LocalDomain(&_DomainNotaryRegistry.CallOpts) } // LocalDomain is a free data retrieval call binding the contract method 0x8d3638f4. // // Solidity: function localDomain() view returns(uint32) func (_DomainNotaryRegistry *DomainNotaryRegistryCallerSession) LocalDomain() (uint32, error) { return _DomainNotaryRegistry.Contract.LocalDomain(&_DomainNotaryRegistry.CallOpts) } // NotariesAmount is a free data retrieval call binding the contract method 0x8e62e9ef. // // Solidity: function notariesAmount() view returns(uint256) func (_DomainNotaryRegistry *DomainNotaryRegistryCaller) NotariesAmount(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _DomainNotaryRegistry.contract.Call(opts, &out, "notariesAmount") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // NotariesAmount is a free data retrieval call binding the contract method 0x8e62e9ef. // // Solidity: function notariesAmount() view returns(uint256) func (_DomainNotaryRegistry *DomainNotaryRegistrySession) NotariesAmount() (*big.Int, error) { return _DomainNotaryRegistry.Contract.NotariesAmount(&_DomainNotaryRegistry.CallOpts) } // NotariesAmount is a free data retrieval call binding the contract method 0x8e62e9ef. // // Solidity: function notariesAmount() view returns(uint256) func (_DomainNotaryRegistry *DomainNotaryRegistryCallerSession) NotariesAmount() (*big.Int, error) { return _DomainNotaryRegistry.Contract.NotariesAmount(&_DomainNotaryRegistry.CallOpts) } // DomainNotaryRegistryNotaryAddedIterator is returned from FilterNotaryAdded and is used to iterate over the raw logs and unpacked data for NotaryAdded events raised by the DomainNotaryRegistry contract. type DomainNotaryRegistryNotaryAddedIterator struct { Event *DomainNotaryRegistryNotaryAdded // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *DomainNotaryRegistryNotaryAddedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(DomainNotaryRegistryNotaryAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(DomainNotaryRegistryNotaryAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *DomainNotaryRegistryNotaryAddedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *DomainNotaryRegistryNotaryAddedIterator) Close() error { it.sub.Unsubscribe() return nil } // DomainNotaryRegistryNotaryAdded represents a NotaryAdded event raised by the DomainNotaryRegistry contract. type DomainNotaryRegistryNotaryAdded struct { Domain uint32 Notary common.Address Raw types.Log // Blockchain specific contextual infos } // FilterNotaryAdded is a free log retrieval operation binding the contract event 0x62d8d15324cce2626119bb61d595f59e655486b1ab41b52c0793d814fe03c355. // // Solidity: event NotaryAdded(uint32 indexed domain, address notary) func (_DomainNotaryRegistry *DomainNotaryRegistryFilterer) FilterNotaryAdded(opts *bind.FilterOpts, domain []uint32) (*DomainNotaryRegistryNotaryAddedIterator, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _DomainNotaryRegistry.contract.FilterLogs(opts, "NotaryAdded", domainRule) if err != nil { return nil, err } return &DomainNotaryRegistryNotaryAddedIterator{contract: _DomainNotaryRegistry.contract, event: "NotaryAdded", logs: logs, sub: sub}, nil } // WatchNotaryAdded is a free log subscription operation binding the contract event 0x62d8d15324cce2626119bb61d595f59e655486b1ab41b52c0793d814fe03c355. // // Solidity: event NotaryAdded(uint32 indexed domain, address notary) func (_DomainNotaryRegistry *DomainNotaryRegistryFilterer) WatchNotaryAdded(opts *bind.WatchOpts, sink chan<- *DomainNotaryRegistryNotaryAdded, domain []uint32) (event.Subscription, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _DomainNotaryRegistry.contract.WatchLogs(opts, "NotaryAdded", domainRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(DomainNotaryRegistryNotaryAdded) if err := _DomainNotaryRegistry.contract.UnpackLog(event, "NotaryAdded", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseNotaryAdded is a log parse operation binding the contract event 0x62d8d15324cce2626119bb61d595f59e655486b1ab41b52c0793d814fe03c355. // // Solidity: event NotaryAdded(uint32 indexed domain, address notary) func (_DomainNotaryRegistry *DomainNotaryRegistryFilterer) ParseNotaryAdded(log types.Log) (*DomainNotaryRegistryNotaryAdded, error) { event := new(DomainNotaryRegistryNotaryAdded) if err := _DomainNotaryRegistry.contract.UnpackLog(event, "NotaryAdded", log); err != nil { return nil, err } event.Raw = log return event, nil } // DomainNotaryRegistryNotaryRemovedIterator is returned from FilterNotaryRemoved and is used to iterate over the raw logs and unpacked data for NotaryRemoved events raised by the DomainNotaryRegistry contract. type DomainNotaryRegistryNotaryRemovedIterator struct { Event *DomainNotaryRegistryNotaryRemoved // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *DomainNotaryRegistryNotaryRemovedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(DomainNotaryRegistryNotaryRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(DomainNotaryRegistryNotaryRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *DomainNotaryRegistryNotaryRemovedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *DomainNotaryRegistryNotaryRemovedIterator) Close() error { it.sub.Unsubscribe() return nil } // DomainNotaryRegistryNotaryRemoved represents a NotaryRemoved event raised by the DomainNotaryRegistry contract. type DomainNotaryRegistryNotaryRemoved struct { Domain uint32 Notary common.Address Raw types.Log // Blockchain specific contextual infos } // FilterNotaryRemoved is a free log retrieval operation binding the contract event 0x3e006f5b97c04e82df349064761281b0981d45330c2f3e57cc032203b0e31b6b. // // Solidity: event NotaryRemoved(uint32 indexed domain, address notary) func (_DomainNotaryRegistry *DomainNotaryRegistryFilterer) FilterNotaryRemoved(opts *bind.FilterOpts, domain []uint32) (*DomainNotaryRegistryNotaryRemovedIterator, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _DomainNotaryRegistry.contract.FilterLogs(opts, "NotaryRemoved", domainRule) if err != nil { return nil, err } return &DomainNotaryRegistryNotaryRemovedIterator{contract: _DomainNotaryRegistry.contract, event: "NotaryRemoved", logs: logs, sub: sub}, nil } // WatchNotaryRemoved is a free log subscription operation binding the contract event 0x3e006f5b97c04e82df349064761281b0981d45330c2f3e57cc032203b0e31b6b. // // Solidity: event NotaryRemoved(uint32 indexed domain, address notary) func (_DomainNotaryRegistry *DomainNotaryRegistryFilterer) WatchNotaryRemoved(opts *bind.WatchOpts, sink chan<- *DomainNotaryRegistryNotaryRemoved, domain []uint32) (event.Subscription, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _DomainNotaryRegistry.contract.WatchLogs(opts, "NotaryRemoved", domainRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(DomainNotaryRegistryNotaryRemoved) if err := _DomainNotaryRegistry.contract.UnpackLog(event, "NotaryRemoved", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseNotaryRemoved is a log parse operation binding the contract event 0x3e006f5b97c04e82df349064761281b0981d45330c2f3e57cc032203b0e31b6b. // // Solidity: event NotaryRemoved(uint32 indexed domain, address notary) func (_DomainNotaryRegistry *DomainNotaryRegistryFilterer) ParseNotaryRemoved(log types.Log) (*DomainNotaryRegistryNotaryRemoved, error) { event := new(DomainNotaryRegistryNotaryRemoved) if err := _DomainNotaryRegistry.contract.UnpackLog(event, "NotaryRemoved", log); err != nil { return nil, err } event.Raw = log return event, nil } // ECDSAMetaData contains all meta data concerning the ECDSA contract. var ECDSAMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d7963f18767b2143e1217884f2665ac5f919b5e2f43e82dffeb5dc74a9d1126d64736f6c63430008110033", } // ECDSAABI is the input ABI used to generate the binding from. // Deprecated: Use ECDSAMetaData.ABI instead. var ECDSAABI = ECDSAMetaData.ABI // ECDSABin is the compiled bytecode used for deploying new contracts. // Deprecated: Use ECDSAMetaData.Bin instead. var ECDSABin = ECDSAMetaData.Bin // DeployECDSA deploys a new Ethereum contract, binding an instance of ECDSA to it. func DeployECDSA(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ECDSA, error) { parsed, err := ECDSAMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ECDSABin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &ECDSA{ECDSACaller: ECDSACaller{contract: contract}, ECDSATransactor: ECDSATransactor{contract: contract}, ECDSAFilterer: ECDSAFilterer{contract: contract}}, nil } // ECDSA is an auto generated Go binding around an Ethereum contract. type ECDSA struct { ECDSACaller // Read-only binding to the contract ECDSATransactor // Write-only binding to the contract ECDSAFilterer // Log filterer for contract events } // ECDSACaller is an auto generated read-only Go binding around an Ethereum contract. type ECDSACaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ECDSATransactor is an auto generated write-only Go binding around an Ethereum contract. type ECDSATransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ECDSAFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type ECDSAFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ECDSASession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type ECDSASession struct { Contract *ECDSA // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ECDSACallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type ECDSACallerSession struct { Contract *ECDSACaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // ECDSATransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type ECDSATransactorSession struct { Contract *ECDSATransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ECDSARaw is an auto generated low-level Go binding around an Ethereum contract. type ECDSARaw struct { Contract *ECDSA // Generic contract binding to access the raw methods on } // ECDSACallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type ECDSACallerRaw struct { Contract *ECDSACaller // Generic read-only contract binding to access the raw methods on } // ECDSATransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type ECDSATransactorRaw struct { Contract *ECDSATransactor // Generic write-only contract binding to access the raw methods on } // NewECDSA creates a new instance of ECDSA, bound to a specific deployed contract. func NewECDSA(address common.Address, backend bind.ContractBackend) (*ECDSA, error) { contract, err := bindECDSA(address, backend, backend, backend) if err != nil { return nil, err } return &ECDSA{ECDSACaller: ECDSACaller{contract: contract}, ECDSATransactor: ECDSATransactor{contract: contract}, ECDSAFilterer: ECDSAFilterer{contract: contract}}, nil } // NewECDSACaller creates a new read-only instance of ECDSA, bound to a specific deployed contract. func NewECDSACaller(address common.Address, caller bind.ContractCaller) (*ECDSACaller, error) { contract, err := bindECDSA(address, caller, nil, nil) if err != nil { return nil, err } return &ECDSACaller{contract: contract}, nil } // NewECDSATransactor creates a new write-only instance of ECDSA, bound to a specific deployed contract. func NewECDSATransactor(address common.Address, transactor bind.ContractTransactor) (*ECDSATransactor, error) { contract, err := bindECDSA(address, nil, transactor, nil) if err != nil { return nil, err } return &ECDSATransactor{contract: contract}, nil } // NewECDSAFilterer creates a new log filterer instance of ECDSA, bound to a specific deployed contract. func NewECDSAFilterer(address common.Address, filterer bind.ContractFilterer) (*ECDSAFilterer, error) { contract, err := bindECDSA(address, nil, nil, filterer) if err != nil { return nil, err } return &ECDSAFilterer{contract: contract}, nil } // bindECDSA binds a generic wrapper to an already deployed contract. func bindECDSA(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(ECDSAABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ECDSA *ECDSARaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _ECDSA.Contract.ECDSACaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ECDSA *ECDSARaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ECDSA.Contract.ECDSATransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ECDSA *ECDSARaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ECDSA.Contract.ECDSATransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ECDSA *ECDSACallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _ECDSA.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ECDSA *ECDSATransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ECDSA.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ECDSA *ECDSATransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ECDSA.Contract.contract.Transact(opts, method, params...) } // EnumerableSetMetaData contains all meta data concerning the EnumerableSet contract. var EnumerableSetMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ce90068042255e347b78470bfdb8445436a5cc1de61c526110103f6c5cc64e5c64736f6c63430008110033", } // EnumerableSetABI is the input ABI used to generate the binding from. // Deprecated: Use EnumerableSetMetaData.ABI instead. var EnumerableSetABI = EnumerableSetMetaData.ABI // EnumerableSetBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use EnumerableSetMetaData.Bin instead. var EnumerableSetBin = EnumerableSetMetaData.Bin // DeployEnumerableSet deploys a new Ethereum contract, binding an instance of EnumerableSet to it. func DeployEnumerableSet(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *EnumerableSet, error) { parsed, err := EnumerableSetMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(EnumerableSetBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &EnumerableSet{EnumerableSetCaller: EnumerableSetCaller{contract: contract}, EnumerableSetTransactor: EnumerableSetTransactor{contract: contract}, EnumerableSetFilterer: EnumerableSetFilterer{contract: contract}}, nil } // EnumerableSet is an auto generated Go binding around an Ethereum contract. type EnumerableSet struct { EnumerableSetCaller // Read-only binding to the contract EnumerableSetTransactor // Write-only binding to the contract EnumerableSetFilterer // Log filterer for contract events } // EnumerableSetCaller is an auto generated read-only Go binding around an Ethereum contract. type EnumerableSetCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // EnumerableSetTransactor is an auto generated write-only Go binding around an Ethereum contract. type EnumerableSetTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // EnumerableSetFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type EnumerableSetFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // EnumerableSetSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type EnumerableSetSession struct { Contract *EnumerableSet // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // EnumerableSetCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type EnumerableSetCallerSession struct { Contract *EnumerableSetCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // EnumerableSetTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type EnumerableSetTransactorSession struct { Contract *EnumerableSetTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // EnumerableSetRaw is an auto generated low-level Go binding around an Ethereum contract. type EnumerableSetRaw struct { Contract *EnumerableSet // Generic contract binding to access the raw methods on } // EnumerableSetCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type EnumerableSetCallerRaw struct { Contract *EnumerableSetCaller // Generic read-only contract binding to access the raw methods on } // EnumerableSetTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type EnumerableSetTransactorRaw struct { Contract *EnumerableSetTransactor // Generic write-only contract binding to access the raw methods on } // NewEnumerableSet creates a new instance of EnumerableSet, bound to a specific deployed contract. func NewEnumerableSet(address common.Address, backend bind.ContractBackend) (*EnumerableSet, error) { contract, err := bindEnumerableSet(address, backend, backend, backend) if err != nil { return nil, err } return &EnumerableSet{EnumerableSetCaller: EnumerableSetCaller{contract: contract}, EnumerableSetTransactor: EnumerableSetTransactor{contract: contract}, EnumerableSetFilterer: EnumerableSetFilterer{contract: contract}}, nil } // NewEnumerableSetCaller creates a new read-only instance of EnumerableSet, bound to a specific deployed contract. func NewEnumerableSetCaller(address common.Address, caller bind.ContractCaller) (*EnumerableSetCaller, error) { contract, err := bindEnumerableSet(address, caller, nil, nil) if err != nil { return nil, err } return &EnumerableSetCaller{contract: contract}, nil } // NewEnumerableSetTransactor creates a new write-only instance of EnumerableSet, bound to a specific deployed contract. func NewEnumerableSetTransactor(address common.Address, transactor bind.ContractTransactor) (*EnumerableSetTransactor, error) { contract, err := bindEnumerableSet(address, nil, transactor, nil) if err != nil { return nil, err } return &EnumerableSetTransactor{contract: contract}, nil } // NewEnumerableSetFilterer creates a new log filterer instance of EnumerableSet, bound to a specific deployed contract. func NewEnumerableSetFilterer(address common.Address, filterer bind.ContractFilterer) (*EnumerableSetFilterer, error) { contract, err := bindEnumerableSet(address, nil, nil, filterer) if err != nil { return nil, err } return &EnumerableSetFilterer{contract: contract}, nil } // bindEnumerableSet binds a generic wrapper to an already deployed contract. func bindEnumerableSet(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(EnumerableSetABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_EnumerableSet *EnumerableSetRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _EnumerableSet.Contract.EnumerableSetCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_EnumerableSet *EnumerableSetRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _EnumerableSet.Contract.EnumerableSetTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_EnumerableSet *EnumerableSetRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _EnumerableSet.Contract.EnumerableSetTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_EnumerableSet *EnumerableSetCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _EnumerableSet.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_EnumerableSet *EnumerableSetTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _EnumerableSet.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_EnumerableSet *EnumerableSetTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _EnumerableSet.Contract.contract.Transact(opts, method, params...) } // GuardRegistryMetaData contains all meta data concerning the GuardRegistry contract. var GuardRegistryMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"GuardAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"GuardRemoved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"allGuards\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getGuard\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"guardsAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", Sigs: map[string]string{ "9fe03fa2": "allGuards()", "629ddf69": "getGuard(uint256)", "246c2449": "guardsAmount()", }, Bin: "0x608060405234801561001057600080fd5b50610265806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063246c244914610046578063629ddf69146100615780639fe03fa214610099575b600080fd5b61004e6100ae565b6040519081526020015b60405180910390f35b61007461006f36600461018d565b6100bf565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610058565b6100a16100d1565b60405161005891906101a6565b60006100ba60006100dd565b905090565b60006100cb81836100e7565b92915050565b60606100ba60006100fa565b60006100cb825490565b60006100f38383610107565b9392505050565b606060006100f383610131565b600082600001828154811061011e5761011e610200565b9060005260206000200154905092915050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561018157602002820191906000526020600020905b81548152602001906001019080831161016d575b50505050509050919050565b60006020828403121561019f57600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b818110156101f457835173ffffffffffffffffffffffffffffffffffffffff16835292840192918401916001016101c2565b50909695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212206c6735465468f204aa566521e0dba3b86d2632715a724dac55ddcffe9bc032e164736f6c63430008110033", } // GuardRegistryABI is the input ABI used to generate the binding from. // Deprecated: Use GuardRegistryMetaData.ABI instead. var GuardRegistryABI = GuardRegistryMetaData.ABI // Deprecated: Use GuardRegistryMetaData.Sigs instead. // GuardRegistryFuncSigs maps the 4-byte function signature to its string representation. var GuardRegistryFuncSigs = GuardRegistryMetaData.Sigs // GuardRegistryBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use GuardRegistryMetaData.Bin instead. var GuardRegistryBin = GuardRegistryMetaData.Bin // DeployGuardRegistry deploys a new Ethereum contract, binding an instance of GuardRegistry to it. func DeployGuardRegistry(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *GuardRegistry, error) { parsed, err := GuardRegistryMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(GuardRegistryBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &GuardRegistry{GuardRegistryCaller: GuardRegistryCaller{contract: contract}, GuardRegistryTransactor: GuardRegistryTransactor{contract: contract}, GuardRegistryFilterer: GuardRegistryFilterer{contract: contract}}, nil } // GuardRegistry is an auto generated Go binding around an Ethereum contract. type GuardRegistry struct { GuardRegistryCaller // Read-only binding to the contract GuardRegistryTransactor // Write-only binding to the contract GuardRegistryFilterer // Log filterer for contract events } // GuardRegistryCaller is an auto generated read-only Go binding around an Ethereum contract. type GuardRegistryCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // GuardRegistryTransactor is an auto generated write-only Go binding around an Ethereum contract. type GuardRegistryTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // GuardRegistryFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type GuardRegistryFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // GuardRegistrySession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type GuardRegistrySession struct { Contract *GuardRegistry // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // GuardRegistryCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type GuardRegistryCallerSession struct { Contract *GuardRegistryCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // GuardRegistryTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type GuardRegistryTransactorSession struct { Contract *GuardRegistryTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // GuardRegistryRaw is an auto generated low-level Go binding around an Ethereum contract. type GuardRegistryRaw struct { Contract *GuardRegistry // Generic contract binding to access the raw methods on } // GuardRegistryCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type GuardRegistryCallerRaw struct { Contract *GuardRegistryCaller // Generic read-only contract binding to access the raw methods on } // GuardRegistryTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type GuardRegistryTransactorRaw struct { Contract *GuardRegistryTransactor // Generic write-only contract binding to access the raw methods on } // NewGuardRegistry creates a new instance of GuardRegistry, bound to a specific deployed contract. func NewGuardRegistry(address common.Address, backend bind.ContractBackend) (*GuardRegistry, error) { contract, err := bindGuardRegistry(address, backend, backend, backend) if err != nil { return nil, err } return &GuardRegistry{GuardRegistryCaller: GuardRegistryCaller{contract: contract}, GuardRegistryTransactor: GuardRegistryTransactor{contract: contract}, GuardRegistryFilterer: GuardRegistryFilterer{contract: contract}}, nil } // NewGuardRegistryCaller creates a new read-only instance of GuardRegistry, bound to a specific deployed contract. func NewGuardRegistryCaller(address common.Address, caller bind.ContractCaller) (*GuardRegistryCaller, error) { contract, err := bindGuardRegistry(address, caller, nil, nil) if err != nil { return nil, err } return &GuardRegistryCaller{contract: contract}, nil } // NewGuardRegistryTransactor creates a new write-only instance of GuardRegistry, bound to a specific deployed contract. func NewGuardRegistryTransactor(address common.Address, transactor bind.ContractTransactor) (*GuardRegistryTransactor, error) { contract, err := bindGuardRegistry(address, nil, transactor, nil) if err != nil { return nil, err } return &GuardRegistryTransactor{contract: contract}, nil } // NewGuardRegistryFilterer creates a new log filterer instance of GuardRegistry, bound to a specific deployed contract. func NewGuardRegistryFilterer(address common.Address, filterer bind.ContractFilterer) (*GuardRegistryFilterer, error) { contract, err := bindGuardRegistry(address, nil, nil, filterer) if err != nil { return nil, err } return &GuardRegistryFilterer{contract: contract}, nil } // bindGuardRegistry binds a generic wrapper to an already deployed contract. func bindGuardRegistry(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(GuardRegistryABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_GuardRegistry *GuardRegistryRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _GuardRegistry.Contract.GuardRegistryCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_GuardRegistry *GuardRegistryRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _GuardRegistry.Contract.GuardRegistryTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_GuardRegistry *GuardRegistryRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _GuardRegistry.Contract.GuardRegistryTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_GuardRegistry *GuardRegistryCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _GuardRegistry.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_GuardRegistry *GuardRegistryTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _GuardRegistry.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_GuardRegistry *GuardRegistryTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _GuardRegistry.Contract.contract.Transact(opts, method, params...) } // AllGuards is a free data retrieval call binding the contract method 0x9fe03fa2. // // Solidity: function allGuards() view returns(address[]) func (_GuardRegistry *GuardRegistryCaller) AllGuards(opts *bind.CallOpts) ([]common.Address, error) { var out []interface{} err := _GuardRegistry.contract.Call(opts, &out, "allGuards") if err != nil { return *new([]common.Address), err } out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) return out0, err } // AllGuards is a free data retrieval call binding the contract method 0x9fe03fa2. // // Solidity: function allGuards() view returns(address[]) func (_GuardRegistry *GuardRegistrySession) AllGuards() ([]common.Address, error) { return _GuardRegistry.Contract.AllGuards(&_GuardRegistry.CallOpts) } // AllGuards is a free data retrieval call binding the contract method 0x9fe03fa2. // // Solidity: function allGuards() view returns(address[]) func (_GuardRegistry *GuardRegistryCallerSession) AllGuards() ([]common.Address, error) { return _GuardRegistry.Contract.AllGuards(&_GuardRegistry.CallOpts) } // GetGuard is a free data retrieval call binding the contract method 0x629ddf69. // // Solidity: function getGuard(uint256 _index) view returns(address) func (_GuardRegistry *GuardRegistryCaller) GetGuard(opts *bind.CallOpts, _index *big.Int) (common.Address, error) { var out []interface{} err := _GuardRegistry.contract.Call(opts, &out, "getGuard", _index) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetGuard is a free data retrieval call binding the contract method 0x629ddf69. // // Solidity: function getGuard(uint256 _index) view returns(address) func (_GuardRegistry *GuardRegistrySession) GetGuard(_index *big.Int) (common.Address, error) { return _GuardRegistry.Contract.GetGuard(&_GuardRegistry.CallOpts, _index) } // GetGuard is a free data retrieval call binding the contract method 0x629ddf69. // // Solidity: function getGuard(uint256 _index) view returns(address) func (_GuardRegistry *GuardRegistryCallerSession) GetGuard(_index *big.Int) (common.Address, error) { return _GuardRegistry.Contract.GetGuard(&_GuardRegistry.CallOpts, _index) } // GuardsAmount is a free data retrieval call binding the contract method 0x246c2449. // // Solidity: function guardsAmount() view returns(uint256) func (_GuardRegistry *GuardRegistryCaller) GuardsAmount(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _GuardRegistry.contract.Call(opts, &out, "guardsAmount") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // GuardsAmount is a free data retrieval call binding the contract method 0x246c2449. // // Solidity: function guardsAmount() view returns(uint256) func (_GuardRegistry *GuardRegistrySession) GuardsAmount() (*big.Int, error) { return _GuardRegistry.Contract.GuardsAmount(&_GuardRegistry.CallOpts) } // GuardsAmount is a free data retrieval call binding the contract method 0x246c2449. // // Solidity: function guardsAmount() view returns(uint256) func (_GuardRegistry *GuardRegistryCallerSession) GuardsAmount() (*big.Int, error) { return _GuardRegistry.Contract.GuardsAmount(&_GuardRegistry.CallOpts) } // GuardRegistryGuardAddedIterator is returned from FilterGuardAdded and is used to iterate over the raw logs and unpacked data for GuardAdded events raised by the GuardRegistry contract. type GuardRegistryGuardAddedIterator struct { Event *GuardRegistryGuardAdded // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *GuardRegistryGuardAddedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(GuardRegistryGuardAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(GuardRegistryGuardAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *GuardRegistryGuardAddedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *GuardRegistryGuardAddedIterator) Close() error { it.sub.Unsubscribe() return nil } // GuardRegistryGuardAdded represents a GuardAdded event raised by the GuardRegistry contract. type GuardRegistryGuardAdded struct { Guard common.Address Raw types.Log // Blockchain specific contextual infos } // FilterGuardAdded is a free log retrieval operation binding the contract event 0x93405f05cd04f0d1bd875f2de00f1f3890484ffd0589248953bdfd29ba7f2f59. // // Solidity: event GuardAdded(address guard) func (_GuardRegistry *GuardRegistryFilterer) FilterGuardAdded(opts *bind.FilterOpts) (*GuardRegistryGuardAddedIterator, error) { logs, sub, err := _GuardRegistry.contract.FilterLogs(opts, "GuardAdded") if err != nil { return nil, err } return &GuardRegistryGuardAddedIterator{contract: _GuardRegistry.contract, event: "GuardAdded", logs: logs, sub: sub}, nil } // WatchGuardAdded is a free log subscription operation binding the contract event 0x93405f05cd04f0d1bd875f2de00f1f3890484ffd0589248953bdfd29ba7f2f59. // // Solidity: event GuardAdded(address guard) func (_GuardRegistry *GuardRegistryFilterer) WatchGuardAdded(opts *bind.WatchOpts, sink chan<- *GuardRegistryGuardAdded) (event.Subscription, error) { logs, sub, err := _GuardRegistry.contract.WatchLogs(opts, "GuardAdded") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(GuardRegistryGuardAdded) if err := _GuardRegistry.contract.UnpackLog(event, "GuardAdded", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseGuardAdded is a log parse operation binding the contract event 0x93405f05cd04f0d1bd875f2de00f1f3890484ffd0589248953bdfd29ba7f2f59. // // Solidity: event GuardAdded(address guard) func (_GuardRegistry *GuardRegistryFilterer) ParseGuardAdded(log types.Log) (*GuardRegistryGuardAdded, error) { event := new(GuardRegistryGuardAdded) if err := _GuardRegistry.contract.UnpackLog(event, "GuardAdded", log); err != nil { return nil, err } event.Raw = log return event, nil } // GuardRegistryGuardRemovedIterator is returned from FilterGuardRemoved and is used to iterate over the raw logs and unpacked data for GuardRemoved events raised by the GuardRegistry contract. type GuardRegistryGuardRemovedIterator struct { Event *GuardRegistryGuardRemoved // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *GuardRegistryGuardRemovedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(GuardRegistryGuardRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(GuardRegistryGuardRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *GuardRegistryGuardRemovedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *GuardRegistryGuardRemovedIterator) Close() error { it.sub.Unsubscribe() return nil } // GuardRegistryGuardRemoved represents a GuardRemoved event raised by the GuardRegistry contract. type GuardRegistryGuardRemoved struct { Guard common.Address Raw types.Log // Blockchain specific contextual infos } // FilterGuardRemoved is a free log retrieval operation binding the contract event 0x59926e0a78d12238b668b31c8e3f6ece235a59a00ede111d883e255b68c4d048. // // Solidity: event GuardRemoved(address guard) func (_GuardRegistry *GuardRegistryFilterer) FilterGuardRemoved(opts *bind.FilterOpts) (*GuardRegistryGuardRemovedIterator, error) { logs, sub, err := _GuardRegistry.contract.FilterLogs(opts, "GuardRemoved") if err != nil { return nil, err } return &GuardRegistryGuardRemovedIterator{contract: _GuardRegistry.contract, event: "GuardRemoved", logs: logs, sub: sub}, nil } // WatchGuardRemoved is a free log subscription operation binding the contract event 0x59926e0a78d12238b668b31c8e3f6ece235a59a00ede111d883e255b68c4d048. // // Solidity: event GuardRemoved(address guard) func (_GuardRegistry *GuardRegistryFilterer) WatchGuardRemoved(opts *bind.WatchOpts, sink chan<- *GuardRegistryGuardRemoved) (event.Subscription, error) { logs, sub, err := _GuardRegistry.contract.WatchLogs(opts, "GuardRemoved") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(GuardRegistryGuardRemoved) if err := _GuardRegistry.contract.UnpackLog(event, "GuardRemoved", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseGuardRemoved is a log parse operation binding the contract event 0x59926e0a78d12238b668b31c8e3f6ece235a59a00ede111d883e255b68c4d048. // // Solidity: event GuardRemoved(address guard) func (_GuardRegistry *GuardRegistryFilterer) ParseGuardRemoved(log types.Log) (*GuardRegistryGuardRemoved, error) { event := new(GuardRegistryGuardRemoved) if err := _GuardRegistry.contract.UnpackLog(event, "GuardRemoved", log); err != nil { return nil, err } event.Raw = log return event, nil } // GuardRegistryEventsMetaData contains all meta data concerning the GuardRegistryEvents contract. var GuardRegistryEventsMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"GuardAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"GuardRemoved\",\"type\":\"event\"}]", } // GuardRegistryEventsABI is the input ABI used to generate the binding from. // Deprecated: Use GuardRegistryEventsMetaData.ABI instead. var GuardRegistryEventsABI = GuardRegistryEventsMetaData.ABI // GuardRegistryEvents is an auto generated Go binding around an Ethereum contract. type GuardRegistryEvents struct { GuardRegistryEventsCaller // Read-only binding to the contract GuardRegistryEventsTransactor // Write-only binding to the contract GuardRegistryEventsFilterer // Log filterer for contract events } // GuardRegistryEventsCaller is an auto generated read-only Go binding around an Ethereum contract. type GuardRegistryEventsCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // GuardRegistryEventsTransactor is an auto generated write-only Go binding around an Ethereum contract. type GuardRegistryEventsTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // GuardRegistryEventsFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type GuardRegistryEventsFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // GuardRegistryEventsSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type GuardRegistryEventsSession struct { Contract *GuardRegistryEvents // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // GuardRegistryEventsCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type GuardRegistryEventsCallerSession struct { Contract *GuardRegistryEventsCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // GuardRegistryEventsTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type GuardRegistryEventsTransactorSession struct { Contract *GuardRegistryEventsTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // GuardRegistryEventsRaw is an auto generated low-level Go binding around an Ethereum contract. type GuardRegistryEventsRaw struct { Contract *GuardRegistryEvents // Generic contract binding to access the raw methods on } // GuardRegistryEventsCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type GuardRegistryEventsCallerRaw struct { Contract *GuardRegistryEventsCaller // Generic read-only contract binding to access the raw methods on } // GuardRegistryEventsTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type GuardRegistryEventsTransactorRaw struct { Contract *GuardRegistryEventsTransactor // Generic write-only contract binding to access the raw methods on } // NewGuardRegistryEvents creates a new instance of GuardRegistryEvents, bound to a specific deployed contract. func NewGuardRegistryEvents(address common.Address, backend bind.ContractBackend) (*GuardRegistryEvents, error) { contract, err := bindGuardRegistryEvents(address, backend, backend, backend) if err != nil { return nil, err } return &GuardRegistryEvents{GuardRegistryEventsCaller: GuardRegistryEventsCaller{contract: contract}, GuardRegistryEventsTransactor: GuardRegistryEventsTransactor{contract: contract}, GuardRegistryEventsFilterer: GuardRegistryEventsFilterer{contract: contract}}, nil } // NewGuardRegistryEventsCaller creates a new read-only instance of GuardRegistryEvents, bound to a specific deployed contract. func NewGuardRegistryEventsCaller(address common.Address, caller bind.ContractCaller) (*GuardRegistryEventsCaller, error) { contract, err := bindGuardRegistryEvents(address, caller, nil, nil) if err != nil { return nil, err } return &GuardRegistryEventsCaller{contract: contract}, nil } // NewGuardRegistryEventsTransactor creates a new write-only instance of GuardRegistryEvents, bound to a specific deployed contract. func NewGuardRegistryEventsTransactor(address common.Address, transactor bind.ContractTransactor) (*GuardRegistryEventsTransactor, error) { contract, err := bindGuardRegistryEvents(address, nil, transactor, nil) if err != nil { return nil, err } return &GuardRegistryEventsTransactor{contract: contract}, nil } // NewGuardRegistryEventsFilterer creates a new log filterer instance of GuardRegistryEvents, bound to a specific deployed contract. func NewGuardRegistryEventsFilterer(address common.Address, filterer bind.ContractFilterer) (*GuardRegistryEventsFilterer, error) { contract, err := bindGuardRegistryEvents(address, nil, nil, filterer) if err != nil { return nil, err } return &GuardRegistryEventsFilterer{contract: contract}, nil } // bindGuardRegistryEvents binds a generic wrapper to an already deployed contract. func bindGuardRegistryEvents(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(GuardRegistryEventsABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_GuardRegistryEvents *GuardRegistryEventsRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _GuardRegistryEvents.Contract.GuardRegistryEventsCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_GuardRegistryEvents *GuardRegistryEventsRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _GuardRegistryEvents.Contract.GuardRegistryEventsTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_GuardRegistryEvents *GuardRegistryEventsRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _GuardRegistryEvents.Contract.GuardRegistryEventsTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_GuardRegistryEvents *GuardRegistryEventsCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _GuardRegistryEvents.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_GuardRegistryEvents *GuardRegistryEventsTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _GuardRegistryEvents.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_GuardRegistryEvents *GuardRegistryEventsTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _GuardRegistryEvents.Contract.contract.Transact(opts, method, params...) } // GuardRegistryEventsGuardAddedIterator is returned from FilterGuardAdded and is used to iterate over the raw logs and unpacked data for GuardAdded events raised by the GuardRegistryEvents contract. type GuardRegistryEventsGuardAddedIterator struct { Event *GuardRegistryEventsGuardAdded // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *GuardRegistryEventsGuardAddedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(GuardRegistryEventsGuardAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(GuardRegistryEventsGuardAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *GuardRegistryEventsGuardAddedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *GuardRegistryEventsGuardAddedIterator) Close() error { it.sub.Unsubscribe() return nil } // GuardRegistryEventsGuardAdded represents a GuardAdded event raised by the GuardRegistryEvents contract. type GuardRegistryEventsGuardAdded struct { Guard common.Address Raw types.Log // Blockchain specific contextual infos } // FilterGuardAdded is a free log retrieval operation binding the contract event 0x93405f05cd04f0d1bd875f2de00f1f3890484ffd0589248953bdfd29ba7f2f59. // // Solidity: event GuardAdded(address guard) func (_GuardRegistryEvents *GuardRegistryEventsFilterer) FilterGuardAdded(opts *bind.FilterOpts) (*GuardRegistryEventsGuardAddedIterator, error) { logs, sub, err := _GuardRegistryEvents.contract.FilterLogs(opts, "GuardAdded") if err != nil { return nil, err } return &GuardRegistryEventsGuardAddedIterator{contract: _GuardRegistryEvents.contract, event: "GuardAdded", logs: logs, sub: sub}, nil } // WatchGuardAdded is a free log subscription operation binding the contract event 0x93405f05cd04f0d1bd875f2de00f1f3890484ffd0589248953bdfd29ba7f2f59. // // Solidity: event GuardAdded(address guard) func (_GuardRegistryEvents *GuardRegistryEventsFilterer) WatchGuardAdded(opts *bind.WatchOpts, sink chan<- *GuardRegistryEventsGuardAdded) (event.Subscription, error) { logs, sub, err := _GuardRegistryEvents.contract.WatchLogs(opts, "GuardAdded") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(GuardRegistryEventsGuardAdded) if err := _GuardRegistryEvents.contract.UnpackLog(event, "GuardAdded", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseGuardAdded is a log parse operation binding the contract event 0x93405f05cd04f0d1bd875f2de00f1f3890484ffd0589248953bdfd29ba7f2f59. // // Solidity: event GuardAdded(address guard) func (_GuardRegistryEvents *GuardRegistryEventsFilterer) ParseGuardAdded(log types.Log) (*GuardRegistryEventsGuardAdded, error) { event := new(GuardRegistryEventsGuardAdded) if err := _GuardRegistryEvents.contract.UnpackLog(event, "GuardAdded", log); err != nil { return nil, err } event.Raw = log return event, nil } // GuardRegistryEventsGuardRemovedIterator is returned from FilterGuardRemoved and is used to iterate over the raw logs and unpacked data for GuardRemoved events raised by the GuardRegistryEvents contract. type GuardRegistryEventsGuardRemovedIterator struct { Event *GuardRegistryEventsGuardRemoved // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *GuardRegistryEventsGuardRemovedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(GuardRegistryEventsGuardRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(GuardRegistryEventsGuardRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *GuardRegistryEventsGuardRemovedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *GuardRegistryEventsGuardRemovedIterator) Close() error { it.sub.Unsubscribe() return nil } // GuardRegistryEventsGuardRemoved represents a GuardRemoved event raised by the GuardRegistryEvents contract. type GuardRegistryEventsGuardRemoved struct { Guard common.Address Raw types.Log // Blockchain specific contextual infos } // FilterGuardRemoved is a free log retrieval operation binding the contract event 0x59926e0a78d12238b668b31c8e3f6ece235a59a00ede111d883e255b68c4d048. // // Solidity: event GuardRemoved(address guard) func (_GuardRegistryEvents *GuardRegistryEventsFilterer) FilterGuardRemoved(opts *bind.FilterOpts) (*GuardRegistryEventsGuardRemovedIterator, error) { logs, sub, err := _GuardRegistryEvents.contract.FilterLogs(opts, "GuardRemoved") if err != nil { return nil, err } return &GuardRegistryEventsGuardRemovedIterator{contract: _GuardRegistryEvents.contract, event: "GuardRemoved", logs: logs, sub: sub}, nil } // WatchGuardRemoved is a free log subscription operation binding the contract event 0x59926e0a78d12238b668b31c8e3f6ece235a59a00ede111d883e255b68c4d048. // // Solidity: event GuardRemoved(address guard) func (_GuardRegistryEvents *GuardRegistryEventsFilterer) WatchGuardRemoved(opts *bind.WatchOpts, sink chan<- *GuardRegistryEventsGuardRemoved) (event.Subscription, error) { logs, sub, err := _GuardRegistryEvents.contract.WatchLogs(opts, "GuardRemoved") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(GuardRegistryEventsGuardRemoved) if err := _GuardRegistryEvents.contract.UnpackLog(event, "GuardRemoved", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseGuardRemoved is a log parse operation binding the contract event 0x59926e0a78d12238b668b31c8e3f6ece235a59a00ede111d883e255b68c4d048. // // Solidity: event GuardRemoved(address guard) func (_GuardRegistryEvents *GuardRegistryEventsFilterer) ParseGuardRemoved(log types.Log) (*GuardRegistryEventsGuardRemoved, error) { event := new(GuardRegistryEventsGuardRemoved) if err := _GuardRegistryEvents.contract.UnpackLog(event, "GuardRemoved", log); err != nil { return nil, err } event.Raw = log return event, nil } // HeaderMetaData contains all meta data concerning the Header contract. var HeaderMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ddcf2c2c0cf9322c4096898455150151957dd626c3deb8d9f9ed2b18fe0a3a0064736f6c63430008110033", } // HeaderABI is the input ABI used to generate the binding from. // Deprecated: Use HeaderMetaData.ABI instead. var HeaderABI = HeaderMetaData.ABI // HeaderBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use HeaderMetaData.Bin instead. var HeaderBin = HeaderMetaData.Bin // DeployHeader deploys a new Ethereum contract, binding an instance of Header to it. func DeployHeader(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Header, error) { parsed, err := HeaderMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(HeaderBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &Header{HeaderCaller: HeaderCaller{contract: contract}, HeaderTransactor: HeaderTransactor{contract: contract}, HeaderFilterer: HeaderFilterer{contract: contract}}, nil } // Header is an auto generated Go binding around an Ethereum contract. type Header struct { HeaderCaller // Read-only binding to the contract HeaderTransactor // Write-only binding to the contract HeaderFilterer // Log filterer for contract events } // HeaderCaller is an auto generated read-only Go binding around an Ethereum contract. type HeaderCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // HeaderTransactor is an auto generated write-only Go binding around an Ethereum contract. type HeaderTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // HeaderFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type HeaderFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // HeaderSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type HeaderSession struct { Contract *Header // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // HeaderCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type HeaderCallerSession struct { Contract *HeaderCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // HeaderTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type HeaderTransactorSession struct { Contract *HeaderTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // HeaderRaw is an auto generated low-level Go binding around an Ethereum contract. type HeaderRaw struct { Contract *Header // Generic contract binding to access the raw methods on } // HeaderCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type HeaderCallerRaw struct { Contract *HeaderCaller // Generic read-only contract binding to access the raw methods on } // HeaderTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type HeaderTransactorRaw struct { Contract *HeaderTransactor // Generic write-only contract binding to access the raw methods on } // NewHeader creates a new instance of Header, bound to a specific deployed contract. func NewHeader(address common.Address, backend bind.ContractBackend) (*Header, error) { contract, err := bindHeader(address, backend, backend, backend) if err != nil { return nil, err } return &Header{HeaderCaller: HeaderCaller{contract: contract}, HeaderTransactor: HeaderTransactor{contract: contract}, HeaderFilterer: HeaderFilterer{contract: contract}}, nil } // NewHeaderCaller creates a new read-only instance of Header, bound to a specific deployed contract. func NewHeaderCaller(address common.Address, caller bind.ContractCaller) (*HeaderCaller, error) { contract, err := bindHeader(address, caller, nil, nil) if err != nil { return nil, err } return &HeaderCaller{contract: contract}, nil } // NewHeaderTransactor creates a new write-only instance of Header, bound to a specific deployed contract. func NewHeaderTransactor(address common.Address, transactor bind.ContractTransactor) (*HeaderTransactor, error) { contract, err := bindHeader(address, nil, transactor, nil) if err != nil { return nil, err } return &HeaderTransactor{contract: contract}, nil } // NewHeaderFilterer creates a new log filterer instance of Header, bound to a specific deployed contract. func NewHeaderFilterer(address common.Address, filterer bind.ContractFilterer) (*HeaderFilterer, error) { contract, err := bindHeader(address, nil, nil, filterer) if err != nil { return nil, err } return &HeaderFilterer{contract: contract}, nil } // bindHeader binds a generic wrapper to an already deployed contract. func bindHeader(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(HeaderABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Header *HeaderRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Header.Contract.HeaderCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Header *HeaderRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Header.Contract.HeaderTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Header *HeaderRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Header.Contract.HeaderTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Header *HeaderCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Header.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Header *HeaderTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Header.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Header *HeaderTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Header.Contract.contract.Transact(opts, method, params...) } // INotaryManagerMetaData contains all meta data concerning the INotaryManager contract. var INotaryManagerMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"name\":\"notary\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"addresspayable\",\"name\":\"_reporter\",\"type\":\"address\"}],\"name\":\"slashNotary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "9d54c79d": "notary()", "bb99e8fa": "slashNotary(address)", }, } // INotaryManagerABI is the input ABI used to generate the binding from. // Deprecated: Use INotaryManagerMetaData.ABI instead. var INotaryManagerABI = INotaryManagerMetaData.ABI // Deprecated: Use INotaryManagerMetaData.Sigs instead. // INotaryManagerFuncSigs maps the 4-byte function signature to its string representation. var INotaryManagerFuncSigs = INotaryManagerMetaData.Sigs // INotaryManager is an auto generated Go binding around an Ethereum contract. type INotaryManager struct { INotaryManagerCaller // Read-only binding to the contract INotaryManagerTransactor // Write-only binding to the contract INotaryManagerFilterer // Log filterer for contract events } // INotaryManagerCaller is an auto generated read-only Go binding around an Ethereum contract. type INotaryManagerCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // INotaryManagerTransactor is an auto generated write-only Go binding around an Ethereum contract. type INotaryManagerTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // INotaryManagerFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type INotaryManagerFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // INotaryManagerSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type INotaryManagerSession struct { Contract *INotaryManager // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // INotaryManagerCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type INotaryManagerCallerSession struct { Contract *INotaryManagerCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // INotaryManagerTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type INotaryManagerTransactorSession struct { Contract *INotaryManagerTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // INotaryManagerRaw is an auto generated low-level Go binding around an Ethereum contract. type INotaryManagerRaw struct { Contract *INotaryManager // Generic contract binding to access the raw methods on } // INotaryManagerCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type INotaryManagerCallerRaw struct { Contract *INotaryManagerCaller // Generic read-only contract binding to access the raw methods on } // INotaryManagerTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type INotaryManagerTransactorRaw struct { Contract *INotaryManagerTransactor // Generic write-only contract binding to access the raw methods on } // NewINotaryManager creates a new instance of INotaryManager, bound to a specific deployed contract. func NewINotaryManager(address common.Address, backend bind.ContractBackend) (*INotaryManager, error) { contract, err := bindINotaryManager(address, backend, backend, backend) if err != nil { return nil, err } return &INotaryManager{INotaryManagerCaller: INotaryManagerCaller{contract: contract}, INotaryManagerTransactor: INotaryManagerTransactor{contract: contract}, INotaryManagerFilterer: INotaryManagerFilterer{contract: contract}}, nil } // NewINotaryManagerCaller creates a new read-only instance of INotaryManager, bound to a specific deployed contract. func NewINotaryManagerCaller(address common.Address, caller bind.ContractCaller) (*INotaryManagerCaller, error) { contract, err := bindINotaryManager(address, caller, nil, nil) if err != nil { return nil, err } return &INotaryManagerCaller{contract: contract}, nil } // NewINotaryManagerTransactor creates a new write-only instance of INotaryManager, bound to a specific deployed contract. func NewINotaryManagerTransactor(address common.Address, transactor bind.ContractTransactor) (*INotaryManagerTransactor, error) { contract, err := bindINotaryManager(address, nil, transactor, nil) if err != nil { return nil, err } return &INotaryManagerTransactor{contract: contract}, nil } // NewINotaryManagerFilterer creates a new log filterer instance of INotaryManager, bound to a specific deployed contract. func NewINotaryManagerFilterer(address common.Address, filterer bind.ContractFilterer) (*INotaryManagerFilterer, error) { contract, err := bindINotaryManager(address, nil, nil, filterer) if err != nil { return nil, err } return &INotaryManagerFilterer{contract: contract}, nil } // bindINotaryManager binds a generic wrapper to an already deployed contract. func bindINotaryManager(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(INotaryManagerABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_INotaryManager *INotaryManagerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _INotaryManager.Contract.INotaryManagerCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_INotaryManager *INotaryManagerRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _INotaryManager.Contract.INotaryManagerTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_INotaryManager *INotaryManagerRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _INotaryManager.Contract.INotaryManagerTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_INotaryManager *INotaryManagerCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _INotaryManager.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_INotaryManager *INotaryManagerTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _INotaryManager.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_INotaryManager *INotaryManagerTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _INotaryManager.Contract.contract.Transact(opts, method, params...) } // Notary is a free data retrieval call binding the contract method 0x9d54c79d. // // Solidity: function notary() view returns(address) func (_INotaryManager *INotaryManagerCaller) Notary(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _INotaryManager.contract.Call(opts, &out, "notary") if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // Notary is a free data retrieval call binding the contract method 0x9d54c79d. // // Solidity: function notary() view returns(address) func (_INotaryManager *INotaryManagerSession) Notary() (common.Address, error) { return _INotaryManager.Contract.Notary(&_INotaryManager.CallOpts) } // Notary is a free data retrieval call binding the contract method 0x9d54c79d. // // Solidity: function notary() view returns(address) func (_INotaryManager *INotaryManagerCallerSession) Notary() (common.Address, error) { return _INotaryManager.Contract.Notary(&_INotaryManager.CallOpts) } // SlashNotary is a paid mutator transaction binding the contract method 0xbb99e8fa. // // Solidity: function slashNotary(address _reporter) returns() func (_INotaryManager *INotaryManagerTransactor) SlashNotary(opts *bind.TransactOpts, _reporter common.Address) (*types.Transaction, error) { return _INotaryManager.contract.Transact(opts, "slashNotary", _reporter) } // SlashNotary is a paid mutator transaction binding the contract method 0xbb99e8fa. // // Solidity: function slashNotary(address _reporter) returns() func (_INotaryManager *INotaryManagerSession) SlashNotary(_reporter common.Address) (*types.Transaction, error) { return _INotaryManager.Contract.SlashNotary(&_INotaryManager.TransactOpts, _reporter) } // SlashNotary is a paid mutator transaction binding the contract method 0xbb99e8fa. // // Solidity: function slashNotary(address _reporter) returns() func (_INotaryManager *INotaryManagerTransactorSession) SlashNotary(_reporter common.Address) (*types.Transaction, error) { return _INotaryManager.Contract.SlashNotary(&_INotaryManager.TransactOpts, _reporter) } // ISystemRouterMetaData contains all meta data concerning the ISystemRouter contract. var ISystemRouterMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_destination\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"_optimisticSeconds\",\"type\":\"uint32\"},{\"internalType\":\"enumISystemRouter.SystemEntity\",\"name\":\"_recipient\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"systemCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_destination\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"_optimisticSeconds\",\"type\":\"uint32\"},{\"internalType\":\"enumISystemRouter.SystemEntity[]\",\"name\":\"_recipients\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"systemMultiCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_destination\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"_optimisticSeconds\",\"type\":\"uint32\"},{\"internalType\":\"enumISystemRouter.SystemEntity\",\"name\":\"_recipient\",\"type\":\"uint8\"},{\"internalType\":\"bytes[]\",\"name\":\"_dataArray\",\"type\":\"bytes[]\"}],\"name\":\"systemMultiCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_destination\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"_optimisticSeconds\",\"type\":\"uint32\"},{\"internalType\":\"enumISystemRouter.SystemEntity[]\",\"name\":\"_recipients\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_dataArray\",\"type\":\"bytes[]\"}],\"name\":\"systemMultiCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "bf65bc46": "systemCall(uint32,uint32,uint8,bytes)", "4491b24d": "systemMultiCall(uint32,uint32,uint8,bytes[])", "2ec0b338": "systemMultiCall(uint32,uint32,uint8[],bytes)", "de58387b": "systemMultiCall(uint32,uint32,uint8[],bytes[])", }, } // ISystemRouterABI is the input ABI used to generate the binding from. // Deprecated: Use ISystemRouterMetaData.ABI instead. var ISystemRouterABI = ISystemRouterMetaData.ABI // Deprecated: Use ISystemRouterMetaData.Sigs instead. // ISystemRouterFuncSigs maps the 4-byte function signature to its string representation. var ISystemRouterFuncSigs = ISystemRouterMetaData.Sigs // ISystemRouter is an auto generated Go binding around an Ethereum contract. type ISystemRouter struct { ISystemRouterCaller // Read-only binding to the contract ISystemRouterTransactor // Write-only binding to the contract ISystemRouterFilterer // Log filterer for contract events } // ISystemRouterCaller is an auto generated read-only Go binding around an Ethereum contract. type ISystemRouterCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ISystemRouterTransactor is an auto generated write-only Go binding around an Ethereum contract. type ISystemRouterTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ISystemRouterFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type ISystemRouterFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ISystemRouterSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type ISystemRouterSession struct { Contract *ISystemRouter // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ISystemRouterCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type ISystemRouterCallerSession struct { Contract *ISystemRouterCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // ISystemRouterTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type ISystemRouterTransactorSession struct { Contract *ISystemRouterTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ISystemRouterRaw is an auto generated low-level Go binding around an Ethereum contract. type ISystemRouterRaw struct { Contract *ISystemRouter // Generic contract binding to access the raw methods on } // ISystemRouterCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type ISystemRouterCallerRaw struct { Contract *ISystemRouterCaller // Generic read-only contract binding to access the raw methods on } // ISystemRouterTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type ISystemRouterTransactorRaw struct { Contract *ISystemRouterTransactor // Generic write-only contract binding to access the raw methods on } // NewISystemRouter creates a new instance of ISystemRouter, bound to a specific deployed contract. func NewISystemRouter(address common.Address, backend bind.ContractBackend) (*ISystemRouter, error) { contract, err := bindISystemRouter(address, backend, backend, backend) if err != nil { return nil, err } return &ISystemRouter{ISystemRouterCaller: ISystemRouterCaller{contract: contract}, ISystemRouterTransactor: ISystemRouterTransactor{contract: contract}, ISystemRouterFilterer: ISystemRouterFilterer{contract: contract}}, nil } // NewISystemRouterCaller creates a new read-only instance of ISystemRouter, bound to a specific deployed contract. func NewISystemRouterCaller(address common.Address, caller bind.ContractCaller) (*ISystemRouterCaller, error) { contract, err := bindISystemRouter(address, caller, nil, nil) if err != nil { return nil, err } return &ISystemRouterCaller{contract: contract}, nil } // NewISystemRouterTransactor creates a new write-only instance of ISystemRouter, bound to a specific deployed contract. func NewISystemRouterTransactor(address common.Address, transactor bind.ContractTransactor) (*ISystemRouterTransactor, error) { contract, err := bindISystemRouter(address, nil, transactor, nil) if err != nil { return nil, err } return &ISystemRouterTransactor{contract: contract}, nil } // NewISystemRouterFilterer creates a new log filterer instance of ISystemRouter, bound to a specific deployed contract. func NewISystemRouterFilterer(address common.Address, filterer bind.ContractFilterer) (*ISystemRouterFilterer, error) { contract, err := bindISystemRouter(address, nil, nil, filterer) if err != nil { return nil, err } return &ISystemRouterFilterer{contract: contract}, nil } // bindISystemRouter binds a generic wrapper to an already deployed contract. func bindISystemRouter(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(ISystemRouterABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ISystemRouter *ISystemRouterRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _ISystemRouter.Contract.ISystemRouterCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ISystemRouter *ISystemRouterRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ISystemRouter.Contract.ISystemRouterTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ISystemRouter *ISystemRouterRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ISystemRouter.Contract.ISystemRouterTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ISystemRouter *ISystemRouterCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _ISystemRouter.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ISystemRouter *ISystemRouterTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ISystemRouter.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ISystemRouter *ISystemRouterTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ISystemRouter.Contract.contract.Transact(opts, method, params...) } // SystemCall is a paid mutator transaction binding the contract method 0xbf65bc46. // // Solidity: function systemCall(uint32 _destination, uint32 _optimisticSeconds, uint8 _recipient, bytes _data) returns() func (_ISystemRouter *ISystemRouterTransactor) SystemCall(opts *bind.TransactOpts, _destination uint32, _optimisticSeconds uint32, _recipient uint8, _data []byte) (*types.Transaction, error) { return _ISystemRouter.contract.Transact(opts, "systemCall", _destination, _optimisticSeconds, _recipient, _data) } // SystemCall is a paid mutator transaction binding the contract method 0xbf65bc46. // // Solidity: function systemCall(uint32 _destination, uint32 _optimisticSeconds, uint8 _recipient, bytes _data) returns() func (_ISystemRouter *ISystemRouterSession) SystemCall(_destination uint32, _optimisticSeconds uint32, _recipient uint8, _data []byte) (*types.Transaction, error) { return _ISystemRouter.Contract.SystemCall(&_ISystemRouter.TransactOpts, _destination, _optimisticSeconds, _recipient, _data) } // SystemCall is a paid mutator transaction binding the contract method 0xbf65bc46. // // Solidity: function systemCall(uint32 _destination, uint32 _optimisticSeconds, uint8 _recipient, bytes _data) returns() func (_ISystemRouter *ISystemRouterTransactorSession) SystemCall(_destination uint32, _optimisticSeconds uint32, _recipient uint8, _data []byte) (*types.Transaction, error) { return _ISystemRouter.Contract.SystemCall(&_ISystemRouter.TransactOpts, _destination, _optimisticSeconds, _recipient, _data) } // SystemMultiCall is a paid mutator transaction binding the contract method 0x2ec0b338. // // Solidity: function systemMultiCall(uint32 _destination, uint32 _optimisticSeconds, uint8[] _recipients, bytes _data) returns() func (_ISystemRouter *ISystemRouterTransactor) SystemMultiCall(opts *bind.TransactOpts, _destination uint32, _optimisticSeconds uint32, _recipients []uint8, _data []byte) (*types.Transaction, error) { return _ISystemRouter.contract.Transact(opts, "systemMultiCall", _destination, _optimisticSeconds, _recipients, _data) } // SystemMultiCall is a paid mutator transaction binding the contract method 0x2ec0b338. // // Solidity: function systemMultiCall(uint32 _destination, uint32 _optimisticSeconds, uint8[] _recipients, bytes _data) returns() func (_ISystemRouter *ISystemRouterSession) SystemMultiCall(_destination uint32, _optimisticSeconds uint32, _recipients []uint8, _data []byte) (*types.Transaction, error) { return _ISystemRouter.Contract.SystemMultiCall(&_ISystemRouter.TransactOpts, _destination, _optimisticSeconds, _recipients, _data) } // SystemMultiCall is a paid mutator transaction binding the contract method 0x2ec0b338. // // Solidity: function systemMultiCall(uint32 _destination, uint32 _optimisticSeconds, uint8[] _recipients, bytes _data) returns() func (_ISystemRouter *ISystemRouterTransactorSession) SystemMultiCall(_destination uint32, _optimisticSeconds uint32, _recipients []uint8, _data []byte) (*types.Transaction, error) { return _ISystemRouter.Contract.SystemMultiCall(&_ISystemRouter.TransactOpts, _destination, _optimisticSeconds, _recipients, _data) } // SystemMultiCall0 is a paid mutator transaction binding the contract method 0x4491b24d. // // Solidity: function systemMultiCall(uint32 _destination, uint32 _optimisticSeconds, uint8 _recipient, bytes[] _dataArray) returns() func (_ISystemRouter *ISystemRouterTransactor) SystemMultiCall0(opts *bind.TransactOpts, _destination uint32, _optimisticSeconds uint32, _recipient uint8, _dataArray [][]byte) (*types.Transaction, error) { return _ISystemRouter.contract.Transact(opts, "systemMultiCall0", _destination, _optimisticSeconds, _recipient, _dataArray) } // SystemMultiCall0 is a paid mutator transaction binding the contract method 0x4491b24d. // // Solidity: function systemMultiCall(uint32 _destination, uint32 _optimisticSeconds, uint8 _recipient, bytes[] _dataArray) returns() func (_ISystemRouter *ISystemRouterSession) SystemMultiCall0(_destination uint32, _optimisticSeconds uint32, _recipient uint8, _dataArray [][]byte) (*types.Transaction, error) { return _ISystemRouter.Contract.SystemMultiCall0(&_ISystemRouter.TransactOpts, _destination, _optimisticSeconds, _recipient, _dataArray) } // SystemMultiCall0 is a paid mutator transaction binding the contract method 0x4491b24d. // // Solidity: function systemMultiCall(uint32 _destination, uint32 _optimisticSeconds, uint8 _recipient, bytes[] _dataArray) returns() func (_ISystemRouter *ISystemRouterTransactorSession) SystemMultiCall0(_destination uint32, _optimisticSeconds uint32, _recipient uint8, _dataArray [][]byte) (*types.Transaction, error) { return _ISystemRouter.Contract.SystemMultiCall0(&_ISystemRouter.TransactOpts, _destination, _optimisticSeconds, _recipient, _dataArray) } // SystemMultiCall1 is a paid mutator transaction binding the contract method 0xde58387b. // // Solidity: function systemMultiCall(uint32 _destination, uint32 _optimisticSeconds, uint8[] _recipients, bytes[] _dataArray) returns() func (_ISystemRouter *ISystemRouterTransactor) SystemMultiCall1(opts *bind.TransactOpts, _destination uint32, _optimisticSeconds uint32, _recipients []uint8, _dataArray [][]byte) (*types.Transaction, error) { return _ISystemRouter.contract.Transact(opts, "systemMultiCall1", _destination, _optimisticSeconds, _recipients, _dataArray) } // SystemMultiCall1 is a paid mutator transaction binding the contract method 0xde58387b. // // Solidity: function systemMultiCall(uint32 _destination, uint32 _optimisticSeconds, uint8[] _recipients, bytes[] _dataArray) returns() func (_ISystemRouter *ISystemRouterSession) SystemMultiCall1(_destination uint32, _optimisticSeconds uint32, _recipients []uint8, _dataArray [][]byte) (*types.Transaction, error) { return _ISystemRouter.Contract.SystemMultiCall1(&_ISystemRouter.TransactOpts, _destination, _optimisticSeconds, _recipients, _dataArray) } // SystemMultiCall1 is a paid mutator transaction binding the contract method 0xde58387b. // // Solidity: function systemMultiCall(uint32 _destination, uint32 _optimisticSeconds, uint8[] _recipients, bytes[] _dataArray) returns() func (_ISystemRouter *ISystemRouterTransactorSession) SystemMultiCall1(_destination uint32, _optimisticSeconds uint32, _recipients []uint8, _dataArray [][]byte) (*types.Transaction, error) { return _ISystemRouter.Contract.SystemMultiCall1(&_ISystemRouter.TransactOpts, _destination, _optimisticSeconds, _recipients, _dataArray) } // InitializableMetaData contains all meta data concerning the Initializable contract. var InitializableMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"}]", } // InitializableABI is the input ABI used to generate the binding from. // Deprecated: Use InitializableMetaData.ABI instead. var InitializableABI = InitializableMetaData.ABI // Initializable is an auto generated Go binding around an Ethereum contract. type Initializable struct { InitializableCaller // Read-only binding to the contract InitializableTransactor // Write-only binding to the contract InitializableFilterer // Log filterer for contract events } // InitializableCaller is an auto generated read-only Go binding around an Ethereum contract. type InitializableCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // InitializableTransactor is an auto generated write-only Go binding around an Ethereum contract. type InitializableTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // InitializableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type InitializableFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // InitializableSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type InitializableSession struct { Contract *Initializable // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // InitializableCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type InitializableCallerSession struct { Contract *InitializableCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // InitializableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type InitializableTransactorSession struct { Contract *InitializableTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // InitializableRaw is an auto generated low-level Go binding around an Ethereum contract. type InitializableRaw struct { Contract *Initializable // Generic contract binding to access the raw methods on } // InitializableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type InitializableCallerRaw struct { Contract *InitializableCaller // Generic read-only contract binding to access the raw methods on } // InitializableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type InitializableTransactorRaw struct { Contract *InitializableTransactor // Generic write-only contract binding to access the raw methods on } // NewInitializable creates a new instance of Initializable, bound to a specific deployed contract. func NewInitializable(address common.Address, backend bind.ContractBackend) (*Initializable, error) { contract, err := bindInitializable(address, backend, backend, backend) if err != nil { return nil, err } return &Initializable{InitializableCaller: InitializableCaller{contract: contract}, InitializableTransactor: InitializableTransactor{contract: contract}, InitializableFilterer: InitializableFilterer{contract: contract}}, nil } // NewInitializableCaller creates a new read-only instance of Initializable, bound to a specific deployed contract. func NewInitializableCaller(address common.Address, caller bind.ContractCaller) (*InitializableCaller, error) { contract, err := bindInitializable(address, caller, nil, nil) if err != nil { return nil, err } return &InitializableCaller{contract: contract}, nil } // NewInitializableTransactor creates a new write-only instance of Initializable, bound to a specific deployed contract. func NewInitializableTransactor(address common.Address, transactor bind.ContractTransactor) (*InitializableTransactor, error) { contract, err := bindInitializable(address, nil, transactor, nil) if err != nil { return nil, err } return &InitializableTransactor{contract: contract}, nil } // NewInitializableFilterer creates a new log filterer instance of Initializable, bound to a specific deployed contract. func NewInitializableFilterer(address common.Address, filterer bind.ContractFilterer) (*InitializableFilterer, error) { contract, err := bindInitializable(address, nil, nil, filterer) if err != nil { return nil, err } return &InitializableFilterer{contract: contract}, nil } // bindInitializable binds a generic wrapper to an already deployed contract. func bindInitializable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(InitializableABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Initializable *InitializableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Initializable.Contract.InitializableCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Initializable *InitializableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Initializable.Contract.InitializableTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Initializable *InitializableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Initializable.Contract.InitializableTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Initializable *InitializableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Initializable.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Initializable *InitializableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Initializable.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Initializable *InitializableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Initializable.Contract.contract.Transact(opts, method, params...) } // InitializableInitializedIterator is returned from FilterInitialized and is used to iterate over the raw logs and unpacked data for Initialized events raised by the Initializable contract. type InitializableInitializedIterator struct { Event *InitializableInitialized // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *InitializableInitializedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(InitializableInitialized) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(InitializableInitialized) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *InitializableInitializedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *InitializableInitializedIterator) Close() error { it.sub.Unsubscribe() return nil } // InitializableInitialized represents a Initialized event raised by the Initializable contract. type InitializableInitialized struct { Version uint8 Raw types.Log // Blockchain specific contextual infos } // FilterInitialized is a free log retrieval operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. // // Solidity: event Initialized(uint8 version) func (_Initializable *InitializableFilterer) FilterInitialized(opts *bind.FilterOpts) (*InitializableInitializedIterator, error) { logs, sub, err := _Initializable.contract.FilterLogs(opts, "Initialized") if err != nil { return nil, err } return &InitializableInitializedIterator{contract: _Initializable.contract, event: "Initialized", logs: logs, sub: sub}, nil } // WatchInitialized is a free log subscription operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. // // Solidity: event Initialized(uint8 version) func (_Initializable *InitializableFilterer) WatchInitialized(opts *bind.WatchOpts, sink chan<- *InitializableInitialized) (event.Subscription, error) { logs, sub, err := _Initializable.contract.WatchLogs(opts, "Initialized") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(InitializableInitialized) if err := _Initializable.contract.UnpackLog(event, "Initialized", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseInitialized is a log parse operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. // // Solidity: event Initialized(uint8 version) func (_Initializable *InitializableFilterer) ParseInitialized(log types.Log) (*InitializableInitialized, error) { event := new(InitializableInitialized) if err := _Initializable.contract.UnpackLog(event, "Initialized", log); err != nil { return nil, err } event.Raw = log return event, nil } // LocalDomainContextMetaData contains all meta data concerning the LocalDomainContext contract. var LocalDomainContextMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"localDomain_\",\"type\":\"uint32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"localDomain\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", Sigs: map[string]string{ "8d3638f4": "localDomain()", }, Bin: "0x60a060405234801561001057600080fd5b5060405161011f38038061011f83398101604081905261002f9161003d565b63ffffffff1660805261006a565b60006020828403121561004f57600080fd5b815163ffffffff8116811461006357600080fd5b9392505050565b608051609d6100826000396000602f0152609d6000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80638d3638f414602d575b600080fd5b7f000000000000000000000000000000000000000000000000000000000000000060405163ffffffff909116815260200160405180910390f3fea2646970667358221220a5d99acddc2dfe438f8a780361e95b34a0737a6ad364c7329583734b4672772464736f6c63430008110033", } // LocalDomainContextABI is the input ABI used to generate the binding from. // Deprecated: Use LocalDomainContextMetaData.ABI instead. var LocalDomainContextABI = LocalDomainContextMetaData.ABI // Deprecated: Use LocalDomainContextMetaData.Sigs instead. // LocalDomainContextFuncSigs maps the 4-byte function signature to its string representation. var LocalDomainContextFuncSigs = LocalDomainContextMetaData.Sigs // LocalDomainContextBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use LocalDomainContextMetaData.Bin instead. var LocalDomainContextBin = LocalDomainContextMetaData.Bin // DeployLocalDomainContext deploys a new Ethereum contract, binding an instance of LocalDomainContext to it. func DeployLocalDomainContext(auth *bind.TransactOpts, backend bind.ContractBackend, localDomain_ uint32) (common.Address, *types.Transaction, *LocalDomainContext, error) { parsed, err := LocalDomainContextMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(LocalDomainContextBin), backend, localDomain_) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &LocalDomainContext{LocalDomainContextCaller: LocalDomainContextCaller{contract: contract}, LocalDomainContextTransactor: LocalDomainContextTransactor{contract: contract}, LocalDomainContextFilterer: LocalDomainContextFilterer{contract: contract}}, nil } // LocalDomainContext is an auto generated Go binding around an Ethereum contract. type LocalDomainContext struct { LocalDomainContextCaller // Read-only binding to the contract LocalDomainContextTransactor // Write-only binding to the contract LocalDomainContextFilterer // Log filterer for contract events } // LocalDomainContextCaller is an auto generated read-only Go binding around an Ethereum contract. type LocalDomainContextCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // LocalDomainContextTransactor is an auto generated write-only Go binding around an Ethereum contract. type LocalDomainContextTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // LocalDomainContextFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type LocalDomainContextFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // LocalDomainContextSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type LocalDomainContextSession struct { Contract *LocalDomainContext // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // LocalDomainContextCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type LocalDomainContextCallerSession struct { Contract *LocalDomainContextCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // LocalDomainContextTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type LocalDomainContextTransactorSession struct { Contract *LocalDomainContextTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // LocalDomainContextRaw is an auto generated low-level Go binding around an Ethereum contract. type LocalDomainContextRaw struct { Contract *LocalDomainContext // Generic contract binding to access the raw methods on } // LocalDomainContextCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type LocalDomainContextCallerRaw struct { Contract *LocalDomainContextCaller // Generic read-only contract binding to access the raw methods on } // LocalDomainContextTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type LocalDomainContextTransactorRaw struct { Contract *LocalDomainContextTransactor // Generic write-only contract binding to access the raw methods on } // NewLocalDomainContext creates a new instance of LocalDomainContext, bound to a specific deployed contract. func NewLocalDomainContext(address common.Address, backend bind.ContractBackend) (*LocalDomainContext, error) { contract, err := bindLocalDomainContext(address, backend, backend, backend) if err != nil { return nil, err } return &LocalDomainContext{LocalDomainContextCaller: LocalDomainContextCaller{contract: contract}, LocalDomainContextTransactor: LocalDomainContextTransactor{contract: contract}, LocalDomainContextFilterer: LocalDomainContextFilterer{contract: contract}}, nil } // NewLocalDomainContextCaller creates a new read-only instance of LocalDomainContext, bound to a specific deployed contract. func NewLocalDomainContextCaller(address common.Address, caller bind.ContractCaller) (*LocalDomainContextCaller, error) { contract, err := bindLocalDomainContext(address, caller, nil, nil) if err != nil { return nil, err } return &LocalDomainContextCaller{contract: contract}, nil } // NewLocalDomainContextTransactor creates a new write-only instance of LocalDomainContext, bound to a specific deployed contract. func NewLocalDomainContextTransactor(address common.Address, transactor bind.ContractTransactor) (*LocalDomainContextTransactor, error) { contract, err := bindLocalDomainContext(address, nil, transactor, nil) if err != nil { return nil, err } return &LocalDomainContextTransactor{contract: contract}, nil } // NewLocalDomainContextFilterer creates a new log filterer instance of LocalDomainContext, bound to a specific deployed contract. func NewLocalDomainContextFilterer(address common.Address, filterer bind.ContractFilterer) (*LocalDomainContextFilterer, error) { contract, err := bindLocalDomainContext(address, nil, nil, filterer) if err != nil { return nil, err } return &LocalDomainContextFilterer{contract: contract}, nil } // bindLocalDomainContext binds a generic wrapper to an already deployed contract. func bindLocalDomainContext(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(LocalDomainContextABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_LocalDomainContext *LocalDomainContextRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _LocalDomainContext.Contract.LocalDomainContextCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_LocalDomainContext *LocalDomainContextRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _LocalDomainContext.Contract.LocalDomainContextTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_LocalDomainContext *LocalDomainContextRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _LocalDomainContext.Contract.LocalDomainContextTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_LocalDomainContext *LocalDomainContextCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _LocalDomainContext.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_LocalDomainContext *LocalDomainContextTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _LocalDomainContext.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_LocalDomainContext *LocalDomainContextTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _LocalDomainContext.Contract.contract.Transact(opts, method, params...) } // LocalDomain is a free data retrieval call binding the contract method 0x8d3638f4. // // Solidity: function localDomain() view returns(uint32) func (_LocalDomainContext *LocalDomainContextCaller) LocalDomain(opts *bind.CallOpts) (uint32, error) { var out []interface{} err := _LocalDomainContext.contract.Call(opts, &out, "localDomain") if err != nil { return *new(uint32), err } out0 := *abi.ConvertType(out[0], new(uint32)).(*uint32) return out0, err } // LocalDomain is a free data retrieval call binding the contract method 0x8d3638f4. // // Solidity: function localDomain() view returns(uint32) func (_LocalDomainContext *LocalDomainContextSession) LocalDomain() (uint32, error) { return _LocalDomainContext.Contract.LocalDomain(&_LocalDomainContext.CallOpts) } // LocalDomain is a free data retrieval call binding the contract method 0x8d3638f4. // // Solidity: function localDomain() view returns(uint32) func (_LocalDomainContext *LocalDomainContextCallerSession) LocalDomain() (uint32, error) { return _LocalDomainContext.Contract.LocalDomain(&_LocalDomainContext.CallOpts) } // MerkleLibMetaData contains all meta data concerning the MerkleLib contract. var MerkleLibMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200c019d6c60043bfd91066988d04dc904e529295a90309f8c25fb9d6154bd320d64736f6c63430008110033", } // MerkleLibABI is the input ABI used to generate the binding from. // Deprecated: Use MerkleLibMetaData.ABI instead. var MerkleLibABI = MerkleLibMetaData.ABI // MerkleLibBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use MerkleLibMetaData.Bin instead. var MerkleLibBin = MerkleLibMetaData.Bin // DeployMerkleLib deploys a new Ethereum contract, binding an instance of MerkleLib to it. func DeployMerkleLib(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *MerkleLib, error) { parsed, err := MerkleLibMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(MerkleLibBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &MerkleLib{MerkleLibCaller: MerkleLibCaller{contract: contract}, MerkleLibTransactor: MerkleLibTransactor{contract: contract}, MerkleLibFilterer: MerkleLibFilterer{contract: contract}}, nil } // MerkleLib is an auto generated Go binding around an Ethereum contract. type MerkleLib struct { MerkleLibCaller // Read-only binding to the contract MerkleLibTransactor // Write-only binding to the contract MerkleLibFilterer // Log filterer for contract events } // MerkleLibCaller is an auto generated read-only Go binding around an Ethereum contract. type MerkleLibCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MerkleLibTransactor is an auto generated write-only Go binding around an Ethereum contract. type MerkleLibTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MerkleLibFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type MerkleLibFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MerkleLibSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type MerkleLibSession struct { Contract *MerkleLib // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // MerkleLibCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type MerkleLibCallerSession struct { Contract *MerkleLibCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // MerkleLibTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type MerkleLibTransactorSession struct { Contract *MerkleLibTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // MerkleLibRaw is an auto generated low-level Go binding around an Ethereum contract. type MerkleLibRaw struct { Contract *MerkleLib // Generic contract binding to access the raw methods on } // MerkleLibCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type MerkleLibCallerRaw struct { Contract *MerkleLibCaller // Generic read-only contract binding to access the raw methods on } // MerkleLibTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type MerkleLibTransactorRaw struct { Contract *MerkleLibTransactor // Generic write-only contract binding to access the raw methods on } // NewMerkleLib creates a new instance of MerkleLib, bound to a specific deployed contract. func NewMerkleLib(address common.Address, backend bind.ContractBackend) (*MerkleLib, error) { contract, err := bindMerkleLib(address, backend, backend, backend) if err != nil { return nil, err } return &MerkleLib{MerkleLibCaller: MerkleLibCaller{contract: contract}, MerkleLibTransactor: MerkleLibTransactor{contract: contract}, MerkleLibFilterer: MerkleLibFilterer{contract: contract}}, nil } // NewMerkleLibCaller creates a new read-only instance of MerkleLib, bound to a specific deployed contract. func NewMerkleLibCaller(address common.Address, caller bind.ContractCaller) (*MerkleLibCaller, error) { contract, err := bindMerkleLib(address, caller, nil, nil) if err != nil { return nil, err } return &MerkleLibCaller{contract: contract}, nil } // NewMerkleLibTransactor creates a new write-only instance of MerkleLib, bound to a specific deployed contract. func NewMerkleLibTransactor(address common.Address, transactor bind.ContractTransactor) (*MerkleLibTransactor, error) { contract, err := bindMerkleLib(address, nil, transactor, nil) if err != nil { return nil, err } return &MerkleLibTransactor{contract: contract}, nil } // NewMerkleLibFilterer creates a new log filterer instance of MerkleLib, bound to a specific deployed contract. func NewMerkleLibFilterer(address common.Address, filterer bind.ContractFilterer) (*MerkleLibFilterer, error) { contract, err := bindMerkleLib(address, nil, nil, filterer) if err != nil { return nil, err } return &MerkleLibFilterer{contract: contract}, nil } // bindMerkleLib binds a generic wrapper to an already deployed contract. func bindMerkleLib(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(MerkleLibABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_MerkleLib *MerkleLibRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _MerkleLib.Contract.MerkleLibCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_MerkleLib *MerkleLibRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _MerkleLib.Contract.MerkleLibTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_MerkleLib *MerkleLibRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _MerkleLib.Contract.MerkleLibTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_MerkleLib *MerkleLibCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _MerkleLib.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_MerkleLib *MerkleLibTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _MerkleLib.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_MerkleLib *MerkleLibTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _MerkleLib.Contract.contract.Transact(opts, method, params...) } // MessageMetaData contains all meta data concerning the Message contract. var MessageMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f5ee93bbb960fe94ff1b8446392843bea3c7d24a7e502010851fd3da8293c01264736f6c63430008110033", } // MessageABI is the input ABI used to generate the binding from. // Deprecated: Use MessageMetaData.ABI instead. var MessageABI = MessageMetaData.ABI // MessageBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use MessageMetaData.Bin instead. var MessageBin = MessageMetaData.Bin // DeployMessage deploys a new Ethereum contract, binding an instance of Message to it. func DeployMessage(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Message, error) { parsed, err := MessageMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(MessageBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &Message{MessageCaller: MessageCaller{contract: contract}, MessageTransactor: MessageTransactor{contract: contract}, MessageFilterer: MessageFilterer{contract: contract}}, nil } // Message is an auto generated Go binding around an Ethereum contract. type Message struct { MessageCaller // Read-only binding to the contract MessageTransactor // Write-only binding to the contract MessageFilterer // Log filterer for contract events } // MessageCaller is an auto generated read-only Go binding around an Ethereum contract. type MessageCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MessageTransactor is an auto generated write-only Go binding around an Ethereum contract. type MessageTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MessageFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type MessageFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MessageSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type MessageSession struct { Contract *Message // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // MessageCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type MessageCallerSession struct { Contract *MessageCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // MessageTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type MessageTransactorSession struct { Contract *MessageTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // MessageRaw is an auto generated low-level Go binding around an Ethereum contract. type MessageRaw struct { Contract *Message // Generic contract binding to access the raw methods on } // MessageCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type MessageCallerRaw struct { Contract *MessageCaller // Generic read-only contract binding to access the raw methods on } // MessageTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type MessageTransactorRaw struct { Contract *MessageTransactor // Generic write-only contract binding to access the raw methods on } // NewMessage creates a new instance of Message, bound to a specific deployed contract. func NewMessage(address common.Address, backend bind.ContractBackend) (*Message, error) { contract, err := bindMessage(address, backend, backend, backend) if err != nil { return nil, err } return &Message{MessageCaller: MessageCaller{contract: contract}, MessageTransactor: MessageTransactor{contract: contract}, MessageFilterer: MessageFilterer{contract: contract}}, nil } // NewMessageCaller creates a new read-only instance of Message, bound to a specific deployed contract. func NewMessageCaller(address common.Address, caller bind.ContractCaller) (*MessageCaller, error) { contract, err := bindMessage(address, caller, nil, nil) if err != nil { return nil, err } return &MessageCaller{contract: contract}, nil } // NewMessageTransactor creates a new write-only instance of Message, bound to a specific deployed contract. func NewMessageTransactor(address common.Address, transactor bind.ContractTransactor) (*MessageTransactor, error) { contract, err := bindMessage(address, nil, transactor, nil) if err != nil { return nil, err } return &MessageTransactor{contract: contract}, nil } // NewMessageFilterer creates a new log filterer instance of Message, bound to a specific deployed contract. func NewMessageFilterer(address common.Address, filterer bind.ContractFilterer) (*MessageFilterer, error) { contract, err := bindMessage(address, nil, nil, filterer) if err != nil { return nil, err } return &MessageFilterer{contract: contract}, nil } // bindMessage binds a generic wrapper to an already deployed contract. func bindMessage(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(MessageABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Message *MessageRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Message.Contract.MessageCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Message *MessageRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Message.Contract.MessageTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Message *MessageRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Message.Contract.MessageTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Message *MessageCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Message.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Message *MessageTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Message.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Message *MessageTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Message.Contract.contract.Transact(opts, method, params...) } // NotaryManagerMetaData contains all meta data concerning the NotaryManager contract. var NotaryManagerMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_notaryAddress\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"}],\"name\":\"FakeSlashed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"}],\"name\":\"NewNotary\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"origin\",\"type\":\"address\"}],\"name\":\"NewOrigin\",\"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\":\"notary\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"origin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"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\":[{\"internalType\":\"address\",\"name\":\"_notaryAddress\",\"type\":\"address\"}],\"name\":\"setNotary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_origin\",\"type\":\"address\"}],\"name\":\"setOrigin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"addresspayable\",\"name\":\"_reporter\",\"type\":\"address\"}],\"name\":\"slashNotary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "9d54c79d": "notary()", "938b5f32": "origin()", "8da5cb5b": "owner()", "715018a6": "renounceOwnership()", "a394a0e6": "setNotary(address)", "47c484e9": "setOrigin(address)", "bb99e8fa": "slashNotary(address)", "f2fde38b": "transferOwnership(address)", }, Bin: "0x6080604052604051610745380380610745833981016040819052610022916100a0565b61002b33610050565b600280546001600160a01b0319166001600160a01b03929092169190911790556100d0565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100b257600080fd5b81516001600160a01b03811681146100c957600080fd5b9392505050565b610666806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80639d54c79d1161005b5780639d54c79d1461010d578063a394a0e61461012b578063bb99e8fa1461013e578063f2fde38b1461015157600080fd5b806347c484e91461008d578063715018a6146100a25780638da5cb5b146100aa578063938b5f32146100ed575b600080fd5b6100a061009b36600461060c565b610164565b005b6100a0610269565b60005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6001546100c49073ffffffffffffffffffffffffffffffffffffffff1681565b60025473ffffffffffffffffffffffffffffffffffffffff166100c4565b6100a061013936600461060c565b610273565b6100a061014c36600461060c565b610376565b6100a061015f36600461060c565b61043d565b61016c6104f4565b73ffffffffffffffffffffffffffffffffffffffff81163b6101ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f21636f6e7472616374206f726967696e0000000000000000000000000000000060448201526064015b60405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fd3b105cfc67ac2f6990a1958e63212ca65ce6facf20a6fce372b6b58afd4098d906020015b60405180910390a150565b6102716104f4565b565b61027b6104f4565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8381169182179092556001546040517fa394a0e600000000000000000000000000000000000000000000000000000000815260048101929092529091169063a394a0e690602401600060405180830381600087803b15801561031757600080fd5b505af115801561032b573d6000803e3d6000fd5b505060405173ffffffffffffffffffffffffffffffffffffffff841681527fe2bea979965a228cbde9e65befc96655827ad8934c3c6b9f8b9b66e1f907ef889250602001905061025e565b60015473ffffffffffffffffffffffffffffffffffffffff1633146103f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216f726967696e0000000000000000000000000000000000000000000000000060448201526064016101e6565b60405173ffffffffffffffffffffffffffffffffffffffff821681527f4180932f5f5f11458bcd408e42c54626987799e7c4c89f40f484fefdfdfff14f9060200161025e565b6104456104f4565b73ffffffffffffffffffffffffffffffffffffffff81166104e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016101e6565b6104f181610575565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610271576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101e6565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b73ffffffffffffffffffffffffffffffffffffffff811681146104f157600080fd5b60006020828403121561061e57600080fd5b8135610629816105ea565b939250505056fea2646970667358221220251d51413c500ff1efcd3f938d171b751f5970bc55235539a7bc7c86ef90b34164736f6c63430008110033", } // NotaryManagerABI is the input ABI used to generate the binding from. // Deprecated: Use NotaryManagerMetaData.ABI instead. var NotaryManagerABI = NotaryManagerMetaData.ABI // Deprecated: Use NotaryManagerMetaData.Sigs instead. // NotaryManagerFuncSigs maps the 4-byte function signature to its string representation. var NotaryManagerFuncSigs = NotaryManagerMetaData.Sigs // NotaryManagerBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use NotaryManagerMetaData.Bin instead. var NotaryManagerBin = NotaryManagerMetaData.Bin // DeployNotaryManager deploys a new Ethereum contract, binding an instance of NotaryManager to it. func DeployNotaryManager(auth *bind.TransactOpts, backend bind.ContractBackend, _notaryAddress common.Address) (common.Address, *types.Transaction, *NotaryManager, error) { parsed, err := NotaryManagerMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(NotaryManagerBin), backend, _notaryAddress) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &NotaryManager{NotaryManagerCaller: NotaryManagerCaller{contract: contract}, NotaryManagerTransactor: NotaryManagerTransactor{contract: contract}, NotaryManagerFilterer: NotaryManagerFilterer{contract: contract}}, nil } // NotaryManager is an auto generated Go binding around an Ethereum contract. type NotaryManager struct { NotaryManagerCaller // Read-only binding to the contract NotaryManagerTransactor // Write-only binding to the contract NotaryManagerFilterer // Log filterer for contract events } // NotaryManagerCaller is an auto generated read-only Go binding around an Ethereum contract. type NotaryManagerCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // NotaryManagerTransactor is an auto generated write-only Go binding around an Ethereum contract. type NotaryManagerTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // NotaryManagerFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type NotaryManagerFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // NotaryManagerSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type NotaryManagerSession struct { Contract *NotaryManager // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // NotaryManagerCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type NotaryManagerCallerSession struct { Contract *NotaryManagerCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // NotaryManagerTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type NotaryManagerTransactorSession struct { Contract *NotaryManagerTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // NotaryManagerRaw is an auto generated low-level Go binding around an Ethereum contract. type NotaryManagerRaw struct { Contract *NotaryManager // Generic contract binding to access the raw methods on } // NotaryManagerCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type NotaryManagerCallerRaw struct { Contract *NotaryManagerCaller // Generic read-only contract binding to access the raw methods on } // NotaryManagerTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type NotaryManagerTransactorRaw struct { Contract *NotaryManagerTransactor // Generic write-only contract binding to access the raw methods on } // NewNotaryManager creates a new instance of NotaryManager, bound to a specific deployed contract. func NewNotaryManager(address common.Address, backend bind.ContractBackend) (*NotaryManager, error) { contract, err := bindNotaryManager(address, backend, backend, backend) if err != nil { return nil, err } return &NotaryManager{NotaryManagerCaller: NotaryManagerCaller{contract: contract}, NotaryManagerTransactor: NotaryManagerTransactor{contract: contract}, NotaryManagerFilterer: NotaryManagerFilterer{contract: contract}}, nil } // NewNotaryManagerCaller creates a new read-only instance of NotaryManager, bound to a specific deployed contract. func NewNotaryManagerCaller(address common.Address, caller bind.ContractCaller) (*NotaryManagerCaller, error) { contract, err := bindNotaryManager(address, caller, nil, nil) if err != nil { return nil, err } return &NotaryManagerCaller{contract: contract}, nil } // NewNotaryManagerTransactor creates a new write-only instance of NotaryManager, bound to a specific deployed contract. func NewNotaryManagerTransactor(address common.Address, transactor bind.ContractTransactor) (*NotaryManagerTransactor, error) { contract, err := bindNotaryManager(address, nil, transactor, nil) if err != nil { return nil, err } return &NotaryManagerTransactor{contract: contract}, nil } // NewNotaryManagerFilterer creates a new log filterer instance of NotaryManager, bound to a specific deployed contract. func NewNotaryManagerFilterer(address common.Address, filterer bind.ContractFilterer) (*NotaryManagerFilterer, error) { contract, err := bindNotaryManager(address, nil, nil, filterer) if err != nil { return nil, err } return &NotaryManagerFilterer{contract: contract}, nil } // bindNotaryManager binds a generic wrapper to an already deployed contract. func bindNotaryManager(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(NotaryManagerABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_NotaryManager *NotaryManagerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _NotaryManager.Contract.NotaryManagerCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_NotaryManager *NotaryManagerRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _NotaryManager.Contract.NotaryManagerTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_NotaryManager *NotaryManagerRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _NotaryManager.Contract.NotaryManagerTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_NotaryManager *NotaryManagerCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _NotaryManager.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_NotaryManager *NotaryManagerTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _NotaryManager.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_NotaryManager *NotaryManagerTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _NotaryManager.Contract.contract.Transact(opts, method, params...) } // Notary is a free data retrieval call binding the contract method 0x9d54c79d. // // Solidity: function notary() view returns(address) func (_NotaryManager *NotaryManagerCaller) Notary(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _NotaryManager.contract.Call(opts, &out, "notary") if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // Notary is a free data retrieval call binding the contract method 0x9d54c79d. // // Solidity: function notary() view returns(address) func (_NotaryManager *NotaryManagerSession) Notary() (common.Address, error) { return _NotaryManager.Contract.Notary(&_NotaryManager.CallOpts) } // Notary is a free data retrieval call binding the contract method 0x9d54c79d. // // Solidity: function notary() view returns(address) func (_NotaryManager *NotaryManagerCallerSession) Notary() (common.Address, error) { return _NotaryManager.Contract.Notary(&_NotaryManager.CallOpts) } // Origin is a free data retrieval call binding the contract method 0x938b5f32. // // Solidity: function origin() view returns(address) func (_NotaryManager *NotaryManagerCaller) Origin(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _NotaryManager.contract.Call(opts, &out, "origin") if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // Origin is a free data retrieval call binding the contract method 0x938b5f32. // // Solidity: function origin() view returns(address) func (_NotaryManager *NotaryManagerSession) Origin() (common.Address, error) { return _NotaryManager.Contract.Origin(&_NotaryManager.CallOpts) } // Origin is a free data retrieval call binding the contract method 0x938b5f32. // // Solidity: function origin() view returns(address) func (_NotaryManager *NotaryManagerCallerSession) Origin() (common.Address, error) { return _NotaryManager.Contract.Origin(&_NotaryManager.CallOpts) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) func (_NotaryManager *NotaryManagerCaller) Owner(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _NotaryManager.contract.Call(opts, &out, "owner") if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) func (_NotaryManager *NotaryManagerSession) Owner() (common.Address, error) { return _NotaryManager.Contract.Owner(&_NotaryManager.CallOpts) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) func (_NotaryManager *NotaryManagerCallerSession) Owner() (common.Address, error) { return _NotaryManager.Contract.Owner(&_NotaryManager.CallOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_NotaryManager *NotaryManagerTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { return _NotaryManager.contract.Transact(opts, "renounceOwnership") } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_NotaryManager *NotaryManagerSession) RenounceOwnership() (*types.Transaction, error) { return _NotaryManager.Contract.RenounceOwnership(&_NotaryManager.TransactOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_NotaryManager *NotaryManagerTransactorSession) RenounceOwnership() (*types.Transaction, error) { return _NotaryManager.Contract.RenounceOwnership(&_NotaryManager.TransactOpts) } // SetNotary is a paid mutator transaction binding the contract method 0xa394a0e6. // // Solidity: function setNotary(address _notaryAddress) returns() func (_NotaryManager *NotaryManagerTransactor) SetNotary(opts *bind.TransactOpts, _notaryAddress common.Address) (*types.Transaction, error) { return _NotaryManager.contract.Transact(opts, "setNotary", _notaryAddress) } // SetNotary is a paid mutator transaction binding the contract method 0xa394a0e6. // // Solidity: function setNotary(address _notaryAddress) returns() func (_NotaryManager *NotaryManagerSession) SetNotary(_notaryAddress common.Address) (*types.Transaction, error) { return _NotaryManager.Contract.SetNotary(&_NotaryManager.TransactOpts, _notaryAddress) } // SetNotary is a paid mutator transaction binding the contract method 0xa394a0e6. // // Solidity: function setNotary(address _notaryAddress) returns() func (_NotaryManager *NotaryManagerTransactorSession) SetNotary(_notaryAddress common.Address) (*types.Transaction, error) { return _NotaryManager.Contract.SetNotary(&_NotaryManager.TransactOpts, _notaryAddress) } // SetOrigin is a paid mutator transaction binding the contract method 0x47c484e9. // // Solidity: function setOrigin(address _origin) returns() func (_NotaryManager *NotaryManagerTransactor) SetOrigin(opts *bind.TransactOpts, _origin common.Address) (*types.Transaction, error) { return _NotaryManager.contract.Transact(opts, "setOrigin", _origin) } // SetOrigin is a paid mutator transaction binding the contract method 0x47c484e9. // // Solidity: function setOrigin(address _origin) returns() func (_NotaryManager *NotaryManagerSession) SetOrigin(_origin common.Address) (*types.Transaction, error) { return _NotaryManager.Contract.SetOrigin(&_NotaryManager.TransactOpts, _origin) } // SetOrigin is a paid mutator transaction binding the contract method 0x47c484e9. // // Solidity: function setOrigin(address _origin) returns() func (_NotaryManager *NotaryManagerTransactorSession) SetOrigin(_origin common.Address) (*types.Transaction, error) { return _NotaryManager.Contract.SetOrigin(&_NotaryManager.TransactOpts, _origin) } // SlashNotary is a paid mutator transaction binding the contract method 0xbb99e8fa. // // Solidity: function slashNotary(address _reporter) returns() func (_NotaryManager *NotaryManagerTransactor) SlashNotary(opts *bind.TransactOpts, _reporter common.Address) (*types.Transaction, error) { return _NotaryManager.contract.Transact(opts, "slashNotary", _reporter) } // SlashNotary is a paid mutator transaction binding the contract method 0xbb99e8fa. // // Solidity: function slashNotary(address _reporter) returns() func (_NotaryManager *NotaryManagerSession) SlashNotary(_reporter common.Address) (*types.Transaction, error) { return _NotaryManager.Contract.SlashNotary(&_NotaryManager.TransactOpts, _reporter) } // SlashNotary is a paid mutator transaction binding the contract method 0xbb99e8fa. // // Solidity: function slashNotary(address _reporter) returns() func (_NotaryManager *NotaryManagerTransactorSession) SlashNotary(_reporter common.Address) (*types.Transaction, error) { return _NotaryManager.Contract.SlashNotary(&_NotaryManager.TransactOpts, _reporter) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_NotaryManager *NotaryManagerTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { return _NotaryManager.contract.Transact(opts, "transferOwnership", newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_NotaryManager *NotaryManagerSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _NotaryManager.Contract.TransferOwnership(&_NotaryManager.TransactOpts, newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_NotaryManager *NotaryManagerTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _NotaryManager.Contract.TransferOwnership(&_NotaryManager.TransactOpts, newOwner) } // NotaryManagerFakeSlashedIterator is returned from FilterFakeSlashed and is used to iterate over the raw logs and unpacked data for FakeSlashed events raised by the NotaryManager contract. type NotaryManagerFakeSlashedIterator struct { Event *NotaryManagerFakeSlashed // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *NotaryManagerFakeSlashedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(NotaryManagerFakeSlashed) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(NotaryManagerFakeSlashed) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *NotaryManagerFakeSlashedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *NotaryManagerFakeSlashedIterator) Close() error { it.sub.Unsubscribe() return nil } // NotaryManagerFakeSlashed represents a FakeSlashed event raised by the NotaryManager contract. type NotaryManagerFakeSlashed struct { Reporter common.Address Raw types.Log // Blockchain specific contextual infos } // FilterFakeSlashed is a free log retrieval operation binding the contract event 0x4180932f5f5f11458bcd408e42c54626987799e7c4c89f40f484fefdfdfff14f. // // Solidity: event FakeSlashed(address reporter) func (_NotaryManager *NotaryManagerFilterer) FilterFakeSlashed(opts *bind.FilterOpts) (*NotaryManagerFakeSlashedIterator, error) { logs, sub, err := _NotaryManager.contract.FilterLogs(opts, "FakeSlashed") if err != nil { return nil, err } return &NotaryManagerFakeSlashedIterator{contract: _NotaryManager.contract, event: "FakeSlashed", logs: logs, sub: sub}, nil } // WatchFakeSlashed is a free log subscription operation binding the contract event 0x4180932f5f5f11458bcd408e42c54626987799e7c4c89f40f484fefdfdfff14f. // // Solidity: event FakeSlashed(address reporter) func (_NotaryManager *NotaryManagerFilterer) WatchFakeSlashed(opts *bind.WatchOpts, sink chan<- *NotaryManagerFakeSlashed) (event.Subscription, error) { logs, sub, err := _NotaryManager.contract.WatchLogs(opts, "FakeSlashed") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(NotaryManagerFakeSlashed) if err := _NotaryManager.contract.UnpackLog(event, "FakeSlashed", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseFakeSlashed is a log parse operation binding the contract event 0x4180932f5f5f11458bcd408e42c54626987799e7c4c89f40f484fefdfdfff14f. // // Solidity: event FakeSlashed(address reporter) func (_NotaryManager *NotaryManagerFilterer) ParseFakeSlashed(log types.Log) (*NotaryManagerFakeSlashed, error) { event := new(NotaryManagerFakeSlashed) if err := _NotaryManager.contract.UnpackLog(event, "FakeSlashed", log); err != nil { return nil, err } event.Raw = log return event, nil } // NotaryManagerNewNotaryIterator is returned from FilterNewNotary and is used to iterate over the raw logs and unpacked data for NewNotary events raised by the NotaryManager contract. type NotaryManagerNewNotaryIterator struct { Event *NotaryManagerNewNotary // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *NotaryManagerNewNotaryIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(NotaryManagerNewNotary) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(NotaryManagerNewNotary) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *NotaryManagerNewNotaryIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *NotaryManagerNewNotaryIterator) Close() error { it.sub.Unsubscribe() return nil } // NotaryManagerNewNotary represents a NewNotary event raised by the NotaryManager contract. type NotaryManagerNewNotary struct { Notary common.Address Raw types.Log // Blockchain specific contextual infos } // FilterNewNotary is a free log retrieval operation binding the contract event 0xe2bea979965a228cbde9e65befc96655827ad8934c3c6b9f8b9b66e1f907ef88. // // Solidity: event NewNotary(address notary) func (_NotaryManager *NotaryManagerFilterer) FilterNewNotary(opts *bind.FilterOpts) (*NotaryManagerNewNotaryIterator, error) { logs, sub, err := _NotaryManager.contract.FilterLogs(opts, "NewNotary") if err != nil { return nil, err } return &NotaryManagerNewNotaryIterator{contract: _NotaryManager.contract, event: "NewNotary", logs: logs, sub: sub}, nil } // WatchNewNotary is a free log subscription operation binding the contract event 0xe2bea979965a228cbde9e65befc96655827ad8934c3c6b9f8b9b66e1f907ef88. // // Solidity: event NewNotary(address notary) func (_NotaryManager *NotaryManagerFilterer) WatchNewNotary(opts *bind.WatchOpts, sink chan<- *NotaryManagerNewNotary) (event.Subscription, error) { logs, sub, err := _NotaryManager.contract.WatchLogs(opts, "NewNotary") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(NotaryManagerNewNotary) if err := _NotaryManager.contract.UnpackLog(event, "NewNotary", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseNewNotary is a log parse operation binding the contract event 0xe2bea979965a228cbde9e65befc96655827ad8934c3c6b9f8b9b66e1f907ef88. // // Solidity: event NewNotary(address notary) func (_NotaryManager *NotaryManagerFilterer) ParseNewNotary(log types.Log) (*NotaryManagerNewNotary, error) { event := new(NotaryManagerNewNotary) if err := _NotaryManager.contract.UnpackLog(event, "NewNotary", log); err != nil { return nil, err } event.Raw = log return event, nil } // NotaryManagerNewOriginIterator is returned from FilterNewOrigin and is used to iterate over the raw logs and unpacked data for NewOrigin events raised by the NotaryManager contract. type NotaryManagerNewOriginIterator struct { Event *NotaryManagerNewOrigin // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *NotaryManagerNewOriginIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(NotaryManagerNewOrigin) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(NotaryManagerNewOrigin) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *NotaryManagerNewOriginIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *NotaryManagerNewOriginIterator) Close() error { it.sub.Unsubscribe() return nil } // NotaryManagerNewOrigin represents a NewOrigin event raised by the NotaryManager contract. type NotaryManagerNewOrigin struct { Origin common.Address Raw types.Log // Blockchain specific contextual infos } // FilterNewOrigin is a free log retrieval operation binding the contract event 0xd3b105cfc67ac2f6990a1958e63212ca65ce6facf20a6fce372b6b58afd4098d. // // Solidity: event NewOrigin(address origin) func (_NotaryManager *NotaryManagerFilterer) FilterNewOrigin(opts *bind.FilterOpts) (*NotaryManagerNewOriginIterator, error) { logs, sub, err := _NotaryManager.contract.FilterLogs(opts, "NewOrigin") if err != nil { return nil, err } return &NotaryManagerNewOriginIterator{contract: _NotaryManager.contract, event: "NewOrigin", logs: logs, sub: sub}, nil } // WatchNewOrigin is a free log subscription operation binding the contract event 0xd3b105cfc67ac2f6990a1958e63212ca65ce6facf20a6fce372b6b58afd4098d. // // Solidity: event NewOrigin(address origin) func (_NotaryManager *NotaryManagerFilterer) WatchNewOrigin(opts *bind.WatchOpts, sink chan<- *NotaryManagerNewOrigin) (event.Subscription, error) { logs, sub, err := _NotaryManager.contract.WatchLogs(opts, "NewOrigin") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(NotaryManagerNewOrigin) if err := _NotaryManager.contract.UnpackLog(event, "NewOrigin", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseNewOrigin is a log parse operation binding the contract event 0xd3b105cfc67ac2f6990a1958e63212ca65ce6facf20a6fce372b6b58afd4098d. // // Solidity: event NewOrigin(address origin) func (_NotaryManager *NotaryManagerFilterer) ParseNewOrigin(log types.Log) (*NotaryManagerNewOrigin, error) { event := new(NotaryManagerNewOrigin) if err := _NotaryManager.contract.UnpackLog(event, "NewOrigin", log); err != nil { return nil, err } event.Raw = log return event, nil } // NotaryManagerOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the NotaryManager contract. type NotaryManagerOwnershipTransferredIterator struct { Event *NotaryManagerOwnershipTransferred // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *NotaryManagerOwnershipTransferredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(NotaryManagerOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(NotaryManagerOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *NotaryManagerOwnershipTransferredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *NotaryManagerOwnershipTransferredIterator) Close() error { it.sub.Unsubscribe() return nil } // NotaryManagerOwnershipTransferred represents a OwnershipTransferred event raised by the NotaryManager contract. type NotaryManagerOwnershipTransferred struct { PreviousOwner common.Address NewOwner common.Address Raw types.Log // Blockchain specific contextual infos } // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) func (_NotaryManager *NotaryManagerFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*NotaryManagerOwnershipTransferredIterator, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _NotaryManager.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return &NotaryManagerOwnershipTransferredIterator{contract: _NotaryManager.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil } // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) func (_NotaryManager *NotaryManagerFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *NotaryManagerOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _NotaryManager.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(NotaryManagerOwnershipTransferred) if err := _NotaryManager.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) func (_NotaryManager *NotaryManagerFilterer) ParseOwnershipTransferred(log types.Log) (*NotaryManagerOwnershipTransferred, error) { event := new(NotaryManagerOwnershipTransferred) if err := _NotaryManager.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return nil, err } event.Raw = log return event, nil } // NotaryManagerEventsMetaData contains all meta data concerning the NotaryManagerEvents contract. var NotaryManagerEventsMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"}],\"name\":\"FakeSlashed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"}],\"name\":\"NewNotary\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"origin\",\"type\":\"address\"}],\"name\":\"NewOrigin\",\"type\":\"event\"}]", } // NotaryManagerEventsABI is the input ABI used to generate the binding from. // Deprecated: Use NotaryManagerEventsMetaData.ABI instead. var NotaryManagerEventsABI = NotaryManagerEventsMetaData.ABI // NotaryManagerEvents is an auto generated Go binding around an Ethereum contract. type NotaryManagerEvents struct { NotaryManagerEventsCaller // Read-only binding to the contract NotaryManagerEventsTransactor // Write-only binding to the contract NotaryManagerEventsFilterer // Log filterer for contract events } // NotaryManagerEventsCaller is an auto generated read-only Go binding around an Ethereum contract. type NotaryManagerEventsCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // NotaryManagerEventsTransactor is an auto generated write-only Go binding around an Ethereum contract. type NotaryManagerEventsTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // NotaryManagerEventsFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type NotaryManagerEventsFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // NotaryManagerEventsSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type NotaryManagerEventsSession struct { Contract *NotaryManagerEvents // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // NotaryManagerEventsCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type NotaryManagerEventsCallerSession struct { Contract *NotaryManagerEventsCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // NotaryManagerEventsTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type NotaryManagerEventsTransactorSession struct { Contract *NotaryManagerEventsTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // NotaryManagerEventsRaw is an auto generated low-level Go binding around an Ethereum contract. type NotaryManagerEventsRaw struct { Contract *NotaryManagerEvents // Generic contract binding to access the raw methods on } // NotaryManagerEventsCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type NotaryManagerEventsCallerRaw struct { Contract *NotaryManagerEventsCaller // Generic read-only contract binding to access the raw methods on } // NotaryManagerEventsTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type NotaryManagerEventsTransactorRaw struct { Contract *NotaryManagerEventsTransactor // Generic write-only contract binding to access the raw methods on } // NewNotaryManagerEvents creates a new instance of NotaryManagerEvents, bound to a specific deployed contract. func NewNotaryManagerEvents(address common.Address, backend bind.ContractBackend) (*NotaryManagerEvents, error) { contract, err := bindNotaryManagerEvents(address, backend, backend, backend) if err != nil { return nil, err } return &NotaryManagerEvents{NotaryManagerEventsCaller: NotaryManagerEventsCaller{contract: contract}, NotaryManagerEventsTransactor: NotaryManagerEventsTransactor{contract: contract}, NotaryManagerEventsFilterer: NotaryManagerEventsFilterer{contract: contract}}, nil } // NewNotaryManagerEventsCaller creates a new read-only instance of NotaryManagerEvents, bound to a specific deployed contract. func NewNotaryManagerEventsCaller(address common.Address, caller bind.ContractCaller) (*NotaryManagerEventsCaller, error) { contract, err := bindNotaryManagerEvents(address, caller, nil, nil) if err != nil { return nil, err } return &NotaryManagerEventsCaller{contract: contract}, nil } // NewNotaryManagerEventsTransactor creates a new write-only instance of NotaryManagerEvents, bound to a specific deployed contract. func NewNotaryManagerEventsTransactor(address common.Address, transactor bind.ContractTransactor) (*NotaryManagerEventsTransactor, error) { contract, err := bindNotaryManagerEvents(address, nil, transactor, nil) if err != nil { return nil, err } return &NotaryManagerEventsTransactor{contract: contract}, nil } // NewNotaryManagerEventsFilterer creates a new log filterer instance of NotaryManagerEvents, bound to a specific deployed contract. func NewNotaryManagerEventsFilterer(address common.Address, filterer bind.ContractFilterer) (*NotaryManagerEventsFilterer, error) { contract, err := bindNotaryManagerEvents(address, nil, nil, filterer) if err != nil { return nil, err } return &NotaryManagerEventsFilterer{contract: contract}, nil } // bindNotaryManagerEvents binds a generic wrapper to an already deployed contract. func bindNotaryManagerEvents(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(NotaryManagerEventsABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_NotaryManagerEvents *NotaryManagerEventsRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _NotaryManagerEvents.Contract.NotaryManagerEventsCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_NotaryManagerEvents *NotaryManagerEventsRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _NotaryManagerEvents.Contract.NotaryManagerEventsTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_NotaryManagerEvents *NotaryManagerEventsRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _NotaryManagerEvents.Contract.NotaryManagerEventsTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_NotaryManagerEvents *NotaryManagerEventsCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _NotaryManagerEvents.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_NotaryManagerEvents *NotaryManagerEventsTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _NotaryManagerEvents.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_NotaryManagerEvents *NotaryManagerEventsTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _NotaryManagerEvents.Contract.contract.Transact(opts, method, params...) } // NotaryManagerEventsFakeSlashedIterator is returned from FilterFakeSlashed and is used to iterate over the raw logs and unpacked data for FakeSlashed events raised by the NotaryManagerEvents contract. type NotaryManagerEventsFakeSlashedIterator struct { Event *NotaryManagerEventsFakeSlashed // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *NotaryManagerEventsFakeSlashedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(NotaryManagerEventsFakeSlashed) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(NotaryManagerEventsFakeSlashed) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *NotaryManagerEventsFakeSlashedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *NotaryManagerEventsFakeSlashedIterator) Close() error { it.sub.Unsubscribe() return nil } // NotaryManagerEventsFakeSlashed represents a FakeSlashed event raised by the NotaryManagerEvents contract. type NotaryManagerEventsFakeSlashed struct { Reporter common.Address Raw types.Log // Blockchain specific contextual infos } // FilterFakeSlashed is a free log retrieval operation binding the contract event 0x4180932f5f5f11458bcd408e42c54626987799e7c4c89f40f484fefdfdfff14f. // // Solidity: event FakeSlashed(address reporter) func (_NotaryManagerEvents *NotaryManagerEventsFilterer) FilterFakeSlashed(opts *bind.FilterOpts) (*NotaryManagerEventsFakeSlashedIterator, error) { logs, sub, err := _NotaryManagerEvents.contract.FilterLogs(opts, "FakeSlashed") if err != nil { return nil, err } return &NotaryManagerEventsFakeSlashedIterator{contract: _NotaryManagerEvents.contract, event: "FakeSlashed", logs: logs, sub: sub}, nil } // WatchFakeSlashed is a free log subscription operation binding the contract event 0x4180932f5f5f11458bcd408e42c54626987799e7c4c89f40f484fefdfdfff14f. // // Solidity: event FakeSlashed(address reporter) func (_NotaryManagerEvents *NotaryManagerEventsFilterer) WatchFakeSlashed(opts *bind.WatchOpts, sink chan<- *NotaryManagerEventsFakeSlashed) (event.Subscription, error) { logs, sub, err := _NotaryManagerEvents.contract.WatchLogs(opts, "FakeSlashed") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(NotaryManagerEventsFakeSlashed) if err := _NotaryManagerEvents.contract.UnpackLog(event, "FakeSlashed", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseFakeSlashed is a log parse operation binding the contract event 0x4180932f5f5f11458bcd408e42c54626987799e7c4c89f40f484fefdfdfff14f. // // Solidity: event FakeSlashed(address reporter) func (_NotaryManagerEvents *NotaryManagerEventsFilterer) ParseFakeSlashed(log types.Log) (*NotaryManagerEventsFakeSlashed, error) { event := new(NotaryManagerEventsFakeSlashed) if err := _NotaryManagerEvents.contract.UnpackLog(event, "FakeSlashed", log); err != nil { return nil, err } event.Raw = log return event, nil } // NotaryManagerEventsNewNotaryIterator is returned from FilterNewNotary and is used to iterate over the raw logs and unpacked data for NewNotary events raised by the NotaryManagerEvents contract. type NotaryManagerEventsNewNotaryIterator struct { Event *NotaryManagerEventsNewNotary // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *NotaryManagerEventsNewNotaryIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(NotaryManagerEventsNewNotary) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(NotaryManagerEventsNewNotary) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *NotaryManagerEventsNewNotaryIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *NotaryManagerEventsNewNotaryIterator) Close() error { it.sub.Unsubscribe() return nil } // NotaryManagerEventsNewNotary represents a NewNotary event raised by the NotaryManagerEvents contract. type NotaryManagerEventsNewNotary struct { Notary common.Address Raw types.Log // Blockchain specific contextual infos } // FilterNewNotary is a free log retrieval operation binding the contract event 0xe2bea979965a228cbde9e65befc96655827ad8934c3c6b9f8b9b66e1f907ef88. // // Solidity: event NewNotary(address notary) func (_NotaryManagerEvents *NotaryManagerEventsFilterer) FilterNewNotary(opts *bind.FilterOpts) (*NotaryManagerEventsNewNotaryIterator, error) { logs, sub, err := _NotaryManagerEvents.contract.FilterLogs(opts, "NewNotary") if err != nil { return nil, err } return &NotaryManagerEventsNewNotaryIterator{contract: _NotaryManagerEvents.contract, event: "NewNotary", logs: logs, sub: sub}, nil } // WatchNewNotary is a free log subscription operation binding the contract event 0xe2bea979965a228cbde9e65befc96655827ad8934c3c6b9f8b9b66e1f907ef88. // // Solidity: event NewNotary(address notary) func (_NotaryManagerEvents *NotaryManagerEventsFilterer) WatchNewNotary(opts *bind.WatchOpts, sink chan<- *NotaryManagerEventsNewNotary) (event.Subscription, error) { logs, sub, err := _NotaryManagerEvents.contract.WatchLogs(opts, "NewNotary") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(NotaryManagerEventsNewNotary) if err := _NotaryManagerEvents.contract.UnpackLog(event, "NewNotary", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseNewNotary is a log parse operation binding the contract event 0xe2bea979965a228cbde9e65befc96655827ad8934c3c6b9f8b9b66e1f907ef88. // // Solidity: event NewNotary(address notary) func (_NotaryManagerEvents *NotaryManagerEventsFilterer) ParseNewNotary(log types.Log) (*NotaryManagerEventsNewNotary, error) { event := new(NotaryManagerEventsNewNotary) if err := _NotaryManagerEvents.contract.UnpackLog(event, "NewNotary", log); err != nil { return nil, err } event.Raw = log return event, nil } // NotaryManagerEventsNewOriginIterator is returned from FilterNewOrigin and is used to iterate over the raw logs and unpacked data for NewOrigin events raised by the NotaryManagerEvents contract. type NotaryManagerEventsNewOriginIterator struct { Event *NotaryManagerEventsNewOrigin // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *NotaryManagerEventsNewOriginIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(NotaryManagerEventsNewOrigin) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(NotaryManagerEventsNewOrigin) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *NotaryManagerEventsNewOriginIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *NotaryManagerEventsNewOriginIterator) Close() error { it.sub.Unsubscribe() return nil } // NotaryManagerEventsNewOrigin represents a NewOrigin event raised by the NotaryManagerEvents contract. type NotaryManagerEventsNewOrigin struct { Origin common.Address Raw types.Log // Blockchain specific contextual infos } // FilterNewOrigin is a free log retrieval operation binding the contract event 0xd3b105cfc67ac2f6990a1958e63212ca65ce6facf20a6fce372b6b58afd4098d. // // Solidity: event NewOrigin(address origin) func (_NotaryManagerEvents *NotaryManagerEventsFilterer) FilterNewOrigin(opts *bind.FilterOpts) (*NotaryManagerEventsNewOriginIterator, error) { logs, sub, err := _NotaryManagerEvents.contract.FilterLogs(opts, "NewOrigin") if err != nil { return nil, err } return &NotaryManagerEventsNewOriginIterator{contract: _NotaryManagerEvents.contract, event: "NewOrigin", logs: logs, sub: sub}, nil } // WatchNewOrigin is a free log subscription operation binding the contract event 0xd3b105cfc67ac2f6990a1958e63212ca65ce6facf20a6fce372b6b58afd4098d. // // Solidity: event NewOrigin(address origin) func (_NotaryManagerEvents *NotaryManagerEventsFilterer) WatchNewOrigin(opts *bind.WatchOpts, sink chan<- *NotaryManagerEventsNewOrigin) (event.Subscription, error) { logs, sub, err := _NotaryManagerEvents.contract.WatchLogs(opts, "NewOrigin") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(NotaryManagerEventsNewOrigin) if err := _NotaryManagerEvents.contract.UnpackLog(event, "NewOrigin", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseNewOrigin is a log parse operation binding the contract event 0xd3b105cfc67ac2f6990a1958e63212ca65ce6facf20a6fce372b6b58afd4098d. // // Solidity: event NewOrigin(address origin) func (_NotaryManagerEvents *NotaryManagerEventsFilterer) ParseNewOrigin(log types.Log) (*NotaryManagerEventsNewOrigin, error) { event := new(NotaryManagerEventsNewOrigin) if err := _NotaryManagerEvents.contract.UnpackLog(event, "NewOrigin", log); err != nil { return nil, err } event.Raw = log return event, nil } // NotaryRegistryEventsMetaData contains all meta data concerning the NotaryRegistryEvents contract. var NotaryRegistryEventsMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"domain\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"}],\"name\":\"NotaryAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"domain\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"}],\"name\":\"NotaryRemoved\",\"type\":\"event\"}]", } // NotaryRegistryEventsABI is the input ABI used to generate the binding from. // Deprecated: Use NotaryRegistryEventsMetaData.ABI instead. var NotaryRegistryEventsABI = NotaryRegistryEventsMetaData.ABI // NotaryRegistryEvents is an auto generated Go binding around an Ethereum contract. type NotaryRegistryEvents struct { NotaryRegistryEventsCaller // Read-only binding to the contract NotaryRegistryEventsTransactor // Write-only binding to the contract NotaryRegistryEventsFilterer // Log filterer for contract events } // NotaryRegistryEventsCaller is an auto generated read-only Go binding around an Ethereum contract. type NotaryRegistryEventsCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // NotaryRegistryEventsTransactor is an auto generated write-only Go binding around an Ethereum contract. type NotaryRegistryEventsTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // NotaryRegistryEventsFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type NotaryRegistryEventsFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // NotaryRegistryEventsSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type NotaryRegistryEventsSession struct { Contract *NotaryRegistryEvents // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // NotaryRegistryEventsCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type NotaryRegistryEventsCallerSession struct { Contract *NotaryRegistryEventsCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // NotaryRegistryEventsTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type NotaryRegistryEventsTransactorSession struct { Contract *NotaryRegistryEventsTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // NotaryRegistryEventsRaw is an auto generated low-level Go binding around an Ethereum contract. type NotaryRegistryEventsRaw struct { Contract *NotaryRegistryEvents // Generic contract binding to access the raw methods on } // NotaryRegistryEventsCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type NotaryRegistryEventsCallerRaw struct { Contract *NotaryRegistryEventsCaller // Generic read-only contract binding to access the raw methods on } // NotaryRegistryEventsTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type NotaryRegistryEventsTransactorRaw struct { Contract *NotaryRegistryEventsTransactor // Generic write-only contract binding to access the raw methods on } // NewNotaryRegistryEvents creates a new instance of NotaryRegistryEvents, bound to a specific deployed contract. func NewNotaryRegistryEvents(address common.Address, backend bind.ContractBackend) (*NotaryRegistryEvents, error) { contract, err := bindNotaryRegistryEvents(address, backend, backend, backend) if err != nil { return nil, err } return &NotaryRegistryEvents{NotaryRegistryEventsCaller: NotaryRegistryEventsCaller{contract: contract}, NotaryRegistryEventsTransactor: NotaryRegistryEventsTransactor{contract: contract}, NotaryRegistryEventsFilterer: NotaryRegistryEventsFilterer{contract: contract}}, nil } // NewNotaryRegistryEventsCaller creates a new read-only instance of NotaryRegistryEvents, bound to a specific deployed contract. func NewNotaryRegistryEventsCaller(address common.Address, caller bind.ContractCaller) (*NotaryRegistryEventsCaller, error) { contract, err := bindNotaryRegistryEvents(address, caller, nil, nil) if err != nil { return nil, err } return &NotaryRegistryEventsCaller{contract: contract}, nil } // NewNotaryRegistryEventsTransactor creates a new write-only instance of NotaryRegistryEvents, bound to a specific deployed contract. func NewNotaryRegistryEventsTransactor(address common.Address, transactor bind.ContractTransactor) (*NotaryRegistryEventsTransactor, error) { contract, err := bindNotaryRegistryEvents(address, nil, transactor, nil) if err != nil { return nil, err } return &NotaryRegistryEventsTransactor{contract: contract}, nil } // NewNotaryRegistryEventsFilterer creates a new log filterer instance of NotaryRegistryEvents, bound to a specific deployed contract. func NewNotaryRegistryEventsFilterer(address common.Address, filterer bind.ContractFilterer) (*NotaryRegistryEventsFilterer, error) { contract, err := bindNotaryRegistryEvents(address, nil, nil, filterer) if err != nil { return nil, err } return &NotaryRegistryEventsFilterer{contract: contract}, nil } // bindNotaryRegistryEvents binds a generic wrapper to an already deployed contract. func bindNotaryRegistryEvents(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(NotaryRegistryEventsABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_NotaryRegistryEvents *NotaryRegistryEventsRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _NotaryRegistryEvents.Contract.NotaryRegistryEventsCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_NotaryRegistryEvents *NotaryRegistryEventsRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _NotaryRegistryEvents.Contract.NotaryRegistryEventsTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_NotaryRegistryEvents *NotaryRegistryEventsRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _NotaryRegistryEvents.Contract.NotaryRegistryEventsTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_NotaryRegistryEvents *NotaryRegistryEventsCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _NotaryRegistryEvents.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_NotaryRegistryEvents *NotaryRegistryEventsTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _NotaryRegistryEvents.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_NotaryRegistryEvents *NotaryRegistryEventsTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _NotaryRegistryEvents.Contract.contract.Transact(opts, method, params...) } // NotaryRegistryEventsNotaryAddedIterator is returned from FilterNotaryAdded and is used to iterate over the raw logs and unpacked data for NotaryAdded events raised by the NotaryRegistryEvents contract. type NotaryRegistryEventsNotaryAddedIterator struct { Event *NotaryRegistryEventsNotaryAdded // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *NotaryRegistryEventsNotaryAddedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(NotaryRegistryEventsNotaryAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(NotaryRegistryEventsNotaryAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *NotaryRegistryEventsNotaryAddedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *NotaryRegistryEventsNotaryAddedIterator) Close() error { it.sub.Unsubscribe() return nil } // NotaryRegistryEventsNotaryAdded represents a NotaryAdded event raised by the NotaryRegistryEvents contract. type NotaryRegistryEventsNotaryAdded struct { Domain uint32 Notary common.Address Raw types.Log // Blockchain specific contextual infos } // FilterNotaryAdded is a free log retrieval operation binding the contract event 0x62d8d15324cce2626119bb61d595f59e655486b1ab41b52c0793d814fe03c355. // // Solidity: event NotaryAdded(uint32 indexed domain, address notary) func (_NotaryRegistryEvents *NotaryRegistryEventsFilterer) FilterNotaryAdded(opts *bind.FilterOpts, domain []uint32) (*NotaryRegistryEventsNotaryAddedIterator, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _NotaryRegistryEvents.contract.FilterLogs(opts, "NotaryAdded", domainRule) if err != nil { return nil, err } return &NotaryRegistryEventsNotaryAddedIterator{contract: _NotaryRegistryEvents.contract, event: "NotaryAdded", logs: logs, sub: sub}, nil } // WatchNotaryAdded is a free log subscription operation binding the contract event 0x62d8d15324cce2626119bb61d595f59e655486b1ab41b52c0793d814fe03c355. // // Solidity: event NotaryAdded(uint32 indexed domain, address notary) func (_NotaryRegistryEvents *NotaryRegistryEventsFilterer) WatchNotaryAdded(opts *bind.WatchOpts, sink chan<- *NotaryRegistryEventsNotaryAdded, domain []uint32) (event.Subscription, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _NotaryRegistryEvents.contract.WatchLogs(opts, "NotaryAdded", domainRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(NotaryRegistryEventsNotaryAdded) if err := _NotaryRegistryEvents.contract.UnpackLog(event, "NotaryAdded", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseNotaryAdded is a log parse operation binding the contract event 0x62d8d15324cce2626119bb61d595f59e655486b1ab41b52c0793d814fe03c355. // // Solidity: event NotaryAdded(uint32 indexed domain, address notary) func (_NotaryRegistryEvents *NotaryRegistryEventsFilterer) ParseNotaryAdded(log types.Log) (*NotaryRegistryEventsNotaryAdded, error) { event := new(NotaryRegistryEventsNotaryAdded) if err := _NotaryRegistryEvents.contract.UnpackLog(event, "NotaryAdded", log); err != nil { return nil, err } event.Raw = log return event, nil } // NotaryRegistryEventsNotaryRemovedIterator is returned from FilterNotaryRemoved and is used to iterate over the raw logs and unpacked data for NotaryRemoved events raised by the NotaryRegistryEvents contract. type NotaryRegistryEventsNotaryRemovedIterator struct { Event *NotaryRegistryEventsNotaryRemoved // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *NotaryRegistryEventsNotaryRemovedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(NotaryRegistryEventsNotaryRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(NotaryRegistryEventsNotaryRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *NotaryRegistryEventsNotaryRemovedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *NotaryRegistryEventsNotaryRemovedIterator) Close() error { it.sub.Unsubscribe() return nil } // NotaryRegistryEventsNotaryRemoved represents a NotaryRemoved event raised by the NotaryRegistryEvents contract. type NotaryRegistryEventsNotaryRemoved struct { Domain uint32 Notary common.Address Raw types.Log // Blockchain specific contextual infos } // FilterNotaryRemoved is a free log retrieval operation binding the contract event 0x3e006f5b97c04e82df349064761281b0981d45330c2f3e57cc032203b0e31b6b. // // Solidity: event NotaryRemoved(uint32 indexed domain, address notary) func (_NotaryRegistryEvents *NotaryRegistryEventsFilterer) FilterNotaryRemoved(opts *bind.FilterOpts, domain []uint32) (*NotaryRegistryEventsNotaryRemovedIterator, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _NotaryRegistryEvents.contract.FilterLogs(opts, "NotaryRemoved", domainRule) if err != nil { return nil, err } return &NotaryRegistryEventsNotaryRemovedIterator{contract: _NotaryRegistryEvents.contract, event: "NotaryRemoved", logs: logs, sub: sub}, nil } // WatchNotaryRemoved is a free log subscription operation binding the contract event 0x3e006f5b97c04e82df349064761281b0981d45330c2f3e57cc032203b0e31b6b. // // Solidity: event NotaryRemoved(uint32 indexed domain, address notary) func (_NotaryRegistryEvents *NotaryRegistryEventsFilterer) WatchNotaryRemoved(opts *bind.WatchOpts, sink chan<- *NotaryRegistryEventsNotaryRemoved, domain []uint32) (event.Subscription, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _NotaryRegistryEvents.contract.WatchLogs(opts, "NotaryRemoved", domainRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(NotaryRegistryEventsNotaryRemoved) if err := _NotaryRegistryEvents.contract.UnpackLog(event, "NotaryRemoved", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseNotaryRemoved is a log parse operation binding the contract event 0x3e006f5b97c04e82df349064761281b0981d45330c2f3e57cc032203b0e31b6b. // // Solidity: event NotaryRemoved(uint32 indexed domain, address notary) func (_NotaryRegistryEvents *NotaryRegistryEventsFilterer) ParseNotaryRemoved(log types.Log) (*NotaryRegistryEventsNotaryRemoved, error) { event := new(NotaryRegistryEventsNotaryRemoved) if err := _NotaryRegistryEvents.contract.UnpackLog(event, "NotaryRemoved", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginMetaData contains all meta data concerning the Origin contract. var OriginMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_domain\",\"type\":\"uint32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"attestation\",\"type\":\"bytes\"}],\"name\":\"AttestationAccepted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"report\",\"type\":\"bytes\"}],\"name\":\"CorrectFraudReport\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"messageHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"nonce\",\"type\":\"uint32\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"destination\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"tips\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"Dispatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"attestation\",\"type\":\"bytes\"}],\"name\":\"FraudAttestation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"GuardAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"GuardRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"}],\"name\":\"GuardSlashed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"report\",\"type\":\"bytes\"}],\"name\":\"IncorrectReport\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"notaryManager\",\"type\":\"address\"}],\"name\":\"NewNotaryManager\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"domain\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"}],\"name\":\"NotaryAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"domain\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"}],\"name\":\"NotaryRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"}],\"name\":\"NotarySlashed\",\"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\":\"MAX_MESSAGE_BODY_BYTES\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SYNAPSE_DOMAIN\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allGuards\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allNotaries\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_destination\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_recipient\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"_optimisticSeconds\",\"type\":\"uint32\"},{\"internalType\":\"bytes\",\"name\":\"_tips\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_messageBody\",\"type\":\"bytes\"}],\"name\":\"dispatch\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"messageNonce\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"messageHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getGuard\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_destination\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"_nonce\",\"type\":\"uint32\"}],\"name\":\"getHistoricalRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getNotary\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"guardsAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractINotaryManager\",\"name\":\"_notaryManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"localDomain\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_destination\",\"type\":\"uint32\"}],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"latestNonce\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"notariesAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"notaryManager\",\"outputs\":[{\"internalType\":\"contractINotaryManager\",\"name\":\"\",\"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\":[{\"internalType\":\"uint32\",\"name\":\"_destination\",\"type\":\"uint32\"}],\"name\":\"root\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_notary\",\"type\":\"address\"}],\"name\":\"setNotary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_notaryManager\",\"type\":\"address\"}],\"name\":\"setNotaryManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractISystemRouter\",\"name\":\"_systemRouter\",\"type\":\"address\"}],\"name\":\"setSystemRouter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_attestation\",\"type\":\"bytes\"}],\"name\":\"submitAttestation\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_report\",\"type\":\"bytes\"}],\"name\":\"submitReport\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_destination\",\"type\":\"uint32\"}],\"name\":\"suggestAttestation\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"latestNonce\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"latestRoot\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"systemRouter\",\"outputs\":[{\"internalType\":\"contractISystemRouter\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "522ae002": "MAX_MESSAGE_BODY_BYTES()", "bf61e67e": "SYNAPSE_DOMAIN()", "ffa1ad74": "VERSION()", "9fe03fa2": "allGuards()", "9817e315": "allNotaries()", "f7560e40": "dispatch(uint32,bytes32,uint32,bytes,bytes)", "629ddf69": "getGuard(uint256)", "f94adcb4": "getHistoricalRoot(uint32,uint32)", "c07dc7f5": "getNotary(uint256)", "246c2449": "guardsAmount()", "c4d66de8": "initialize(address)", "8d3638f4": "localDomain()", "141c4985": "nonce(uint32)", "8e62e9ef": "notariesAmount()", "f85b597e": "notaryManager()", "8da5cb5b": "owner()", "715018a6": "renounceOwnership()", "e65b6bd4": "root(uint32)", "a394a0e6": "setNotary(address)", "a340abc1": "setNotaryManager(address)", "fbde22f7": "setSystemRouter(address)", "f646a512": "submitAttestation(bytes)", "5815869d": "submitReport(bytes)", "dd0f1f74": "suggestAttestation(uint32)", "529d1549": "systemRouter()", "f2fde38b": "transferOwnership(address)", }, Bin: "0x60a06040523480156200001157600080fd5b506040516200425138038062004251833981016040819052620000349162000043565b63ffffffff1660805262000072565b6000602082840312156200005657600080fd5b815163ffffffff811681146200006b57600080fd5b9392505050565b60805161418b620000c6600039600081816102e101528181610bd0015281816112b501528181611393015281816114d60152818161187701528181611f2601528181613249015261365e015261418b6000f3fe6080604052600436106101a15760003560e01c8063a394a0e6116100e1578063f2fde38b1161008a578063f85b597e11610064578063f85b597e146104c1578063f94adcb4146104ee578063fbde22f714610529578063ffa1ad741461054957600080fd5b8063f2fde38b1461046e578063f646a5121461048e578063f7560e40146104ae57600080fd5b8063c4d66de8116100bb578063c4d66de8146103f2578063dd0f1f7414610412578063e65b6bd41461044e57600080fd5b8063a394a0e61461039c578063bf61e67e146103bc578063c07dc7f5146103d257600080fd5b8063715018a61161014e5780638e62e9ef116101285780638e62e9ef146103305780639817e315146103455780639fe03fa214610367578063a340abc11461037c57600080fd5b8063715018a6146102bb5780638d3638f4146102d25780638da5cb5b1461030557600080fd5b8063529d15491161017f578063529d1549146102195780635815869d1461026b578063629ddf691461029b57600080fd5b8063141c4985146101a6578063246c2449146101e0578063522ae00214610203575b600080fd5b3480156101b257600080fd5b506101c66101c1366004613971565b610570565b60405163ffffffff90911681526020015b60405180910390f35b3480156101ec57600080fd5b506101f5610581565b6040519081526020016101d7565b34801561020f57600080fd5b506101f561080081565b34801561022557600080fd5b506065546102469073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d7565b34801561027757600080fd5b5061028b610286366004613a66565b610592565b60405190151581526020016101d7565b3480156102a757600080fd5b506102466102b6366004613a9b565b6105db565b3480156102c757600080fd5b506102d06105e8565b005b3480156102de57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006101c6565b34801561031157600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610246565b34801561033c57600080fd5b506101f5610656565b34801561035157600080fd5b5061035a610662565b6040516101d79190613ab4565b34801561037357600080fd5b5061035a61066e565b34801561038857600080fd5b506102d0610397366004613b30565b61067a565b3480156103a857600080fd5b506102d06103b7366004613b30565b6106ed565b3480156103c857600080fd5b506101c66110ad81565b3480156103de57600080fd5b506102466103ed366004613a9b565b610761565b3480156103fe57600080fd5b506102d061040d366004613b30565b61076e565b34801561041e57600080fd5b5061043261042d366004613971565b6108c1565b6040805163ffffffff90931683526020830191909152016101d7565b34801561045a57600080fd5b506101f5610469366004613971565b6108e9565b34801561047a57600080fd5b506102d0610489366004613b30565b610915565b34801561049a57600080fd5b5061028b6104a9366004613a66565b610a0e565b6104326104bc366004613b4d565b610a33565b3480156104cd57600080fd5b5060ff546102469073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104fa57600080fd5b5061050e610509366004613bdc565b610c6d565b604080519384526020840192909252908201526060016101d7565b34801561053557600080fd5b506102d0610544366004613b30565b610dfb565b34801561055557600080fd5b5061055e600081565b60405160ff90911681526020016101d7565b600061057b82610ea9565b92915050565b600061058d6099610eef565b905090565b60008060006105a084610ef9565b9150915060006105b58262ffffff1916610ff2565b905060006105c282611039565b90506105d1848284868a611125565b9695505050505050565b600061057b6099836113c3565b60335473ffffffffffffffffffffffffffffffffffffffff1633146106545760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b565b600061058d6066610eef565b606061058d60666113d6565b606061058d60996113d6565b60335473ffffffffffffffffffffffffffffffffffffffff1633146106e15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161064b565b6106ea816113e3565b50565b60ff5473ffffffffffffffffffffffffffffffffffffffff1633146107545760405162461bcd60e51b815260206004820152600e60248201527f216e6f746172794d616e61676572000000000000000000000000000000000000604482015260640161064b565b61075d816114c0565b5050565b600061057b6066836113c3565b600061077a6001611558565b905080156107af57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6107b76116aa565b6107c0826113e3565b60ff54604080517f9d54c79d000000000000000000000000000000000000000000000000000000008152905161085a9273ffffffffffffffffffffffffffffffffffffffff1691639d54c79d9160048083019260209291908290030181865afa158015610831573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108559190613c0f565b6114c0565b50801561075d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000806108cd83610570565b91506000806108dc8585610c6d565b5094969095509350505050565b600061057b6108f783610ea9565b63ffffffff808516600090815260cc60205260409020919061172f16565b60335473ffffffffffffffffffffffffffffffffffffffff16331461097c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161064b565b73ffffffffffffffffffffffffffffffffffffffff8116610a055760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161064b565b6106ea81611743565b6000806000610a1c846117ba565b91509150610a2b8282866117d8565b949350505050565b600080610a3e610656565b600003610a8d5760405162461bcd60e51b815260206004820152600960248201527f216e6f7461726965730000000000000000000000000000000000000000000000604482015260640161064b565b61080083511115610ae05760405162461bcd60e51b815260206004820152600c60248201527f6d736720746f6f206c6f6e670000000000000000000000000000000000000000604482015260640161064b565b6000610aeb856118a8565b9050610afc62ffffff1982166118b9565b610b485760405162461bcd60e51b815260206004820152601160248201527f21746970733a20666f726d617474696e67000000000000000000000000000000604482015260640161064b565b34610b5862ffffff198316611900565b6bffffffffffffffffffffffff1614610bb35760405162461bcd60e51b815260206004820152601060248201527f21746970733a20746f74616c5469707300000000000000000000000000000000604482015260640161064b565b610bbc88610570565b610bc7906001613c5b565b92506000610c037f0000000000000000000000000000000000000000000000000000000000000000610bf88a611944565b868c8c8c8c8c6119a3565b8051602082012093509050610c19898585611a51565b8863ffffffff168463ffffffff16847fada9f9f4bf16282091ddc28e7d70838404cd5bdff1b87d8650339e8d02b7753d8985604051610c59929190613ce6565b60405180910390a450509550959350505050565b63ffffffff8216600090815260cd60205260408120548190819015610d765763ffffffff808616600090815260cd602052604090205490851610610cf35760405162461bcd60e51b815260206004820152601c60248201527f216e6f6e63653a206578697374696e672064657374696e6174696f6e00000000604482015260640161064b565b63ffffffff808616600090815260cd60205260409020805490918616908110610d1e57610d1e613d0b565b906000526020600020015460ce60008763ffffffff1663ffffffff1681526020019081526020016000208563ffffffff1681548110610d5f57610d5f613d0b565b906000526020600020015443925092509250610df4565b63ffffffff841615610dca5760405162461bcd60e51b815260206004820152601b60248201527f216e6f6e63653a20756e6b6e6f776e2064657374696e6174696f6e0000000000604482015260640161064b565b507f27ae5ba08d7291c96c8cbddcc148bf48a6d68c7974b94356f53754ef6171d757915060009050435b9250925092565b60335473ffffffffffffffffffffffffffffffffffffffff163314610e625760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161064b565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b63ffffffff8116600090815260cd60205260408120548103610ecd57506000919050565b63ffffffff8216600090815260cd602052604090205461057b90600190613d3a565b600061057b825490565b600080610f0583611b11565b9050610f1662ffffff198216611b22565b610f625760405162461bcd60e51b815260206004820152600c60248201527f4e6f742061207265706f72740000000000000000000000000000000000000000604482015260640161064b565b610f96610f7462ffffff198316611b91565b610f91610f8662ffffff198516611bcf565b62ffffff1916611c1a565b611c6d565b9150610fa182611ce4565b610fed5760405162461bcd60e51b815260206004820152601560248201527f5369676e6572206973206e6f7420612067756172640000000000000000000000604482015260640161064b565b915091565b60008161100a62ffffff198216640201000000611cf1565b50611030600161101c602c6041613d4d565b62ffffff1986169190640101000000611df1565b91505b50919050565b600061104a62ffffff198316611e5c565b6110965760405162461bcd60e51b815260206004820152601260248201527f4e6f7420616e206174746573746174696f6e0000000000000000000000000000604482015260640161064b565b6110ba6110a862ffffff198416611e92565b610f91610f8662ffffff198616611ec4565b90506110d46110ce62ffffff198416611ef5565b82611f21565b6111205760405162461bcd60e51b815260206004820152601660248201527f5369676e6572206973206e6f742061206e6f7461727900000000000000000000604482015260640161064b565b919050565b60008061113762ffffff198616611faf565b9050600061114a62ffffff198716611fda565b9050600061115d62ffffff198816612006565b905061116a838383612032565b156111f25761117e62ffffff1987166120ca565b156111e6578873ffffffffffffffffffffffffffffffffffffffff167f36670329f075c374c3847f464e4acdaa51fc70c69c52cb8317787b237088ec63866040516111c99190613d60565b60405180910390a26111da896120fa565b600093505050506113ba565b600193505050506113ba565b61120162ffffff1987166120ca565b156112db578873ffffffffffffffffffffffffffffffffffffffff167fa0248f358d0f7bb4c63d2bd5a3e521bb7aba00ccfde9442154e4950711a912f88660405161124c9190613d60565b60405180910390a273ffffffffffffffffffffffffffffffffffffffff88167fa458d78fa8902ff24cc896d608e762eb06543f0541124e5582e928e1e478942361129b62ffffff198a16611c1a565b6040516112a89190613d60565b60405180910390a26111e67f0000000000000000000000000000000000000000000000000000000000000000898b61214a565b8873ffffffffffffffffffffffffffffffffffffffff167f36670329f075c374c3847f464e4acdaa51fc70c69c52cb8317787b237088ec63866040516113219190613d60565b60405180910390a2611332896120fa565b73ffffffffffffffffffffffffffffffffffffffff88167fa458d78fa8902ff24cc896d608e762eb06543f0541124e5582e928e1e478942361137962ffffff198a16611c1a565b6040516113869190613d60565b60405180910390a26111da7f000000000000000000000000000000000000000000000000000000000000000089600061214a565b95945050505050565b60006113cf8383612224565b9392505050565b606060006113cf8361224e565b73ffffffffffffffffffffffffffffffffffffffff81163b6114475760405162461bcd60e51b815260206004820152601760248201527f21636f6e7472616374206e6f746172794d616e61676572000000000000000000604482015260640161064b565b60ff80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fe3befd3a32a53f50ff7d1421555fbd40e5ead3a7ed75417db43a23faffe093169060200160405180910390a150565b60006114cb826122aa565b1590508015611120577f00000000000000000000000000000000000000000000000000000000000000006115006066846122b7565b5060405173ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff8216907f62d8d15324cce2626119bb61d595f59e655486b1ab41b52c0793d814fe03c355906020015b60405180910390a2611033565b60008054610100900460ff16156115f5578160ff16600114801561157b5750303b155b6115ed5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161064b565b506000919050565b60005460ff8084169116106116725760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161064b565b50600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff92909216919091179055600190565b600054610100900460ff166117275760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161064b565b6106546122d9565b60006113cf838361173e61235f565b612820565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000806117c6836128dd565b90506117d181611039565b9150915091565b6000806117ea62ffffff198516611faf565b905060006117fd62ffffff198616611fda565b9050600061181062ffffff198716612006565b905061181d838383612032565b93508361189e578673ffffffffffffffffffffffffffffffffffffffff167fa458d78fa8902ff24cc896d608e762eb06543f0541124e5582e928e1e47894238660405161186a9190613d60565b60405180910390a261189e7f000000000000000000000000000000000000000000000000000000000000000088600061214a565b5050509392505050565b600061057b826403010200006128ea565b6000601882901c6bffffffffffffffffffffffff1660028110156118e05750600092915050565b60016118eb84612905565b61ffff16148015611030575060321492915050565b600061190b82612931565b6119148361295d565b61191d84612989565b611926856129b5565b6119309190613d73565b61193a9190613d73565b61057b9190613d73565b60007fffffffffffffffffffffffff00000000000000000000000000000000000000008214611974573392915050565b61197c6129e1565b507fffffffffffffffffffffffff0000000000000000000000000000000000000000919050565b604080517e0100000000000000000000000000000000000000000000000000000000000060208201527fffffffff0000000000000000000000000000000000000000000000000000000060e08b811b82166022840152602683018b905289811b8216604684015288811b8216604a840152604e830188905286901b16606e820152815180820360520181526072909101909152606090611a44908484612a48565b9998505050505050505050565b63ffffffff8316600090815260cd60205260408120549003611a7657611a7683612a7f565b63ffffffff838116600090815260cc60205260409020611a9c91808516908490612b0616565b63ffffffff808416600090815260cd6020908152604080832060cc9092529091209091611ace91908581169061172f16565b815460018181018455600093845260208085209092019290925563ffffffff909516825260ce855260408220805491820181558252939020439301929092555050565b600061057b826402010000006128ea565b6000601882901c6bffffffffffffffffffffffff16611b43602c6001613d4d565b611b4e906082613d4d565b8114611b5d5750600092915050565b6001611b6884612c1a565b60ff161115611b7a5750600092915050565b611030611b8684610ff2565b62ffffff1916611e5c565b600081611ba962ffffff198216640201000000611cf1565b506110306000611bbb602c6001613d4d565b62ffffff1986169190640201010000611df1565b600081611be762ffffff198216640201000000611cf1565b506000611bf6602c6041613d4d565b611c01906001613d4d565b9050610a2b62ffffff1985168260416301000000611df1565b6060600080611c378460181c6bffffffffffffffffffffffff1690565b6bffffffffffffffffffffffff1690506040519150819250611c5c8483602001612c2e565b508181016020016040529052919050565b600080611c7f62ffffff198516612dc7565b9050611cd8816040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b9050610a2b8184612e15565b600061057b609983612e31565b6000611cfd8383612e60565b611dea576000611d1b611d0f85612e82565b64ffffffffff16612ea6565b9150506000611d308464ffffffffff16612ea6565b6040517f5479706520617373657274696f6e206661696c65642e20476f7420307800000060208201527fffffffffffffffffffff0000000000000000000000000000000000000000000060b086811b8216603d8401527f2e20457870656374656420307800000000000000000000000000000000000000604784015283901b16605482015290925060009150605e0160405160208183030381529060405290508060405162461bcd60e51b815260040161064b9190613d60565b5090919050565b600080611dfd86612f90565b6bffffffffffffffffffffffff169050611e1686612fb7565b84611e218784613d4d565b611e2b9190613d4d565b1115611e3e5762ffffff19915050610a2b565b611e488582613d4d565b90506105d18364ffffffffff168286612ff0565b6000611e6a602c6041613d4d565b6bffffffffffffffffffffffff601884901c166bffffffffffffffffffffffff161492915050565b600081611eaa62ffffff198216640101000000611cf1565b5061103062ffffff1984166000602c640101010000611df1565b600081611edc62ffffff198216640101000000611cf1565b5061103062ffffff198416602c60416301000000611df1565b600081611f0d62ffffff198216640101000000611cf1565b5061103062ffffff19841660006004613037565b6000827f000000000000000000000000000000000000000000000000000000000000000063ffffffff168163ffffffff1614611f9f5760405162461bcd60e51b815260206004820152600c60248201527f216c6f63616c446f6d61696e0000000000000000000000000000000000000000604482015260640161064b565b610a2b836122aa565b5092915050565b600081611fc762ffffff198216640101000000611cf1565b5061103062ffffff198416600480613037565b600081611ff262ffffff198216640101000000611cf1565b5061103062ffffff19841660086004613037565b60008161201e62ffffff198216640101000000611cf1565b5061103062ffffff198416600c6020613067565b63ffffffff808416600090815260cd60205260408120549091841610156120925763ffffffff808516600090815260cd6020526040902080549091851690811061207e5761207e613d0b565b9060005260206000200154821490506113cf565b63ffffffff8316158015610a2b5750507f27ae5ba08d7291c96c8cbddcc148bf48a6d68c7974b94356f53754ef6171d7571492915050565b6000816120e262ffffff198216640201000000611cf1565b5060006120ee84612c1a565b60ff1614159392505050565b612103816131e1565b50604051339073ffffffffffffffffffffffffffffffffffffffff8316907ff2b3869e9727d6dfa6823415649eb18a3bbb7cf9aa2af02af10aaf8d10e1409590600090a350565b6121548383613244565b5060ff546040517fbb99e8fa00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091169063bb99e8fa90602401600060405180830381600087803b1580156121c057600080fd5b505af11580156121d4573d6000803e3d6000fd5b505060405133925073ffffffffffffffffffffffffffffffffffffffff84811692508516907f70f97c2b606c3d7af38fff3f924c8396f5a05d266b5dc523d863ad27a1d7518a90600090a4505050565b600082600001828154811061223b5761223b613d0b565b9060005260206000200154905092915050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561229e57602002820191906000526020600020905b81548152602001906001019080831161228a575b50505050509050919050565b600061057b606683612e31565b60006113cf8373ffffffffffffffffffffffffffffffffffffffff84166132cb565b600054610100900460ff166123565760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161064b565b61065433611743565b61236761393e565b600081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb560208201527fb4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d3060408201527f21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba8560608201527fe58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a1934460808201527f0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d60a08201527f887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a196860c08201527fffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f8360e08201527f9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af6101008201527fcefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e06101208201527ff9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a56101408201527ff8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf8926101608201527f3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c6101808201527fc1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb6101a08201527f5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc6101c08201527fda7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d26101e08201527f2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f6102008201527fe1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a6102208201527f5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a06102408201527fb46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa06102608201527fc65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e26102808201527ff4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd96102a08201527f5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3776102c08201527f4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee6526102e08201527fcdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef6103008201527f0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d6103208201527fb8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d06103408201527f838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e6103608201527f662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e6103808201527f388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea3226103a08201527f93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d7356103c08201527f8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a96103e082015290565b6000805b60208110156128d557600184821c8116908190036128815785826020811061284e5761284e613d0b565b015460408051602081019290925281018490526060016040516020818303038152906040528051906020012092506128cc565b8284836020811061289457612894613d0b565b60200201516040516020016128b3929190918252602082015260400190565b6040516020818303038152906040528051906020012092505b50600101612824565b509392505050565b600061057b826401010000005b8151600090602084016113ba64ffffffffff85168284612ff0565b60008161291d62ffffff198216640301020000611cf1565b5061103062ffffff19841660006002613037565b60008161294962ffffff198216640301020000611cf1565b5061103062ffffff1984166026600c613037565b60008161297562ffffff198216640301020000611cf1565b5061103062ffffff198416601a600c613037565b6000816129a162ffffff198216640301020000611cf1565b5061103062ffffff198416600e600c613037565b6000816129cd62ffffff198216640301020000611cf1565b5061103062ffffff1984166002600c613037565b60655473ffffffffffffffffffffffffffffffffffffffff1633146106545760405162461bcd60e51b815260206004820152600d60248201527f2173797374656d526f7574657200000000000000000000000000000000000000604482015260640161064b565b82518251604051606092612a6792600192889088908890602001613dc7565b60405160208183030381529060405290509392505050565b63ffffffff8116600090815260cd602052604090205415612aa257612aa2613e59565b63ffffffff16600081815260cd602090815260408083208054600181810183559185528385207f27ae5ba08d7291c96c8cbddcc148bf48a6d68c7974b94356f53754ef6171d75791015593835260ce82528220805493840181558252812090910155565b6001612b1460206002613fa8565b612b1e9190613d3a565b821115612b6d5760405162461bcd60e51b815260206004820152601060248201527f6d65726b6c6520747265652066756c6c00000000000000000000000000000000604482015260640161064b565b60005b6020811015612c0c5782600116600103612b9f5781848260208110612b9757612b97613d0b565b015550505050565b838160208110612bb157612bb1613d0b565b01546040805160208101929092528101839052606001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528051602090910120600193841c9390925001612b70565b50612c15613e59565b505050565b600061057b62ffffff198316826001613037565b600062ffffff1980841603612c855760405162461bcd60e51b815260206004820152601a60248201527f636f7079546f3a204e756c6c20706f696e746572206465726566000000000000604482015260640161064b565b612c8e8361331a565b612cda5760405162461bcd60e51b815260206004820152601d60248201527f636f7079546f3a20496e76616c696420706f696e746572206465726566000000604482015260640161064b565b6000612cf48460181c6bffffffffffffffffffffffff1690565b6bffffffffffffffffffffffff1690506000612d0f85612f90565b6bffffffffffffffffffffffff169050600080604051915085821115612d355760206060fd5b8386858560045afa905080612d8c5760405162461bcd60e51b815260206004820152601460248201527f6964656e746974793a206f7574206f6620676173000000000000000000000000604482015260640161064b565b612dbc612d9888612e82565b70ffffffffff000000000000000000000000606091821b168817901b851760181b90565b979650505050505050565b600080612dd383612f90565b6bffffffffffffffffffffffff1690506000612dfd8460181c6bffffffffffffffffffffffff1690565b6bffffffffffffffffffffffff169091209392505050565b6000806000612e248585613356565b915091506128d58161339b565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415156113cf565b60008164ffffffffff16612e7384612e82565b64ffffffffff16149392505050565b6000806060612e92816018613d4d565b612e9c9190613d4d565b9290921c92915050565b600080601f5b600f8160ff161115612f19576000612ec5826008613fb4565b60ff1685901c9050612ed681613587565b61ffff16841793508160ff16601014612ef157601084901b93505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612eac565b50600f5b60ff8160ff161015612f8a576000612f36826008613fb4565b60ff1685901c9050612f4781613587565b61ffff16831792508160ff16600014612f6257601083901b92505b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01612f1d565b50915091565b600080612f9f60606018613d4d565b9290921c6bffffffffffffffffffffffff1692915050565b6000612fd18260181c6bffffffffffffffffffffffff1690565b612fda83612f90565b016bffffffffffffffffffffffff169050919050565b600080612ffd8385613d4d565b905060405181111561300d575060005b806000036130225762ffffff199150506113cf565b5050606092831b9190911790911b1760181b90565b6000613044826020613fd0565b61304f906008613fb4565b60ff1661305d858585613067565b901c949350505050565b60008160ff1660000361307c575060006113cf565b6130948460181c6bffffffffffffffffffffffff1690565b6bffffffffffffffffffffffff166130af60ff841685613d4d565b1115613118576130ff6130c185612f90565b6bffffffffffffffffffffffff166130e78660181c6bffffffffffffffffffffffff1690565b6bffffffffffffffffffffffff16858560ff166135b9565b60405162461bcd60e51b815260040161064b9190613d60565b60208260ff16111561316c5760405162461bcd60e51b815260206004820152601960248201527f496e6465783a206d6f7265207468616e20333220627974657300000000000000604482015260640161064b565b60088202600061317b86612f90565b6bffffffffffffffffffffffff16905060007f80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84011d91909501511695945050505050565b60006131ee609983613627565b905080156111205760405173ffffffffffffffffffffffffffffffffffffffff831681527f59926e0a78d12238b668b31c8e3f6ece235a59a00ede111d883e255b68c4d0489060200160405180910390a1919050565b6000827f000000000000000000000000000000000000000000000000000000000000000063ffffffff168163ffffffff16146132c25760405162461bcd60e51b815260206004820152600c60248201527f216c6f63616c446f6d61696e0000000000000000000000000000000000000000604482015260640161064b565b610a2b83613649565b60008181526001830160205260408120546133125750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561057b565b50600061057b565b600061332582612e82565b64ffffffffff1664ffffffffff0361333f57506000919050565b600061334a83612fb7565b60405110199392505050565b600080825160410361338c5760208301516040840151606085015160001a613380878285856136d7565b94509450505050613394565b506000905060025b9250929050565b60008160048111156133af576133af613d98565b036133b75750565b60018160048111156133cb576133cb613d98565b036134185760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161064b565b600281600481111561342c5761342c613d98565b036134795760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161064b565b600381600481111561348d5761348d613d98565b036135005760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161064b565b600481600481111561351457613514613d98565b036106ea5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161064b565b600061359960048360ff16901c6137ef565b60ff1661ffff919091161760081b6135b0826137ef565b60ff1617919050565b606060006135c686612ea6565b91505060006135d486612ea6565b91505060006135e286612ea6565b91505060006135f086612ea6565b9150508383838360405160200161360a9493929190613fe9565b604051602081830303815290604052945050505050949350505050565b60006113cf8373ffffffffffffffffffffffffffffffffffffffff841661384b565b6000613654826122aa565b90508015611120577f0000000000000000000000000000000000000000000000000000000000000000613688606684613627565b5060405173ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff8216907f3e006f5b97c04e82df349064761281b0981d45330c2f3e57cc032203b0e31b6b9060200161154b565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561370e57506000905060036137e6565b8460ff16601b1415801561372657508460ff16601c14155b1561373757506000905060046137e6565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561378b573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166137df576000600192509250506137e6565b9150600090505b94509492505050565b6040805180820190915260108082527f30313233343536373839616263646566000000000000000000000000000000006020830152600091600f8416918290811061383c5761383c613d0b565b016020015160f81c9392505050565b6000818152600183016020526040812054801561393457600061386f600183613d3a565b855490915060009061388390600190613d3a565b90508181146138e85760008660000182815481106138a3576138a3613d0b565b90600052602060002001549050808760000184815481106138c6576138c6613d0b565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806138f9576138f9614126565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061057b565b600091505061057b565b6040518061040001604052806020906020820280368337509192915050565b803563ffffffff8116811461112057600080fd5b60006020828403121561398357600080fd5b6113cf8261395d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f8301126139cc57600080fd5b813567ffffffffffffffff808211156139e7576139e761398c565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715613a2d57613a2d61398c565b81604052838152866020858801011115613a4657600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215613a7857600080fd5b813567ffffffffffffffff811115613a8f57600080fd5b610a2b848285016139bb565b600060208284031215613aad57600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b81811015613b0257835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101613ad0565b50909695505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146106ea57600080fd5b600060208284031215613b4257600080fd5b81356113cf81613b0e565b600080600080600060a08688031215613b6557600080fd5b613b6e8661395d565b945060208601359350613b836040870161395d565b9250606086013567ffffffffffffffff80821115613ba057600080fd5b613bac89838a016139bb565b93506080880135915080821115613bc257600080fd5b50613bcf888289016139bb565b9150509295509295909350565b60008060408385031215613bef57600080fd5b613bf88361395d565b9150613c066020840161395d565b90509250929050565b600060208284031215613c2157600080fd5b81516113cf81613b0e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff818116838216019080821115611fa857611fa8613c2c565b60005b83811015613c93578181015183820152602001613c7b565b50506000910152565b60008151808452613cb4816020860160208601613c78565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b604081526000613cf96040830185613c9c565b82810360208401526113ba8185613c9c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8181038181111561057b5761057b613c2c565b8082018082111561057b5761057b613c2c565b6020815260006113cf6020830184613c9c565b6bffffffffffffffffffffffff818116838216019080821115611fa857611fa8613c2c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60007fffff000000000000000000000000000000000000000000000000000000000000808960f01b168352808860f01b166002840152808760f01b166004840152508451613e1c816006850160208901613c78565b845190830190613e33816006840160208901613c78565b8451910190613e49816006840160208801613c78565b0160060198975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b600181815b80851115613ee157817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115613ec757613ec7613c2c565b80851615613ed457918102915b93841c9390800290613e8d565b509250929050565b600082613ef85750600161057b565b81613f055750600061057b565b8160018114613f1b5760028114613f2557613f41565b600191505061057b565b60ff841115613f3657613f36613c2c565b50506001821b61057b565b5060208310610133831016604e8410600b8410161715613f64575081810a61057b565b613f6e8383613e88565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115613fa057613fa0613c2c565b029392505050565b60006113cf8383613ee9565b60ff8181168382160290811690818114611fa857611fa8613c2c565b60ff828116828216039081111561057b5761057b613c2c565b7f54797065644d656d566965772f696e646578202d204f76657272616e2074686581527f20766965772e20536c696365206973206174203078000000000000000000000060208201527fffffffffffff000000000000000000000000000000000000000000000000000060d086811b821660358401527f2077697468206c656e6774682030780000000000000000000000000000000000603b840181905286821b8316604a8501527f2e20417474656d7074656420746f20696e646578206174206f6666736574203060508501527f7800000000000000000000000000000000000000000000000000000000000000607085015285821b83166071850152607784015283901b1660868201527f2e00000000000000000000000000000000000000000000000000000000000000608c8201526000608d82016105d1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212208be254d5df237d7413af83cc26bd124245b62dce2b17940d869cf78adc7d760c64736f6c63430008110033", } // OriginABI is the input ABI used to generate the binding from. // Deprecated: Use OriginMetaData.ABI instead. var OriginABI = OriginMetaData.ABI // Deprecated: Use OriginMetaData.Sigs instead. // OriginFuncSigs maps the 4-byte function signature to its string representation. var OriginFuncSigs = OriginMetaData.Sigs // OriginBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use OriginMetaData.Bin instead. var OriginBin = OriginMetaData.Bin // DeployOrigin deploys a new Ethereum contract, binding an instance of Origin to it. func DeployOrigin(auth *bind.TransactOpts, backend bind.ContractBackend, _domain uint32) (common.Address, *types.Transaction, *Origin, error) { parsed, err := OriginMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(OriginBin), backend, _domain) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &Origin{OriginCaller: OriginCaller{contract: contract}, OriginTransactor: OriginTransactor{contract: contract}, OriginFilterer: OriginFilterer{contract: contract}}, nil } // Origin is an auto generated Go binding around an Ethereum contract. type Origin struct { OriginCaller // Read-only binding to the contract OriginTransactor // Write-only binding to the contract OriginFilterer // Log filterer for contract events } // OriginCaller is an auto generated read-only Go binding around an Ethereum contract. type OriginCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OriginTransactor is an auto generated write-only Go binding around an Ethereum contract. type OriginTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OriginFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type OriginFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OriginSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type OriginSession struct { Contract *Origin // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // OriginCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type OriginCallerSession struct { Contract *OriginCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // OriginTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type OriginTransactorSession struct { Contract *OriginTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // OriginRaw is an auto generated low-level Go binding around an Ethereum contract. type OriginRaw struct { Contract *Origin // Generic contract binding to access the raw methods on } // OriginCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type OriginCallerRaw struct { Contract *OriginCaller // Generic read-only contract binding to access the raw methods on } // OriginTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type OriginTransactorRaw struct { Contract *OriginTransactor // Generic write-only contract binding to access the raw methods on } // NewOrigin creates a new instance of Origin, bound to a specific deployed contract. func NewOrigin(address common.Address, backend bind.ContractBackend) (*Origin, error) { contract, err := bindOrigin(address, backend, backend, backend) if err != nil { return nil, err } return &Origin{OriginCaller: OriginCaller{contract: contract}, OriginTransactor: OriginTransactor{contract: contract}, OriginFilterer: OriginFilterer{contract: contract}}, nil } // NewOriginCaller creates a new read-only instance of Origin, bound to a specific deployed contract. func NewOriginCaller(address common.Address, caller bind.ContractCaller) (*OriginCaller, error) { contract, err := bindOrigin(address, caller, nil, nil) if err != nil { return nil, err } return &OriginCaller{contract: contract}, nil } // NewOriginTransactor creates a new write-only instance of Origin, bound to a specific deployed contract. func NewOriginTransactor(address common.Address, transactor bind.ContractTransactor) (*OriginTransactor, error) { contract, err := bindOrigin(address, nil, transactor, nil) if err != nil { return nil, err } return &OriginTransactor{contract: contract}, nil } // NewOriginFilterer creates a new log filterer instance of Origin, bound to a specific deployed contract. func NewOriginFilterer(address common.Address, filterer bind.ContractFilterer) (*OriginFilterer, error) { contract, err := bindOrigin(address, nil, nil, filterer) if err != nil { return nil, err } return &OriginFilterer{contract: contract}, nil } // bindOrigin binds a generic wrapper to an already deployed contract. func bindOrigin(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(OriginABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Origin *OriginRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Origin.Contract.OriginCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Origin *OriginRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Origin.Contract.OriginTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Origin *OriginRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Origin.Contract.OriginTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Origin *OriginCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Origin.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Origin *OriginTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Origin.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Origin *OriginTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Origin.Contract.contract.Transact(opts, method, params...) } // MAXMESSAGEBODYBYTES is a free data retrieval call binding the contract method 0x522ae002. // // Solidity: function MAX_MESSAGE_BODY_BYTES() view returns(uint256) func (_Origin *OriginCaller) MAXMESSAGEBODYBYTES(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _Origin.contract.Call(opts, &out, "MAX_MESSAGE_BODY_BYTES") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // MAXMESSAGEBODYBYTES is a free data retrieval call binding the contract method 0x522ae002. // // Solidity: function MAX_MESSAGE_BODY_BYTES() view returns(uint256) func (_Origin *OriginSession) MAXMESSAGEBODYBYTES() (*big.Int, error) { return _Origin.Contract.MAXMESSAGEBODYBYTES(&_Origin.CallOpts) } // MAXMESSAGEBODYBYTES is a free data retrieval call binding the contract method 0x522ae002. // // Solidity: function MAX_MESSAGE_BODY_BYTES() view returns(uint256) func (_Origin *OriginCallerSession) MAXMESSAGEBODYBYTES() (*big.Int, error) { return _Origin.Contract.MAXMESSAGEBODYBYTES(&_Origin.CallOpts) } // SYNAPSEDOMAIN is a free data retrieval call binding the contract method 0xbf61e67e. // // Solidity: function SYNAPSE_DOMAIN() view returns(uint32) func (_Origin *OriginCaller) SYNAPSEDOMAIN(opts *bind.CallOpts) (uint32, error) { var out []interface{} err := _Origin.contract.Call(opts, &out, "SYNAPSE_DOMAIN") if err != nil { return *new(uint32), err } out0 := *abi.ConvertType(out[0], new(uint32)).(*uint32) return out0, err } // SYNAPSEDOMAIN is a free data retrieval call binding the contract method 0xbf61e67e. // // Solidity: function SYNAPSE_DOMAIN() view returns(uint32) func (_Origin *OriginSession) SYNAPSEDOMAIN() (uint32, error) { return _Origin.Contract.SYNAPSEDOMAIN(&_Origin.CallOpts) } // SYNAPSEDOMAIN is a free data retrieval call binding the contract method 0xbf61e67e. // // Solidity: function SYNAPSE_DOMAIN() view returns(uint32) func (_Origin *OriginCallerSession) SYNAPSEDOMAIN() (uint32, error) { return _Origin.Contract.SYNAPSEDOMAIN(&_Origin.CallOpts) } // VERSION is a free data retrieval call binding the contract method 0xffa1ad74. // // Solidity: function VERSION() view returns(uint8) func (_Origin *OriginCaller) VERSION(opts *bind.CallOpts) (uint8, error) { var out []interface{} err := _Origin.contract.Call(opts, &out, "VERSION") if err != nil { return *new(uint8), err } out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) return out0, err } // VERSION is a free data retrieval call binding the contract method 0xffa1ad74. // // Solidity: function VERSION() view returns(uint8) func (_Origin *OriginSession) VERSION() (uint8, error) { return _Origin.Contract.VERSION(&_Origin.CallOpts) } // VERSION is a free data retrieval call binding the contract method 0xffa1ad74. // // Solidity: function VERSION() view returns(uint8) func (_Origin *OriginCallerSession) VERSION() (uint8, error) { return _Origin.Contract.VERSION(&_Origin.CallOpts) } // AllGuards is a free data retrieval call binding the contract method 0x9fe03fa2. // // Solidity: function allGuards() view returns(address[]) func (_Origin *OriginCaller) AllGuards(opts *bind.CallOpts) ([]common.Address, error) { var out []interface{} err := _Origin.contract.Call(opts, &out, "allGuards") if err != nil { return *new([]common.Address), err } out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) return out0, err } // AllGuards is a free data retrieval call binding the contract method 0x9fe03fa2. // // Solidity: function allGuards() view returns(address[]) func (_Origin *OriginSession) AllGuards() ([]common.Address, error) { return _Origin.Contract.AllGuards(&_Origin.CallOpts) } // AllGuards is a free data retrieval call binding the contract method 0x9fe03fa2. // // Solidity: function allGuards() view returns(address[]) func (_Origin *OriginCallerSession) AllGuards() ([]common.Address, error) { return _Origin.Contract.AllGuards(&_Origin.CallOpts) } // AllNotaries is a free data retrieval call binding the contract method 0x9817e315. // // Solidity: function allNotaries() view returns(address[]) func (_Origin *OriginCaller) AllNotaries(opts *bind.CallOpts) ([]common.Address, error) { var out []interface{} err := _Origin.contract.Call(opts, &out, "allNotaries") if err != nil { return *new([]common.Address), err } out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) return out0, err } // AllNotaries is a free data retrieval call binding the contract method 0x9817e315. // // Solidity: function allNotaries() view returns(address[]) func (_Origin *OriginSession) AllNotaries() ([]common.Address, error) { return _Origin.Contract.AllNotaries(&_Origin.CallOpts) } // AllNotaries is a free data retrieval call binding the contract method 0x9817e315. // // Solidity: function allNotaries() view returns(address[]) func (_Origin *OriginCallerSession) AllNotaries() ([]common.Address, error) { return _Origin.Contract.AllNotaries(&_Origin.CallOpts) } // GetGuard is a free data retrieval call binding the contract method 0x629ddf69. // // Solidity: function getGuard(uint256 _index) view returns(address) func (_Origin *OriginCaller) GetGuard(opts *bind.CallOpts, _index *big.Int) (common.Address, error) { var out []interface{} err := _Origin.contract.Call(opts, &out, "getGuard", _index) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetGuard is a free data retrieval call binding the contract method 0x629ddf69. // // Solidity: function getGuard(uint256 _index) view returns(address) func (_Origin *OriginSession) GetGuard(_index *big.Int) (common.Address, error) { return _Origin.Contract.GetGuard(&_Origin.CallOpts, _index) } // GetGuard is a free data retrieval call binding the contract method 0x629ddf69. // // Solidity: function getGuard(uint256 _index) view returns(address) func (_Origin *OriginCallerSession) GetGuard(_index *big.Int) (common.Address, error) { return _Origin.Contract.GetGuard(&_Origin.CallOpts, _index) } // GetHistoricalRoot is a free data retrieval call binding the contract method 0xf94adcb4. // // Solidity: function getHistoricalRoot(uint32 _destination, uint32 _nonce) view returns(bytes32, uint256, uint256) func (_Origin *OriginCaller) GetHistoricalRoot(opts *bind.CallOpts, _destination uint32, _nonce uint32) ([32]byte, *big.Int, *big.Int, error) { var out []interface{} err := _Origin.contract.Call(opts, &out, "getHistoricalRoot", _destination, _nonce) if err != nil { return *new([32]byte), *new(*big.Int), *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) out1 := *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) out2 := *abi.ConvertType(out[2], new(*big.Int)).(**big.Int) return out0, out1, out2, err } // GetHistoricalRoot is a free data retrieval call binding the contract method 0xf94adcb4. // // Solidity: function getHistoricalRoot(uint32 _destination, uint32 _nonce) view returns(bytes32, uint256, uint256) func (_Origin *OriginSession) GetHistoricalRoot(_destination uint32, _nonce uint32) ([32]byte, *big.Int, *big.Int, error) { return _Origin.Contract.GetHistoricalRoot(&_Origin.CallOpts, _destination, _nonce) } // GetHistoricalRoot is a free data retrieval call binding the contract method 0xf94adcb4. // // Solidity: function getHistoricalRoot(uint32 _destination, uint32 _nonce) view returns(bytes32, uint256, uint256) func (_Origin *OriginCallerSession) GetHistoricalRoot(_destination uint32, _nonce uint32) ([32]byte, *big.Int, *big.Int, error) { return _Origin.Contract.GetHistoricalRoot(&_Origin.CallOpts, _destination, _nonce) } // GetNotary is a free data retrieval call binding the contract method 0xc07dc7f5. // // Solidity: function getNotary(uint256 _index) view returns(address) func (_Origin *OriginCaller) GetNotary(opts *bind.CallOpts, _index *big.Int) (common.Address, error) { var out []interface{} err := _Origin.contract.Call(opts, &out, "getNotary", _index) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetNotary is a free data retrieval call binding the contract method 0xc07dc7f5. // // Solidity: function getNotary(uint256 _index) view returns(address) func (_Origin *OriginSession) GetNotary(_index *big.Int) (common.Address, error) { return _Origin.Contract.GetNotary(&_Origin.CallOpts, _index) } // GetNotary is a free data retrieval call binding the contract method 0xc07dc7f5. // // Solidity: function getNotary(uint256 _index) view returns(address) func (_Origin *OriginCallerSession) GetNotary(_index *big.Int) (common.Address, error) { return _Origin.Contract.GetNotary(&_Origin.CallOpts, _index) } // GuardsAmount is a free data retrieval call binding the contract method 0x246c2449. // // Solidity: function guardsAmount() view returns(uint256) func (_Origin *OriginCaller) GuardsAmount(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _Origin.contract.Call(opts, &out, "guardsAmount") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // GuardsAmount is a free data retrieval call binding the contract method 0x246c2449. // // Solidity: function guardsAmount() view returns(uint256) func (_Origin *OriginSession) GuardsAmount() (*big.Int, error) { return _Origin.Contract.GuardsAmount(&_Origin.CallOpts) } // GuardsAmount is a free data retrieval call binding the contract method 0x246c2449. // // Solidity: function guardsAmount() view returns(uint256) func (_Origin *OriginCallerSession) GuardsAmount() (*big.Int, error) { return _Origin.Contract.GuardsAmount(&_Origin.CallOpts) } // LocalDomain is a free data retrieval call binding the contract method 0x8d3638f4. // // Solidity: function localDomain() view returns(uint32) func (_Origin *OriginCaller) LocalDomain(opts *bind.CallOpts) (uint32, error) { var out []interface{} err := _Origin.contract.Call(opts, &out, "localDomain") if err != nil { return *new(uint32), err } out0 := *abi.ConvertType(out[0], new(uint32)).(*uint32) return out0, err } // LocalDomain is a free data retrieval call binding the contract method 0x8d3638f4. // // Solidity: function localDomain() view returns(uint32) func (_Origin *OriginSession) LocalDomain() (uint32, error) { return _Origin.Contract.LocalDomain(&_Origin.CallOpts) } // LocalDomain is a free data retrieval call binding the contract method 0x8d3638f4. // // Solidity: function localDomain() view returns(uint32) func (_Origin *OriginCallerSession) LocalDomain() (uint32, error) { return _Origin.Contract.LocalDomain(&_Origin.CallOpts) } // Nonce is a free data retrieval call binding the contract method 0x141c4985. // // Solidity: function nonce(uint32 _destination) view returns(uint32 latestNonce) func (_Origin *OriginCaller) Nonce(opts *bind.CallOpts, _destination uint32) (uint32, error) { var out []interface{} err := _Origin.contract.Call(opts, &out, "nonce", _destination) if err != nil { return *new(uint32), err } out0 := *abi.ConvertType(out[0], new(uint32)).(*uint32) return out0, err } // Nonce is a free data retrieval call binding the contract method 0x141c4985. // // Solidity: function nonce(uint32 _destination) view returns(uint32 latestNonce) func (_Origin *OriginSession) Nonce(_destination uint32) (uint32, error) { return _Origin.Contract.Nonce(&_Origin.CallOpts, _destination) } // Nonce is a free data retrieval call binding the contract method 0x141c4985. // // Solidity: function nonce(uint32 _destination) view returns(uint32 latestNonce) func (_Origin *OriginCallerSession) Nonce(_destination uint32) (uint32, error) { return _Origin.Contract.Nonce(&_Origin.CallOpts, _destination) } // NotariesAmount is a free data retrieval call binding the contract method 0x8e62e9ef. // // Solidity: function notariesAmount() view returns(uint256) func (_Origin *OriginCaller) NotariesAmount(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _Origin.contract.Call(opts, &out, "notariesAmount") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // NotariesAmount is a free data retrieval call binding the contract method 0x8e62e9ef. // // Solidity: function notariesAmount() view returns(uint256) func (_Origin *OriginSession) NotariesAmount() (*big.Int, error) { return _Origin.Contract.NotariesAmount(&_Origin.CallOpts) } // NotariesAmount is a free data retrieval call binding the contract method 0x8e62e9ef. // // Solidity: function notariesAmount() view returns(uint256) func (_Origin *OriginCallerSession) NotariesAmount() (*big.Int, error) { return _Origin.Contract.NotariesAmount(&_Origin.CallOpts) } // NotaryManager is a free data retrieval call binding the contract method 0xf85b597e. // // Solidity: function notaryManager() view returns(address) func (_Origin *OriginCaller) NotaryManager(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _Origin.contract.Call(opts, &out, "notaryManager") if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // NotaryManager is a free data retrieval call binding the contract method 0xf85b597e. // // Solidity: function notaryManager() view returns(address) func (_Origin *OriginSession) NotaryManager() (common.Address, error) { return _Origin.Contract.NotaryManager(&_Origin.CallOpts) } // NotaryManager is a free data retrieval call binding the contract method 0xf85b597e. // // Solidity: function notaryManager() view returns(address) func (_Origin *OriginCallerSession) NotaryManager() (common.Address, error) { return _Origin.Contract.NotaryManager(&_Origin.CallOpts) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) func (_Origin *OriginCaller) Owner(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _Origin.contract.Call(opts, &out, "owner") if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) func (_Origin *OriginSession) Owner() (common.Address, error) { return _Origin.Contract.Owner(&_Origin.CallOpts) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) func (_Origin *OriginCallerSession) Owner() (common.Address, error) { return _Origin.Contract.Owner(&_Origin.CallOpts) } // Root is a free data retrieval call binding the contract method 0xe65b6bd4. // // Solidity: function root(uint32 _destination) view returns(bytes32) func (_Origin *OriginCaller) Root(opts *bind.CallOpts, _destination uint32) ([32]byte, error) { var out []interface{} err := _Origin.contract.Call(opts, &out, "root", _destination) if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // Root is a free data retrieval call binding the contract method 0xe65b6bd4. // // Solidity: function root(uint32 _destination) view returns(bytes32) func (_Origin *OriginSession) Root(_destination uint32) ([32]byte, error) { return _Origin.Contract.Root(&_Origin.CallOpts, _destination) } // Root is a free data retrieval call binding the contract method 0xe65b6bd4. // // Solidity: function root(uint32 _destination) view returns(bytes32) func (_Origin *OriginCallerSession) Root(_destination uint32) ([32]byte, error) { return _Origin.Contract.Root(&_Origin.CallOpts, _destination) } // SuggestAttestation is a free data retrieval call binding the contract method 0xdd0f1f74. // // Solidity: function suggestAttestation(uint32 _destination) view returns(uint32 latestNonce, bytes32 latestRoot) func (_Origin *OriginCaller) SuggestAttestation(opts *bind.CallOpts, _destination uint32) (struct { LatestNonce uint32 LatestRoot [32]byte }, error) { var out []interface{} err := _Origin.contract.Call(opts, &out, "suggestAttestation", _destination) outstruct := new(struct { LatestNonce uint32 LatestRoot [32]byte }) if err != nil { return *outstruct, err } outstruct.LatestNonce = *abi.ConvertType(out[0], new(uint32)).(*uint32) outstruct.LatestRoot = *abi.ConvertType(out[1], new([32]byte)).(*[32]byte) return *outstruct, err } // SuggestAttestation is a free data retrieval call binding the contract method 0xdd0f1f74. // // Solidity: function suggestAttestation(uint32 _destination) view returns(uint32 latestNonce, bytes32 latestRoot) func (_Origin *OriginSession) SuggestAttestation(_destination uint32) (struct { LatestNonce uint32 LatestRoot [32]byte }, error) { return _Origin.Contract.SuggestAttestation(&_Origin.CallOpts, _destination) } // SuggestAttestation is a free data retrieval call binding the contract method 0xdd0f1f74. // // Solidity: function suggestAttestation(uint32 _destination) view returns(uint32 latestNonce, bytes32 latestRoot) func (_Origin *OriginCallerSession) SuggestAttestation(_destination uint32) (struct { LatestNonce uint32 LatestRoot [32]byte }, error) { return _Origin.Contract.SuggestAttestation(&_Origin.CallOpts, _destination) } // SystemRouter is a free data retrieval call binding the contract method 0x529d1549. // // Solidity: function systemRouter() view returns(address) func (_Origin *OriginCaller) SystemRouter(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _Origin.contract.Call(opts, &out, "systemRouter") if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // SystemRouter is a free data retrieval call binding the contract method 0x529d1549. // // Solidity: function systemRouter() view returns(address) func (_Origin *OriginSession) SystemRouter() (common.Address, error) { return _Origin.Contract.SystemRouter(&_Origin.CallOpts) } // SystemRouter is a free data retrieval call binding the contract method 0x529d1549. // // Solidity: function systemRouter() view returns(address) func (_Origin *OriginCallerSession) SystemRouter() (common.Address, error) { return _Origin.Contract.SystemRouter(&_Origin.CallOpts) } // Dispatch is a paid mutator transaction binding the contract method 0xf7560e40. // // Solidity: function dispatch(uint32 _destination, bytes32 _recipient, uint32 _optimisticSeconds, bytes _tips, bytes _messageBody) payable returns(uint32 messageNonce, bytes32 messageHash) func (_Origin *OriginTransactor) Dispatch(opts *bind.TransactOpts, _destination uint32, _recipient [32]byte, _optimisticSeconds uint32, _tips []byte, _messageBody []byte) (*types.Transaction, error) { return _Origin.contract.Transact(opts, "dispatch", _destination, _recipient, _optimisticSeconds, _tips, _messageBody) } // Dispatch is a paid mutator transaction binding the contract method 0xf7560e40. // // Solidity: function dispatch(uint32 _destination, bytes32 _recipient, uint32 _optimisticSeconds, bytes _tips, bytes _messageBody) payable returns(uint32 messageNonce, bytes32 messageHash) func (_Origin *OriginSession) Dispatch(_destination uint32, _recipient [32]byte, _optimisticSeconds uint32, _tips []byte, _messageBody []byte) (*types.Transaction, error) { return _Origin.Contract.Dispatch(&_Origin.TransactOpts, _destination, _recipient, _optimisticSeconds, _tips, _messageBody) } // Dispatch is a paid mutator transaction binding the contract method 0xf7560e40. // // Solidity: function dispatch(uint32 _destination, bytes32 _recipient, uint32 _optimisticSeconds, bytes _tips, bytes _messageBody) payable returns(uint32 messageNonce, bytes32 messageHash) func (_Origin *OriginTransactorSession) Dispatch(_destination uint32, _recipient [32]byte, _optimisticSeconds uint32, _tips []byte, _messageBody []byte) (*types.Transaction, error) { return _Origin.Contract.Dispatch(&_Origin.TransactOpts, _destination, _recipient, _optimisticSeconds, _tips, _messageBody) } // Initialize is a paid mutator transaction binding the contract method 0xc4d66de8. // // Solidity: function initialize(address _notaryManager) returns() func (_Origin *OriginTransactor) Initialize(opts *bind.TransactOpts, _notaryManager common.Address) (*types.Transaction, error) { return _Origin.contract.Transact(opts, "initialize", _notaryManager) } // Initialize is a paid mutator transaction binding the contract method 0xc4d66de8. // // Solidity: function initialize(address _notaryManager) returns() func (_Origin *OriginSession) Initialize(_notaryManager common.Address) (*types.Transaction, error) { return _Origin.Contract.Initialize(&_Origin.TransactOpts, _notaryManager) } // Initialize is a paid mutator transaction binding the contract method 0xc4d66de8. // // Solidity: function initialize(address _notaryManager) returns() func (_Origin *OriginTransactorSession) Initialize(_notaryManager common.Address) (*types.Transaction, error) { return _Origin.Contract.Initialize(&_Origin.TransactOpts, _notaryManager) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_Origin *OriginTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { return _Origin.contract.Transact(opts, "renounceOwnership") } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_Origin *OriginSession) RenounceOwnership() (*types.Transaction, error) { return _Origin.Contract.RenounceOwnership(&_Origin.TransactOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_Origin *OriginTransactorSession) RenounceOwnership() (*types.Transaction, error) { return _Origin.Contract.RenounceOwnership(&_Origin.TransactOpts) } // SetNotary is a paid mutator transaction binding the contract method 0xa394a0e6. // // Solidity: function setNotary(address _notary) returns() func (_Origin *OriginTransactor) SetNotary(opts *bind.TransactOpts, _notary common.Address) (*types.Transaction, error) { return _Origin.contract.Transact(opts, "setNotary", _notary) } // SetNotary is a paid mutator transaction binding the contract method 0xa394a0e6. // // Solidity: function setNotary(address _notary) returns() func (_Origin *OriginSession) SetNotary(_notary common.Address) (*types.Transaction, error) { return _Origin.Contract.SetNotary(&_Origin.TransactOpts, _notary) } // SetNotary is a paid mutator transaction binding the contract method 0xa394a0e6. // // Solidity: function setNotary(address _notary) returns() func (_Origin *OriginTransactorSession) SetNotary(_notary common.Address) (*types.Transaction, error) { return _Origin.Contract.SetNotary(&_Origin.TransactOpts, _notary) } // SetNotaryManager is a paid mutator transaction binding the contract method 0xa340abc1. // // Solidity: function setNotaryManager(address _notaryManager) returns() func (_Origin *OriginTransactor) SetNotaryManager(opts *bind.TransactOpts, _notaryManager common.Address) (*types.Transaction, error) { return _Origin.contract.Transact(opts, "setNotaryManager", _notaryManager) } // SetNotaryManager is a paid mutator transaction binding the contract method 0xa340abc1. // // Solidity: function setNotaryManager(address _notaryManager) returns() func (_Origin *OriginSession) SetNotaryManager(_notaryManager common.Address) (*types.Transaction, error) { return _Origin.Contract.SetNotaryManager(&_Origin.TransactOpts, _notaryManager) } // SetNotaryManager is a paid mutator transaction binding the contract method 0xa340abc1. // // Solidity: function setNotaryManager(address _notaryManager) returns() func (_Origin *OriginTransactorSession) SetNotaryManager(_notaryManager common.Address) (*types.Transaction, error) { return _Origin.Contract.SetNotaryManager(&_Origin.TransactOpts, _notaryManager) } // SetSystemRouter is a paid mutator transaction binding the contract method 0xfbde22f7. // // Solidity: function setSystemRouter(address _systemRouter) returns() func (_Origin *OriginTransactor) SetSystemRouter(opts *bind.TransactOpts, _systemRouter common.Address) (*types.Transaction, error) { return _Origin.contract.Transact(opts, "setSystemRouter", _systemRouter) } // SetSystemRouter is a paid mutator transaction binding the contract method 0xfbde22f7. // // Solidity: function setSystemRouter(address _systemRouter) returns() func (_Origin *OriginSession) SetSystemRouter(_systemRouter common.Address) (*types.Transaction, error) { return _Origin.Contract.SetSystemRouter(&_Origin.TransactOpts, _systemRouter) } // SetSystemRouter is a paid mutator transaction binding the contract method 0xfbde22f7. // // Solidity: function setSystemRouter(address _systemRouter) returns() func (_Origin *OriginTransactorSession) SetSystemRouter(_systemRouter common.Address) (*types.Transaction, error) { return _Origin.Contract.SetSystemRouter(&_Origin.TransactOpts, _systemRouter) } // SubmitAttestation is a paid mutator transaction binding the contract method 0xf646a512. // // Solidity: function submitAttestation(bytes _attestation) returns(bool) func (_Origin *OriginTransactor) SubmitAttestation(opts *bind.TransactOpts, _attestation []byte) (*types.Transaction, error) { return _Origin.contract.Transact(opts, "submitAttestation", _attestation) } // SubmitAttestation is a paid mutator transaction binding the contract method 0xf646a512. // // Solidity: function submitAttestation(bytes _attestation) returns(bool) func (_Origin *OriginSession) SubmitAttestation(_attestation []byte) (*types.Transaction, error) { return _Origin.Contract.SubmitAttestation(&_Origin.TransactOpts, _attestation) } // SubmitAttestation is a paid mutator transaction binding the contract method 0xf646a512. // // Solidity: function submitAttestation(bytes _attestation) returns(bool) func (_Origin *OriginTransactorSession) SubmitAttestation(_attestation []byte) (*types.Transaction, error) { return _Origin.Contract.SubmitAttestation(&_Origin.TransactOpts, _attestation) } // SubmitReport is a paid mutator transaction binding the contract method 0x5815869d. // // Solidity: function submitReport(bytes _report) returns(bool) func (_Origin *OriginTransactor) SubmitReport(opts *bind.TransactOpts, _report []byte) (*types.Transaction, error) { return _Origin.contract.Transact(opts, "submitReport", _report) } // SubmitReport is a paid mutator transaction binding the contract method 0x5815869d. // // Solidity: function submitReport(bytes _report) returns(bool) func (_Origin *OriginSession) SubmitReport(_report []byte) (*types.Transaction, error) { return _Origin.Contract.SubmitReport(&_Origin.TransactOpts, _report) } // SubmitReport is a paid mutator transaction binding the contract method 0x5815869d. // // Solidity: function submitReport(bytes _report) returns(bool) func (_Origin *OriginTransactorSession) SubmitReport(_report []byte) (*types.Transaction, error) { return _Origin.Contract.SubmitReport(&_Origin.TransactOpts, _report) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_Origin *OriginTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { return _Origin.contract.Transact(opts, "transferOwnership", newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_Origin *OriginSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _Origin.Contract.TransferOwnership(&_Origin.TransactOpts, newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_Origin *OriginTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _Origin.Contract.TransferOwnership(&_Origin.TransactOpts, newOwner) } // OriginAttestationAcceptedIterator is returned from FilterAttestationAccepted and is used to iterate over the raw logs and unpacked data for AttestationAccepted events raised by the Origin contract. type OriginAttestationAcceptedIterator struct { Event *OriginAttestationAccepted // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginAttestationAcceptedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginAttestationAccepted) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginAttestationAccepted) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginAttestationAcceptedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginAttestationAcceptedIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginAttestationAccepted represents a AttestationAccepted event raised by the Origin contract. type OriginAttestationAccepted struct { Notary common.Address Attestation []byte Raw types.Log // Blockchain specific contextual infos } // FilterAttestationAccepted is a free log retrieval operation binding the contract event 0x744faabf74c86a873d8f8256c1f071b7ac997f1a9fa1f506dc5a528d5bbb16f3. // // Solidity: event AttestationAccepted(address indexed notary, bytes attestation) func (_Origin *OriginFilterer) FilterAttestationAccepted(opts *bind.FilterOpts, notary []common.Address) (*OriginAttestationAcceptedIterator, error) { var notaryRule []interface{} for _, notaryItem := range notary { notaryRule = append(notaryRule, notaryItem) } logs, sub, err := _Origin.contract.FilterLogs(opts, "AttestationAccepted", notaryRule) if err != nil { return nil, err } return &OriginAttestationAcceptedIterator{contract: _Origin.contract, event: "AttestationAccepted", logs: logs, sub: sub}, nil } // WatchAttestationAccepted is a free log subscription operation binding the contract event 0x744faabf74c86a873d8f8256c1f071b7ac997f1a9fa1f506dc5a528d5bbb16f3. // // Solidity: event AttestationAccepted(address indexed notary, bytes attestation) func (_Origin *OriginFilterer) WatchAttestationAccepted(opts *bind.WatchOpts, sink chan<- *OriginAttestationAccepted, notary []common.Address) (event.Subscription, error) { var notaryRule []interface{} for _, notaryItem := range notary { notaryRule = append(notaryRule, notaryItem) } logs, sub, err := _Origin.contract.WatchLogs(opts, "AttestationAccepted", notaryRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginAttestationAccepted) if err := _Origin.contract.UnpackLog(event, "AttestationAccepted", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseAttestationAccepted is a log parse operation binding the contract event 0x744faabf74c86a873d8f8256c1f071b7ac997f1a9fa1f506dc5a528d5bbb16f3. // // Solidity: event AttestationAccepted(address indexed notary, bytes attestation) func (_Origin *OriginFilterer) ParseAttestationAccepted(log types.Log) (*OriginAttestationAccepted, error) { event := new(OriginAttestationAccepted) if err := _Origin.contract.UnpackLog(event, "AttestationAccepted", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginCorrectFraudReportIterator is returned from FilterCorrectFraudReport and is used to iterate over the raw logs and unpacked data for CorrectFraudReport events raised by the Origin contract. type OriginCorrectFraudReportIterator struct { Event *OriginCorrectFraudReport // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginCorrectFraudReportIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginCorrectFraudReport) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginCorrectFraudReport) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginCorrectFraudReportIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginCorrectFraudReportIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginCorrectFraudReport represents a CorrectFraudReport event raised by the Origin contract. type OriginCorrectFraudReport struct { Guard common.Address Report []byte Raw types.Log // Blockchain specific contextual infos } // FilterCorrectFraudReport is a free log retrieval operation binding the contract event 0xa0248f358d0f7bb4c63d2bd5a3e521bb7aba00ccfde9442154e4950711a912f8. // // Solidity: event CorrectFraudReport(address indexed guard, bytes report) func (_Origin *OriginFilterer) FilterCorrectFraudReport(opts *bind.FilterOpts, guard []common.Address) (*OriginCorrectFraudReportIterator, error) { var guardRule []interface{} for _, guardItem := range guard { guardRule = append(guardRule, guardItem) } logs, sub, err := _Origin.contract.FilterLogs(opts, "CorrectFraudReport", guardRule) if err != nil { return nil, err } return &OriginCorrectFraudReportIterator{contract: _Origin.contract, event: "CorrectFraudReport", logs: logs, sub: sub}, nil } // WatchCorrectFraudReport is a free log subscription operation binding the contract event 0xa0248f358d0f7bb4c63d2bd5a3e521bb7aba00ccfde9442154e4950711a912f8. // // Solidity: event CorrectFraudReport(address indexed guard, bytes report) func (_Origin *OriginFilterer) WatchCorrectFraudReport(opts *bind.WatchOpts, sink chan<- *OriginCorrectFraudReport, guard []common.Address) (event.Subscription, error) { var guardRule []interface{} for _, guardItem := range guard { guardRule = append(guardRule, guardItem) } logs, sub, err := _Origin.contract.WatchLogs(opts, "CorrectFraudReport", guardRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginCorrectFraudReport) if err := _Origin.contract.UnpackLog(event, "CorrectFraudReport", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseCorrectFraudReport is a log parse operation binding the contract event 0xa0248f358d0f7bb4c63d2bd5a3e521bb7aba00ccfde9442154e4950711a912f8. // // Solidity: event CorrectFraudReport(address indexed guard, bytes report) func (_Origin *OriginFilterer) ParseCorrectFraudReport(log types.Log) (*OriginCorrectFraudReport, error) { event := new(OriginCorrectFraudReport) if err := _Origin.contract.UnpackLog(event, "CorrectFraudReport", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginDispatchIterator is returned from FilterDispatch and is used to iterate over the raw logs and unpacked data for Dispatch events raised by the Origin contract. type OriginDispatchIterator struct { Event *OriginDispatch // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginDispatchIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginDispatch) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginDispatch) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginDispatchIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginDispatchIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginDispatch represents a Dispatch event raised by the Origin contract. type OriginDispatch struct { MessageHash [32]byte Nonce uint32 Destination uint32 Tips []byte Message []byte Raw types.Log // Blockchain specific contextual infos } // FilterDispatch is a free log retrieval operation binding the contract event 0xada9f9f4bf16282091ddc28e7d70838404cd5bdff1b87d8650339e8d02b7753d. // // Solidity: event Dispatch(bytes32 indexed messageHash, uint32 indexed nonce, uint32 indexed destination, bytes tips, bytes message) func (_Origin *OriginFilterer) FilterDispatch(opts *bind.FilterOpts, messageHash [][32]byte, nonce []uint32, destination []uint32) (*OriginDispatchIterator, error) { var messageHashRule []interface{} for _, messageHashItem := range messageHash { messageHashRule = append(messageHashRule, messageHashItem) } var nonceRule []interface{} for _, nonceItem := range nonce { nonceRule = append(nonceRule, nonceItem) } var destinationRule []interface{} for _, destinationItem := range destination { destinationRule = append(destinationRule, destinationItem) } logs, sub, err := _Origin.contract.FilterLogs(opts, "Dispatch", messageHashRule, nonceRule, destinationRule) if err != nil { return nil, err } return &OriginDispatchIterator{contract: _Origin.contract, event: "Dispatch", logs: logs, sub: sub}, nil } // WatchDispatch is a free log subscription operation binding the contract event 0xada9f9f4bf16282091ddc28e7d70838404cd5bdff1b87d8650339e8d02b7753d. // // Solidity: event Dispatch(bytes32 indexed messageHash, uint32 indexed nonce, uint32 indexed destination, bytes tips, bytes message) func (_Origin *OriginFilterer) WatchDispatch(opts *bind.WatchOpts, sink chan<- *OriginDispatch, messageHash [][32]byte, nonce []uint32, destination []uint32) (event.Subscription, error) { var messageHashRule []interface{} for _, messageHashItem := range messageHash { messageHashRule = append(messageHashRule, messageHashItem) } var nonceRule []interface{} for _, nonceItem := range nonce { nonceRule = append(nonceRule, nonceItem) } var destinationRule []interface{} for _, destinationItem := range destination { destinationRule = append(destinationRule, destinationItem) } logs, sub, err := _Origin.contract.WatchLogs(opts, "Dispatch", messageHashRule, nonceRule, destinationRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginDispatch) if err := _Origin.contract.UnpackLog(event, "Dispatch", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseDispatch is a log parse operation binding the contract event 0xada9f9f4bf16282091ddc28e7d70838404cd5bdff1b87d8650339e8d02b7753d. // // Solidity: event Dispatch(bytes32 indexed messageHash, uint32 indexed nonce, uint32 indexed destination, bytes tips, bytes message) func (_Origin *OriginFilterer) ParseDispatch(log types.Log) (*OriginDispatch, error) { event := new(OriginDispatch) if err := _Origin.contract.UnpackLog(event, "Dispatch", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginFraudAttestationIterator is returned from FilterFraudAttestation and is used to iterate over the raw logs and unpacked data for FraudAttestation events raised by the Origin contract. type OriginFraudAttestationIterator struct { Event *OriginFraudAttestation // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginFraudAttestationIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginFraudAttestation) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginFraudAttestation) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginFraudAttestationIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginFraudAttestationIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginFraudAttestation represents a FraudAttestation event raised by the Origin contract. type OriginFraudAttestation struct { Notary common.Address Attestation []byte Raw types.Log // Blockchain specific contextual infos } // FilterFraudAttestation is a free log retrieval operation binding the contract event 0xa458d78fa8902ff24cc896d608e762eb06543f0541124e5582e928e1e4789423. // // Solidity: event FraudAttestation(address indexed notary, bytes attestation) func (_Origin *OriginFilterer) FilterFraudAttestation(opts *bind.FilterOpts, notary []common.Address) (*OriginFraudAttestationIterator, error) { var notaryRule []interface{} for _, notaryItem := range notary { notaryRule = append(notaryRule, notaryItem) } logs, sub, err := _Origin.contract.FilterLogs(opts, "FraudAttestation", notaryRule) if err != nil { return nil, err } return &OriginFraudAttestationIterator{contract: _Origin.contract, event: "FraudAttestation", logs: logs, sub: sub}, nil } // WatchFraudAttestation is a free log subscription operation binding the contract event 0xa458d78fa8902ff24cc896d608e762eb06543f0541124e5582e928e1e4789423. // // Solidity: event FraudAttestation(address indexed notary, bytes attestation) func (_Origin *OriginFilterer) WatchFraudAttestation(opts *bind.WatchOpts, sink chan<- *OriginFraudAttestation, notary []common.Address) (event.Subscription, error) { var notaryRule []interface{} for _, notaryItem := range notary { notaryRule = append(notaryRule, notaryItem) } logs, sub, err := _Origin.contract.WatchLogs(opts, "FraudAttestation", notaryRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginFraudAttestation) if err := _Origin.contract.UnpackLog(event, "FraudAttestation", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseFraudAttestation is a log parse operation binding the contract event 0xa458d78fa8902ff24cc896d608e762eb06543f0541124e5582e928e1e4789423. // // Solidity: event FraudAttestation(address indexed notary, bytes attestation) func (_Origin *OriginFilterer) ParseFraudAttestation(log types.Log) (*OriginFraudAttestation, error) { event := new(OriginFraudAttestation) if err := _Origin.contract.UnpackLog(event, "FraudAttestation", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginGuardAddedIterator is returned from FilterGuardAdded and is used to iterate over the raw logs and unpacked data for GuardAdded events raised by the Origin contract. type OriginGuardAddedIterator struct { Event *OriginGuardAdded // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginGuardAddedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginGuardAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginGuardAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginGuardAddedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginGuardAddedIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginGuardAdded represents a GuardAdded event raised by the Origin contract. type OriginGuardAdded struct { Guard common.Address Raw types.Log // Blockchain specific contextual infos } // FilterGuardAdded is a free log retrieval operation binding the contract event 0x93405f05cd04f0d1bd875f2de00f1f3890484ffd0589248953bdfd29ba7f2f59. // // Solidity: event GuardAdded(address guard) func (_Origin *OriginFilterer) FilterGuardAdded(opts *bind.FilterOpts) (*OriginGuardAddedIterator, error) { logs, sub, err := _Origin.contract.FilterLogs(opts, "GuardAdded") if err != nil { return nil, err } return &OriginGuardAddedIterator{contract: _Origin.contract, event: "GuardAdded", logs: logs, sub: sub}, nil } // WatchGuardAdded is a free log subscription operation binding the contract event 0x93405f05cd04f0d1bd875f2de00f1f3890484ffd0589248953bdfd29ba7f2f59. // // Solidity: event GuardAdded(address guard) func (_Origin *OriginFilterer) WatchGuardAdded(opts *bind.WatchOpts, sink chan<- *OriginGuardAdded) (event.Subscription, error) { logs, sub, err := _Origin.contract.WatchLogs(opts, "GuardAdded") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginGuardAdded) if err := _Origin.contract.UnpackLog(event, "GuardAdded", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseGuardAdded is a log parse operation binding the contract event 0x93405f05cd04f0d1bd875f2de00f1f3890484ffd0589248953bdfd29ba7f2f59. // // Solidity: event GuardAdded(address guard) func (_Origin *OriginFilterer) ParseGuardAdded(log types.Log) (*OriginGuardAdded, error) { event := new(OriginGuardAdded) if err := _Origin.contract.UnpackLog(event, "GuardAdded", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginGuardRemovedIterator is returned from FilterGuardRemoved and is used to iterate over the raw logs and unpacked data for GuardRemoved events raised by the Origin contract. type OriginGuardRemovedIterator struct { Event *OriginGuardRemoved // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginGuardRemovedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginGuardRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginGuardRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginGuardRemovedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginGuardRemovedIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginGuardRemoved represents a GuardRemoved event raised by the Origin contract. type OriginGuardRemoved struct { Guard common.Address Raw types.Log // Blockchain specific contextual infos } // FilterGuardRemoved is a free log retrieval operation binding the contract event 0x59926e0a78d12238b668b31c8e3f6ece235a59a00ede111d883e255b68c4d048. // // Solidity: event GuardRemoved(address guard) func (_Origin *OriginFilterer) FilterGuardRemoved(opts *bind.FilterOpts) (*OriginGuardRemovedIterator, error) { logs, sub, err := _Origin.contract.FilterLogs(opts, "GuardRemoved") if err != nil { return nil, err } return &OriginGuardRemovedIterator{contract: _Origin.contract, event: "GuardRemoved", logs: logs, sub: sub}, nil } // WatchGuardRemoved is a free log subscription operation binding the contract event 0x59926e0a78d12238b668b31c8e3f6ece235a59a00ede111d883e255b68c4d048. // // Solidity: event GuardRemoved(address guard) func (_Origin *OriginFilterer) WatchGuardRemoved(opts *bind.WatchOpts, sink chan<- *OriginGuardRemoved) (event.Subscription, error) { logs, sub, err := _Origin.contract.WatchLogs(opts, "GuardRemoved") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginGuardRemoved) if err := _Origin.contract.UnpackLog(event, "GuardRemoved", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseGuardRemoved is a log parse operation binding the contract event 0x59926e0a78d12238b668b31c8e3f6ece235a59a00ede111d883e255b68c4d048. // // Solidity: event GuardRemoved(address guard) func (_Origin *OriginFilterer) ParseGuardRemoved(log types.Log) (*OriginGuardRemoved, error) { event := new(OriginGuardRemoved) if err := _Origin.contract.UnpackLog(event, "GuardRemoved", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginGuardSlashedIterator is returned from FilterGuardSlashed and is used to iterate over the raw logs and unpacked data for GuardSlashed events raised by the Origin contract. type OriginGuardSlashedIterator struct { Event *OriginGuardSlashed // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginGuardSlashedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginGuardSlashed) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginGuardSlashed) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginGuardSlashedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginGuardSlashedIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginGuardSlashed represents a GuardSlashed event raised by the Origin contract. type OriginGuardSlashed struct { Guard common.Address Reporter common.Address Raw types.Log // Blockchain specific contextual infos } // FilterGuardSlashed is a free log retrieval operation binding the contract event 0xf2b3869e9727d6dfa6823415649eb18a3bbb7cf9aa2af02af10aaf8d10e14095. // // Solidity: event GuardSlashed(address indexed guard, address indexed reporter) func (_Origin *OriginFilterer) FilterGuardSlashed(opts *bind.FilterOpts, guard []common.Address, reporter []common.Address) (*OriginGuardSlashedIterator, error) { var guardRule []interface{} for _, guardItem := range guard { guardRule = append(guardRule, guardItem) } var reporterRule []interface{} for _, reporterItem := range reporter { reporterRule = append(reporterRule, reporterItem) } logs, sub, err := _Origin.contract.FilterLogs(opts, "GuardSlashed", guardRule, reporterRule) if err != nil { return nil, err } return &OriginGuardSlashedIterator{contract: _Origin.contract, event: "GuardSlashed", logs: logs, sub: sub}, nil } // WatchGuardSlashed is a free log subscription operation binding the contract event 0xf2b3869e9727d6dfa6823415649eb18a3bbb7cf9aa2af02af10aaf8d10e14095. // // Solidity: event GuardSlashed(address indexed guard, address indexed reporter) func (_Origin *OriginFilterer) WatchGuardSlashed(opts *bind.WatchOpts, sink chan<- *OriginGuardSlashed, guard []common.Address, reporter []common.Address) (event.Subscription, error) { var guardRule []interface{} for _, guardItem := range guard { guardRule = append(guardRule, guardItem) } var reporterRule []interface{} for _, reporterItem := range reporter { reporterRule = append(reporterRule, reporterItem) } logs, sub, err := _Origin.contract.WatchLogs(opts, "GuardSlashed", guardRule, reporterRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginGuardSlashed) if err := _Origin.contract.UnpackLog(event, "GuardSlashed", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseGuardSlashed is a log parse operation binding the contract event 0xf2b3869e9727d6dfa6823415649eb18a3bbb7cf9aa2af02af10aaf8d10e14095. // // Solidity: event GuardSlashed(address indexed guard, address indexed reporter) func (_Origin *OriginFilterer) ParseGuardSlashed(log types.Log) (*OriginGuardSlashed, error) { event := new(OriginGuardSlashed) if err := _Origin.contract.UnpackLog(event, "GuardSlashed", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginIncorrectReportIterator is returned from FilterIncorrectReport and is used to iterate over the raw logs and unpacked data for IncorrectReport events raised by the Origin contract. type OriginIncorrectReportIterator struct { Event *OriginIncorrectReport // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginIncorrectReportIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginIncorrectReport) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginIncorrectReport) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginIncorrectReportIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginIncorrectReportIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginIncorrectReport represents a IncorrectReport event raised by the Origin contract. type OriginIncorrectReport struct { Guard common.Address Report []byte Raw types.Log // Blockchain specific contextual infos } // FilterIncorrectReport is a free log retrieval operation binding the contract event 0x36670329f075c374c3847f464e4acdaa51fc70c69c52cb8317787b237088ec63. // // Solidity: event IncorrectReport(address indexed guard, bytes report) func (_Origin *OriginFilterer) FilterIncorrectReport(opts *bind.FilterOpts, guard []common.Address) (*OriginIncorrectReportIterator, error) { var guardRule []interface{} for _, guardItem := range guard { guardRule = append(guardRule, guardItem) } logs, sub, err := _Origin.contract.FilterLogs(opts, "IncorrectReport", guardRule) if err != nil { return nil, err } return &OriginIncorrectReportIterator{contract: _Origin.contract, event: "IncorrectReport", logs: logs, sub: sub}, nil } // WatchIncorrectReport is a free log subscription operation binding the contract event 0x36670329f075c374c3847f464e4acdaa51fc70c69c52cb8317787b237088ec63. // // Solidity: event IncorrectReport(address indexed guard, bytes report) func (_Origin *OriginFilterer) WatchIncorrectReport(opts *bind.WatchOpts, sink chan<- *OriginIncorrectReport, guard []common.Address) (event.Subscription, error) { var guardRule []interface{} for _, guardItem := range guard { guardRule = append(guardRule, guardItem) } logs, sub, err := _Origin.contract.WatchLogs(opts, "IncorrectReport", guardRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginIncorrectReport) if err := _Origin.contract.UnpackLog(event, "IncorrectReport", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseIncorrectReport is a log parse operation binding the contract event 0x36670329f075c374c3847f464e4acdaa51fc70c69c52cb8317787b237088ec63. // // Solidity: event IncorrectReport(address indexed guard, bytes report) func (_Origin *OriginFilterer) ParseIncorrectReport(log types.Log) (*OriginIncorrectReport, error) { event := new(OriginIncorrectReport) if err := _Origin.contract.UnpackLog(event, "IncorrectReport", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginInitializedIterator is returned from FilterInitialized and is used to iterate over the raw logs and unpacked data for Initialized events raised by the Origin contract. type OriginInitializedIterator struct { Event *OriginInitialized // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginInitializedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginInitialized) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginInitialized) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginInitializedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginInitializedIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginInitialized represents a Initialized event raised by the Origin contract. type OriginInitialized struct { Version uint8 Raw types.Log // Blockchain specific contextual infos } // FilterInitialized is a free log retrieval operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. // // Solidity: event Initialized(uint8 version) func (_Origin *OriginFilterer) FilterInitialized(opts *bind.FilterOpts) (*OriginInitializedIterator, error) { logs, sub, err := _Origin.contract.FilterLogs(opts, "Initialized") if err != nil { return nil, err } return &OriginInitializedIterator{contract: _Origin.contract, event: "Initialized", logs: logs, sub: sub}, nil } // WatchInitialized is a free log subscription operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. // // Solidity: event Initialized(uint8 version) func (_Origin *OriginFilterer) WatchInitialized(opts *bind.WatchOpts, sink chan<- *OriginInitialized) (event.Subscription, error) { logs, sub, err := _Origin.contract.WatchLogs(opts, "Initialized") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginInitialized) if err := _Origin.contract.UnpackLog(event, "Initialized", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseInitialized is a log parse operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. // // Solidity: event Initialized(uint8 version) func (_Origin *OriginFilterer) ParseInitialized(log types.Log) (*OriginInitialized, error) { event := new(OriginInitialized) if err := _Origin.contract.UnpackLog(event, "Initialized", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginNewNotaryManagerIterator is returned from FilterNewNotaryManager and is used to iterate over the raw logs and unpacked data for NewNotaryManager events raised by the Origin contract. type OriginNewNotaryManagerIterator struct { Event *OriginNewNotaryManager // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginNewNotaryManagerIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginNewNotaryManager) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginNewNotaryManager) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginNewNotaryManagerIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginNewNotaryManagerIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginNewNotaryManager represents a NewNotaryManager event raised by the Origin contract. type OriginNewNotaryManager struct { NotaryManager common.Address Raw types.Log // Blockchain specific contextual infos } // FilterNewNotaryManager is a free log retrieval operation binding the contract event 0xe3befd3a32a53f50ff7d1421555fbd40e5ead3a7ed75417db43a23faffe09316. // // Solidity: event NewNotaryManager(address notaryManager) func (_Origin *OriginFilterer) FilterNewNotaryManager(opts *bind.FilterOpts) (*OriginNewNotaryManagerIterator, error) { logs, sub, err := _Origin.contract.FilterLogs(opts, "NewNotaryManager") if err != nil { return nil, err } return &OriginNewNotaryManagerIterator{contract: _Origin.contract, event: "NewNotaryManager", logs: logs, sub: sub}, nil } // WatchNewNotaryManager is a free log subscription operation binding the contract event 0xe3befd3a32a53f50ff7d1421555fbd40e5ead3a7ed75417db43a23faffe09316. // // Solidity: event NewNotaryManager(address notaryManager) func (_Origin *OriginFilterer) WatchNewNotaryManager(opts *bind.WatchOpts, sink chan<- *OriginNewNotaryManager) (event.Subscription, error) { logs, sub, err := _Origin.contract.WatchLogs(opts, "NewNotaryManager") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginNewNotaryManager) if err := _Origin.contract.UnpackLog(event, "NewNotaryManager", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseNewNotaryManager is a log parse operation binding the contract event 0xe3befd3a32a53f50ff7d1421555fbd40e5ead3a7ed75417db43a23faffe09316. // // Solidity: event NewNotaryManager(address notaryManager) func (_Origin *OriginFilterer) ParseNewNotaryManager(log types.Log) (*OriginNewNotaryManager, error) { event := new(OriginNewNotaryManager) if err := _Origin.contract.UnpackLog(event, "NewNotaryManager", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginNotaryAddedIterator is returned from FilterNotaryAdded and is used to iterate over the raw logs and unpacked data for NotaryAdded events raised by the Origin contract. type OriginNotaryAddedIterator struct { Event *OriginNotaryAdded // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginNotaryAddedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginNotaryAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginNotaryAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginNotaryAddedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginNotaryAddedIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginNotaryAdded represents a NotaryAdded event raised by the Origin contract. type OriginNotaryAdded struct { Domain uint32 Notary common.Address Raw types.Log // Blockchain specific contextual infos } // FilterNotaryAdded is a free log retrieval operation binding the contract event 0x62d8d15324cce2626119bb61d595f59e655486b1ab41b52c0793d814fe03c355. // // Solidity: event NotaryAdded(uint32 indexed domain, address notary) func (_Origin *OriginFilterer) FilterNotaryAdded(opts *bind.FilterOpts, domain []uint32) (*OriginNotaryAddedIterator, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _Origin.contract.FilterLogs(opts, "NotaryAdded", domainRule) if err != nil { return nil, err } return &OriginNotaryAddedIterator{contract: _Origin.contract, event: "NotaryAdded", logs: logs, sub: sub}, nil } // WatchNotaryAdded is a free log subscription operation binding the contract event 0x62d8d15324cce2626119bb61d595f59e655486b1ab41b52c0793d814fe03c355. // // Solidity: event NotaryAdded(uint32 indexed domain, address notary) func (_Origin *OriginFilterer) WatchNotaryAdded(opts *bind.WatchOpts, sink chan<- *OriginNotaryAdded, domain []uint32) (event.Subscription, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _Origin.contract.WatchLogs(opts, "NotaryAdded", domainRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginNotaryAdded) if err := _Origin.contract.UnpackLog(event, "NotaryAdded", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseNotaryAdded is a log parse operation binding the contract event 0x62d8d15324cce2626119bb61d595f59e655486b1ab41b52c0793d814fe03c355. // // Solidity: event NotaryAdded(uint32 indexed domain, address notary) func (_Origin *OriginFilterer) ParseNotaryAdded(log types.Log) (*OriginNotaryAdded, error) { event := new(OriginNotaryAdded) if err := _Origin.contract.UnpackLog(event, "NotaryAdded", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginNotaryRemovedIterator is returned from FilterNotaryRemoved and is used to iterate over the raw logs and unpacked data for NotaryRemoved events raised by the Origin contract. type OriginNotaryRemovedIterator struct { Event *OriginNotaryRemoved // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginNotaryRemovedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginNotaryRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginNotaryRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginNotaryRemovedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginNotaryRemovedIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginNotaryRemoved represents a NotaryRemoved event raised by the Origin contract. type OriginNotaryRemoved struct { Domain uint32 Notary common.Address Raw types.Log // Blockchain specific contextual infos } // FilterNotaryRemoved is a free log retrieval operation binding the contract event 0x3e006f5b97c04e82df349064761281b0981d45330c2f3e57cc032203b0e31b6b. // // Solidity: event NotaryRemoved(uint32 indexed domain, address notary) func (_Origin *OriginFilterer) FilterNotaryRemoved(opts *bind.FilterOpts, domain []uint32) (*OriginNotaryRemovedIterator, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _Origin.contract.FilterLogs(opts, "NotaryRemoved", domainRule) if err != nil { return nil, err } return &OriginNotaryRemovedIterator{contract: _Origin.contract, event: "NotaryRemoved", logs: logs, sub: sub}, nil } // WatchNotaryRemoved is a free log subscription operation binding the contract event 0x3e006f5b97c04e82df349064761281b0981d45330c2f3e57cc032203b0e31b6b. // // Solidity: event NotaryRemoved(uint32 indexed domain, address notary) func (_Origin *OriginFilterer) WatchNotaryRemoved(opts *bind.WatchOpts, sink chan<- *OriginNotaryRemoved, domain []uint32) (event.Subscription, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _Origin.contract.WatchLogs(opts, "NotaryRemoved", domainRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginNotaryRemoved) if err := _Origin.contract.UnpackLog(event, "NotaryRemoved", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseNotaryRemoved is a log parse operation binding the contract event 0x3e006f5b97c04e82df349064761281b0981d45330c2f3e57cc032203b0e31b6b. // // Solidity: event NotaryRemoved(uint32 indexed domain, address notary) func (_Origin *OriginFilterer) ParseNotaryRemoved(log types.Log) (*OriginNotaryRemoved, error) { event := new(OriginNotaryRemoved) if err := _Origin.contract.UnpackLog(event, "NotaryRemoved", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginNotarySlashedIterator is returned from FilterNotarySlashed and is used to iterate over the raw logs and unpacked data for NotarySlashed events raised by the Origin contract. type OriginNotarySlashedIterator struct { Event *OriginNotarySlashed // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginNotarySlashedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginNotarySlashed) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginNotarySlashed) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginNotarySlashedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginNotarySlashedIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginNotarySlashed represents a NotarySlashed event raised by the Origin contract. type OriginNotarySlashed struct { Notary common.Address Guard common.Address Reporter common.Address Raw types.Log // Blockchain specific contextual infos } // FilterNotarySlashed is a free log retrieval operation binding the contract event 0x70f97c2b606c3d7af38fff3f924c8396f5a05d266b5dc523d863ad27a1d7518a. // // Solidity: event NotarySlashed(address indexed notary, address indexed guard, address indexed reporter) func (_Origin *OriginFilterer) FilterNotarySlashed(opts *bind.FilterOpts, notary []common.Address, guard []common.Address, reporter []common.Address) (*OriginNotarySlashedIterator, error) { var notaryRule []interface{} for _, notaryItem := range notary { notaryRule = append(notaryRule, notaryItem) } var guardRule []interface{} for _, guardItem := range guard { guardRule = append(guardRule, guardItem) } var reporterRule []interface{} for _, reporterItem := range reporter { reporterRule = append(reporterRule, reporterItem) } logs, sub, err := _Origin.contract.FilterLogs(opts, "NotarySlashed", notaryRule, guardRule, reporterRule) if err != nil { return nil, err } return &OriginNotarySlashedIterator{contract: _Origin.contract, event: "NotarySlashed", logs: logs, sub: sub}, nil } // WatchNotarySlashed is a free log subscription operation binding the contract event 0x70f97c2b606c3d7af38fff3f924c8396f5a05d266b5dc523d863ad27a1d7518a. // // Solidity: event NotarySlashed(address indexed notary, address indexed guard, address indexed reporter) func (_Origin *OriginFilterer) WatchNotarySlashed(opts *bind.WatchOpts, sink chan<- *OriginNotarySlashed, notary []common.Address, guard []common.Address, reporter []common.Address) (event.Subscription, error) { var notaryRule []interface{} for _, notaryItem := range notary { notaryRule = append(notaryRule, notaryItem) } var guardRule []interface{} for _, guardItem := range guard { guardRule = append(guardRule, guardItem) } var reporterRule []interface{} for _, reporterItem := range reporter { reporterRule = append(reporterRule, reporterItem) } logs, sub, err := _Origin.contract.WatchLogs(opts, "NotarySlashed", notaryRule, guardRule, reporterRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginNotarySlashed) if err := _Origin.contract.UnpackLog(event, "NotarySlashed", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseNotarySlashed is a log parse operation binding the contract event 0x70f97c2b606c3d7af38fff3f924c8396f5a05d266b5dc523d863ad27a1d7518a. // // Solidity: event NotarySlashed(address indexed notary, address indexed guard, address indexed reporter) func (_Origin *OriginFilterer) ParseNotarySlashed(log types.Log) (*OriginNotarySlashed, error) { event := new(OriginNotarySlashed) if err := _Origin.contract.UnpackLog(event, "NotarySlashed", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the Origin contract. type OriginOwnershipTransferredIterator struct { Event *OriginOwnershipTransferred // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginOwnershipTransferredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginOwnershipTransferredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginOwnershipTransferredIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginOwnershipTransferred represents a OwnershipTransferred event raised by the Origin contract. type OriginOwnershipTransferred struct { PreviousOwner common.Address NewOwner common.Address Raw types.Log // Blockchain specific contextual infos } // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) func (_Origin *OriginFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*OriginOwnershipTransferredIterator, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _Origin.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return &OriginOwnershipTransferredIterator{contract: _Origin.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil } // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) func (_Origin *OriginFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *OriginOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _Origin.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginOwnershipTransferred) if err := _Origin.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) func (_Origin *OriginFilterer) ParseOwnershipTransferred(log types.Log) (*OriginOwnershipTransferred, error) { event := new(OriginOwnershipTransferred) if err := _Origin.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginEventsMetaData contains all meta data concerning the OriginEvents contract. var OriginEventsMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"messageHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"nonce\",\"type\":\"uint32\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"destination\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"tips\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"Dispatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"}],\"name\":\"GuardSlashed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"notaryManager\",\"type\":\"address\"}],\"name\":\"NewNotaryManager\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"}],\"name\":\"NotarySlashed\",\"type\":\"event\"}]", } // OriginEventsABI is the input ABI used to generate the binding from. // Deprecated: Use OriginEventsMetaData.ABI instead. var OriginEventsABI = OriginEventsMetaData.ABI // OriginEvents is an auto generated Go binding around an Ethereum contract. type OriginEvents struct { OriginEventsCaller // Read-only binding to the contract OriginEventsTransactor // Write-only binding to the contract OriginEventsFilterer // Log filterer for contract events } // OriginEventsCaller is an auto generated read-only Go binding around an Ethereum contract. type OriginEventsCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OriginEventsTransactor is an auto generated write-only Go binding around an Ethereum contract. type OriginEventsTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OriginEventsFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type OriginEventsFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OriginEventsSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type OriginEventsSession struct { Contract *OriginEvents // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // OriginEventsCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type OriginEventsCallerSession struct { Contract *OriginEventsCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // OriginEventsTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type OriginEventsTransactorSession struct { Contract *OriginEventsTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // OriginEventsRaw is an auto generated low-level Go binding around an Ethereum contract. type OriginEventsRaw struct { Contract *OriginEvents // Generic contract binding to access the raw methods on } // OriginEventsCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type OriginEventsCallerRaw struct { Contract *OriginEventsCaller // Generic read-only contract binding to access the raw methods on } // OriginEventsTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type OriginEventsTransactorRaw struct { Contract *OriginEventsTransactor // Generic write-only contract binding to access the raw methods on } // NewOriginEvents creates a new instance of OriginEvents, bound to a specific deployed contract. func NewOriginEvents(address common.Address, backend bind.ContractBackend) (*OriginEvents, error) { contract, err := bindOriginEvents(address, backend, backend, backend) if err != nil { return nil, err } return &OriginEvents{OriginEventsCaller: OriginEventsCaller{contract: contract}, OriginEventsTransactor: OriginEventsTransactor{contract: contract}, OriginEventsFilterer: OriginEventsFilterer{contract: contract}}, nil } // NewOriginEventsCaller creates a new read-only instance of OriginEvents, bound to a specific deployed contract. func NewOriginEventsCaller(address common.Address, caller bind.ContractCaller) (*OriginEventsCaller, error) { contract, err := bindOriginEvents(address, caller, nil, nil) if err != nil { return nil, err } return &OriginEventsCaller{contract: contract}, nil } // NewOriginEventsTransactor creates a new write-only instance of OriginEvents, bound to a specific deployed contract. func NewOriginEventsTransactor(address common.Address, transactor bind.ContractTransactor) (*OriginEventsTransactor, error) { contract, err := bindOriginEvents(address, nil, transactor, nil) if err != nil { return nil, err } return &OriginEventsTransactor{contract: contract}, nil } // NewOriginEventsFilterer creates a new log filterer instance of OriginEvents, bound to a specific deployed contract. func NewOriginEventsFilterer(address common.Address, filterer bind.ContractFilterer) (*OriginEventsFilterer, error) { contract, err := bindOriginEvents(address, nil, nil, filterer) if err != nil { return nil, err } return &OriginEventsFilterer{contract: contract}, nil } // bindOriginEvents binds a generic wrapper to an already deployed contract. func bindOriginEvents(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(OriginEventsABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_OriginEvents *OriginEventsRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _OriginEvents.Contract.OriginEventsCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_OriginEvents *OriginEventsRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _OriginEvents.Contract.OriginEventsTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_OriginEvents *OriginEventsRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _OriginEvents.Contract.OriginEventsTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_OriginEvents *OriginEventsCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _OriginEvents.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_OriginEvents *OriginEventsTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _OriginEvents.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_OriginEvents *OriginEventsTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _OriginEvents.Contract.contract.Transact(opts, method, params...) } // OriginEventsDispatchIterator is returned from FilterDispatch and is used to iterate over the raw logs and unpacked data for Dispatch events raised by the OriginEvents contract. type OriginEventsDispatchIterator struct { Event *OriginEventsDispatch // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginEventsDispatchIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginEventsDispatch) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginEventsDispatch) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginEventsDispatchIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginEventsDispatchIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginEventsDispatch represents a Dispatch event raised by the OriginEvents contract. type OriginEventsDispatch struct { MessageHash [32]byte Nonce uint32 Destination uint32 Tips []byte Message []byte Raw types.Log // Blockchain specific contextual infos } // FilterDispatch is a free log retrieval operation binding the contract event 0xada9f9f4bf16282091ddc28e7d70838404cd5bdff1b87d8650339e8d02b7753d. // // Solidity: event Dispatch(bytes32 indexed messageHash, uint32 indexed nonce, uint32 indexed destination, bytes tips, bytes message) func (_OriginEvents *OriginEventsFilterer) FilterDispatch(opts *bind.FilterOpts, messageHash [][32]byte, nonce []uint32, destination []uint32) (*OriginEventsDispatchIterator, error) { var messageHashRule []interface{} for _, messageHashItem := range messageHash { messageHashRule = append(messageHashRule, messageHashItem) } var nonceRule []interface{} for _, nonceItem := range nonce { nonceRule = append(nonceRule, nonceItem) } var destinationRule []interface{} for _, destinationItem := range destination { destinationRule = append(destinationRule, destinationItem) } logs, sub, err := _OriginEvents.contract.FilterLogs(opts, "Dispatch", messageHashRule, nonceRule, destinationRule) if err != nil { return nil, err } return &OriginEventsDispatchIterator{contract: _OriginEvents.contract, event: "Dispatch", logs: logs, sub: sub}, nil } // WatchDispatch is a free log subscription operation binding the contract event 0xada9f9f4bf16282091ddc28e7d70838404cd5bdff1b87d8650339e8d02b7753d. // // Solidity: event Dispatch(bytes32 indexed messageHash, uint32 indexed nonce, uint32 indexed destination, bytes tips, bytes message) func (_OriginEvents *OriginEventsFilterer) WatchDispatch(opts *bind.WatchOpts, sink chan<- *OriginEventsDispatch, messageHash [][32]byte, nonce []uint32, destination []uint32) (event.Subscription, error) { var messageHashRule []interface{} for _, messageHashItem := range messageHash { messageHashRule = append(messageHashRule, messageHashItem) } var nonceRule []interface{} for _, nonceItem := range nonce { nonceRule = append(nonceRule, nonceItem) } var destinationRule []interface{} for _, destinationItem := range destination { destinationRule = append(destinationRule, destinationItem) } logs, sub, err := _OriginEvents.contract.WatchLogs(opts, "Dispatch", messageHashRule, nonceRule, destinationRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginEventsDispatch) if err := _OriginEvents.contract.UnpackLog(event, "Dispatch", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseDispatch is a log parse operation binding the contract event 0xada9f9f4bf16282091ddc28e7d70838404cd5bdff1b87d8650339e8d02b7753d. // // Solidity: event Dispatch(bytes32 indexed messageHash, uint32 indexed nonce, uint32 indexed destination, bytes tips, bytes message) func (_OriginEvents *OriginEventsFilterer) ParseDispatch(log types.Log) (*OriginEventsDispatch, error) { event := new(OriginEventsDispatch) if err := _OriginEvents.contract.UnpackLog(event, "Dispatch", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginEventsGuardSlashedIterator is returned from FilterGuardSlashed and is used to iterate over the raw logs and unpacked data for GuardSlashed events raised by the OriginEvents contract. type OriginEventsGuardSlashedIterator struct { Event *OriginEventsGuardSlashed // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginEventsGuardSlashedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginEventsGuardSlashed) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginEventsGuardSlashed) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginEventsGuardSlashedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginEventsGuardSlashedIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginEventsGuardSlashed represents a GuardSlashed event raised by the OriginEvents contract. type OriginEventsGuardSlashed struct { Guard common.Address Reporter common.Address Raw types.Log // Blockchain specific contextual infos } // FilterGuardSlashed is a free log retrieval operation binding the contract event 0xf2b3869e9727d6dfa6823415649eb18a3bbb7cf9aa2af02af10aaf8d10e14095. // // Solidity: event GuardSlashed(address indexed guard, address indexed reporter) func (_OriginEvents *OriginEventsFilterer) FilterGuardSlashed(opts *bind.FilterOpts, guard []common.Address, reporter []common.Address) (*OriginEventsGuardSlashedIterator, error) { var guardRule []interface{} for _, guardItem := range guard { guardRule = append(guardRule, guardItem) } var reporterRule []interface{} for _, reporterItem := range reporter { reporterRule = append(reporterRule, reporterItem) } logs, sub, err := _OriginEvents.contract.FilterLogs(opts, "GuardSlashed", guardRule, reporterRule) if err != nil { return nil, err } return &OriginEventsGuardSlashedIterator{contract: _OriginEvents.contract, event: "GuardSlashed", logs: logs, sub: sub}, nil } // WatchGuardSlashed is a free log subscription operation binding the contract event 0xf2b3869e9727d6dfa6823415649eb18a3bbb7cf9aa2af02af10aaf8d10e14095. // // Solidity: event GuardSlashed(address indexed guard, address indexed reporter) func (_OriginEvents *OriginEventsFilterer) WatchGuardSlashed(opts *bind.WatchOpts, sink chan<- *OriginEventsGuardSlashed, guard []common.Address, reporter []common.Address) (event.Subscription, error) { var guardRule []interface{} for _, guardItem := range guard { guardRule = append(guardRule, guardItem) } var reporterRule []interface{} for _, reporterItem := range reporter { reporterRule = append(reporterRule, reporterItem) } logs, sub, err := _OriginEvents.contract.WatchLogs(opts, "GuardSlashed", guardRule, reporterRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginEventsGuardSlashed) if err := _OriginEvents.contract.UnpackLog(event, "GuardSlashed", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseGuardSlashed is a log parse operation binding the contract event 0xf2b3869e9727d6dfa6823415649eb18a3bbb7cf9aa2af02af10aaf8d10e14095. // // Solidity: event GuardSlashed(address indexed guard, address indexed reporter) func (_OriginEvents *OriginEventsFilterer) ParseGuardSlashed(log types.Log) (*OriginEventsGuardSlashed, error) { event := new(OriginEventsGuardSlashed) if err := _OriginEvents.contract.UnpackLog(event, "GuardSlashed", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginEventsNewNotaryManagerIterator is returned from FilterNewNotaryManager and is used to iterate over the raw logs and unpacked data for NewNotaryManager events raised by the OriginEvents contract. type OriginEventsNewNotaryManagerIterator struct { Event *OriginEventsNewNotaryManager // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginEventsNewNotaryManagerIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginEventsNewNotaryManager) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginEventsNewNotaryManager) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginEventsNewNotaryManagerIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginEventsNewNotaryManagerIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginEventsNewNotaryManager represents a NewNotaryManager event raised by the OriginEvents contract. type OriginEventsNewNotaryManager struct { NotaryManager common.Address Raw types.Log // Blockchain specific contextual infos } // FilterNewNotaryManager is a free log retrieval operation binding the contract event 0xe3befd3a32a53f50ff7d1421555fbd40e5ead3a7ed75417db43a23faffe09316. // // Solidity: event NewNotaryManager(address notaryManager) func (_OriginEvents *OriginEventsFilterer) FilterNewNotaryManager(opts *bind.FilterOpts) (*OriginEventsNewNotaryManagerIterator, error) { logs, sub, err := _OriginEvents.contract.FilterLogs(opts, "NewNotaryManager") if err != nil { return nil, err } return &OriginEventsNewNotaryManagerIterator{contract: _OriginEvents.contract, event: "NewNotaryManager", logs: logs, sub: sub}, nil } // WatchNewNotaryManager is a free log subscription operation binding the contract event 0xe3befd3a32a53f50ff7d1421555fbd40e5ead3a7ed75417db43a23faffe09316. // // Solidity: event NewNotaryManager(address notaryManager) func (_OriginEvents *OriginEventsFilterer) WatchNewNotaryManager(opts *bind.WatchOpts, sink chan<- *OriginEventsNewNotaryManager) (event.Subscription, error) { logs, sub, err := _OriginEvents.contract.WatchLogs(opts, "NewNotaryManager") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginEventsNewNotaryManager) if err := _OriginEvents.contract.UnpackLog(event, "NewNotaryManager", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseNewNotaryManager is a log parse operation binding the contract event 0xe3befd3a32a53f50ff7d1421555fbd40e5ead3a7ed75417db43a23faffe09316. // // Solidity: event NewNotaryManager(address notaryManager) func (_OriginEvents *OriginEventsFilterer) ParseNewNotaryManager(log types.Log) (*OriginEventsNewNotaryManager, error) { event := new(OriginEventsNewNotaryManager) if err := _OriginEvents.contract.UnpackLog(event, "NewNotaryManager", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginEventsNotarySlashedIterator is returned from FilterNotarySlashed and is used to iterate over the raw logs and unpacked data for NotarySlashed events raised by the OriginEvents contract. type OriginEventsNotarySlashedIterator struct { Event *OriginEventsNotarySlashed // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginEventsNotarySlashedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginEventsNotarySlashed) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginEventsNotarySlashed) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginEventsNotarySlashedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginEventsNotarySlashedIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginEventsNotarySlashed represents a NotarySlashed event raised by the OriginEvents contract. type OriginEventsNotarySlashed struct { Notary common.Address Guard common.Address Reporter common.Address Raw types.Log // Blockchain specific contextual infos } // FilterNotarySlashed is a free log retrieval operation binding the contract event 0x70f97c2b606c3d7af38fff3f924c8396f5a05d266b5dc523d863ad27a1d7518a. // // Solidity: event NotarySlashed(address indexed notary, address indexed guard, address indexed reporter) func (_OriginEvents *OriginEventsFilterer) FilterNotarySlashed(opts *bind.FilterOpts, notary []common.Address, guard []common.Address, reporter []common.Address) (*OriginEventsNotarySlashedIterator, error) { var notaryRule []interface{} for _, notaryItem := range notary { notaryRule = append(notaryRule, notaryItem) } var guardRule []interface{} for _, guardItem := range guard { guardRule = append(guardRule, guardItem) } var reporterRule []interface{} for _, reporterItem := range reporter { reporterRule = append(reporterRule, reporterItem) } logs, sub, err := _OriginEvents.contract.FilterLogs(opts, "NotarySlashed", notaryRule, guardRule, reporterRule) if err != nil { return nil, err } return &OriginEventsNotarySlashedIterator{contract: _OriginEvents.contract, event: "NotarySlashed", logs: logs, sub: sub}, nil } // WatchNotarySlashed is a free log subscription operation binding the contract event 0x70f97c2b606c3d7af38fff3f924c8396f5a05d266b5dc523d863ad27a1d7518a. // // Solidity: event NotarySlashed(address indexed notary, address indexed guard, address indexed reporter) func (_OriginEvents *OriginEventsFilterer) WatchNotarySlashed(opts *bind.WatchOpts, sink chan<- *OriginEventsNotarySlashed, notary []common.Address, guard []common.Address, reporter []common.Address) (event.Subscription, error) { var notaryRule []interface{} for _, notaryItem := range notary { notaryRule = append(notaryRule, notaryItem) } var guardRule []interface{} for _, guardItem := range guard { guardRule = append(guardRule, guardItem) } var reporterRule []interface{} for _, reporterItem := range reporter { reporterRule = append(reporterRule, reporterItem) } logs, sub, err := _OriginEvents.contract.WatchLogs(opts, "NotarySlashed", notaryRule, guardRule, reporterRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginEventsNotarySlashed) if err := _OriginEvents.contract.UnpackLog(event, "NotarySlashed", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseNotarySlashed is a log parse operation binding the contract event 0x70f97c2b606c3d7af38fff3f924c8396f5a05d266b5dc523d863ad27a1d7518a. // // Solidity: event NotarySlashed(address indexed notary, address indexed guard, address indexed reporter) func (_OriginEvents *OriginEventsFilterer) ParseNotarySlashed(log types.Log) (*OriginEventsNotarySlashed, error) { event := new(OriginEventsNotarySlashed) if err := _OriginEvents.contract.UnpackLog(event, "NotarySlashed", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginHubMetaData contains all meta data concerning the OriginHub contract. var OriginHubMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"attestation\",\"type\":\"bytes\"}],\"name\":\"AttestationAccepted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"report\",\"type\":\"bytes\"}],\"name\":\"CorrectFraudReport\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"attestation\",\"type\":\"bytes\"}],\"name\":\"FraudAttestation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"GuardAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"GuardRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"report\",\"type\":\"bytes\"}],\"name\":\"IncorrectReport\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"domain\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"}],\"name\":\"NotaryAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"domain\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"}],\"name\":\"NotaryRemoved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"allGuards\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allNotaries\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getGuard\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_destination\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"_nonce\",\"type\":\"uint32\"}],\"name\":\"getHistoricalRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getNotary\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"guardsAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"localDomain\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_destination\",\"type\":\"uint32\"}],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"latestNonce\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"notariesAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_destination\",\"type\":\"uint32\"}],\"name\":\"root\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_attestation\",\"type\":\"bytes\"}],\"name\":\"submitAttestation\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_report\",\"type\":\"bytes\"}],\"name\":\"submitReport\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_destination\",\"type\":\"uint32\"}],\"name\":\"suggestAttestation\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"latestNonce\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"latestRoot\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", Sigs: map[string]string{ "9fe03fa2": "allGuards()", "9817e315": "allNotaries()", "629ddf69": "getGuard(uint256)", "f94adcb4": "getHistoricalRoot(uint32,uint32)", "c07dc7f5": "getNotary(uint256)", "246c2449": "guardsAmount()", "8d3638f4": "localDomain()", "141c4985": "nonce(uint32)", "8e62e9ef": "notariesAmount()", "e65b6bd4": "root(uint32)", "f646a512": "submitAttestation(bytes)", "5815869d": "submitReport(bytes)", "dd0f1f74": "suggestAttestation(uint32)", }, } // OriginHubABI is the input ABI used to generate the binding from. // Deprecated: Use OriginHubMetaData.ABI instead. var OriginHubABI = OriginHubMetaData.ABI // Deprecated: Use OriginHubMetaData.Sigs instead. // OriginHubFuncSigs maps the 4-byte function signature to its string representation. var OriginHubFuncSigs = OriginHubMetaData.Sigs // OriginHub is an auto generated Go binding around an Ethereum contract. type OriginHub struct { OriginHubCaller // Read-only binding to the contract OriginHubTransactor // Write-only binding to the contract OriginHubFilterer // Log filterer for contract events } // OriginHubCaller is an auto generated read-only Go binding around an Ethereum contract. type OriginHubCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OriginHubTransactor is an auto generated write-only Go binding around an Ethereum contract. type OriginHubTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OriginHubFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type OriginHubFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OriginHubSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type OriginHubSession struct { Contract *OriginHub // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // OriginHubCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type OriginHubCallerSession struct { Contract *OriginHubCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // OriginHubTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type OriginHubTransactorSession struct { Contract *OriginHubTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // OriginHubRaw is an auto generated low-level Go binding around an Ethereum contract. type OriginHubRaw struct { Contract *OriginHub // Generic contract binding to access the raw methods on } // OriginHubCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type OriginHubCallerRaw struct { Contract *OriginHubCaller // Generic read-only contract binding to access the raw methods on } // OriginHubTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type OriginHubTransactorRaw struct { Contract *OriginHubTransactor // Generic write-only contract binding to access the raw methods on } // NewOriginHub creates a new instance of OriginHub, bound to a specific deployed contract. func NewOriginHub(address common.Address, backend bind.ContractBackend) (*OriginHub, error) { contract, err := bindOriginHub(address, backend, backend, backend) if err != nil { return nil, err } return &OriginHub{OriginHubCaller: OriginHubCaller{contract: contract}, OriginHubTransactor: OriginHubTransactor{contract: contract}, OriginHubFilterer: OriginHubFilterer{contract: contract}}, nil } // NewOriginHubCaller creates a new read-only instance of OriginHub, bound to a specific deployed contract. func NewOriginHubCaller(address common.Address, caller bind.ContractCaller) (*OriginHubCaller, error) { contract, err := bindOriginHub(address, caller, nil, nil) if err != nil { return nil, err } return &OriginHubCaller{contract: contract}, nil } // NewOriginHubTransactor creates a new write-only instance of OriginHub, bound to a specific deployed contract. func NewOriginHubTransactor(address common.Address, transactor bind.ContractTransactor) (*OriginHubTransactor, error) { contract, err := bindOriginHub(address, nil, transactor, nil) if err != nil { return nil, err } return &OriginHubTransactor{contract: contract}, nil } // NewOriginHubFilterer creates a new log filterer instance of OriginHub, bound to a specific deployed contract. func NewOriginHubFilterer(address common.Address, filterer bind.ContractFilterer) (*OriginHubFilterer, error) { contract, err := bindOriginHub(address, nil, nil, filterer) if err != nil { return nil, err } return &OriginHubFilterer{contract: contract}, nil } // bindOriginHub binds a generic wrapper to an already deployed contract. func bindOriginHub(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(OriginHubABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_OriginHub *OriginHubRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _OriginHub.Contract.OriginHubCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_OriginHub *OriginHubRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _OriginHub.Contract.OriginHubTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_OriginHub *OriginHubRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _OriginHub.Contract.OriginHubTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_OriginHub *OriginHubCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _OriginHub.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_OriginHub *OriginHubTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _OriginHub.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_OriginHub *OriginHubTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _OriginHub.Contract.contract.Transact(opts, method, params...) } // AllGuards is a free data retrieval call binding the contract method 0x9fe03fa2. // // Solidity: function allGuards() view returns(address[]) func (_OriginHub *OriginHubCaller) AllGuards(opts *bind.CallOpts) ([]common.Address, error) { var out []interface{} err := _OriginHub.contract.Call(opts, &out, "allGuards") if err != nil { return *new([]common.Address), err } out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) return out0, err } // AllGuards is a free data retrieval call binding the contract method 0x9fe03fa2. // // Solidity: function allGuards() view returns(address[]) func (_OriginHub *OriginHubSession) AllGuards() ([]common.Address, error) { return _OriginHub.Contract.AllGuards(&_OriginHub.CallOpts) } // AllGuards is a free data retrieval call binding the contract method 0x9fe03fa2. // // Solidity: function allGuards() view returns(address[]) func (_OriginHub *OriginHubCallerSession) AllGuards() ([]common.Address, error) { return _OriginHub.Contract.AllGuards(&_OriginHub.CallOpts) } // AllNotaries is a free data retrieval call binding the contract method 0x9817e315. // // Solidity: function allNotaries() view returns(address[]) func (_OriginHub *OriginHubCaller) AllNotaries(opts *bind.CallOpts) ([]common.Address, error) { var out []interface{} err := _OriginHub.contract.Call(opts, &out, "allNotaries") if err != nil { return *new([]common.Address), err } out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) return out0, err } // AllNotaries is a free data retrieval call binding the contract method 0x9817e315. // // Solidity: function allNotaries() view returns(address[]) func (_OriginHub *OriginHubSession) AllNotaries() ([]common.Address, error) { return _OriginHub.Contract.AllNotaries(&_OriginHub.CallOpts) } // AllNotaries is a free data retrieval call binding the contract method 0x9817e315. // // Solidity: function allNotaries() view returns(address[]) func (_OriginHub *OriginHubCallerSession) AllNotaries() ([]common.Address, error) { return _OriginHub.Contract.AllNotaries(&_OriginHub.CallOpts) } // GetGuard is a free data retrieval call binding the contract method 0x629ddf69. // // Solidity: function getGuard(uint256 _index) view returns(address) func (_OriginHub *OriginHubCaller) GetGuard(opts *bind.CallOpts, _index *big.Int) (common.Address, error) { var out []interface{} err := _OriginHub.contract.Call(opts, &out, "getGuard", _index) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetGuard is a free data retrieval call binding the contract method 0x629ddf69. // // Solidity: function getGuard(uint256 _index) view returns(address) func (_OriginHub *OriginHubSession) GetGuard(_index *big.Int) (common.Address, error) { return _OriginHub.Contract.GetGuard(&_OriginHub.CallOpts, _index) } // GetGuard is a free data retrieval call binding the contract method 0x629ddf69. // // Solidity: function getGuard(uint256 _index) view returns(address) func (_OriginHub *OriginHubCallerSession) GetGuard(_index *big.Int) (common.Address, error) { return _OriginHub.Contract.GetGuard(&_OriginHub.CallOpts, _index) } // GetHistoricalRoot is a free data retrieval call binding the contract method 0xf94adcb4. // // Solidity: function getHistoricalRoot(uint32 _destination, uint32 _nonce) view returns(bytes32, uint256, uint256) func (_OriginHub *OriginHubCaller) GetHistoricalRoot(opts *bind.CallOpts, _destination uint32, _nonce uint32) ([32]byte, *big.Int, *big.Int, error) { var out []interface{} err := _OriginHub.contract.Call(opts, &out, "getHistoricalRoot", _destination, _nonce) if err != nil { return *new([32]byte), *new(*big.Int), *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) out1 := *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) out2 := *abi.ConvertType(out[2], new(*big.Int)).(**big.Int) return out0, out1, out2, err } // GetHistoricalRoot is a free data retrieval call binding the contract method 0xf94adcb4. // // Solidity: function getHistoricalRoot(uint32 _destination, uint32 _nonce) view returns(bytes32, uint256, uint256) func (_OriginHub *OriginHubSession) GetHistoricalRoot(_destination uint32, _nonce uint32) ([32]byte, *big.Int, *big.Int, error) { return _OriginHub.Contract.GetHistoricalRoot(&_OriginHub.CallOpts, _destination, _nonce) } // GetHistoricalRoot is a free data retrieval call binding the contract method 0xf94adcb4. // // Solidity: function getHistoricalRoot(uint32 _destination, uint32 _nonce) view returns(bytes32, uint256, uint256) func (_OriginHub *OriginHubCallerSession) GetHistoricalRoot(_destination uint32, _nonce uint32) ([32]byte, *big.Int, *big.Int, error) { return _OriginHub.Contract.GetHistoricalRoot(&_OriginHub.CallOpts, _destination, _nonce) } // GetNotary is a free data retrieval call binding the contract method 0xc07dc7f5. // // Solidity: function getNotary(uint256 _index) view returns(address) func (_OriginHub *OriginHubCaller) GetNotary(opts *bind.CallOpts, _index *big.Int) (common.Address, error) { var out []interface{} err := _OriginHub.contract.Call(opts, &out, "getNotary", _index) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetNotary is a free data retrieval call binding the contract method 0xc07dc7f5. // // Solidity: function getNotary(uint256 _index) view returns(address) func (_OriginHub *OriginHubSession) GetNotary(_index *big.Int) (common.Address, error) { return _OriginHub.Contract.GetNotary(&_OriginHub.CallOpts, _index) } // GetNotary is a free data retrieval call binding the contract method 0xc07dc7f5. // // Solidity: function getNotary(uint256 _index) view returns(address) func (_OriginHub *OriginHubCallerSession) GetNotary(_index *big.Int) (common.Address, error) { return _OriginHub.Contract.GetNotary(&_OriginHub.CallOpts, _index) } // GuardsAmount is a free data retrieval call binding the contract method 0x246c2449. // // Solidity: function guardsAmount() view returns(uint256) func (_OriginHub *OriginHubCaller) GuardsAmount(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _OriginHub.contract.Call(opts, &out, "guardsAmount") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // GuardsAmount is a free data retrieval call binding the contract method 0x246c2449. // // Solidity: function guardsAmount() view returns(uint256) func (_OriginHub *OriginHubSession) GuardsAmount() (*big.Int, error) { return _OriginHub.Contract.GuardsAmount(&_OriginHub.CallOpts) } // GuardsAmount is a free data retrieval call binding the contract method 0x246c2449. // // Solidity: function guardsAmount() view returns(uint256) func (_OriginHub *OriginHubCallerSession) GuardsAmount() (*big.Int, error) { return _OriginHub.Contract.GuardsAmount(&_OriginHub.CallOpts) } // LocalDomain is a free data retrieval call binding the contract method 0x8d3638f4. // // Solidity: function localDomain() view returns(uint32) func (_OriginHub *OriginHubCaller) LocalDomain(opts *bind.CallOpts) (uint32, error) { var out []interface{} err := _OriginHub.contract.Call(opts, &out, "localDomain") if err != nil { return *new(uint32), err } out0 := *abi.ConvertType(out[0], new(uint32)).(*uint32) return out0, err } // LocalDomain is a free data retrieval call binding the contract method 0x8d3638f4. // // Solidity: function localDomain() view returns(uint32) func (_OriginHub *OriginHubSession) LocalDomain() (uint32, error) { return _OriginHub.Contract.LocalDomain(&_OriginHub.CallOpts) } // LocalDomain is a free data retrieval call binding the contract method 0x8d3638f4. // // Solidity: function localDomain() view returns(uint32) func (_OriginHub *OriginHubCallerSession) LocalDomain() (uint32, error) { return _OriginHub.Contract.LocalDomain(&_OriginHub.CallOpts) } // Nonce is a free data retrieval call binding the contract method 0x141c4985. // // Solidity: function nonce(uint32 _destination) view returns(uint32 latestNonce) func (_OriginHub *OriginHubCaller) Nonce(opts *bind.CallOpts, _destination uint32) (uint32, error) { var out []interface{} err := _OriginHub.contract.Call(opts, &out, "nonce", _destination) if err != nil { return *new(uint32), err } out0 := *abi.ConvertType(out[0], new(uint32)).(*uint32) return out0, err } // Nonce is a free data retrieval call binding the contract method 0x141c4985. // // Solidity: function nonce(uint32 _destination) view returns(uint32 latestNonce) func (_OriginHub *OriginHubSession) Nonce(_destination uint32) (uint32, error) { return _OriginHub.Contract.Nonce(&_OriginHub.CallOpts, _destination) } // Nonce is a free data retrieval call binding the contract method 0x141c4985. // // Solidity: function nonce(uint32 _destination) view returns(uint32 latestNonce) func (_OriginHub *OriginHubCallerSession) Nonce(_destination uint32) (uint32, error) { return _OriginHub.Contract.Nonce(&_OriginHub.CallOpts, _destination) } // NotariesAmount is a free data retrieval call binding the contract method 0x8e62e9ef. // // Solidity: function notariesAmount() view returns(uint256) func (_OriginHub *OriginHubCaller) NotariesAmount(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _OriginHub.contract.Call(opts, &out, "notariesAmount") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // NotariesAmount is a free data retrieval call binding the contract method 0x8e62e9ef. // // Solidity: function notariesAmount() view returns(uint256) func (_OriginHub *OriginHubSession) NotariesAmount() (*big.Int, error) { return _OriginHub.Contract.NotariesAmount(&_OriginHub.CallOpts) } // NotariesAmount is a free data retrieval call binding the contract method 0x8e62e9ef. // // Solidity: function notariesAmount() view returns(uint256) func (_OriginHub *OriginHubCallerSession) NotariesAmount() (*big.Int, error) { return _OriginHub.Contract.NotariesAmount(&_OriginHub.CallOpts) } // Root is a free data retrieval call binding the contract method 0xe65b6bd4. // // Solidity: function root(uint32 _destination) view returns(bytes32) func (_OriginHub *OriginHubCaller) Root(opts *bind.CallOpts, _destination uint32) ([32]byte, error) { var out []interface{} err := _OriginHub.contract.Call(opts, &out, "root", _destination) if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // Root is a free data retrieval call binding the contract method 0xe65b6bd4. // // Solidity: function root(uint32 _destination) view returns(bytes32) func (_OriginHub *OriginHubSession) Root(_destination uint32) ([32]byte, error) { return _OriginHub.Contract.Root(&_OriginHub.CallOpts, _destination) } // Root is a free data retrieval call binding the contract method 0xe65b6bd4. // // Solidity: function root(uint32 _destination) view returns(bytes32) func (_OriginHub *OriginHubCallerSession) Root(_destination uint32) ([32]byte, error) { return _OriginHub.Contract.Root(&_OriginHub.CallOpts, _destination) } // SuggestAttestation is a free data retrieval call binding the contract method 0xdd0f1f74. // // Solidity: function suggestAttestation(uint32 _destination) view returns(uint32 latestNonce, bytes32 latestRoot) func (_OriginHub *OriginHubCaller) SuggestAttestation(opts *bind.CallOpts, _destination uint32) (struct { LatestNonce uint32 LatestRoot [32]byte }, error) { var out []interface{} err := _OriginHub.contract.Call(opts, &out, "suggestAttestation", _destination) outstruct := new(struct { LatestNonce uint32 LatestRoot [32]byte }) if err != nil { return *outstruct, err } outstruct.LatestNonce = *abi.ConvertType(out[0], new(uint32)).(*uint32) outstruct.LatestRoot = *abi.ConvertType(out[1], new([32]byte)).(*[32]byte) return *outstruct, err } // SuggestAttestation is a free data retrieval call binding the contract method 0xdd0f1f74. // // Solidity: function suggestAttestation(uint32 _destination) view returns(uint32 latestNonce, bytes32 latestRoot) func (_OriginHub *OriginHubSession) SuggestAttestation(_destination uint32) (struct { LatestNonce uint32 LatestRoot [32]byte }, error) { return _OriginHub.Contract.SuggestAttestation(&_OriginHub.CallOpts, _destination) } // SuggestAttestation is a free data retrieval call binding the contract method 0xdd0f1f74. // // Solidity: function suggestAttestation(uint32 _destination) view returns(uint32 latestNonce, bytes32 latestRoot) func (_OriginHub *OriginHubCallerSession) SuggestAttestation(_destination uint32) (struct { LatestNonce uint32 LatestRoot [32]byte }, error) { return _OriginHub.Contract.SuggestAttestation(&_OriginHub.CallOpts, _destination) } // SubmitAttestation is a paid mutator transaction binding the contract method 0xf646a512. // // Solidity: function submitAttestation(bytes _attestation) returns(bool) func (_OriginHub *OriginHubTransactor) SubmitAttestation(opts *bind.TransactOpts, _attestation []byte) (*types.Transaction, error) { return _OriginHub.contract.Transact(opts, "submitAttestation", _attestation) } // SubmitAttestation is a paid mutator transaction binding the contract method 0xf646a512. // // Solidity: function submitAttestation(bytes _attestation) returns(bool) func (_OriginHub *OriginHubSession) SubmitAttestation(_attestation []byte) (*types.Transaction, error) { return _OriginHub.Contract.SubmitAttestation(&_OriginHub.TransactOpts, _attestation) } // SubmitAttestation is a paid mutator transaction binding the contract method 0xf646a512. // // Solidity: function submitAttestation(bytes _attestation) returns(bool) func (_OriginHub *OriginHubTransactorSession) SubmitAttestation(_attestation []byte) (*types.Transaction, error) { return _OriginHub.Contract.SubmitAttestation(&_OriginHub.TransactOpts, _attestation) } // SubmitReport is a paid mutator transaction binding the contract method 0x5815869d. // // Solidity: function submitReport(bytes _report) returns(bool) func (_OriginHub *OriginHubTransactor) SubmitReport(opts *bind.TransactOpts, _report []byte) (*types.Transaction, error) { return _OriginHub.contract.Transact(opts, "submitReport", _report) } // SubmitReport is a paid mutator transaction binding the contract method 0x5815869d. // // Solidity: function submitReport(bytes _report) returns(bool) func (_OriginHub *OriginHubSession) SubmitReport(_report []byte) (*types.Transaction, error) { return _OriginHub.Contract.SubmitReport(&_OriginHub.TransactOpts, _report) } // SubmitReport is a paid mutator transaction binding the contract method 0x5815869d. // // Solidity: function submitReport(bytes _report) returns(bool) func (_OriginHub *OriginHubTransactorSession) SubmitReport(_report []byte) (*types.Transaction, error) { return _OriginHub.Contract.SubmitReport(&_OriginHub.TransactOpts, _report) } // OriginHubAttestationAcceptedIterator is returned from FilterAttestationAccepted and is used to iterate over the raw logs and unpacked data for AttestationAccepted events raised by the OriginHub contract. type OriginHubAttestationAcceptedIterator struct { Event *OriginHubAttestationAccepted // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginHubAttestationAcceptedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginHubAttestationAccepted) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginHubAttestationAccepted) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginHubAttestationAcceptedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginHubAttestationAcceptedIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginHubAttestationAccepted represents a AttestationAccepted event raised by the OriginHub contract. type OriginHubAttestationAccepted struct { Notary common.Address Attestation []byte Raw types.Log // Blockchain specific contextual infos } // FilterAttestationAccepted is a free log retrieval operation binding the contract event 0x744faabf74c86a873d8f8256c1f071b7ac997f1a9fa1f506dc5a528d5bbb16f3. // // Solidity: event AttestationAccepted(address indexed notary, bytes attestation) func (_OriginHub *OriginHubFilterer) FilterAttestationAccepted(opts *bind.FilterOpts, notary []common.Address) (*OriginHubAttestationAcceptedIterator, error) { var notaryRule []interface{} for _, notaryItem := range notary { notaryRule = append(notaryRule, notaryItem) } logs, sub, err := _OriginHub.contract.FilterLogs(opts, "AttestationAccepted", notaryRule) if err != nil { return nil, err } return &OriginHubAttestationAcceptedIterator{contract: _OriginHub.contract, event: "AttestationAccepted", logs: logs, sub: sub}, nil } // WatchAttestationAccepted is a free log subscription operation binding the contract event 0x744faabf74c86a873d8f8256c1f071b7ac997f1a9fa1f506dc5a528d5bbb16f3. // // Solidity: event AttestationAccepted(address indexed notary, bytes attestation) func (_OriginHub *OriginHubFilterer) WatchAttestationAccepted(opts *bind.WatchOpts, sink chan<- *OriginHubAttestationAccepted, notary []common.Address) (event.Subscription, error) { var notaryRule []interface{} for _, notaryItem := range notary { notaryRule = append(notaryRule, notaryItem) } logs, sub, err := _OriginHub.contract.WatchLogs(opts, "AttestationAccepted", notaryRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginHubAttestationAccepted) if err := _OriginHub.contract.UnpackLog(event, "AttestationAccepted", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseAttestationAccepted is a log parse operation binding the contract event 0x744faabf74c86a873d8f8256c1f071b7ac997f1a9fa1f506dc5a528d5bbb16f3. // // Solidity: event AttestationAccepted(address indexed notary, bytes attestation) func (_OriginHub *OriginHubFilterer) ParseAttestationAccepted(log types.Log) (*OriginHubAttestationAccepted, error) { event := new(OriginHubAttestationAccepted) if err := _OriginHub.contract.UnpackLog(event, "AttestationAccepted", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginHubCorrectFraudReportIterator is returned from FilterCorrectFraudReport and is used to iterate over the raw logs and unpacked data for CorrectFraudReport events raised by the OriginHub contract. type OriginHubCorrectFraudReportIterator struct { Event *OriginHubCorrectFraudReport // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginHubCorrectFraudReportIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginHubCorrectFraudReport) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginHubCorrectFraudReport) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginHubCorrectFraudReportIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginHubCorrectFraudReportIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginHubCorrectFraudReport represents a CorrectFraudReport event raised by the OriginHub contract. type OriginHubCorrectFraudReport struct { Guard common.Address Report []byte Raw types.Log // Blockchain specific contextual infos } // FilterCorrectFraudReport is a free log retrieval operation binding the contract event 0xa0248f358d0f7bb4c63d2bd5a3e521bb7aba00ccfde9442154e4950711a912f8. // // Solidity: event CorrectFraudReport(address indexed guard, bytes report) func (_OriginHub *OriginHubFilterer) FilterCorrectFraudReport(opts *bind.FilterOpts, guard []common.Address) (*OriginHubCorrectFraudReportIterator, error) { var guardRule []interface{} for _, guardItem := range guard { guardRule = append(guardRule, guardItem) } logs, sub, err := _OriginHub.contract.FilterLogs(opts, "CorrectFraudReport", guardRule) if err != nil { return nil, err } return &OriginHubCorrectFraudReportIterator{contract: _OriginHub.contract, event: "CorrectFraudReport", logs: logs, sub: sub}, nil } // WatchCorrectFraudReport is a free log subscription operation binding the contract event 0xa0248f358d0f7bb4c63d2bd5a3e521bb7aba00ccfde9442154e4950711a912f8. // // Solidity: event CorrectFraudReport(address indexed guard, bytes report) func (_OriginHub *OriginHubFilterer) WatchCorrectFraudReport(opts *bind.WatchOpts, sink chan<- *OriginHubCorrectFraudReport, guard []common.Address) (event.Subscription, error) { var guardRule []interface{} for _, guardItem := range guard { guardRule = append(guardRule, guardItem) } logs, sub, err := _OriginHub.contract.WatchLogs(opts, "CorrectFraudReport", guardRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginHubCorrectFraudReport) if err := _OriginHub.contract.UnpackLog(event, "CorrectFraudReport", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseCorrectFraudReport is a log parse operation binding the contract event 0xa0248f358d0f7bb4c63d2bd5a3e521bb7aba00ccfde9442154e4950711a912f8. // // Solidity: event CorrectFraudReport(address indexed guard, bytes report) func (_OriginHub *OriginHubFilterer) ParseCorrectFraudReport(log types.Log) (*OriginHubCorrectFraudReport, error) { event := new(OriginHubCorrectFraudReport) if err := _OriginHub.contract.UnpackLog(event, "CorrectFraudReport", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginHubFraudAttestationIterator is returned from FilterFraudAttestation and is used to iterate over the raw logs and unpacked data for FraudAttestation events raised by the OriginHub contract. type OriginHubFraudAttestationIterator struct { Event *OriginHubFraudAttestation // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginHubFraudAttestationIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginHubFraudAttestation) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginHubFraudAttestation) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginHubFraudAttestationIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginHubFraudAttestationIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginHubFraudAttestation represents a FraudAttestation event raised by the OriginHub contract. type OriginHubFraudAttestation struct { Notary common.Address Attestation []byte Raw types.Log // Blockchain specific contextual infos } // FilterFraudAttestation is a free log retrieval operation binding the contract event 0xa458d78fa8902ff24cc896d608e762eb06543f0541124e5582e928e1e4789423. // // Solidity: event FraudAttestation(address indexed notary, bytes attestation) func (_OriginHub *OriginHubFilterer) FilterFraudAttestation(opts *bind.FilterOpts, notary []common.Address) (*OriginHubFraudAttestationIterator, error) { var notaryRule []interface{} for _, notaryItem := range notary { notaryRule = append(notaryRule, notaryItem) } logs, sub, err := _OriginHub.contract.FilterLogs(opts, "FraudAttestation", notaryRule) if err != nil { return nil, err } return &OriginHubFraudAttestationIterator{contract: _OriginHub.contract, event: "FraudAttestation", logs: logs, sub: sub}, nil } // WatchFraudAttestation is a free log subscription operation binding the contract event 0xa458d78fa8902ff24cc896d608e762eb06543f0541124e5582e928e1e4789423. // // Solidity: event FraudAttestation(address indexed notary, bytes attestation) func (_OriginHub *OriginHubFilterer) WatchFraudAttestation(opts *bind.WatchOpts, sink chan<- *OriginHubFraudAttestation, notary []common.Address) (event.Subscription, error) { var notaryRule []interface{} for _, notaryItem := range notary { notaryRule = append(notaryRule, notaryItem) } logs, sub, err := _OriginHub.contract.WatchLogs(opts, "FraudAttestation", notaryRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginHubFraudAttestation) if err := _OriginHub.contract.UnpackLog(event, "FraudAttestation", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseFraudAttestation is a log parse operation binding the contract event 0xa458d78fa8902ff24cc896d608e762eb06543f0541124e5582e928e1e4789423. // // Solidity: event FraudAttestation(address indexed notary, bytes attestation) func (_OriginHub *OriginHubFilterer) ParseFraudAttestation(log types.Log) (*OriginHubFraudAttestation, error) { event := new(OriginHubFraudAttestation) if err := _OriginHub.contract.UnpackLog(event, "FraudAttestation", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginHubGuardAddedIterator is returned from FilterGuardAdded and is used to iterate over the raw logs and unpacked data for GuardAdded events raised by the OriginHub contract. type OriginHubGuardAddedIterator struct { Event *OriginHubGuardAdded // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginHubGuardAddedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginHubGuardAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginHubGuardAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginHubGuardAddedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginHubGuardAddedIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginHubGuardAdded represents a GuardAdded event raised by the OriginHub contract. type OriginHubGuardAdded struct { Guard common.Address Raw types.Log // Blockchain specific contextual infos } // FilterGuardAdded is a free log retrieval operation binding the contract event 0x93405f05cd04f0d1bd875f2de00f1f3890484ffd0589248953bdfd29ba7f2f59. // // Solidity: event GuardAdded(address guard) func (_OriginHub *OriginHubFilterer) FilterGuardAdded(opts *bind.FilterOpts) (*OriginHubGuardAddedIterator, error) { logs, sub, err := _OriginHub.contract.FilterLogs(opts, "GuardAdded") if err != nil { return nil, err } return &OriginHubGuardAddedIterator{contract: _OriginHub.contract, event: "GuardAdded", logs: logs, sub: sub}, nil } // WatchGuardAdded is a free log subscription operation binding the contract event 0x93405f05cd04f0d1bd875f2de00f1f3890484ffd0589248953bdfd29ba7f2f59. // // Solidity: event GuardAdded(address guard) func (_OriginHub *OriginHubFilterer) WatchGuardAdded(opts *bind.WatchOpts, sink chan<- *OriginHubGuardAdded) (event.Subscription, error) { logs, sub, err := _OriginHub.contract.WatchLogs(opts, "GuardAdded") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginHubGuardAdded) if err := _OriginHub.contract.UnpackLog(event, "GuardAdded", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseGuardAdded is a log parse operation binding the contract event 0x93405f05cd04f0d1bd875f2de00f1f3890484ffd0589248953bdfd29ba7f2f59. // // Solidity: event GuardAdded(address guard) func (_OriginHub *OriginHubFilterer) ParseGuardAdded(log types.Log) (*OriginHubGuardAdded, error) { event := new(OriginHubGuardAdded) if err := _OriginHub.contract.UnpackLog(event, "GuardAdded", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginHubGuardRemovedIterator is returned from FilterGuardRemoved and is used to iterate over the raw logs and unpacked data for GuardRemoved events raised by the OriginHub contract. type OriginHubGuardRemovedIterator struct { Event *OriginHubGuardRemoved // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginHubGuardRemovedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginHubGuardRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginHubGuardRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginHubGuardRemovedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginHubGuardRemovedIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginHubGuardRemoved represents a GuardRemoved event raised by the OriginHub contract. type OriginHubGuardRemoved struct { Guard common.Address Raw types.Log // Blockchain specific contextual infos } // FilterGuardRemoved is a free log retrieval operation binding the contract event 0x59926e0a78d12238b668b31c8e3f6ece235a59a00ede111d883e255b68c4d048. // // Solidity: event GuardRemoved(address guard) func (_OriginHub *OriginHubFilterer) FilterGuardRemoved(opts *bind.FilterOpts) (*OriginHubGuardRemovedIterator, error) { logs, sub, err := _OriginHub.contract.FilterLogs(opts, "GuardRemoved") if err != nil { return nil, err } return &OriginHubGuardRemovedIterator{contract: _OriginHub.contract, event: "GuardRemoved", logs: logs, sub: sub}, nil } // WatchGuardRemoved is a free log subscription operation binding the contract event 0x59926e0a78d12238b668b31c8e3f6ece235a59a00ede111d883e255b68c4d048. // // Solidity: event GuardRemoved(address guard) func (_OriginHub *OriginHubFilterer) WatchGuardRemoved(opts *bind.WatchOpts, sink chan<- *OriginHubGuardRemoved) (event.Subscription, error) { logs, sub, err := _OriginHub.contract.WatchLogs(opts, "GuardRemoved") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginHubGuardRemoved) if err := _OriginHub.contract.UnpackLog(event, "GuardRemoved", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseGuardRemoved is a log parse operation binding the contract event 0x59926e0a78d12238b668b31c8e3f6ece235a59a00ede111d883e255b68c4d048. // // Solidity: event GuardRemoved(address guard) func (_OriginHub *OriginHubFilterer) ParseGuardRemoved(log types.Log) (*OriginHubGuardRemoved, error) { event := new(OriginHubGuardRemoved) if err := _OriginHub.contract.UnpackLog(event, "GuardRemoved", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginHubIncorrectReportIterator is returned from FilterIncorrectReport and is used to iterate over the raw logs and unpacked data for IncorrectReport events raised by the OriginHub contract. type OriginHubIncorrectReportIterator struct { Event *OriginHubIncorrectReport // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginHubIncorrectReportIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginHubIncorrectReport) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginHubIncorrectReport) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginHubIncorrectReportIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginHubIncorrectReportIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginHubIncorrectReport represents a IncorrectReport event raised by the OriginHub contract. type OriginHubIncorrectReport struct { Guard common.Address Report []byte Raw types.Log // Blockchain specific contextual infos } // FilterIncorrectReport is a free log retrieval operation binding the contract event 0x36670329f075c374c3847f464e4acdaa51fc70c69c52cb8317787b237088ec63. // // Solidity: event IncorrectReport(address indexed guard, bytes report) func (_OriginHub *OriginHubFilterer) FilterIncorrectReport(opts *bind.FilterOpts, guard []common.Address) (*OriginHubIncorrectReportIterator, error) { var guardRule []interface{} for _, guardItem := range guard { guardRule = append(guardRule, guardItem) } logs, sub, err := _OriginHub.contract.FilterLogs(opts, "IncorrectReport", guardRule) if err != nil { return nil, err } return &OriginHubIncorrectReportIterator{contract: _OriginHub.contract, event: "IncorrectReport", logs: logs, sub: sub}, nil } // WatchIncorrectReport is a free log subscription operation binding the contract event 0x36670329f075c374c3847f464e4acdaa51fc70c69c52cb8317787b237088ec63. // // Solidity: event IncorrectReport(address indexed guard, bytes report) func (_OriginHub *OriginHubFilterer) WatchIncorrectReport(opts *bind.WatchOpts, sink chan<- *OriginHubIncorrectReport, guard []common.Address) (event.Subscription, error) { var guardRule []interface{} for _, guardItem := range guard { guardRule = append(guardRule, guardItem) } logs, sub, err := _OriginHub.contract.WatchLogs(opts, "IncorrectReport", guardRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginHubIncorrectReport) if err := _OriginHub.contract.UnpackLog(event, "IncorrectReport", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseIncorrectReport is a log parse operation binding the contract event 0x36670329f075c374c3847f464e4acdaa51fc70c69c52cb8317787b237088ec63. // // Solidity: event IncorrectReport(address indexed guard, bytes report) func (_OriginHub *OriginHubFilterer) ParseIncorrectReport(log types.Log) (*OriginHubIncorrectReport, error) { event := new(OriginHubIncorrectReport) if err := _OriginHub.contract.UnpackLog(event, "IncorrectReport", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginHubNotaryAddedIterator is returned from FilterNotaryAdded and is used to iterate over the raw logs and unpacked data for NotaryAdded events raised by the OriginHub contract. type OriginHubNotaryAddedIterator struct { Event *OriginHubNotaryAdded // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginHubNotaryAddedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginHubNotaryAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginHubNotaryAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginHubNotaryAddedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginHubNotaryAddedIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginHubNotaryAdded represents a NotaryAdded event raised by the OriginHub contract. type OriginHubNotaryAdded struct { Domain uint32 Notary common.Address Raw types.Log // Blockchain specific contextual infos } // FilterNotaryAdded is a free log retrieval operation binding the contract event 0x62d8d15324cce2626119bb61d595f59e655486b1ab41b52c0793d814fe03c355. // // Solidity: event NotaryAdded(uint32 indexed domain, address notary) func (_OriginHub *OriginHubFilterer) FilterNotaryAdded(opts *bind.FilterOpts, domain []uint32) (*OriginHubNotaryAddedIterator, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _OriginHub.contract.FilterLogs(opts, "NotaryAdded", domainRule) if err != nil { return nil, err } return &OriginHubNotaryAddedIterator{contract: _OriginHub.contract, event: "NotaryAdded", logs: logs, sub: sub}, nil } // WatchNotaryAdded is a free log subscription operation binding the contract event 0x62d8d15324cce2626119bb61d595f59e655486b1ab41b52c0793d814fe03c355. // // Solidity: event NotaryAdded(uint32 indexed domain, address notary) func (_OriginHub *OriginHubFilterer) WatchNotaryAdded(opts *bind.WatchOpts, sink chan<- *OriginHubNotaryAdded, domain []uint32) (event.Subscription, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _OriginHub.contract.WatchLogs(opts, "NotaryAdded", domainRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginHubNotaryAdded) if err := _OriginHub.contract.UnpackLog(event, "NotaryAdded", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseNotaryAdded is a log parse operation binding the contract event 0x62d8d15324cce2626119bb61d595f59e655486b1ab41b52c0793d814fe03c355. // // Solidity: event NotaryAdded(uint32 indexed domain, address notary) func (_OriginHub *OriginHubFilterer) ParseNotaryAdded(log types.Log) (*OriginHubNotaryAdded, error) { event := new(OriginHubNotaryAdded) if err := _OriginHub.contract.UnpackLog(event, "NotaryAdded", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginHubNotaryRemovedIterator is returned from FilterNotaryRemoved and is used to iterate over the raw logs and unpacked data for NotaryRemoved events raised by the OriginHub contract. type OriginHubNotaryRemovedIterator struct { Event *OriginHubNotaryRemoved // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginHubNotaryRemovedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginHubNotaryRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginHubNotaryRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginHubNotaryRemovedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginHubNotaryRemovedIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginHubNotaryRemoved represents a NotaryRemoved event raised by the OriginHub contract. type OriginHubNotaryRemoved struct { Domain uint32 Notary common.Address Raw types.Log // Blockchain specific contextual infos } // FilterNotaryRemoved is a free log retrieval operation binding the contract event 0x3e006f5b97c04e82df349064761281b0981d45330c2f3e57cc032203b0e31b6b. // // Solidity: event NotaryRemoved(uint32 indexed domain, address notary) func (_OriginHub *OriginHubFilterer) FilterNotaryRemoved(opts *bind.FilterOpts, domain []uint32) (*OriginHubNotaryRemovedIterator, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _OriginHub.contract.FilterLogs(opts, "NotaryRemoved", domainRule) if err != nil { return nil, err } return &OriginHubNotaryRemovedIterator{contract: _OriginHub.contract, event: "NotaryRemoved", logs: logs, sub: sub}, nil } // WatchNotaryRemoved is a free log subscription operation binding the contract event 0x3e006f5b97c04e82df349064761281b0981d45330c2f3e57cc032203b0e31b6b. // // Solidity: event NotaryRemoved(uint32 indexed domain, address notary) func (_OriginHub *OriginHubFilterer) WatchNotaryRemoved(opts *bind.WatchOpts, sink chan<- *OriginHubNotaryRemoved, domain []uint32) (event.Subscription, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _OriginHub.contract.WatchLogs(opts, "NotaryRemoved", domainRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginHubNotaryRemoved) if err := _OriginHub.contract.UnpackLog(event, "NotaryRemoved", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseNotaryRemoved is a log parse operation binding the contract event 0x3e006f5b97c04e82df349064761281b0981d45330c2f3e57cc032203b0e31b6b. // // Solidity: event NotaryRemoved(uint32 indexed domain, address notary) func (_OriginHub *OriginHubFilterer) ParseNotaryRemoved(log types.Log) (*OriginHubNotaryRemoved, error) { event := new(OriginHubNotaryRemoved) if err := _OriginHub.contract.UnpackLog(event, "NotaryRemoved", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginHubEventsMetaData contains all meta data concerning the OriginHubEvents contract. var OriginHubEventsMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"report\",\"type\":\"bytes\"}],\"name\":\"CorrectFraudReport\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"attestation\",\"type\":\"bytes\"}],\"name\":\"FraudAttestation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"report\",\"type\":\"bytes\"}],\"name\":\"IncorrectReport\",\"type\":\"event\"}]", } // OriginHubEventsABI is the input ABI used to generate the binding from. // Deprecated: Use OriginHubEventsMetaData.ABI instead. var OriginHubEventsABI = OriginHubEventsMetaData.ABI // OriginHubEvents is an auto generated Go binding around an Ethereum contract. type OriginHubEvents struct { OriginHubEventsCaller // Read-only binding to the contract OriginHubEventsTransactor // Write-only binding to the contract OriginHubEventsFilterer // Log filterer for contract events } // OriginHubEventsCaller is an auto generated read-only Go binding around an Ethereum contract. type OriginHubEventsCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OriginHubEventsTransactor is an auto generated write-only Go binding around an Ethereum contract. type OriginHubEventsTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OriginHubEventsFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type OriginHubEventsFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OriginHubEventsSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type OriginHubEventsSession struct { Contract *OriginHubEvents // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // OriginHubEventsCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type OriginHubEventsCallerSession struct { Contract *OriginHubEventsCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // OriginHubEventsTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type OriginHubEventsTransactorSession struct { Contract *OriginHubEventsTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // OriginHubEventsRaw is an auto generated low-level Go binding around an Ethereum contract. type OriginHubEventsRaw struct { Contract *OriginHubEvents // Generic contract binding to access the raw methods on } // OriginHubEventsCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type OriginHubEventsCallerRaw struct { Contract *OriginHubEventsCaller // Generic read-only contract binding to access the raw methods on } // OriginHubEventsTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type OriginHubEventsTransactorRaw struct { Contract *OriginHubEventsTransactor // Generic write-only contract binding to access the raw methods on } // NewOriginHubEvents creates a new instance of OriginHubEvents, bound to a specific deployed contract. func NewOriginHubEvents(address common.Address, backend bind.ContractBackend) (*OriginHubEvents, error) { contract, err := bindOriginHubEvents(address, backend, backend, backend) if err != nil { return nil, err } return &OriginHubEvents{OriginHubEventsCaller: OriginHubEventsCaller{contract: contract}, OriginHubEventsTransactor: OriginHubEventsTransactor{contract: contract}, OriginHubEventsFilterer: OriginHubEventsFilterer{contract: contract}}, nil } // NewOriginHubEventsCaller creates a new read-only instance of OriginHubEvents, bound to a specific deployed contract. func NewOriginHubEventsCaller(address common.Address, caller bind.ContractCaller) (*OriginHubEventsCaller, error) { contract, err := bindOriginHubEvents(address, caller, nil, nil) if err != nil { return nil, err } return &OriginHubEventsCaller{contract: contract}, nil } // NewOriginHubEventsTransactor creates a new write-only instance of OriginHubEvents, bound to a specific deployed contract. func NewOriginHubEventsTransactor(address common.Address, transactor bind.ContractTransactor) (*OriginHubEventsTransactor, error) { contract, err := bindOriginHubEvents(address, nil, transactor, nil) if err != nil { return nil, err } return &OriginHubEventsTransactor{contract: contract}, nil } // NewOriginHubEventsFilterer creates a new log filterer instance of OriginHubEvents, bound to a specific deployed contract. func NewOriginHubEventsFilterer(address common.Address, filterer bind.ContractFilterer) (*OriginHubEventsFilterer, error) { contract, err := bindOriginHubEvents(address, nil, nil, filterer) if err != nil { return nil, err } return &OriginHubEventsFilterer{contract: contract}, nil } // bindOriginHubEvents binds a generic wrapper to an already deployed contract. func bindOriginHubEvents(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(OriginHubEventsABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_OriginHubEvents *OriginHubEventsRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _OriginHubEvents.Contract.OriginHubEventsCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_OriginHubEvents *OriginHubEventsRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _OriginHubEvents.Contract.OriginHubEventsTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_OriginHubEvents *OriginHubEventsRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _OriginHubEvents.Contract.OriginHubEventsTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_OriginHubEvents *OriginHubEventsCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _OriginHubEvents.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_OriginHubEvents *OriginHubEventsTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _OriginHubEvents.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_OriginHubEvents *OriginHubEventsTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _OriginHubEvents.Contract.contract.Transact(opts, method, params...) } // OriginHubEventsCorrectFraudReportIterator is returned from FilterCorrectFraudReport and is used to iterate over the raw logs and unpacked data for CorrectFraudReport events raised by the OriginHubEvents contract. type OriginHubEventsCorrectFraudReportIterator struct { Event *OriginHubEventsCorrectFraudReport // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginHubEventsCorrectFraudReportIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginHubEventsCorrectFraudReport) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginHubEventsCorrectFraudReport) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginHubEventsCorrectFraudReportIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginHubEventsCorrectFraudReportIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginHubEventsCorrectFraudReport represents a CorrectFraudReport event raised by the OriginHubEvents contract. type OriginHubEventsCorrectFraudReport struct { Guard common.Address Report []byte Raw types.Log // Blockchain specific contextual infos } // FilterCorrectFraudReport is a free log retrieval operation binding the contract event 0xa0248f358d0f7bb4c63d2bd5a3e521bb7aba00ccfde9442154e4950711a912f8. // // Solidity: event CorrectFraudReport(address indexed guard, bytes report) func (_OriginHubEvents *OriginHubEventsFilterer) FilterCorrectFraudReport(opts *bind.FilterOpts, guard []common.Address) (*OriginHubEventsCorrectFraudReportIterator, error) { var guardRule []interface{} for _, guardItem := range guard { guardRule = append(guardRule, guardItem) } logs, sub, err := _OriginHubEvents.contract.FilterLogs(opts, "CorrectFraudReport", guardRule) if err != nil { return nil, err } return &OriginHubEventsCorrectFraudReportIterator{contract: _OriginHubEvents.contract, event: "CorrectFraudReport", logs: logs, sub: sub}, nil } // WatchCorrectFraudReport is a free log subscription operation binding the contract event 0xa0248f358d0f7bb4c63d2bd5a3e521bb7aba00ccfde9442154e4950711a912f8. // // Solidity: event CorrectFraudReport(address indexed guard, bytes report) func (_OriginHubEvents *OriginHubEventsFilterer) WatchCorrectFraudReport(opts *bind.WatchOpts, sink chan<- *OriginHubEventsCorrectFraudReport, guard []common.Address) (event.Subscription, error) { var guardRule []interface{} for _, guardItem := range guard { guardRule = append(guardRule, guardItem) } logs, sub, err := _OriginHubEvents.contract.WatchLogs(opts, "CorrectFraudReport", guardRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginHubEventsCorrectFraudReport) if err := _OriginHubEvents.contract.UnpackLog(event, "CorrectFraudReport", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseCorrectFraudReport is a log parse operation binding the contract event 0xa0248f358d0f7bb4c63d2bd5a3e521bb7aba00ccfde9442154e4950711a912f8. // // Solidity: event CorrectFraudReport(address indexed guard, bytes report) func (_OriginHubEvents *OriginHubEventsFilterer) ParseCorrectFraudReport(log types.Log) (*OriginHubEventsCorrectFraudReport, error) { event := new(OriginHubEventsCorrectFraudReport) if err := _OriginHubEvents.contract.UnpackLog(event, "CorrectFraudReport", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginHubEventsFraudAttestationIterator is returned from FilterFraudAttestation and is used to iterate over the raw logs and unpacked data for FraudAttestation events raised by the OriginHubEvents contract. type OriginHubEventsFraudAttestationIterator struct { Event *OriginHubEventsFraudAttestation // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginHubEventsFraudAttestationIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginHubEventsFraudAttestation) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginHubEventsFraudAttestation) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginHubEventsFraudAttestationIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginHubEventsFraudAttestationIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginHubEventsFraudAttestation represents a FraudAttestation event raised by the OriginHubEvents contract. type OriginHubEventsFraudAttestation struct { Notary common.Address Attestation []byte Raw types.Log // Blockchain specific contextual infos } // FilterFraudAttestation is a free log retrieval operation binding the contract event 0xa458d78fa8902ff24cc896d608e762eb06543f0541124e5582e928e1e4789423. // // Solidity: event FraudAttestation(address indexed notary, bytes attestation) func (_OriginHubEvents *OriginHubEventsFilterer) FilterFraudAttestation(opts *bind.FilterOpts, notary []common.Address) (*OriginHubEventsFraudAttestationIterator, error) { var notaryRule []interface{} for _, notaryItem := range notary { notaryRule = append(notaryRule, notaryItem) } logs, sub, err := _OriginHubEvents.contract.FilterLogs(opts, "FraudAttestation", notaryRule) if err != nil { return nil, err } return &OriginHubEventsFraudAttestationIterator{contract: _OriginHubEvents.contract, event: "FraudAttestation", logs: logs, sub: sub}, nil } // WatchFraudAttestation is a free log subscription operation binding the contract event 0xa458d78fa8902ff24cc896d608e762eb06543f0541124e5582e928e1e4789423. // // Solidity: event FraudAttestation(address indexed notary, bytes attestation) func (_OriginHubEvents *OriginHubEventsFilterer) WatchFraudAttestation(opts *bind.WatchOpts, sink chan<- *OriginHubEventsFraudAttestation, notary []common.Address) (event.Subscription, error) { var notaryRule []interface{} for _, notaryItem := range notary { notaryRule = append(notaryRule, notaryItem) } logs, sub, err := _OriginHubEvents.contract.WatchLogs(opts, "FraudAttestation", notaryRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginHubEventsFraudAttestation) if err := _OriginHubEvents.contract.UnpackLog(event, "FraudAttestation", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseFraudAttestation is a log parse operation binding the contract event 0xa458d78fa8902ff24cc896d608e762eb06543f0541124e5582e928e1e4789423. // // Solidity: event FraudAttestation(address indexed notary, bytes attestation) func (_OriginHubEvents *OriginHubEventsFilterer) ParseFraudAttestation(log types.Log) (*OriginHubEventsFraudAttestation, error) { event := new(OriginHubEventsFraudAttestation) if err := _OriginHubEvents.contract.UnpackLog(event, "FraudAttestation", log); err != nil { return nil, err } event.Raw = log return event, nil } // OriginHubEventsIncorrectReportIterator is returned from FilterIncorrectReport and is used to iterate over the raw logs and unpacked data for IncorrectReport events raised by the OriginHubEvents contract. type OriginHubEventsIncorrectReportIterator struct { Event *OriginHubEventsIncorrectReport // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OriginHubEventsIncorrectReportIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OriginHubEventsIncorrectReport) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OriginHubEventsIncorrectReport) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OriginHubEventsIncorrectReportIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OriginHubEventsIncorrectReportIterator) Close() error { it.sub.Unsubscribe() return nil } // OriginHubEventsIncorrectReport represents a IncorrectReport event raised by the OriginHubEvents contract. type OriginHubEventsIncorrectReport struct { Guard common.Address Report []byte Raw types.Log // Blockchain specific contextual infos } // FilterIncorrectReport is a free log retrieval operation binding the contract event 0x36670329f075c374c3847f464e4acdaa51fc70c69c52cb8317787b237088ec63. // // Solidity: event IncorrectReport(address indexed guard, bytes report) func (_OriginHubEvents *OriginHubEventsFilterer) FilterIncorrectReport(opts *bind.FilterOpts, guard []common.Address) (*OriginHubEventsIncorrectReportIterator, error) { var guardRule []interface{} for _, guardItem := range guard { guardRule = append(guardRule, guardItem) } logs, sub, err := _OriginHubEvents.contract.FilterLogs(opts, "IncorrectReport", guardRule) if err != nil { return nil, err } return &OriginHubEventsIncorrectReportIterator{contract: _OriginHubEvents.contract, event: "IncorrectReport", logs: logs, sub: sub}, nil } // WatchIncorrectReport is a free log subscription operation binding the contract event 0x36670329f075c374c3847f464e4acdaa51fc70c69c52cb8317787b237088ec63. // // Solidity: event IncorrectReport(address indexed guard, bytes report) func (_OriginHubEvents *OriginHubEventsFilterer) WatchIncorrectReport(opts *bind.WatchOpts, sink chan<- *OriginHubEventsIncorrectReport, guard []common.Address) (event.Subscription, error) { var guardRule []interface{} for _, guardItem := range guard { guardRule = append(guardRule, guardItem) } logs, sub, err := _OriginHubEvents.contract.WatchLogs(opts, "IncorrectReport", guardRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OriginHubEventsIncorrectReport) if err := _OriginHubEvents.contract.UnpackLog(event, "IncorrectReport", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseIncorrectReport is a log parse operation binding the contract event 0x36670329f075c374c3847f464e4acdaa51fc70c69c52cb8317787b237088ec63. // // Solidity: event IncorrectReport(address indexed guard, bytes report) func (_OriginHubEvents *OriginHubEventsFilterer) ParseIncorrectReport(log types.Log) (*OriginHubEventsIncorrectReport, error) { event := new(OriginHubEventsIncorrectReport) if err := _OriginHubEvents.contract.UnpackLog(event, "IncorrectReport", log); err != nil { return nil, err } event.Raw = log return event, nil } // OwnableMetaData contains all meta data concerning the Ownable contract. var OwnableMetaData = &bind.MetaData{ ABI: "[{\"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\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "8da5cb5b": "owner()", "715018a6": "renounceOwnership()", "f2fde38b": "transferOwnership(address)", }, } // OwnableABI is the input ABI used to generate the binding from. // Deprecated: Use OwnableMetaData.ABI instead. var OwnableABI = OwnableMetaData.ABI // Deprecated: Use OwnableMetaData.Sigs instead. // OwnableFuncSigs maps the 4-byte function signature to its string representation. var OwnableFuncSigs = OwnableMetaData.Sigs // Ownable is an auto generated Go binding around an Ethereum contract. type Ownable struct { OwnableCaller // Read-only binding to the contract OwnableTransactor // Write-only binding to the contract OwnableFilterer // Log filterer for contract events } // OwnableCaller is an auto generated read-only Go binding around an Ethereum contract. type OwnableCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OwnableTransactor is an auto generated write-only Go binding around an Ethereum contract. type OwnableTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OwnableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type OwnableFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OwnableSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type OwnableSession struct { Contract *Ownable // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // OwnableCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type OwnableCallerSession struct { Contract *OwnableCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // OwnableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type OwnableTransactorSession struct { Contract *OwnableTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // OwnableRaw is an auto generated low-level Go binding around an Ethereum contract. type OwnableRaw struct { Contract *Ownable // Generic contract binding to access the raw methods on } // OwnableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type OwnableCallerRaw struct { Contract *OwnableCaller // Generic read-only contract binding to access the raw methods on } // OwnableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type OwnableTransactorRaw struct { Contract *OwnableTransactor // Generic write-only contract binding to access the raw methods on } // NewOwnable creates a new instance of Ownable, bound to a specific deployed contract. func NewOwnable(address common.Address, backend bind.ContractBackend) (*Ownable, error) { contract, err := bindOwnable(address, backend, backend, backend) if err != nil { return nil, err } return &Ownable{OwnableCaller: OwnableCaller{contract: contract}, OwnableTransactor: OwnableTransactor{contract: contract}, OwnableFilterer: OwnableFilterer{contract: contract}}, nil } // NewOwnableCaller creates a new read-only instance of Ownable, bound to a specific deployed contract. func NewOwnableCaller(address common.Address, caller bind.ContractCaller) (*OwnableCaller, error) { contract, err := bindOwnable(address, caller, nil, nil) if err != nil { return nil, err } return &OwnableCaller{contract: contract}, nil } // NewOwnableTransactor creates a new write-only instance of Ownable, bound to a specific deployed contract. func NewOwnableTransactor(address common.Address, transactor bind.ContractTransactor) (*OwnableTransactor, error) { contract, err := bindOwnable(address, nil, transactor, nil) if err != nil { return nil, err } return &OwnableTransactor{contract: contract}, nil } // NewOwnableFilterer creates a new log filterer instance of Ownable, bound to a specific deployed contract. func NewOwnableFilterer(address common.Address, filterer bind.ContractFilterer) (*OwnableFilterer, error) { contract, err := bindOwnable(address, nil, nil, filterer) if err != nil { return nil, err } return &OwnableFilterer{contract: contract}, nil } // bindOwnable binds a generic wrapper to an already deployed contract. func bindOwnable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(OwnableABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Ownable *OwnableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Ownable.Contract.OwnableCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Ownable *OwnableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Ownable.Contract.OwnableTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Ownable *OwnableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Ownable.Contract.OwnableTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Ownable *OwnableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Ownable.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Ownable *OwnableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Ownable.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Ownable *OwnableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Ownable.Contract.contract.Transact(opts, method, params...) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) func (_Ownable *OwnableCaller) Owner(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _Ownable.contract.Call(opts, &out, "owner") if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) func (_Ownable *OwnableSession) Owner() (common.Address, error) { return _Ownable.Contract.Owner(&_Ownable.CallOpts) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) func (_Ownable *OwnableCallerSession) Owner() (common.Address, error) { return _Ownable.Contract.Owner(&_Ownable.CallOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_Ownable *OwnableTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { return _Ownable.contract.Transact(opts, "renounceOwnership") } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_Ownable *OwnableSession) RenounceOwnership() (*types.Transaction, error) { return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_Ownable *OwnableTransactorSession) RenounceOwnership() (*types.Transaction, error) { return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_Ownable *OwnableTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { return _Ownable.contract.Transact(opts, "transferOwnership", newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_Ownable *OwnableSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_Ownable *OwnableTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner) } // OwnableOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the Ownable contract. type OwnableOwnershipTransferredIterator struct { Event *OwnableOwnershipTransferred // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OwnableOwnershipTransferredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OwnableOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OwnableOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OwnableOwnershipTransferredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OwnableOwnershipTransferredIterator) Close() error { it.sub.Unsubscribe() return nil } // OwnableOwnershipTransferred represents a OwnershipTransferred event raised by the Ownable contract. type OwnableOwnershipTransferred struct { PreviousOwner common.Address NewOwner common.Address Raw types.Log // Blockchain specific contextual infos } // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) func (_Ownable *OwnableFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*OwnableOwnershipTransferredIterator, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _Ownable.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return &OwnableOwnershipTransferredIterator{contract: _Ownable.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil } // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) func (_Ownable *OwnableFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *OwnableOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _Ownable.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OwnableOwnershipTransferred) if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) func (_Ownable *OwnableFilterer) ParseOwnershipTransferred(log types.Log) (*OwnableOwnershipTransferred, error) { event := new(OwnableOwnershipTransferred) if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return nil, err } event.Raw = log return event, nil } // OwnableUpgradeableMetaData contains all meta data concerning the OwnableUpgradeable contract. var OwnableUpgradeableMetaData = &bind.MetaData{ ABI: "[{\"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\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "8da5cb5b": "owner()", "715018a6": "renounceOwnership()", "f2fde38b": "transferOwnership(address)", }, } // OwnableUpgradeableABI is the input ABI used to generate the binding from. // Deprecated: Use OwnableUpgradeableMetaData.ABI instead. var OwnableUpgradeableABI = OwnableUpgradeableMetaData.ABI // Deprecated: Use OwnableUpgradeableMetaData.Sigs instead. // OwnableUpgradeableFuncSigs maps the 4-byte function signature to its string representation. var OwnableUpgradeableFuncSigs = OwnableUpgradeableMetaData.Sigs // OwnableUpgradeable is an auto generated Go binding around an Ethereum contract. type OwnableUpgradeable struct { OwnableUpgradeableCaller // Read-only binding to the contract OwnableUpgradeableTransactor // Write-only binding to the contract OwnableUpgradeableFilterer // Log filterer for contract events } // OwnableUpgradeableCaller is an auto generated read-only Go binding around an Ethereum contract. type OwnableUpgradeableCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OwnableUpgradeableTransactor is an auto generated write-only Go binding around an Ethereum contract. type OwnableUpgradeableTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OwnableUpgradeableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type OwnableUpgradeableFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OwnableUpgradeableSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type OwnableUpgradeableSession struct { Contract *OwnableUpgradeable // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // OwnableUpgradeableCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type OwnableUpgradeableCallerSession struct { Contract *OwnableUpgradeableCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // OwnableUpgradeableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type OwnableUpgradeableTransactorSession struct { Contract *OwnableUpgradeableTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // OwnableUpgradeableRaw is an auto generated low-level Go binding around an Ethereum contract. type OwnableUpgradeableRaw struct { Contract *OwnableUpgradeable // Generic contract binding to access the raw methods on } // OwnableUpgradeableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type OwnableUpgradeableCallerRaw struct { Contract *OwnableUpgradeableCaller // Generic read-only contract binding to access the raw methods on } // OwnableUpgradeableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type OwnableUpgradeableTransactorRaw struct { Contract *OwnableUpgradeableTransactor // Generic write-only contract binding to access the raw methods on } // NewOwnableUpgradeable creates a new instance of OwnableUpgradeable, bound to a specific deployed contract. func NewOwnableUpgradeable(address common.Address, backend bind.ContractBackend) (*OwnableUpgradeable, error) { contract, err := bindOwnableUpgradeable(address, backend, backend, backend) if err != nil { return nil, err } return &OwnableUpgradeable{OwnableUpgradeableCaller: OwnableUpgradeableCaller{contract: contract}, OwnableUpgradeableTransactor: OwnableUpgradeableTransactor{contract: contract}, OwnableUpgradeableFilterer: OwnableUpgradeableFilterer{contract: contract}}, nil } // NewOwnableUpgradeableCaller creates a new read-only instance of OwnableUpgradeable, bound to a specific deployed contract. func NewOwnableUpgradeableCaller(address common.Address, caller bind.ContractCaller) (*OwnableUpgradeableCaller, error) { contract, err := bindOwnableUpgradeable(address, caller, nil, nil) if err != nil { return nil, err } return &OwnableUpgradeableCaller{contract: contract}, nil } // NewOwnableUpgradeableTransactor creates a new write-only instance of OwnableUpgradeable, bound to a specific deployed contract. func NewOwnableUpgradeableTransactor(address common.Address, transactor bind.ContractTransactor) (*OwnableUpgradeableTransactor, error) { contract, err := bindOwnableUpgradeable(address, nil, transactor, nil) if err != nil { return nil, err } return &OwnableUpgradeableTransactor{contract: contract}, nil } // NewOwnableUpgradeableFilterer creates a new log filterer instance of OwnableUpgradeable, bound to a specific deployed contract. func NewOwnableUpgradeableFilterer(address common.Address, filterer bind.ContractFilterer) (*OwnableUpgradeableFilterer, error) { contract, err := bindOwnableUpgradeable(address, nil, nil, filterer) if err != nil { return nil, err } return &OwnableUpgradeableFilterer{contract: contract}, nil } // bindOwnableUpgradeable binds a generic wrapper to an already deployed contract. func bindOwnableUpgradeable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(OwnableUpgradeableABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_OwnableUpgradeable *OwnableUpgradeableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _OwnableUpgradeable.Contract.OwnableUpgradeableCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_OwnableUpgradeable *OwnableUpgradeableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _OwnableUpgradeable.Contract.OwnableUpgradeableTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_OwnableUpgradeable *OwnableUpgradeableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _OwnableUpgradeable.Contract.OwnableUpgradeableTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_OwnableUpgradeable *OwnableUpgradeableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _OwnableUpgradeable.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_OwnableUpgradeable *OwnableUpgradeableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _OwnableUpgradeable.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_OwnableUpgradeable *OwnableUpgradeableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _OwnableUpgradeable.Contract.contract.Transact(opts, method, params...) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) func (_OwnableUpgradeable *OwnableUpgradeableCaller) Owner(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _OwnableUpgradeable.contract.Call(opts, &out, "owner") if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) func (_OwnableUpgradeable *OwnableUpgradeableSession) Owner() (common.Address, error) { return _OwnableUpgradeable.Contract.Owner(&_OwnableUpgradeable.CallOpts) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) func (_OwnableUpgradeable *OwnableUpgradeableCallerSession) Owner() (common.Address, error) { return _OwnableUpgradeable.Contract.Owner(&_OwnableUpgradeable.CallOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_OwnableUpgradeable *OwnableUpgradeableTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { return _OwnableUpgradeable.contract.Transact(opts, "renounceOwnership") } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_OwnableUpgradeable *OwnableUpgradeableSession) RenounceOwnership() (*types.Transaction, error) { return _OwnableUpgradeable.Contract.RenounceOwnership(&_OwnableUpgradeable.TransactOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_OwnableUpgradeable *OwnableUpgradeableTransactorSession) RenounceOwnership() (*types.Transaction, error) { return _OwnableUpgradeable.Contract.RenounceOwnership(&_OwnableUpgradeable.TransactOpts) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_OwnableUpgradeable *OwnableUpgradeableTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { return _OwnableUpgradeable.contract.Transact(opts, "transferOwnership", newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_OwnableUpgradeable *OwnableUpgradeableSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _OwnableUpgradeable.Contract.TransferOwnership(&_OwnableUpgradeable.TransactOpts, newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_OwnableUpgradeable *OwnableUpgradeableTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _OwnableUpgradeable.Contract.TransferOwnership(&_OwnableUpgradeable.TransactOpts, newOwner) } // OwnableUpgradeableInitializedIterator is returned from FilterInitialized and is used to iterate over the raw logs and unpacked data for Initialized events raised by the OwnableUpgradeable contract. type OwnableUpgradeableInitializedIterator struct { Event *OwnableUpgradeableInitialized // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OwnableUpgradeableInitializedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OwnableUpgradeableInitialized) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OwnableUpgradeableInitialized) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OwnableUpgradeableInitializedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OwnableUpgradeableInitializedIterator) Close() error { it.sub.Unsubscribe() return nil } // OwnableUpgradeableInitialized represents a Initialized event raised by the OwnableUpgradeable contract. type OwnableUpgradeableInitialized struct { Version uint8 Raw types.Log // Blockchain specific contextual infos } // FilterInitialized is a free log retrieval operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. // // Solidity: event Initialized(uint8 version) func (_OwnableUpgradeable *OwnableUpgradeableFilterer) FilterInitialized(opts *bind.FilterOpts) (*OwnableUpgradeableInitializedIterator, error) { logs, sub, err := _OwnableUpgradeable.contract.FilterLogs(opts, "Initialized") if err != nil { return nil, err } return &OwnableUpgradeableInitializedIterator{contract: _OwnableUpgradeable.contract, event: "Initialized", logs: logs, sub: sub}, nil } // WatchInitialized is a free log subscription operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. // // Solidity: event Initialized(uint8 version) func (_OwnableUpgradeable *OwnableUpgradeableFilterer) WatchInitialized(opts *bind.WatchOpts, sink chan<- *OwnableUpgradeableInitialized) (event.Subscription, error) { logs, sub, err := _OwnableUpgradeable.contract.WatchLogs(opts, "Initialized") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OwnableUpgradeableInitialized) if err := _OwnableUpgradeable.contract.UnpackLog(event, "Initialized", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseInitialized is a log parse operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. // // Solidity: event Initialized(uint8 version) func (_OwnableUpgradeable *OwnableUpgradeableFilterer) ParseInitialized(log types.Log) (*OwnableUpgradeableInitialized, error) { event := new(OwnableUpgradeableInitialized) if err := _OwnableUpgradeable.contract.UnpackLog(event, "Initialized", log); err != nil { return nil, err } event.Raw = log return event, nil } // OwnableUpgradeableOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the OwnableUpgradeable contract. type OwnableUpgradeableOwnershipTransferredIterator struct { Event *OwnableUpgradeableOwnershipTransferred // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OwnableUpgradeableOwnershipTransferredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OwnableUpgradeableOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OwnableUpgradeableOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OwnableUpgradeableOwnershipTransferredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OwnableUpgradeableOwnershipTransferredIterator) Close() error { it.sub.Unsubscribe() return nil } // OwnableUpgradeableOwnershipTransferred represents a OwnershipTransferred event raised by the OwnableUpgradeable contract. type OwnableUpgradeableOwnershipTransferred struct { PreviousOwner common.Address NewOwner common.Address Raw types.Log // Blockchain specific contextual infos } // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) func (_OwnableUpgradeable *OwnableUpgradeableFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*OwnableUpgradeableOwnershipTransferredIterator, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _OwnableUpgradeable.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return &OwnableUpgradeableOwnershipTransferredIterator{contract: _OwnableUpgradeable.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil } // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) func (_OwnableUpgradeable *OwnableUpgradeableFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *OwnableUpgradeableOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _OwnableUpgradeable.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OwnableUpgradeableOwnershipTransferred) if err := _OwnableUpgradeable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) func (_OwnableUpgradeable *OwnableUpgradeableFilterer) ParseOwnershipTransferred(log types.Log) (*OwnableUpgradeableOwnershipTransferred, error) { event := new(OwnableUpgradeableOwnershipTransferred) if err := _OwnableUpgradeable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return nil, err } event.Raw = log return event, nil } // ReportMetaData contains all meta data concerning the Report contract. var ReportMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208f5f066953ca6a49bcc7f8161c6c5a3727cdff7a8b3f887a1c83e36e76859dd464736f6c63430008110033", } // ReportABI is the input ABI used to generate the binding from. // Deprecated: Use ReportMetaData.ABI instead. var ReportABI = ReportMetaData.ABI // ReportBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use ReportMetaData.Bin instead. var ReportBin = ReportMetaData.Bin // DeployReport deploys a new Ethereum contract, binding an instance of Report to it. func DeployReport(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Report, error) { parsed, err := ReportMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ReportBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &Report{ReportCaller: ReportCaller{contract: contract}, ReportTransactor: ReportTransactor{contract: contract}, ReportFilterer: ReportFilterer{contract: contract}}, nil } // Report is an auto generated Go binding around an Ethereum contract. type Report struct { ReportCaller // Read-only binding to the contract ReportTransactor // Write-only binding to the contract ReportFilterer // Log filterer for contract events } // ReportCaller is an auto generated read-only Go binding around an Ethereum contract. type ReportCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ReportTransactor is an auto generated write-only Go binding around an Ethereum contract. type ReportTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ReportFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type ReportFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ReportSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type ReportSession struct { Contract *Report // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ReportCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type ReportCallerSession struct { Contract *ReportCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // ReportTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type ReportTransactorSession struct { Contract *ReportTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ReportRaw is an auto generated low-level Go binding around an Ethereum contract. type ReportRaw struct { Contract *Report // Generic contract binding to access the raw methods on } // ReportCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type ReportCallerRaw struct { Contract *ReportCaller // Generic read-only contract binding to access the raw methods on } // ReportTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type ReportTransactorRaw struct { Contract *ReportTransactor // Generic write-only contract binding to access the raw methods on } // NewReport creates a new instance of Report, bound to a specific deployed contract. func NewReport(address common.Address, backend bind.ContractBackend) (*Report, error) { contract, err := bindReport(address, backend, backend, backend) if err != nil { return nil, err } return &Report{ReportCaller: ReportCaller{contract: contract}, ReportTransactor: ReportTransactor{contract: contract}, ReportFilterer: ReportFilterer{contract: contract}}, nil } // NewReportCaller creates a new read-only instance of Report, bound to a specific deployed contract. func NewReportCaller(address common.Address, caller bind.ContractCaller) (*ReportCaller, error) { contract, err := bindReport(address, caller, nil, nil) if err != nil { return nil, err } return &ReportCaller{contract: contract}, nil } // NewReportTransactor creates a new write-only instance of Report, bound to a specific deployed contract. func NewReportTransactor(address common.Address, transactor bind.ContractTransactor) (*ReportTransactor, error) { contract, err := bindReport(address, nil, transactor, nil) if err != nil { return nil, err } return &ReportTransactor{contract: contract}, nil } // NewReportFilterer creates a new log filterer instance of Report, bound to a specific deployed contract. func NewReportFilterer(address common.Address, filterer bind.ContractFilterer) (*ReportFilterer, error) { contract, err := bindReport(address, nil, nil, filterer) if err != nil { return nil, err } return &ReportFilterer{contract: contract}, nil } // bindReport binds a generic wrapper to an already deployed contract. func bindReport(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(ReportABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Report *ReportRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Report.Contract.ReportCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Report *ReportRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Report.Contract.ReportTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Report *ReportRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Report.Contract.ReportTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Report *ReportCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Report.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Report *ReportTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Report.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Report *ReportTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Report.Contract.contract.Transact(opts, method, params...) } // ReportHubMetaData contains all meta data concerning the ReportHub contract. var ReportHubMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"GuardAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"GuardRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"domain\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"}],\"name\":\"NotaryAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"domain\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"notary\",\"type\":\"address\"}],\"name\":\"NotaryRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_report\",\"type\":\"bytes\"}],\"name\":\"submitReport\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "5815869d": "submitReport(bytes)", }, } // ReportHubABI is the input ABI used to generate the binding from. // Deprecated: Use ReportHubMetaData.ABI instead. var ReportHubABI = ReportHubMetaData.ABI // Deprecated: Use ReportHubMetaData.Sigs instead. // ReportHubFuncSigs maps the 4-byte function signature to its string representation. var ReportHubFuncSigs = ReportHubMetaData.Sigs // ReportHub is an auto generated Go binding around an Ethereum contract. type ReportHub struct { ReportHubCaller // Read-only binding to the contract ReportHubTransactor // Write-only binding to the contract ReportHubFilterer // Log filterer for contract events } // ReportHubCaller is an auto generated read-only Go binding around an Ethereum contract. type ReportHubCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ReportHubTransactor is an auto generated write-only Go binding around an Ethereum contract. type ReportHubTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ReportHubFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type ReportHubFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ReportHubSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type ReportHubSession struct { Contract *ReportHub // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ReportHubCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type ReportHubCallerSession struct { Contract *ReportHubCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // ReportHubTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type ReportHubTransactorSession struct { Contract *ReportHubTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ReportHubRaw is an auto generated low-level Go binding around an Ethereum contract. type ReportHubRaw struct { Contract *ReportHub // Generic contract binding to access the raw methods on } // ReportHubCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type ReportHubCallerRaw struct { Contract *ReportHubCaller // Generic read-only contract binding to access the raw methods on } // ReportHubTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type ReportHubTransactorRaw struct { Contract *ReportHubTransactor // Generic write-only contract binding to access the raw methods on } // NewReportHub creates a new instance of ReportHub, bound to a specific deployed contract. func NewReportHub(address common.Address, backend bind.ContractBackend) (*ReportHub, error) { contract, err := bindReportHub(address, backend, backend, backend) if err != nil { return nil, err } return &ReportHub{ReportHubCaller: ReportHubCaller{contract: contract}, ReportHubTransactor: ReportHubTransactor{contract: contract}, ReportHubFilterer: ReportHubFilterer{contract: contract}}, nil } // NewReportHubCaller creates a new read-only instance of ReportHub, bound to a specific deployed contract. func NewReportHubCaller(address common.Address, caller bind.ContractCaller) (*ReportHubCaller, error) { contract, err := bindReportHub(address, caller, nil, nil) if err != nil { return nil, err } return &ReportHubCaller{contract: contract}, nil } // NewReportHubTransactor creates a new write-only instance of ReportHub, bound to a specific deployed contract. func NewReportHubTransactor(address common.Address, transactor bind.ContractTransactor) (*ReportHubTransactor, error) { contract, err := bindReportHub(address, nil, transactor, nil) if err != nil { return nil, err } return &ReportHubTransactor{contract: contract}, nil } // NewReportHubFilterer creates a new log filterer instance of ReportHub, bound to a specific deployed contract. func NewReportHubFilterer(address common.Address, filterer bind.ContractFilterer) (*ReportHubFilterer, error) { contract, err := bindReportHub(address, nil, nil, filterer) if err != nil { return nil, err } return &ReportHubFilterer{contract: contract}, nil } // bindReportHub binds a generic wrapper to an already deployed contract. func bindReportHub(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(ReportHubABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ReportHub *ReportHubRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _ReportHub.Contract.ReportHubCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ReportHub *ReportHubRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ReportHub.Contract.ReportHubTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ReportHub *ReportHubRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ReportHub.Contract.ReportHubTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ReportHub *ReportHubCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _ReportHub.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ReportHub *ReportHubTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ReportHub.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ReportHub *ReportHubTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ReportHub.Contract.contract.Transact(opts, method, params...) } // SubmitReport is a paid mutator transaction binding the contract method 0x5815869d. // // Solidity: function submitReport(bytes _report) returns(bool) func (_ReportHub *ReportHubTransactor) SubmitReport(opts *bind.TransactOpts, _report []byte) (*types.Transaction, error) { return _ReportHub.contract.Transact(opts, "submitReport", _report) } // SubmitReport is a paid mutator transaction binding the contract method 0x5815869d. // // Solidity: function submitReport(bytes _report) returns(bool) func (_ReportHub *ReportHubSession) SubmitReport(_report []byte) (*types.Transaction, error) { return _ReportHub.Contract.SubmitReport(&_ReportHub.TransactOpts, _report) } // SubmitReport is a paid mutator transaction binding the contract method 0x5815869d. // // Solidity: function submitReport(bytes _report) returns(bool) func (_ReportHub *ReportHubTransactorSession) SubmitReport(_report []byte) (*types.Transaction, error) { return _ReportHub.Contract.SubmitReport(&_ReportHub.TransactOpts, _report) } // ReportHubGuardAddedIterator is returned from FilterGuardAdded and is used to iterate over the raw logs and unpacked data for GuardAdded events raised by the ReportHub contract. type ReportHubGuardAddedIterator struct { Event *ReportHubGuardAdded // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ReportHubGuardAddedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ReportHubGuardAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ReportHubGuardAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ReportHubGuardAddedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ReportHubGuardAddedIterator) Close() error { it.sub.Unsubscribe() return nil } // ReportHubGuardAdded represents a GuardAdded event raised by the ReportHub contract. type ReportHubGuardAdded struct { Guard common.Address Raw types.Log // Blockchain specific contextual infos } // FilterGuardAdded is a free log retrieval operation binding the contract event 0x93405f05cd04f0d1bd875f2de00f1f3890484ffd0589248953bdfd29ba7f2f59. // // Solidity: event GuardAdded(address guard) func (_ReportHub *ReportHubFilterer) FilterGuardAdded(opts *bind.FilterOpts) (*ReportHubGuardAddedIterator, error) { logs, sub, err := _ReportHub.contract.FilterLogs(opts, "GuardAdded") if err != nil { return nil, err } return &ReportHubGuardAddedIterator{contract: _ReportHub.contract, event: "GuardAdded", logs: logs, sub: sub}, nil } // WatchGuardAdded is a free log subscription operation binding the contract event 0x93405f05cd04f0d1bd875f2de00f1f3890484ffd0589248953bdfd29ba7f2f59. // // Solidity: event GuardAdded(address guard) func (_ReportHub *ReportHubFilterer) WatchGuardAdded(opts *bind.WatchOpts, sink chan<- *ReportHubGuardAdded) (event.Subscription, error) { logs, sub, err := _ReportHub.contract.WatchLogs(opts, "GuardAdded") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ReportHubGuardAdded) if err := _ReportHub.contract.UnpackLog(event, "GuardAdded", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseGuardAdded is a log parse operation binding the contract event 0x93405f05cd04f0d1bd875f2de00f1f3890484ffd0589248953bdfd29ba7f2f59. // // Solidity: event GuardAdded(address guard) func (_ReportHub *ReportHubFilterer) ParseGuardAdded(log types.Log) (*ReportHubGuardAdded, error) { event := new(ReportHubGuardAdded) if err := _ReportHub.contract.UnpackLog(event, "GuardAdded", log); err != nil { return nil, err } event.Raw = log return event, nil } // ReportHubGuardRemovedIterator is returned from FilterGuardRemoved and is used to iterate over the raw logs and unpacked data for GuardRemoved events raised by the ReportHub contract. type ReportHubGuardRemovedIterator struct { Event *ReportHubGuardRemoved // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ReportHubGuardRemovedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ReportHubGuardRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ReportHubGuardRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ReportHubGuardRemovedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ReportHubGuardRemovedIterator) Close() error { it.sub.Unsubscribe() return nil } // ReportHubGuardRemoved represents a GuardRemoved event raised by the ReportHub contract. type ReportHubGuardRemoved struct { Guard common.Address Raw types.Log // Blockchain specific contextual infos } // FilterGuardRemoved is a free log retrieval operation binding the contract event 0x59926e0a78d12238b668b31c8e3f6ece235a59a00ede111d883e255b68c4d048. // // Solidity: event GuardRemoved(address guard) func (_ReportHub *ReportHubFilterer) FilterGuardRemoved(opts *bind.FilterOpts) (*ReportHubGuardRemovedIterator, error) { logs, sub, err := _ReportHub.contract.FilterLogs(opts, "GuardRemoved") if err != nil { return nil, err } return &ReportHubGuardRemovedIterator{contract: _ReportHub.contract, event: "GuardRemoved", logs: logs, sub: sub}, nil } // WatchGuardRemoved is a free log subscription operation binding the contract event 0x59926e0a78d12238b668b31c8e3f6ece235a59a00ede111d883e255b68c4d048. // // Solidity: event GuardRemoved(address guard) func (_ReportHub *ReportHubFilterer) WatchGuardRemoved(opts *bind.WatchOpts, sink chan<- *ReportHubGuardRemoved) (event.Subscription, error) { logs, sub, err := _ReportHub.contract.WatchLogs(opts, "GuardRemoved") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ReportHubGuardRemoved) if err := _ReportHub.contract.UnpackLog(event, "GuardRemoved", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseGuardRemoved is a log parse operation binding the contract event 0x59926e0a78d12238b668b31c8e3f6ece235a59a00ede111d883e255b68c4d048. // // Solidity: event GuardRemoved(address guard) func (_ReportHub *ReportHubFilterer) ParseGuardRemoved(log types.Log) (*ReportHubGuardRemoved, error) { event := new(ReportHubGuardRemoved) if err := _ReportHub.contract.UnpackLog(event, "GuardRemoved", log); err != nil { return nil, err } event.Raw = log return event, nil } // ReportHubNotaryAddedIterator is returned from FilterNotaryAdded and is used to iterate over the raw logs and unpacked data for NotaryAdded events raised by the ReportHub contract. type ReportHubNotaryAddedIterator struct { Event *ReportHubNotaryAdded // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ReportHubNotaryAddedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ReportHubNotaryAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ReportHubNotaryAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ReportHubNotaryAddedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ReportHubNotaryAddedIterator) Close() error { it.sub.Unsubscribe() return nil } // ReportHubNotaryAdded represents a NotaryAdded event raised by the ReportHub contract. type ReportHubNotaryAdded struct { Domain uint32 Notary common.Address Raw types.Log // Blockchain specific contextual infos } // FilterNotaryAdded is a free log retrieval operation binding the contract event 0x62d8d15324cce2626119bb61d595f59e655486b1ab41b52c0793d814fe03c355. // // Solidity: event NotaryAdded(uint32 indexed domain, address notary) func (_ReportHub *ReportHubFilterer) FilterNotaryAdded(opts *bind.FilterOpts, domain []uint32) (*ReportHubNotaryAddedIterator, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _ReportHub.contract.FilterLogs(opts, "NotaryAdded", domainRule) if err != nil { return nil, err } return &ReportHubNotaryAddedIterator{contract: _ReportHub.contract, event: "NotaryAdded", logs: logs, sub: sub}, nil } // WatchNotaryAdded is a free log subscription operation binding the contract event 0x62d8d15324cce2626119bb61d595f59e655486b1ab41b52c0793d814fe03c355. // // Solidity: event NotaryAdded(uint32 indexed domain, address notary) func (_ReportHub *ReportHubFilterer) WatchNotaryAdded(opts *bind.WatchOpts, sink chan<- *ReportHubNotaryAdded, domain []uint32) (event.Subscription, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _ReportHub.contract.WatchLogs(opts, "NotaryAdded", domainRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ReportHubNotaryAdded) if err := _ReportHub.contract.UnpackLog(event, "NotaryAdded", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseNotaryAdded is a log parse operation binding the contract event 0x62d8d15324cce2626119bb61d595f59e655486b1ab41b52c0793d814fe03c355. // // Solidity: event NotaryAdded(uint32 indexed domain, address notary) func (_ReportHub *ReportHubFilterer) ParseNotaryAdded(log types.Log) (*ReportHubNotaryAdded, error) { event := new(ReportHubNotaryAdded) if err := _ReportHub.contract.UnpackLog(event, "NotaryAdded", log); err != nil { return nil, err } event.Raw = log return event, nil } // ReportHubNotaryRemovedIterator is returned from FilterNotaryRemoved and is used to iterate over the raw logs and unpacked data for NotaryRemoved events raised by the ReportHub contract. type ReportHubNotaryRemovedIterator struct { Event *ReportHubNotaryRemoved // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ReportHubNotaryRemovedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ReportHubNotaryRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ReportHubNotaryRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ReportHubNotaryRemovedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ReportHubNotaryRemovedIterator) Close() error { it.sub.Unsubscribe() return nil } // ReportHubNotaryRemoved represents a NotaryRemoved event raised by the ReportHub contract. type ReportHubNotaryRemoved struct { Domain uint32 Notary common.Address Raw types.Log // Blockchain specific contextual infos } // FilterNotaryRemoved is a free log retrieval operation binding the contract event 0x3e006f5b97c04e82df349064761281b0981d45330c2f3e57cc032203b0e31b6b. // // Solidity: event NotaryRemoved(uint32 indexed domain, address notary) func (_ReportHub *ReportHubFilterer) FilterNotaryRemoved(opts *bind.FilterOpts, domain []uint32) (*ReportHubNotaryRemovedIterator, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _ReportHub.contract.FilterLogs(opts, "NotaryRemoved", domainRule) if err != nil { return nil, err } return &ReportHubNotaryRemovedIterator{contract: _ReportHub.contract, event: "NotaryRemoved", logs: logs, sub: sub}, nil } // WatchNotaryRemoved is a free log subscription operation binding the contract event 0x3e006f5b97c04e82df349064761281b0981d45330c2f3e57cc032203b0e31b6b. // // Solidity: event NotaryRemoved(uint32 indexed domain, address notary) func (_ReportHub *ReportHubFilterer) WatchNotaryRemoved(opts *bind.WatchOpts, sink chan<- *ReportHubNotaryRemoved, domain []uint32) (event.Subscription, error) { var domainRule []interface{} for _, domainItem := range domain { domainRule = append(domainRule, domainItem) } logs, sub, err := _ReportHub.contract.WatchLogs(opts, "NotaryRemoved", domainRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ReportHubNotaryRemoved) if err := _ReportHub.contract.UnpackLog(event, "NotaryRemoved", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseNotaryRemoved is a log parse operation binding the contract event 0x3e006f5b97c04e82df349064761281b0981d45330c2f3e57cc032203b0e31b6b. // // Solidity: event NotaryRemoved(uint32 indexed domain, address notary) func (_ReportHub *ReportHubFilterer) ParseNotaryRemoved(log types.Log) (*ReportHubNotaryRemoved, error) { event := new(ReportHubNotaryRemoved) if err := _ReportHub.contract.UnpackLog(event, "NotaryRemoved", log); err != nil { return nil, err } event.Raw = log return event, nil } // StringsMetaData contains all meta data concerning the Strings contract. var StringsMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220de225a65bd3e08f989a9d9a2c8776674788f867189ae1bfb6b9f5cc8d784833464736f6c63430008110033", } // StringsABI is the input ABI used to generate the binding from. // Deprecated: Use StringsMetaData.ABI instead. var StringsABI = StringsMetaData.ABI // StringsBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use StringsMetaData.Bin instead. var StringsBin = StringsMetaData.Bin // DeployStrings deploys a new Ethereum contract, binding an instance of Strings to it. func DeployStrings(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Strings, error) { parsed, err := StringsMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(StringsBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &Strings{StringsCaller: StringsCaller{contract: contract}, StringsTransactor: StringsTransactor{contract: contract}, StringsFilterer: StringsFilterer{contract: contract}}, nil } // Strings is an auto generated Go binding around an Ethereum contract. type Strings struct { StringsCaller // Read-only binding to the contract StringsTransactor // Write-only binding to the contract StringsFilterer // Log filterer for contract events } // StringsCaller is an auto generated read-only Go binding around an Ethereum contract. type StringsCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // StringsTransactor is an auto generated write-only Go binding around an Ethereum contract. type StringsTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // StringsFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type StringsFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // StringsSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type StringsSession struct { Contract *Strings // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // StringsCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type StringsCallerSession struct { Contract *StringsCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // StringsTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type StringsTransactorSession struct { Contract *StringsTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // StringsRaw is an auto generated low-level Go binding around an Ethereum contract. type StringsRaw struct { Contract *Strings // Generic contract binding to access the raw methods on } // StringsCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type StringsCallerRaw struct { Contract *StringsCaller // Generic read-only contract binding to access the raw methods on } // StringsTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type StringsTransactorRaw struct { Contract *StringsTransactor // Generic write-only contract binding to access the raw methods on } // NewStrings creates a new instance of Strings, bound to a specific deployed contract. func NewStrings(address common.Address, backend bind.ContractBackend) (*Strings, error) { contract, err := bindStrings(address, backend, backend, backend) if err != nil { return nil, err } return &Strings{StringsCaller: StringsCaller{contract: contract}, StringsTransactor: StringsTransactor{contract: contract}, StringsFilterer: StringsFilterer{contract: contract}}, nil } // NewStringsCaller creates a new read-only instance of Strings, bound to a specific deployed contract. func NewStringsCaller(address common.Address, caller bind.ContractCaller) (*StringsCaller, error) { contract, err := bindStrings(address, caller, nil, nil) if err != nil { return nil, err } return &StringsCaller{contract: contract}, nil } // NewStringsTransactor creates a new write-only instance of Strings, bound to a specific deployed contract. func NewStringsTransactor(address common.Address, transactor bind.ContractTransactor) (*StringsTransactor, error) { contract, err := bindStrings(address, nil, transactor, nil) if err != nil { return nil, err } return &StringsTransactor{contract: contract}, nil } // NewStringsFilterer creates a new log filterer instance of Strings, bound to a specific deployed contract. func NewStringsFilterer(address common.Address, filterer bind.ContractFilterer) (*StringsFilterer, error) { contract, err := bindStrings(address, nil, nil, filterer) if err != nil { return nil, err } return &StringsFilterer{contract: contract}, nil } // bindStrings binds a generic wrapper to an already deployed contract. func bindStrings(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(StringsABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Strings *StringsRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Strings.Contract.StringsCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Strings *StringsRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Strings.Contract.StringsTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Strings *StringsRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Strings.Contract.StringsTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Strings *StringsCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Strings.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Strings *StringsTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Strings.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Strings *StringsTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Strings.Contract.contract.Transact(opts, method, params...) } // SynapseTypesMetaData contains all meta data concerning the SynapseTypes contract. var SynapseTypesMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208358f26d3b4408357371738317cd536660abae6a0fb05e42b77baa9a469fabd564736f6c63430008110033", } // SynapseTypesABI is the input ABI used to generate the binding from. // Deprecated: Use SynapseTypesMetaData.ABI instead. var SynapseTypesABI = SynapseTypesMetaData.ABI // SynapseTypesBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use SynapseTypesMetaData.Bin instead. var SynapseTypesBin = SynapseTypesMetaData.Bin // DeploySynapseTypes deploys a new Ethereum contract, binding an instance of SynapseTypes to it. func DeploySynapseTypes(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SynapseTypes, error) { parsed, err := SynapseTypesMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(SynapseTypesBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &SynapseTypes{SynapseTypesCaller: SynapseTypesCaller{contract: contract}, SynapseTypesTransactor: SynapseTypesTransactor{contract: contract}, SynapseTypesFilterer: SynapseTypesFilterer{contract: contract}}, nil } // SynapseTypes is an auto generated Go binding around an Ethereum contract. type SynapseTypes struct { SynapseTypesCaller // Read-only binding to the contract SynapseTypesTransactor // Write-only binding to the contract SynapseTypesFilterer // Log filterer for contract events } // SynapseTypesCaller is an auto generated read-only Go binding around an Ethereum contract. type SynapseTypesCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // SynapseTypesTransactor is an auto generated write-only Go binding around an Ethereum contract. type SynapseTypesTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // SynapseTypesFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type SynapseTypesFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // SynapseTypesSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type SynapseTypesSession struct { Contract *SynapseTypes // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // SynapseTypesCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type SynapseTypesCallerSession struct { Contract *SynapseTypesCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // SynapseTypesTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type SynapseTypesTransactorSession struct { Contract *SynapseTypesTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // SynapseTypesRaw is an auto generated low-level Go binding around an Ethereum contract. type SynapseTypesRaw struct { Contract *SynapseTypes // Generic contract binding to access the raw methods on } // SynapseTypesCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type SynapseTypesCallerRaw struct { Contract *SynapseTypesCaller // Generic read-only contract binding to access the raw methods on } // SynapseTypesTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type SynapseTypesTransactorRaw struct { Contract *SynapseTypesTransactor // Generic write-only contract binding to access the raw methods on } // NewSynapseTypes creates a new instance of SynapseTypes, bound to a specific deployed contract. func NewSynapseTypes(address common.Address, backend bind.ContractBackend) (*SynapseTypes, error) { contract, err := bindSynapseTypes(address, backend, backend, backend) if err != nil { return nil, err } return &SynapseTypes{SynapseTypesCaller: SynapseTypesCaller{contract: contract}, SynapseTypesTransactor: SynapseTypesTransactor{contract: contract}, SynapseTypesFilterer: SynapseTypesFilterer{contract: contract}}, nil } // NewSynapseTypesCaller creates a new read-only instance of SynapseTypes, bound to a specific deployed contract. func NewSynapseTypesCaller(address common.Address, caller bind.ContractCaller) (*SynapseTypesCaller, error) { contract, err := bindSynapseTypes(address, caller, nil, nil) if err != nil { return nil, err } return &SynapseTypesCaller{contract: contract}, nil } // NewSynapseTypesTransactor creates a new write-only instance of SynapseTypes, bound to a specific deployed contract. func NewSynapseTypesTransactor(address common.Address, transactor bind.ContractTransactor) (*SynapseTypesTransactor, error) { contract, err := bindSynapseTypes(address, nil, transactor, nil) if err != nil { return nil, err } return &SynapseTypesTransactor{contract: contract}, nil } // NewSynapseTypesFilterer creates a new log filterer instance of SynapseTypes, bound to a specific deployed contract. func NewSynapseTypesFilterer(address common.Address, filterer bind.ContractFilterer) (*SynapseTypesFilterer, error) { contract, err := bindSynapseTypes(address, nil, nil, filterer) if err != nil { return nil, err } return &SynapseTypesFilterer{contract: contract}, nil } // bindSynapseTypes binds a generic wrapper to an already deployed contract. func bindSynapseTypes(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(SynapseTypesABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_SynapseTypes *SynapseTypesRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _SynapseTypes.Contract.SynapseTypesCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_SynapseTypes *SynapseTypesRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _SynapseTypes.Contract.SynapseTypesTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_SynapseTypes *SynapseTypesRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _SynapseTypes.Contract.SynapseTypesTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_SynapseTypes *SynapseTypesCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _SynapseTypes.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_SynapseTypes *SynapseTypesTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _SynapseTypes.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_SynapseTypes *SynapseTypesTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _SynapseTypes.Contract.contract.Transact(opts, method, params...) } // SystemCallMetaData contains all meta data concerning the SystemCall contract. var SystemCallMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202041ebdb46c3ac6fbcaa2b161aba5eeca0dcaeec7918e493454976af27d5822764736f6c63430008110033", } // SystemCallABI is the input ABI used to generate the binding from. // Deprecated: Use SystemCallMetaData.ABI instead. var SystemCallABI = SystemCallMetaData.ABI // SystemCallBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use SystemCallMetaData.Bin instead. var SystemCallBin = SystemCallMetaData.Bin // DeploySystemCall deploys a new Ethereum contract, binding an instance of SystemCall to it. func DeploySystemCall(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SystemCall, error) { parsed, err := SystemCallMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(SystemCallBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &SystemCall{SystemCallCaller: SystemCallCaller{contract: contract}, SystemCallTransactor: SystemCallTransactor{contract: contract}, SystemCallFilterer: SystemCallFilterer{contract: contract}}, nil } // SystemCall is an auto generated Go binding around an Ethereum contract. type SystemCall struct { SystemCallCaller // Read-only binding to the contract SystemCallTransactor // Write-only binding to the contract SystemCallFilterer // Log filterer for contract events } // SystemCallCaller is an auto generated read-only Go binding around an Ethereum contract. type SystemCallCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // SystemCallTransactor is an auto generated write-only Go binding around an Ethereum contract. type SystemCallTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // SystemCallFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type SystemCallFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // SystemCallSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type SystemCallSession struct { Contract *SystemCall // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // SystemCallCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type SystemCallCallerSession struct { Contract *SystemCallCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // SystemCallTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type SystemCallTransactorSession struct { Contract *SystemCallTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // SystemCallRaw is an auto generated low-level Go binding around an Ethereum contract. type SystemCallRaw struct { Contract *SystemCall // Generic contract binding to access the raw methods on } // SystemCallCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type SystemCallCallerRaw struct { Contract *SystemCallCaller // Generic read-only contract binding to access the raw methods on } // SystemCallTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type SystemCallTransactorRaw struct { Contract *SystemCallTransactor // Generic write-only contract binding to access the raw methods on } // NewSystemCall creates a new instance of SystemCall, bound to a specific deployed contract. func NewSystemCall(address common.Address, backend bind.ContractBackend) (*SystemCall, error) { contract, err := bindSystemCall(address, backend, backend, backend) if err != nil { return nil, err } return &SystemCall{SystemCallCaller: SystemCallCaller{contract: contract}, SystemCallTransactor: SystemCallTransactor{contract: contract}, SystemCallFilterer: SystemCallFilterer{contract: contract}}, nil } // NewSystemCallCaller creates a new read-only instance of SystemCall, bound to a specific deployed contract. func NewSystemCallCaller(address common.Address, caller bind.ContractCaller) (*SystemCallCaller, error) { contract, err := bindSystemCall(address, caller, nil, nil) if err != nil { return nil, err } return &SystemCallCaller{contract: contract}, nil } // NewSystemCallTransactor creates a new write-only instance of SystemCall, bound to a specific deployed contract. func NewSystemCallTransactor(address common.Address, transactor bind.ContractTransactor) (*SystemCallTransactor, error) { contract, err := bindSystemCall(address, nil, transactor, nil) if err != nil { return nil, err } return &SystemCallTransactor{contract: contract}, nil } // NewSystemCallFilterer creates a new log filterer instance of SystemCall, bound to a specific deployed contract. func NewSystemCallFilterer(address common.Address, filterer bind.ContractFilterer) (*SystemCallFilterer, error) { contract, err := bindSystemCall(address, nil, nil, filterer) if err != nil { return nil, err } return &SystemCallFilterer{contract: contract}, nil } // bindSystemCall binds a generic wrapper to an already deployed contract. func bindSystemCall(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(SystemCallABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_SystemCall *SystemCallRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _SystemCall.Contract.SystemCallCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_SystemCall *SystemCallRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _SystemCall.Contract.SystemCallTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_SystemCall *SystemCallRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _SystemCall.Contract.SystemCallTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_SystemCall *SystemCallCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _SystemCall.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_SystemCall *SystemCallTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _SystemCall.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_SystemCall *SystemCallTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _SystemCall.Contract.contract.Transact(opts, method, params...) } // SystemContractMetaData contains all meta data concerning the SystemContract contract. var SystemContractMetaData = &bind.MetaData{ ABI: "[{\"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\":\"SYNAPSE_DOMAIN\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"localDomain\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractISystemRouter\",\"name\":\"_systemRouter\",\"type\":\"address\"}],\"name\":\"setSystemRouter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"systemRouter\",\"outputs\":[{\"internalType\":\"contractISystemRouter\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "bf61e67e": "SYNAPSE_DOMAIN()", "8d3638f4": "localDomain()", "8da5cb5b": "owner()", "715018a6": "renounceOwnership()", "fbde22f7": "setSystemRouter(address)", "529d1549": "systemRouter()", "f2fde38b": "transferOwnership(address)", }, } // SystemContractABI is the input ABI used to generate the binding from. // Deprecated: Use SystemContractMetaData.ABI instead. var SystemContractABI = SystemContractMetaData.ABI // Deprecated: Use SystemContractMetaData.Sigs instead. // SystemContractFuncSigs maps the 4-byte function signature to its string representation. var SystemContractFuncSigs = SystemContractMetaData.Sigs // SystemContract is an auto generated Go binding around an Ethereum contract. type SystemContract struct { SystemContractCaller // Read-only binding to the contract SystemContractTransactor // Write-only binding to the contract SystemContractFilterer // Log filterer for contract events } // SystemContractCaller is an auto generated read-only Go binding around an Ethereum contract. type SystemContractCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // SystemContractTransactor is an auto generated write-only Go binding around an Ethereum contract. type SystemContractTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // SystemContractFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type SystemContractFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // SystemContractSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type SystemContractSession struct { Contract *SystemContract // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // SystemContractCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type SystemContractCallerSession struct { Contract *SystemContractCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // SystemContractTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type SystemContractTransactorSession struct { Contract *SystemContractTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // SystemContractRaw is an auto generated low-level Go binding around an Ethereum contract. type SystemContractRaw struct { Contract *SystemContract // Generic contract binding to access the raw methods on } // SystemContractCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type SystemContractCallerRaw struct { Contract *SystemContractCaller // Generic read-only contract binding to access the raw methods on } // SystemContractTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type SystemContractTransactorRaw struct { Contract *SystemContractTransactor // Generic write-only contract binding to access the raw methods on } // NewSystemContract creates a new instance of SystemContract, bound to a specific deployed contract. func NewSystemContract(address common.Address, backend bind.ContractBackend) (*SystemContract, error) { contract, err := bindSystemContract(address, backend, backend, backend) if err != nil { return nil, err } return &SystemContract{SystemContractCaller: SystemContractCaller{contract: contract}, SystemContractTransactor: SystemContractTransactor{contract: contract}, SystemContractFilterer: SystemContractFilterer{contract: contract}}, nil } // NewSystemContractCaller creates a new read-only instance of SystemContract, bound to a specific deployed contract. func NewSystemContractCaller(address common.Address, caller bind.ContractCaller) (*SystemContractCaller, error) { contract, err := bindSystemContract(address, caller, nil, nil) if err != nil { return nil, err } return &SystemContractCaller{contract: contract}, nil } // NewSystemContractTransactor creates a new write-only instance of SystemContract, bound to a specific deployed contract. func NewSystemContractTransactor(address common.Address, transactor bind.ContractTransactor) (*SystemContractTransactor, error) { contract, err := bindSystemContract(address, nil, transactor, nil) if err != nil { return nil, err } return &SystemContractTransactor{contract: contract}, nil } // NewSystemContractFilterer creates a new log filterer instance of SystemContract, bound to a specific deployed contract. func NewSystemContractFilterer(address common.Address, filterer bind.ContractFilterer) (*SystemContractFilterer, error) { contract, err := bindSystemContract(address, nil, nil, filterer) if err != nil { return nil, err } return &SystemContractFilterer{contract: contract}, nil } // bindSystemContract binds a generic wrapper to an already deployed contract. func bindSystemContract(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(SystemContractABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_SystemContract *SystemContractRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _SystemContract.Contract.SystemContractCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_SystemContract *SystemContractRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _SystemContract.Contract.SystemContractTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_SystemContract *SystemContractRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _SystemContract.Contract.SystemContractTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_SystemContract *SystemContractCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _SystemContract.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_SystemContract *SystemContractTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _SystemContract.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_SystemContract *SystemContractTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _SystemContract.Contract.contract.Transact(opts, method, params...) } // SYNAPSEDOMAIN is a free data retrieval call binding the contract method 0xbf61e67e. // // Solidity: function SYNAPSE_DOMAIN() view returns(uint32) func (_SystemContract *SystemContractCaller) SYNAPSEDOMAIN(opts *bind.CallOpts) (uint32, error) { var out []interface{} err := _SystemContract.contract.Call(opts, &out, "SYNAPSE_DOMAIN") if err != nil { return *new(uint32), err } out0 := *abi.ConvertType(out[0], new(uint32)).(*uint32) return out0, err } // SYNAPSEDOMAIN is a free data retrieval call binding the contract method 0xbf61e67e. // // Solidity: function SYNAPSE_DOMAIN() view returns(uint32) func (_SystemContract *SystemContractSession) SYNAPSEDOMAIN() (uint32, error) { return _SystemContract.Contract.SYNAPSEDOMAIN(&_SystemContract.CallOpts) } // SYNAPSEDOMAIN is a free data retrieval call binding the contract method 0xbf61e67e. // // Solidity: function SYNAPSE_DOMAIN() view returns(uint32) func (_SystemContract *SystemContractCallerSession) SYNAPSEDOMAIN() (uint32, error) { return _SystemContract.Contract.SYNAPSEDOMAIN(&_SystemContract.CallOpts) } // LocalDomain is a free data retrieval call binding the contract method 0x8d3638f4. // // Solidity: function localDomain() view returns(uint32) func (_SystemContract *SystemContractCaller) LocalDomain(opts *bind.CallOpts) (uint32, error) { var out []interface{} err := _SystemContract.contract.Call(opts, &out, "localDomain") if err != nil { return *new(uint32), err } out0 := *abi.ConvertType(out[0], new(uint32)).(*uint32) return out0, err } // LocalDomain is a free data retrieval call binding the contract method 0x8d3638f4. // // Solidity: function localDomain() view returns(uint32) func (_SystemContract *SystemContractSession) LocalDomain() (uint32, error) { return _SystemContract.Contract.LocalDomain(&_SystemContract.CallOpts) } // LocalDomain is a free data retrieval call binding the contract method 0x8d3638f4. // // Solidity: function localDomain() view returns(uint32) func (_SystemContract *SystemContractCallerSession) LocalDomain() (uint32, error) { return _SystemContract.Contract.LocalDomain(&_SystemContract.CallOpts) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) func (_SystemContract *SystemContractCaller) Owner(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _SystemContract.contract.Call(opts, &out, "owner") if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) func (_SystemContract *SystemContractSession) Owner() (common.Address, error) { return _SystemContract.Contract.Owner(&_SystemContract.CallOpts) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) func (_SystemContract *SystemContractCallerSession) Owner() (common.Address, error) { return _SystemContract.Contract.Owner(&_SystemContract.CallOpts) } // SystemRouter is a free data retrieval call binding the contract method 0x529d1549. // // Solidity: function systemRouter() view returns(address) func (_SystemContract *SystemContractCaller) SystemRouter(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _SystemContract.contract.Call(opts, &out, "systemRouter") if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // SystemRouter is a free data retrieval call binding the contract method 0x529d1549. // // Solidity: function systemRouter() view returns(address) func (_SystemContract *SystemContractSession) SystemRouter() (common.Address, error) { return _SystemContract.Contract.SystemRouter(&_SystemContract.CallOpts) } // SystemRouter is a free data retrieval call binding the contract method 0x529d1549. // // Solidity: function systemRouter() view returns(address) func (_SystemContract *SystemContractCallerSession) SystemRouter() (common.Address, error) { return _SystemContract.Contract.SystemRouter(&_SystemContract.CallOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_SystemContract *SystemContractTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { return _SystemContract.contract.Transact(opts, "renounceOwnership") } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_SystemContract *SystemContractSession) RenounceOwnership() (*types.Transaction, error) { return _SystemContract.Contract.RenounceOwnership(&_SystemContract.TransactOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_SystemContract *SystemContractTransactorSession) RenounceOwnership() (*types.Transaction, error) { return _SystemContract.Contract.RenounceOwnership(&_SystemContract.TransactOpts) } // SetSystemRouter is a paid mutator transaction binding the contract method 0xfbde22f7. // // Solidity: function setSystemRouter(address _systemRouter) returns() func (_SystemContract *SystemContractTransactor) SetSystemRouter(opts *bind.TransactOpts, _systemRouter common.Address) (*types.Transaction, error) { return _SystemContract.contract.Transact(opts, "setSystemRouter", _systemRouter) } // SetSystemRouter is a paid mutator transaction binding the contract method 0xfbde22f7. // // Solidity: function setSystemRouter(address _systemRouter) returns() func (_SystemContract *SystemContractSession) SetSystemRouter(_systemRouter common.Address) (*types.Transaction, error) { return _SystemContract.Contract.SetSystemRouter(&_SystemContract.TransactOpts, _systemRouter) } // SetSystemRouter is a paid mutator transaction binding the contract method 0xfbde22f7. // // Solidity: function setSystemRouter(address _systemRouter) returns() func (_SystemContract *SystemContractTransactorSession) SetSystemRouter(_systemRouter common.Address) (*types.Transaction, error) { return _SystemContract.Contract.SetSystemRouter(&_SystemContract.TransactOpts, _systemRouter) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_SystemContract *SystemContractTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { return _SystemContract.contract.Transact(opts, "transferOwnership", newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_SystemContract *SystemContractSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _SystemContract.Contract.TransferOwnership(&_SystemContract.TransactOpts, newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_SystemContract *SystemContractTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _SystemContract.Contract.TransferOwnership(&_SystemContract.TransactOpts, newOwner) } // SystemContractInitializedIterator is returned from FilterInitialized and is used to iterate over the raw logs and unpacked data for Initialized events raised by the SystemContract contract. type SystemContractInitializedIterator struct { Event *SystemContractInitialized // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *SystemContractInitializedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(SystemContractInitialized) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(SystemContractInitialized) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *SystemContractInitializedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *SystemContractInitializedIterator) Close() error { it.sub.Unsubscribe() return nil } // SystemContractInitialized represents a Initialized event raised by the SystemContract contract. type SystemContractInitialized struct { Version uint8 Raw types.Log // Blockchain specific contextual infos } // FilterInitialized is a free log retrieval operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. // // Solidity: event Initialized(uint8 version) func (_SystemContract *SystemContractFilterer) FilterInitialized(opts *bind.FilterOpts) (*SystemContractInitializedIterator, error) { logs, sub, err := _SystemContract.contract.FilterLogs(opts, "Initialized") if err != nil { return nil, err } return &SystemContractInitializedIterator{contract: _SystemContract.contract, event: "Initialized", logs: logs, sub: sub}, nil } // WatchInitialized is a free log subscription operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. // // Solidity: event Initialized(uint8 version) func (_SystemContract *SystemContractFilterer) WatchInitialized(opts *bind.WatchOpts, sink chan<- *SystemContractInitialized) (event.Subscription, error) { logs, sub, err := _SystemContract.contract.WatchLogs(opts, "Initialized") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(SystemContractInitialized) if err := _SystemContract.contract.UnpackLog(event, "Initialized", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseInitialized is a log parse operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. // // Solidity: event Initialized(uint8 version) func (_SystemContract *SystemContractFilterer) ParseInitialized(log types.Log) (*SystemContractInitialized, error) { event := new(SystemContractInitialized) if err := _SystemContract.contract.UnpackLog(event, "Initialized", log); err != nil { return nil, err } event.Raw = log return event, nil } // SystemContractOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the SystemContract contract. type SystemContractOwnershipTransferredIterator struct { Event *SystemContractOwnershipTransferred // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *SystemContractOwnershipTransferredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(SystemContractOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(SystemContractOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *SystemContractOwnershipTransferredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *SystemContractOwnershipTransferredIterator) Close() error { it.sub.Unsubscribe() return nil } // SystemContractOwnershipTransferred represents a OwnershipTransferred event raised by the SystemContract contract. type SystemContractOwnershipTransferred struct { PreviousOwner common.Address NewOwner common.Address Raw types.Log // Blockchain specific contextual infos } // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) func (_SystemContract *SystemContractFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*SystemContractOwnershipTransferredIterator, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _SystemContract.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return &SystemContractOwnershipTransferredIterator{contract: _SystemContract.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil } // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) func (_SystemContract *SystemContractFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *SystemContractOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _SystemContract.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(SystemContractOwnershipTransferred) if err := _SystemContract.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) func (_SystemContract *SystemContractFilterer) ParseOwnershipTransferred(log types.Log) (*SystemContractOwnershipTransferred, error) { event := new(SystemContractOwnershipTransferred) if err := _SystemContract.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return nil, err } event.Raw = log return event, nil } // TipsMetaData contains all meta data concerning the Tips contract. var TipsMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207dabb4cff61f4e2b918e9e4404e09940513d9e53fe9b25541f1a86caa434b2f264736f6c63430008110033", } // TipsABI is the input ABI used to generate the binding from. // Deprecated: Use TipsMetaData.ABI instead. var TipsABI = TipsMetaData.ABI // TipsBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use TipsMetaData.Bin instead. var TipsBin = TipsMetaData.Bin // DeployTips deploys a new Ethereum contract, binding an instance of Tips to it. func DeployTips(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Tips, error) { parsed, err := TipsMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(TipsBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &Tips{TipsCaller: TipsCaller{contract: contract}, TipsTransactor: TipsTransactor{contract: contract}, TipsFilterer: TipsFilterer{contract: contract}}, nil } // Tips is an auto generated Go binding around an Ethereum contract. type Tips struct { TipsCaller // Read-only binding to the contract TipsTransactor // Write-only binding to the contract TipsFilterer // Log filterer for contract events } // TipsCaller is an auto generated read-only Go binding around an Ethereum contract. type TipsCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // TipsTransactor is an auto generated write-only Go binding around an Ethereum contract. type TipsTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // TipsFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type TipsFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // TipsSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type TipsSession struct { Contract *Tips // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // TipsCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type TipsCallerSession struct { Contract *TipsCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // TipsTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type TipsTransactorSession struct { Contract *TipsTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // TipsRaw is an auto generated low-level Go binding around an Ethereum contract. type TipsRaw struct { Contract *Tips // Generic contract binding to access the raw methods on } // TipsCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type TipsCallerRaw struct { Contract *TipsCaller // Generic read-only contract binding to access the raw methods on } // TipsTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type TipsTransactorRaw struct { Contract *TipsTransactor // Generic write-only contract binding to access the raw methods on } // NewTips creates a new instance of Tips, bound to a specific deployed contract. func NewTips(address common.Address, backend bind.ContractBackend) (*Tips, error) { contract, err := bindTips(address, backend, backend, backend) if err != nil { return nil, err } return &Tips{TipsCaller: TipsCaller{contract: contract}, TipsTransactor: TipsTransactor{contract: contract}, TipsFilterer: TipsFilterer{contract: contract}}, nil } // NewTipsCaller creates a new read-only instance of Tips, bound to a specific deployed contract. func NewTipsCaller(address common.Address, caller bind.ContractCaller) (*TipsCaller, error) { contract, err := bindTips(address, caller, nil, nil) if err != nil { return nil, err } return &TipsCaller{contract: contract}, nil } // NewTipsTransactor creates a new write-only instance of Tips, bound to a specific deployed contract. func NewTipsTransactor(address common.Address, transactor bind.ContractTransactor) (*TipsTransactor, error) { contract, err := bindTips(address, nil, transactor, nil) if err != nil { return nil, err } return &TipsTransactor{contract: contract}, nil } // NewTipsFilterer creates a new log filterer instance of Tips, bound to a specific deployed contract. func NewTipsFilterer(address common.Address, filterer bind.ContractFilterer) (*TipsFilterer, error) { contract, err := bindTips(address, nil, nil, filterer) if err != nil { return nil, err } return &TipsFilterer{contract: contract}, nil } // bindTips binds a generic wrapper to an already deployed contract. func bindTips(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(TipsABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Tips *TipsRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Tips.Contract.TipsCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Tips *TipsRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Tips.Contract.TipsTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Tips *TipsRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Tips.Contract.TipsTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Tips *TipsCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Tips.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Tips *TipsTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Tips.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Tips *TipsTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Tips.Contract.contract.Transact(opts, method, params...) } // TypeCastsMetaData contains all meta data concerning the TypeCasts contract. var TypeCastsMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208006a080854c23bb5cd0c84ae5267d3492bb94c8315519b99288619f6344d27264736f6c63430008110033", } // TypeCastsABI is the input ABI used to generate the binding from. // Deprecated: Use TypeCastsMetaData.ABI instead. var TypeCastsABI = TypeCastsMetaData.ABI // TypeCastsBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use TypeCastsMetaData.Bin instead. var TypeCastsBin = TypeCastsMetaData.Bin // DeployTypeCasts deploys a new Ethereum contract, binding an instance of TypeCasts to it. func DeployTypeCasts(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *TypeCasts, error) { parsed, err := TypeCastsMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(TypeCastsBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &TypeCasts{TypeCastsCaller: TypeCastsCaller{contract: contract}, TypeCastsTransactor: TypeCastsTransactor{contract: contract}, TypeCastsFilterer: TypeCastsFilterer{contract: contract}}, nil } // TypeCasts is an auto generated Go binding around an Ethereum contract. type TypeCasts struct { TypeCastsCaller // Read-only binding to the contract TypeCastsTransactor // Write-only binding to the contract TypeCastsFilterer // Log filterer for contract events } // TypeCastsCaller is an auto generated read-only Go binding around an Ethereum contract. type TypeCastsCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // TypeCastsTransactor is an auto generated write-only Go binding around an Ethereum contract. type TypeCastsTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // TypeCastsFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type TypeCastsFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // TypeCastsSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type TypeCastsSession struct { Contract *TypeCasts // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // TypeCastsCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type TypeCastsCallerSession struct { Contract *TypeCastsCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // TypeCastsTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type TypeCastsTransactorSession struct { Contract *TypeCastsTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // TypeCastsRaw is an auto generated low-level Go binding around an Ethereum contract. type TypeCastsRaw struct { Contract *TypeCasts // Generic contract binding to access the raw methods on } // TypeCastsCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type TypeCastsCallerRaw struct { Contract *TypeCastsCaller // Generic read-only contract binding to access the raw methods on } // TypeCastsTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type TypeCastsTransactorRaw struct { Contract *TypeCastsTransactor // Generic write-only contract binding to access the raw methods on } // NewTypeCasts creates a new instance of TypeCasts, bound to a specific deployed contract. func NewTypeCasts(address common.Address, backend bind.ContractBackend) (*TypeCasts, error) { contract, err := bindTypeCasts(address, backend, backend, backend) if err != nil { return nil, err } return &TypeCasts{TypeCastsCaller: TypeCastsCaller{contract: contract}, TypeCastsTransactor: TypeCastsTransactor{contract: contract}, TypeCastsFilterer: TypeCastsFilterer{contract: contract}}, nil } // NewTypeCastsCaller creates a new read-only instance of TypeCasts, bound to a specific deployed contract. func NewTypeCastsCaller(address common.Address, caller bind.ContractCaller) (*TypeCastsCaller, error) { contract, err := bindTypeCasts(address, caller, nil, nil) if err != nil { return nil, err } return &TypeCastsCaller{contract: contract}, nil } // NewTypeCastsTransactor creates a new write-only instance of TypeCasts, bound to a specific deployed contract. func NewTypeCastsTransactor(address common.Address, transactor bind.ContractTransactor) (*TypeCastsTransactor, error) { contract, err := bindTypeCasts(address, nil, transactor, nil) if err != nil { return nil, err } return &TypeCastsTransactor{contract: contract}, nil } // NewTypeCastsFilterer creates a new log filterer instance of TypeCasts, bound to a specific deployed contract. func NewTypeCastsFilterer(address common.Address, filterer bind.ContractFilterer) (*TypeCastsFilterer, error) { contract, err := bindTypeCasts(address, nil, nil, filterer) if err != nil { return nil, err } return &TypeCastsFilterer{contract: contract}, nil } // bindTypeCasts binds a generic wrapper to an already deployed contract. func bindTypeCasts(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(TypeCastsABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_TypeCasts *TypeCastsRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _TypeCasts.Contract.TypeCastsCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_TypeCasts *TypeCastsRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _TypeCasts.Contract.TypeCastsTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_TypeCasts *TypeCastsRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _TypeCasts.Contract.TypeCastsTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_TypeCasts *TypeCastsCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _TypeCasts.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_TypeCasts *TypeCastsTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _TypeCasts.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_TypeCasts *TypeCastsTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _TypeCasts.Contract.contract.Transact(opts, method, params...) } // TypedMemViewMetaData contains all meta data concerning the TypedMemView contract. var TypedMemViewMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"name\":\"BITS_EMPTY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BITS_LEN\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BITS_LOC\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BITS_TYPE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LOW_96_BITS_MASK\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NULL\",\"outputs\":[{\"internalType\":\"bytes29\",\"name\":\"\",\"type\":\"bytes29\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SHIFT_LEN\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SHIFT_LOC\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SHIFT_TYPE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", Sigs: map[string]string{ "97b8ad4a": "BITS_EMPTY()", "eb740628": "BITS_LEN()", "fb734584": "BITS_LOC()", "10153fce": "BITS_TYPE()", "b602d173": "LOW_96_BITS_MASK()", "f26be3fc": "NULL()", "1136e7ea": "SHIFT_LEN()", "1bfe17ce": "SHIFT_LOC()", "13090c5a": "SHIFT_TYPE()", }, Bin: "0x6101f061003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100ad5760003560e01c806397b8ad4a11610080578063eb74062811610065578063eb740628146100f8578063f26be3fc14610100578063fb734584146100f857600080fd5b806397b8ad4a146100cd578063b602d173146100e557600080fd5b806310153fce146100b25780631136e7ea146100cd57806313090c5a146100d55780631bfe17ce146100dd575b600080fd5b6100ba602881565b6040519081526020015b60405180910390f35b6100ba601881565b6100ba610158565b6100ba610172565b6100ba6bffffffffffffffffffffffff81565b6100ba606081565b6101277fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000081565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000090911681526020016100c4565b606061016581601861017a565b61016f919061017a565b81565b61016f606060185b808201808211156101b4577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9291505056fea2646970667358221220840217a5bfcbef5d6a589af8187c9b7dbf354293f65e9a5e57ce3d1b7ac3286464736f6c63430008110033", } // TypedMemViewABI is the input ABI used to generate the binding from. // Deprecated: Use TypedMemViewMetaData.ABI instead. var TypedMemViewABI = TypedMemViewMetaData.ABI // Deprecated: Use TypedMemViewMetaData.Sigs instead. // TypedMemViewFuncSigs maps the 4-byte function signature to its string representation. var TypedMemViewFuncSigs = TypedMemViewMetaData.Sigs // TypedMemViewBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use TypedMemViewMetaData.Bin instead. var TypedMemViewBin = TypedMemViewMetaData.Bin // DeployTypedMemView deploys a new Ethereum contract, binding an instance of TypedMemView to it. func DeployTypedMemView(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *TypedMemView, error) { parsed, err := TypedMemViewMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(TypedMemViewBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &TypedMemView{TypedMemViewCaller: TypedMemViewCaller{contract: contract}, TypedMemViewTransactor: TypedMemViewTransactor{contract: contract}, TypedMemViewFilterer: TypedMemViewFilterer{contract: contract}}, nil } // TypedMemView is an auto generated Go binding around an Ethereum contract. type TypedMemView struct { TypedMemViewCaller // Read-only binding to the contract TypedMemViewTransactor // Write-only binding to the contract TypedMemViewFilterer // Log filterer for contract events } // TypedMemViewCaller is an auto generated read-only Go binding around an Ethereum contract. type TypedMemViewCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // TypedMemViewTransactor is an auto generated write-only Go binding around an Ethereum contract. type TypedMemViewTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // TypedMemViewFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type TypedMemViewFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // TypedMemViewSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type TypedMemViewSession struct { Contract *TypedMemView // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // TypedMemViewCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type TypedMemViewCallerSession struct { Contract *TypedMemViewCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // TypedMemViewTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type TypedMemViewTransactorSession struct { Contract *TypedMemViewTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // TypedMemViewRaw is an auto generated low-level Go binding around an Ethereum contract. type TypedMemViewRaw struct { Contract *TypedMemView // Generic contract binding to access the raw methods on } // TypedMemViewCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type TypedMemViewCallerRaw struct { Contract *TypedMemViewCaller // Generic read-only contract binding to access the raw methods on } // TypedMemViewTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type TypedMemViewTransactorRaw struct { Contract *TypedMemViewTransactor // Generic write-only contract binding to access the raw methods on } // NewTypedMemView creates a new instance of TypedMemView, bound to a specific deployed contract. func NewTypedMemView(address common.Address, backend bind.ContractBackend) (*TypedMemView, error) { contract, err := bindTypedMemView(address, backend, backend, backend) if err != nil { return nil, err } return &TypedMemView{TypedMemViewCaller: TypedMemViewCaller{contract: contract}, TypedMemViewTransactor: TypedMemViewTransactor{contract: contract}, TypedMemViewFilterer: TypedMemViewFilterer{contract: contract}}, nil } // NewTypedMemViewCaller creates a new read-only instance of TypedMemView, bound to a specific deployed contract. func NewTypedMemViewCaller(address common.Address, caller bind.ContractCaller) (*TypedMemViewCaller, error) { contract, err := bindTypedMemView(address, caller, nil, nil) if err != nil { return nil, err } return &TypedMemViewCaller{contract: contract}, nil } // NewTypedMemViewTransactor creates a new write-only instance of TypedMemView, bound to a specific deployed contract. func NewTypedMemViewTransactor(address common.Address, transactor bind.ContractTransactor) (*TypedMemViewTransactor, error) { contract, err := bindTypedMemView(address, nil, transactor, nil) if err != nil { return nil, err } return &TypedMemViewTransactor{contract: contract}, nil } // NewTypedMemViewFilterer creates a new log filterer instance of TypedMemView, bound to a specific deployed contract. func NewTypedMemViewFilterer(address common.Address, filterer bind.ContractFilterer) (*TypedMemViewFilterer, error) { contract, err := bindTypedMemView(address, nil, nil, filterer) if err != nil { return nil, err } return &TypedMemViewFilterer{contract: contract}, nil } // bindTypedMemView binds a generic wrapper to an already deployed contract. func bindTypedMemView(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(TypedMemViewABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_TypedMemView *TypedMemViewRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _TypedMemView.Contract.TypedMemViewCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_TypedMemView *TypedMemViewRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _TypedMemView.Contract.TypedMemViewTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_TypedMemView *TypedMemViewRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _TypedMemView.Contract.TypedMemViewTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_TypedMemView *TypedMemViewCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _TypedMemView.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_TypedMemView *TypedMemViewTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _TypedMemView.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_TypedMemView *TypedMemViewTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _TypedMemView.Contract.contract.Transact(opts, method, params...) } // BITSEMPTY is a free data retrieval call binding the contract method 0x97b8ad4a. // // Solidity: function BITS_EMPTY() view returns(uint256) func (_TypedMemView *TypedMemViewCaller) BITSEMPTY(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _TypedMemView.contract.Call(opts, &out, "BITS_EMPTY") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // BITSEMPTY is a free data retrieval call binding the contract method 0x97b8ad4a. // // Solidity: function BITS_EMPTY() view returns(uint256) func (_TypedMemView *TypedMemViewSession) BITSEMPTY() (*big.Int, error) { return _TypedMemView.Contract.BITSEMPTY(&_TypedMemView.CallOpts) } // BITSEMPTY is a free data retrieval call binding the contract method 0x97b8ad4a. // // Solidity: function BITS_EMPTY() view returns(uint256) func (_TypedMemView *TypedMemViewCallerSession) BITSEMPTY() (*big.Int, error) { return _TypedMemView.Contract.BITSEMPTY(&_TypedMemView.CallOpts) } // BITSLEN is a free data retrieval call binding the contract method 0xeb740628. // // Solidity: function BITS_LEN() view returns(uint256) func (_TypedMemView *TypedMemViewCaller) BITSLEN(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _TypedMemView.contract.Call(opts, &out, "BITS_LEN") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // BITSLEN is a free data retrieval call binding the contract method 0xeb740628. // // Solidity: function BITS_LEN() view returns(uint256) func (_TypedMemView *TypedMemViewSession) BITSLEN() (*big.Int, error) { return _TypedMemView.Contract.BITSLEN(&_TypedMemView.CallOpts) } // BITSLEN is a free data retrieval call binding the contract method 0xeb740628. // // Solidity: function BITS_LEN() view returns(uint256) func (_TypedMemView *TypedMemViewCallerSession) BITSLEN() (*big.Int, error) { return _TypedMemView.Contract.BITSLEN(&_TypedMemView.CallOpts) } // BITSLOC is a free data retrieval call binding the contract method 0xfb734584. // // Solidity: function BITS_LOC() view returns(uint256) func (_TypedMemView *TypedMemViewCaller) BITSLOC(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _TypedMemView.contract.Call(opts, &out, "BITS_LOC") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // BITSLOC is a free data retrieval call binding the contract method 0xfb734584. // // Solidity: function BITS_LOC() view returns(uint256) func (_TypedMemView *TypedMemViewSession) BITSLOC() (*big.Int, error) { return _TypedMemView.Contract.BITSLOC(&_TypedMemView.CallOpts) } // BITSLOC is a free data retrieval call binding the contract method 0xfb734584. // // Solidity: function BITS_LOC() view returns(uint256) func (_TypedMemView *TypedMemViewCallerSession) BITSLOC() (*big.Int, error) { return _TypedMemView.Contract.BITSLOC(&_TypedMemView.CallOpts) } // BITSTYPE is a free data retrieval call binding the contract method 0x10153fce. // // Solidity: function BITS_TYPE() view returns(uint256) func (_TypedMemView *TypedMemViewCaller) BITSTYPE(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _TypedMemView.contract.Call(opts, &out, "BITS_TYPE") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // BITSTYPE is a free data retrieval call binding the contract method 0x10153fce. // // Solidity: function BITS_TYPE() view returns(uint256) func (_TypedMemView *TypedMemViewSession) BITSTYPE() (*big.Int, error) { return _TypedMemView.Contract.BITSTYPE(&_TypedMemView.CallOpts) } // BITSTYPE is a free data retrieval call binding the contract method 0x10153fce. // // Solidity: function BITS_TYPE() view returns(uint256) func (_TypedMemView *TypedMemViewCallerSession) BITSTYPE() (*big.Int, error) { return _TypedMemView.Contract.BITSTYPE(&_TypedMemView.CallOpts) } // LOW96BITSMASK is a free data retrieval call binding the contract method 0xb602d173. // // Solidity: function LOW_96_BITS_MASK() view returns(uint256) func (_TypedMemView *TypedMemViewCaller) LOW96BITSMASK(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _TypedMemView.contract.Call(opts, &out, "LOW_96_BITS_MASK") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // LOW96BITSMASK is a free data retrieval call binding the contract method 0xb602d173. // // Solidity: function LOW_96_BITS_MASK() view returns(uint256) func (_TypedMemView *TypedMemViewSession) LOW96BITSMASK() (*big.Int, error) { return _TypedMemView.Contract.LOW96BITSMASK(&_TypedMemView.CallOpts) } // LOW96BITSMASK is a free data retrieval call binding the contract method 0xb602d173. // // Solidity: function LOW_96_BITS_MASK() view returns(uint256) func (_TypedMemView *TypedMemViewCallerSession) LOW96BITSMASK() (*big.Int, error) { return _TypedMemView.Contract.LOW96BITSMASK(&_TypedMemView.CallOpts) } // NULL is a free data retrieval call binding the contract method 0xf26be3fc. // // Solidity: function NULL() view returns(bytes29) func (_TypedMemView *TypedMemViewCaller) NULL(opts *bind.CallOpts) ([29]byte, error) { var out []interface{} err := _TypedMemView.contract.Call(opts, &out, "NULL") if err != nil { return *new([29]byte), err } out0 := *abi.ConvertType(out[0], new([29]byte)).(*[29]byte) return out0, err } // NULL is a free data retrieval call binding the contract method 0xf26be3fc. // // Solidity: function NULL() view returns(bytes29) func (_TypedMemView *TypedMemViewSession) NULL() ([29]byte, error) { return _TypedMemView.Contract.NULL(&_TypedMemView.CallOpts) } // NULL is a free data retrieval call binding the contract method 0xf26be3fc. // // Solidity: function NULL() view returns(bytes29) func (_TypedMemView *TypedMemViewCallerSession) NULL() ([29]byte, error) { return _TypedMemView.Contract.NULL(&_TypedMemView.CallOpts) } // SHIFTLEN is a free data retrieval call binding the contract method 0x1136e7ea. // // Solidity: function SHIFT_LEN() view returns(uint256) func (_TypedMemView *TypedMemViewCaller) SHIFTLEN(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _TypedMemView.contract.Call(opts, &out, "SHIFT_LEN") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // SHIFTLEN is a free data retrieval call binding the contract method 0x1136e7ea. // // Solidity: function SHIFT_LEN() view returns(uint256) func (_TypedMemView *TypedMemViewSession) SHIFTLEN() (*big.Int, error) { return _TypedMemView.Contract.SHIFTLEN(&_TypedMemView.CallOpts) } // SHIFTLEN is a free data retrieval call binding the contract method 0x1136e7ea. // // Solidity: function SHIFT_LEN() view returns(uint256) func (_TypedMemView *TypedMemViewCallerSession) SHIFTLEN() (*big.Int, error) { return _TypedMemView.Contract.SHIFTLEN(&_TypedMemView.CallOpts) } // SHIFTLOC is a free data retrieval call binding the contract method 0x1bfe17ce. // // Solidity: function SHIFT_LOC() view returns(uint256) func (_TypedMemView *TypedMemViewCaller) SHIFTLOC(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _TypedMemView.contract.Call(opts, &out, "SHIFT_LOC") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // SHIFTLOC is a free data retrieval call binding the contract method 0x1bfe17ce. // // Solidity: function SHIFT_LOC() view returns(uint256) func (_TypedMemView *TypedMemViewSession) SHIFTLOC() (*big.Int, error) { return _TypedMemView.Contract.SHIFTLOC(&_TypedMemView.CallOpts) } // SHIFTLOC is a free data retrieval call binding the contract method 0x1bfe17ce. // // Solidity: function SHIFT_LOC() view returns(uint256) func (_TypedMemView *TypedMemViewCallerSession) SHIFTLOC() (*big.Int, error) { return _TypedMemView.Contract.SHIFTLOC(&_TypedMemView.CallOpts) } // SHIFTTYPE is a free data retrieval call binding the contract method 0x13090c5a. // // Solidity: function SHIFT_TYPE() view returns(uint256) func (_TypedMemView *TypedMemViewCaller) SHIFTTYPE(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _TypedMemView.contract.Call(opts, &out, "SHIFT_TYPE") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // SHIFTTYPE is a free data retrieval call binding the contract method 0x13090c5a. // // Solidity: function SHIFT_TYPE() view returns(uint256) func (_TypedMemView *TypedMemViewSession) SHIFTTYPE() (*big.Int, error) { return _TypedMemView.Contract.SHIFTTYPE(&_TypedMemView.CallOpts) } // SHIFTTYPE is a free data retrieval call binding the contract method 0x13090c5a. // // Solidity: function SHIFT_TYPE() view returns(uint256) func (_TypedMemView *TypedMemViewCallerSession) SHIFTTYPE() (*big.Int, error) { return _TypedMemView.Contract.SHIFTTYPE(&_TypedMemView.CallOpts) } // Version0MetaData contains all meta data concerning the Version0 contract. var Version0MetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", Sigs: map[string]string{ "ffa1ad74": "VERSION()", }, Bin: "0x6080604052348015600f57600080fd5b5060808061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063ffa1ad7414602d575b600080fd5b6034600081565b60405160ff909116815260200160405180910390f3fea26469706673582212204c7725719be31693a34c6428fac6857de9517ef597d9ebf9f5acdaca3686328d64736f6c63430008110033", } // Version0ABI is the input ABI used to generate the binding from. // Deprecated: Use Version0MetaData.ABI instead. var Version0ABI = Version0MetaData.ABI // Deprecated: Use Version0MetaData.Sigs instead. // Version0FuncSigs maps the 4-byte function signature to its string representation. var Version0FuncSigs = Version0MetaData.Sigs // Version0Bin is the compiled bytecode used for deploying new contracts. // Deprecated: Use Version0MetaData.Bin instead. var Version0Bin = Version0MetaData.Bin // DeployVersion0 deploys a new Ethereum contract, binding an instance of Version0 to it. func DeployVersion0(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Version0, error) { parsed, err := Version0MetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(Version0Bin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &Version0{Version0Caller: Version0Caller{contract: contract}, Version0Transactor: Version0Transactor{contract: contract}, Version0Filterer: Version0Filterer{contract: contract}}, nil } // Version0 is an auto generated Go binding around an Ethereum contract. type Version0 struct { Version0Caller // Read-only binding to the contract Version0Transactor // Write-only binding to the contract Version0Filterer // Log filterer for contract events } // Version0Caller is an auto generated read-only Go binding around an Ethereum contract. type Version0Caller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // Version0Transactor is an auto generated write-only Go binding around an Ethereum contract. type Version0Transactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // Version0Filterer is an auto generated log filtering Go binding around an Ethereum contract events. type Version0Filterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // Version0Session is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type Version0Session struct { Contract *Version0 // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // Version0CallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type Version0CallerSession struct { Contract *Version0Caller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // Version0TransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type Version0TransactorSession struct { Contract *Version0Transactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // Version0Raw is an auto generated low-level Go binding around an Ethereum contract. type Version0Raw struct { Contract *Version0 // Generic contract binding to access the raw methods on } // Version0CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type Version0CallerRaw struct { Contract *Version0Caller // Generic read-only contract binding to access the raw methods on } // Version0TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type Version0TransactorRaw struct { Contract *Version0Transactor // Generic write-only contract binding to access the raw methods on } // NewVersion0 creates a new instance of Version0, bound to a specific deployed contract. func NewVersion0(address common.Address, backend bind.ContractBackend) (*Version0, error) { contract, err := bindVersion0(address, backend, backend, backend) if err != nil { return nil, err } return &Version0{Version0Caller: Version0Caller{contract: contract}, Version0Transactor: Version0Transactor{contract: contract}, Version0Filterer: Version0Filterer{contract: contract}}, nil } // NewVersion0Caller creates a new read-only instance of Version0, bound to a specific deployed contract. func NewVersion0Caller(address common.Address, caller bind.ContractCaller) (*Version0Caller, error) { contract, err := bindVersion0(address, caller, nil, nil) if err != nil { return nil, err } return &Version0Caller{contract: contract}, nil } // NewVersion0Transactor creates a new write-only instance of Version0, bound to a specific deployed contract. func NewVersion0Transactor(address common.Address, transactor bind.ContractTransactor) (*Version0Transactor, error) { contract, err := bindVersion0(address, nil, transactor, nil) if err != nil { return nil, err } return &Version0Transactor{contract: contract}, nil } // NewVersion0Filterer creates a new log filterer instance of Version0, bound to a specific deployed contract. func NewVersion0Filterer(address common.Address, filterer bind.ContractFilterer) (*Version0Filterer, error) { contract, err := bindVersion0(address, nil, nil, filterer) if err != nil { return nil, err } return &Version0Filterer{contract: contract}, nil } // bindVersion0 binds a generic wrapper to an already deployed contract. func bindVersion0(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(Version0ABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Version0 *Version0Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Version0.Contract.Version0Caller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Version0 *Version0Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Version0.Contract.Version0Transactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Version0 *Version0Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Version0.Contract.Version0Transactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Version0 *Version0CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Version0.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Version0 *Version0TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Version0.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Version0 *Version0TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Version0.Contract.contract.Transact(opts, method, params...) } // VERSION is a free data retrieval call binding the contract method 0xffa1ad74. // // Solidity: function VERSION() view returns(uint8) func (_Version0 *Version0Caller) VERSION(opts *bind.CallOpts) (uint8, error) { var out []interface{} err := _Version0.contract.Call(opts, &out, "VERSION") if err != nil { return *new(uint8), err } out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) return out0, err } // VERSION is a free data retrieval call binding the contract method 0xffa1ad74. // // Solidity: function VERSION() view returns(uint8) func (_Version0 *Version0Session) VERSION() (uint8, error) { return _Version0.Contract.VERSION(&_Version0.CallOpts) } // VERSION is a free data retrieval call binding the contract method 0xffa1ad74. // // Solidity: function VERSION() view returns(uint8) func (_Version0 *Version0CallerSession) VERSION() (uint8, error) { return _Version0.Contract.VERSION(&_Version0.CallOpts) }