// Code generated - DO NOT EDIT. // This file is a generated binding and any manual changes will be lost. package l1gateway 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 _ = abi.ConvertType ) // AddressUpgradeableMetaData contains all meta data concerning the AddressUpgradeable contract. var AddressUpgradeableMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202b51ec87149a5e8a71610f18f1374c5010ec1bdbc5b533ee73e4673403a00b4764736f6c63430008110033", } // 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 := AddressUpgradeableMetaData.GetAbi() 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...) } // 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 := ContextUpgradeableMetaData.GetAbi() 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 } // IERC20PermitUpgradeableMetaData contains all meta data concerning the IERC20PermitUpgradeable contract. var IERC20PermitUpgradeableMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "3644e515": "DOMAIN_SEPARATOR()", "7ecebe00": "nonces(address)", "d505accf": "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)", }, } // IERC20PermitUpgradeableABI is the input ABI used to generate the binding from. // Deprecated: Use IERC20PermitUpgradeableMetaData.ABI instead. var IERC20PermitUpgradeableABI = IERC20PermitUpgradeableMetaData.ABI // Deprecated: Use IERC20PermitUpgradeableMetaData.Sigs instead. // IERC20PermitUpgradeableFuncSigs maps the 4-byte function signature to its string representation. var IERC20PermitUpgradeableFuncSigs = IERC20PermitUpgradeableMetaData.Sigs // IERC20PermitUpgradeable is an auto generated Go binding around an Ethereum contract. type IERC20PermitUpgradeable struct { IERC20PermitUpgradeableCaller // Read-only binding to the contract IERC20PermitUpgradeableTransactor // Write-only binding to the contract IERC20PermitUpgradeableFilterer // Log filterer for contract events } // IERC20PermitUpgradeableCaller is an auto generated read-only Go binding around an Ethereum contract. type IERC20PermitUpgradeableCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC20PermitUpgradeableTransactor is an auto generated write-only Go binding around an Ethereum contract. type IERC20PermitUpgradeableTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC20PermitUpgradeableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type IERC20PermitUpgradeableFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC20PermitUpgradeableSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IERC20PermitUpgradeableSession struct { Contract *IERC20PermitUpgradeable // 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 } // IERC20PermitUpgradeableCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IERC20PermitUpgradeableCallerSession struct { Contract *IERC20PermitUpgradeableCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IERC20PermitUpgradeableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IERC20PermitUpgradeableTransactorSession struct { Contract *IERC20PermitUpgradeableTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC20PermitUpgradeableRaw is an auto generated low-level Go binding around an Ethereum contract. type IERC20PermitUpgradeableRaw struct { Contract *IERC20PermitUpgradeable // Generic contract binding to access the raw methods on } // IERC20PermitUpgradeableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IERC20PermitUpgradeableCallerRaw struct { Contract *IERC20PermitUpgradeableCaller // Generic read-only contract binding to access the raw methods on } // IERC20PermitUpgradeableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IERC20PermitUpgradeableTransactorRaw struct { Contract *IERC20PermitUpgradeableTransactor // Generic write-only contract binding to access the raw methods on } // NewIERC20PermitUpgradeable creates a new instance of IERC20PermitUpgradeable, bound to a specific deployed contract. func NewIERC20PermitUpgradeable(address common.Address, backend bind.ContractBackend) (*IERC20PermitUpgradeable, error) { contract, err := bindIERC20PermitUpgradeable(address, backend, backend, backend) if err != nil { return nil, err } return &IERC20PermitUpgradeable{IERC20PermitUpgradeableCaller: IERC20PermitUpgradeableCaller{contract: contract}, IERC20PermitUpgradeableTransactor: IERC20PermitUpgradeableTransactor{contract: contract}, IERC20PermitUpgradeableFilterer: IERC20PermitUpgradeableFilterer{contract: contract}}, nil } // NewIERC20PermitUpgradeableCaller creates a new read-only instance of IERC20PermitUpgradeable, bound to a specific deployed contract. func NewIERC20PermitUpgradeableCaller(address common.Address, caller bind.ContractCaller) (*IERC20PermitUpgradeableCaller, error) { contract, err := bindIERC20PermitUpgradeable(address, caller, nil, nil) if err != nil { return nil, err } return &IERC20PermitUpgradeableCaller{contract: contract}, nil } // NewIERC20PermitUpgradeableTransactor creates a new write-only instance of IERC20PermitUpgradeable, bound to a specific deployed contract. func NewIERC20PermitUpgradeableTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC20PermitUpgradeableTransactor, error) { contract, err := bindIERC20PermitUpgradeable(address, nil, transactor, nil) if err != nil { return nil, err } return &IERC20PermitUpgradeableTransactor{contract: contract}, nil } // NewIERC20PermitUpgradeableFilterer creates a new log filterer instance of IERC20PermitUpgradeable, bound to a specific deployed contract. func NewIERC20PermitUpgradeableFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC20PermitUpgradeableFilterer, error) { contract, err := bindIERC20PermitUpgradeable(address, nil, nil, filterer) if err != nil { return nil, err } return &IERC20PermitUpgradeableFilterer{contract: contract}, nil } // bindIERC20PermitUpgradeable binds a generic wrapper to an already deployed contract. func bindIERC20PermitUpgradeable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := IERC20PermitUpgradeableMetaData.GetAbi() 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 (_IERC20PermitUpgradeable *IERC20PermitUpgradeableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC20PermitUpgradeable.Contract.IERC20PermitUpgradeableCaller.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 (_IERC20PermitUpgradeable *IERC20PermitUpgradeableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC20PermitUpgradeable.Contract.IERC20PermitUpgradeableTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC20PermitUpgradeable *IERC20PermitUpgradeableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC20PermitUpgradeable.Contract.IERC20PermitUpgradeableTransactor.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 (_IERC20PermitUpgradeable *IERC20PermitUpgradeableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC20PermitUpgradeable.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 (_IERC20PermitUpgradeable *IERC20PermitUpgradeableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC20PermitUpgradeable.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC20PermitUpgradeable *IERC20PermitUpgradeableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC20PermitUpgradeable.Contract.contract.Transact(opts, method, params...) } // DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. // // Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) func (_IERC20PermitUpgradeable *IERC20PermitUpgradeableCaller) DOMAINSEPARATOR(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} err := _IERC20PermitUpgradeable.contract.Call(opts, &out, "DOMAIN_SEPARATOR") if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. // // Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) func (_IERC20PermitUpgradeable *IERC20PermitUpgradeableSession) DOMAINSEPARATOR() ([32]byte, error) { return _IERC20PermitUpgradeable.Contract.DOMAINSEPARATOR(&_IERC20PermitUpgradeable.CallOpts) } // DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. // // Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) func (_IERC20PermitUpgradeable *IERC20PermitUpgradeableCallerSession) DOMAINSEPARATOR() ([32]byte, error) { return _IERC20PermitUpgradeable.Contract.DOMAINSEPARATOR(&_IERC20PermitUpgradeable.CallOpts) } // Nonces is a free data retrieval call binding the contract method 0x7ecebe00. // // Solidity: function nonces(address owner) view returns(uint256) func (_IERC20PermitUpgradeable *IERC20PermitUpgradeableCaller) Nonces(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { var out []interface{} err := _IERC20PermitUpgradeable.contract.Call(opts, &out, "nonces", owner) if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // Nonces is a free data retrieval call binding the contract method 0x7ecebe00. // // Solidity: function nonces(address owner) view returns(uint256) func (_IERC20PermitUpgradeable *IERC20PermitUpgradeableSession) Nonces(owner common.Address) (*big.Int, error) { return _IERC20PermitUpgradeable.Contract.Nonces(&_IERC20PermitUpgradeable.CallOpts, owner) } // Nonces is a free data retrieval call binding the contract method 0x7ecebe00. // // Solidity: function nonces(address owner) view returns(uint256) func (_IERC20PermitUpgradeable *IERC20PermitUpgradeableCallerSession) Nonces(owner common.Address) (*big.Int, error) { return _IERC20PermitUpgradeable.Contract.Nonces(&_IERC20PermitUpgradeable.CallOpts, owner) } // Permit is a paid mutator transaction binding the contract method 0xd505accf. // // Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() func (_IERC20PermitUpgradeable *IERC20PermitUpgradeableTransactor) Permit(opts *bind.TransactOpts, owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { return _IERC20PermitUpgradeable.contract.Transact(opts, "permit", owner, spender, value, deadline, v, r, s) } // Permit is a paid mutator transaction binding the contract method 0xd505accf. // // Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() func (_IERC20PermitUpgradeable *IERC20PermitUpgradeableSession) Permit(owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { return _IERC20PermitUpgradeable.Contract.Permit(&_IERC20PermitUpgradeable.TransactOpts, owner, spender, value, deadline, v, r, s) } // Permit is a paid mutator transaction binding the contract method 0xd505accf. // // Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() func (_IERC20PermitUpgradeable *IERC20PermitUpgradeableTransactorSession) Permit(owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { return _IERC20PermitUpgradeable.Contract.Permit(&_IERC20PermitUpgradeable.TransactOpts, owner, spender, value, deadline, v, r, s) } // IERC20UpgradeableMetaData contains all meta data concerning the IERC20Upgradeable contract. var IERC20UpgradeableMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "dd62ed3e": "allowance(address,address)", "095ea7b3": "approve(address,uint256)", "70a08231": "balanceOf(address)", "18160ddd": "totalSupply()", "a9059cbb": "transfer(address,uint256)", "23b872dd": "transferFrom(address,address,uint256)", }, } // IERC20UpgradeableABI is the input ABI used to generate the binding from. // Deprecated: Use IERC20UpgradeableMetaData.ABI instead. var IERC20UpgradeableABI = IERC20UpgradeableMetaData.ABI // Deprecated: Use IERC20UpgradeableMetaData.Sigs instead. // IERC20UpgradeableFuncSigs maps the 4-byte function signature to its string representation. var IERC20UpgradeableFuncSigs = IERC20UpgradeableMetaData.Sigs // IERC20Upgradeable is an auto generated Go binding around an Ethereum contract. type IERC20Upgradeable struct { IERC20UpgradeableCaller // Read-only binding to the contract IERC20UpgradeableTransactor // Write-only binding to the contract IERC20UpgradeableFilterer // Log filterer for contract events } // IERC20UpgradeableCaller is an auto generated read-only Go binding around an Ethereum contract. type IERC20UpgradeableCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC20UpgradeableTransactor is an auto generated write-only Go binding around an Ethereum contract. type IERC20UpgradeableTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC20UpgradeableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type IERC20UpgradeableFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC20UpgradeableSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IERC20UpgradeableSession struct { Contract *IERC20Upgradeable // 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 } // IERC20UpgradeableCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IERC20UpgradeableCallerSession struct { Contract *IERC20UpgradeableCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IERC20UpgradeableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IERC20UpgradeableTransactorSession struct { Contract *IERC20UpgradeableTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC20UpgradeableRaw is an auto generated low-level Go binding around an Ethereum contract. type IERC20UpgradeableRaw struct { Contract *IERC20Upgradeable // Generic contract binding to access the raw methods on } // IERC20UpgradeableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IERC20UpgradeableCallerRaw struct { Contract *IERC20UpgradeableCaller // Generic read-only contract binding to access the raw methods on } // IERC20UpgradeableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IERC20UpgradeableTransactorRaw struct { Contract *IERC20UpgradeableTransactor // Generic write-only contract binding to access the raw methods on } // NewIERC20Upgradeable creates a new instance of IERC20Upgradeable, bound to a specific deployed contract. func NewIERC20Upgradeable(address common.Address, backend bind.ContractBackend) (*IERC20Upgradeable, error) { contract, err := bindIERC20Upgradeable(address, backend, backend, backend) if err != nil { return nil, err } return &IERC20Upgradeable{IERC20UpgradeableCaller: IERC20UpgradeableCaller{contract: contract}, IERC20UpgradeableTransactor: IERC20UpgradeableTransactor{contract: contract}, IERC20UpgradeableFilterer: IERC20UpgradeableFilterer{contract: contract}}, nil } // NewIERC20UpgradeableCaller creates a new read-only instance of IERC20Upgradeable, bound to a specific deployed contract. func NewIERC20UpgradeableCaller(address common.Address, caller bind.ContractCaller) (*IERC20UpgradeableCaller, error) { contract, err := bindIERC20Upgradeable(address, caller, nil, nil) if err != nil { return nil, err } return &IERC20UpgradeableCaller{contract: contract}, nil } // NewIERC20UpgradeableTransactor creates a new write-only instance of IERC20Upgradeable, bound to a specific deployed contract. func NewIERC20UpgradeableTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC20UpgradeableTransactor, error) { contract, err := bindIERC20Upgradeable(address, nil, transactor, nil) if err != nil { return nil, err } return &IERC20UpgradeableTransactor{contract: contract}, nil } // NewIERC20UpgradeableFilterer creates a new log filterer instance of IERC20Upgradeable, bound to a specific deployed contract. func NewIERC20UpgradeableFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC20UpgradeableFilterer, error) { contract, err := bindIERC20Upgradeable(address, nil, nil, filterer) if err != nil { return nil, err } return &IERC20UpgradeableFilterer{contract: contract}, nil } // bindIERC20Upgradeable binds a generic wrapper to an already deployed contract. func bindIERC20Upgradeable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := IERC20UpgradeableMetaData.GetAbi() 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 (_IERC20Upgradeable *IERC20UpgradeableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC20Upgradeable.Contract.IERC20UpgradeableCaller.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 (_IERC20Upgradeable *IERC20UpgradeableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC20Upgradeable.Contract.IERC20UpgradeableTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC20Upgradeable *IERC20UpgradeableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC20Upgradeable.Contract.IERC20UpgradeableTransactor.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 (_IERC20Upgradeable *IERC20UpgradeableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC20Upgradeable.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 (_IERC20Upgradeable *IERC20UpgradeableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC20Upgradeable.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC20Upgradeable *IERC20UpgradeableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC20Upgradeable.Contract.contract.Transact(opts, method, params...) } // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. // // Solidity: function allowance(address owner, address spender) view returns(uint256) func (_IERC20Upgradeable *IERC20UpgradeableCaller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { var out []interface{} err := _IERC20Upgradeable.contract.Call(opts, &out, "allowance", owner, spender) if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. // // Solidity: function allowance(address owner, address spender) view returns(uint256) func (_IERC20Upgradeable *IERC20UpgradeableSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { return _IERC20Upgradeable.Contract.Allowance(&_IERC20Upgradeable.CallOpts, owner, spender) } // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. // // Solidity: function allowance(address owner, address spender) view returns(uint256) func (_IERC20Upgradeable *IERC20UpgradeableCallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { return _IERC20Upgradeable.Contract.Allowance(&_IERC20Upgradeable.CallOpts, owner, spender) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(address account) view returns(uint256) func (_IERC20Upgradeable *IERC20UpgradeableCaller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error) { var out []interface{} err := _IERC20Upgradeable.contract.Call(opts, &out, "balanceOf", account) if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(address account) view returns(uint256) func (_IERC20Upgradeable *IERC20UpgradeableSession) BalanceOf(account common.Address) (*big.Int, error) { return _IERC20Upgradeable.Contract.BalanceOf(&_IERC20Upgradeable.CallOpts, account) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(address account) view returns(uint256) func (_IERC20Upgradeable *IERC20UpgradeableCallerSession) BalanceOf(account common.Address) (*big.Int, error) { return _IERC20Upgradeable.Contract.BalanceOf(&_IERC20Upgradeable.CallOpts, account) } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() view returns(uint256) func (_IERC20Upgradeable *IERC20UpgradeableCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _IERC20Upgradeable.contract.Call(opts, &out, "totalSupply") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() view returns(uint256) func (_IERC20Upgradeable *IERC20UpgradeableSession) TotalSupply() (*big.Int, error) { return _IERC20Upgradeable.Contract.TotalSupply(&_IERC20Upgradeable.CallOpts) } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() view returns(uint256) func (_IERC20Upgradeable *IERC20UpgradeableCallerSession) TotalSupply() (*big.Int, error) { return _IERC20Upgradeable.Contract.TotalSupply(&_IERC20Upgradeable.CallOpts) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address spender, uint256 amount) returns(bool) func (_IERC20Upgradeable *IERC20UpgradeableTransactor) Approve(opts *bind.TransactOpts, spender common.Address, amount *big.Int) (*types.Transaction, error) { return _IERC20Upgradeable.contract.Transact(opts, "approve", spender, amount) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address spender, uint256 amount) returns(bool) func (_IERC20Upgradeable *IERC20UpgradeableSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { return _IERC20Upgradeable.Contract.Approve(&_IERC20Upgradeable.TransactOpts, spender, amount) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address spender, uint256 amount) returns(bool) func (_IERC20Upgradeable *IERC20UpgradeableTransactorSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { return _IERC20Upgradeable.Contract.Approve(&_IERC20Upgradeable.TransactOpts, spender, amount) } // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. // // Solidity: function transfer(address to, uint256 amount) returns(bool) func (_IERC20Upgradeable *IERC20UpgradeableTransactor) Transfer(opts *bind.TransactOpts, to common.Address, amount *big.Int) (*types.Transaction, error) { return _IERC20Upgradeable.contract.Transact(opts, "transfer", to, amount) } // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. // // Solidity: function transfer(address to, uint256 amount) returns(bool) func (_IERC20Upgradeable *IERC20UpgradeableSession) Transfer(to common.Address, amount *big.Int) (*types.Transaction, error) { return _IERC20Upgradeable.Contract.Transfer(&_IERC20Upgradeable.TransactOpts, to, amount) } // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. // // Solidity: function transfer(address to, uint256 amount) returns(bool) func (_IERC20Upgradeable *IERC20UpgradeableTransactorSession) Transfer(to common.Address, amount *big.Int) (*types.Transaction, error) { return _IERC20Upgradeable.Contract.Transfer(&_IERC20Upgradeable.TransactOpts, to, amount) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 amount) returns(bool) func (_IERC20Upgradeable *IERC20UpgradeableTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, amount *big.Int) (*types.Transaction, error) { return _IERC20Upgradeable.contract.Transact(opts, "transferFrom", from, to, amount) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 amount) returns(bool) func (_IERC20Upgradeable *IERC20UpgradeableSession) TransferFrom(from common.Address, to common.Address, amount *big.Int) (*types.Transaction, error) { return _IERC20Upgradeable.Contract.TransferFrom(&_IERC20Upgradeable.TransactOpts, from, to, amount) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 amount) returns(bool) func (_IERC20Upgradeable *IERC20UpgradeableTransactorSession) TransferFrom(from common.Address, to common.Address, amount *big.Int) (*types.Transaction, error) { return _IERC20Upgradeable.Contract.TransferFrom(&_IERC20Upgradeable.TransactOpts, from, to, amount) } // IERC20UpgradeableApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the IERC20Upgradeable contract. type IERC20UpgradeableApprovalIterator struct { Event *IERC20UpgradeableApproval // 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 *IERC20UpgradeableApprovalIterator) 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(IERC20UpgradeableApproval) 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(IERC20UpgradeableApproval) 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 *IERC20UpgradeableApprovalIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC20UpgradeableApprovalIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC20UpgradeableApproval represents a Approval event raised by the IERC20Upgradeable contract. type IERC20UpgradeableApproval struct { Owner common.Address Spender common.Address Value *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) func (_IERC20Upgradeable *IERC20UpgradeableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*IERC20UpgradeableApprovalIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var spenderRule []interface{} for _, spenderItem := range spender { spenderRule = append(spenderRule, spenderItem) } logs, sub, err := _IERC20Upgradeable.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) if err != nil { return nil, err } return &IERC20UpgradeableApprovalIterator{contract: _IERC20Upgradeable.contract, event: "Approval", logs: logs, sub: sub}, nil } // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) func (_IERC20Upgradeable *IERC20UpgradeableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC20UpgradeableApproval, owner []common.Address, spender []common.Address) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var spenderRule []interface{} for _, spenderItem := range spender { spenderRule = append(spenderRule, spenderItem) } logs, sub, err := _IERC20Upgradeable.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) 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(IERC20UpgradeableApproval) if err := _IERC20Upgradeable.contract.UnpackLog(event, "Approval", 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 } // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) func (_IERC20Upgradeable *IERC20UpgradeableFilterer) ParseApproval(log types.Log) (*IERC20UpgradeableApproval, error) { event := new(IERC20UpgradeableApproval) if err := _IERC20Upgradeable.contract.UnpackLog(event, "Approval", log); err != nil { return nil, err } event.Raw = log return event, nil } // IERC20UpgradeableTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the IERC20Upgradeable contract. type IERC20UpgradeableTransferIterator struct { Event *IERC20UpgradeableTransfer // 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 *IERC20UpgradeableTransferIterator) 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(IERC20UpgradeableTransfer) 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(IERC20UpgradeableTransfer) 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 *IERC20UpgradeableTransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC20UpgradeableTransferIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC20UpgradeableTransfer represents a Transfer event raised by the IERC20Upgradeable contract. type IERC20UpgradeableTransfer struct { From common.Address To common.Address Value *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) func (_IERC20Upgradeable *IERC20UpgradeableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*IERC20UpgradeableTransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _IERC20Upgradeable.contract.FilterLogs(opts, "Transfer", fromRule, toRule) if err != nil { return nil, err } return &IERC20UpgradeableTransferIterator{contract: _IERC20Upgradeable.contract, event: "Transfer", logs: logs, sub: sub}, nil } // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) func (_IERC20Upgradeable *IERC20UpgradeableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC20UpgradeableTransfer, from []common.Address, to []common.Address) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _IERC20Upgradeable.contract.WatchLogs(opts, "Transfer", fromRule, toRule) 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(IERC20UpgradeableTransfer) if err := _IERC20Upgradeable.contract.UnpackLog(event, "Transfer", 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 } // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) func (_IERC20Upgradeable *IERC20UpgradeableFilterer) ParseTransfer(log types.Log) (*IERC20UpgradeableTransfer, error) { event := new(IERC20UpgradeableTransfer) if err := _IERC20Upgradeable.contract.UnpackLog(event, "Transfer", log); err != nil { return nil, err } event.Raw = log return event, nil } // IL1ERC20GatewayMetaData contains all meta data concerning the IL1ERC20Gateway contract. var IL1ERC20GatewayMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"l1Token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"l2Token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"DepositERC20\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"l1Token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"l2Token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"FinalizeWithdrawERC20\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"RefundERC20\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_gasLimit\",\"type\":\"uint256\"}],\"name\":\"depositERC20\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_gasLimit\",\"type\":\"uint256\"}],\"name\":\"depositERC20\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_gasLimit\",\"type\":\"uint256\"}],\"name\":\"depositERC20AndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_l1Token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_l2Token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"finalizeWithdrawERC20\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_l1Token\",\"type\":\"address\"}],\"name\":\"getL2ERC20Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", Sigs: map[string]string{ "f219fa66": "depositERC20(address,address,uint256,uint256)", "21425ee0": "depositERC20(address,uint256,uint256)", "0aea8c26": "depositERC20AndCall(address,address,uint256,bytes,uint256)", "84bd13b0": "finalizeWithdrawERC20(address,address,address,address,uint256,bytes)", "c676ad29": "getL2ERC20Address(address)", }, } // IL1ERC20GatewayABI is the input ABI used to generate the binding from. // Deprecated: Use IL1ERC20GatewayMetaData.ABI instead. var IL1ERC20GatewayABI = IL1ERC20GatewayMetaData.ABI // Deprecated: Use IL1ERC20GatewayMetaData.Sigs instead. // IL1ERC20GatewayFuncSigs maps the 4-byte function signature to its string representation. var IL1ERC20GatewayFuncSigs = IL1ERC20GatewayMetaData.Sigs // IL1ERC20Gateway is an auto generated Go binding around an Ethereum contract. type IL1ERC20Gateway struct { IL1ERC20GatewayCaller // Read-only binding to the contract IL1ERC20GatewayTransactor // Write-only binding to the contract IL1ERC20GatewayFilterer // Log filterer for contract events } // IL1ERC20GatewayCaller is an auto generated read-only Go binding around an Ethereum contract. type IL1ERC20GatewayCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IL1ERC20GatewayTransactor is an auto generated write-only Go binding around an Ethereum contract. type IL1ERC20GatewayTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IL1ERC20GatewayFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type IL1ERC20GatewayFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IL1ERC20GatewaySession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IL1ERC20GatewaySession struct { Contract *IL1ERC20Gateway // 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 } // IL1ERC20GatewayCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IL1ERC20GatewayCallerSession struct { Contract *IL1ERC20GatewayCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IL1ERC20GatewayTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IL1ERC20GatewayTransactorSession struct { Contract *IL1ERC20GatewayTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IL1ERC20GatewayRaw is an auto generated low-level Go binding around an Ethereum contract. type IL1ERC20GatewayRaw struct { Contract *IL1ERC20Gateway // Generic contract binding to access the raw methods on } // IL1ERC20GatewayCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IL1ERC20GatewayCallerRaw struct { Contract *IL1ERC20GatewayCaller // Generic read-only contract binding to access the raw methods on } // IL1ERC20GatewayTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IL1ERC20GatewayTransactorRaw struct { Contract *IL1ERC20GatewayTransactor // Generic write-only contract binding to access the raw methods on } // NewIL1ERC20Gateway creates a new instance of IL1ERC20Gateway, bound to a specific deployed contract. func NewIL1ERC20Gateway(address common.Address, backend bind.ContractBackend) (*IL1ERC20Gateway, error) { contract, err := bindIL1ERC20Gateway(address, backend, backend, backend) if err != nil { return nil, err } return &IL1ERC20Gateway{IL1ERC20GatewayCaller: IL1ERC20GatewayCaller{contract: contract}, IL1ERC20GatewayTransactor: IL1ERC20GatewayTransactor{contract: contract}, IL1ERC20GatewayFilterer: IL1ERC20GatewayFilterer{contract: contract}}, nil } // NewIL1ERC20GatewayCaller creates a new read-only instance of IL1ERC20Gateway, bound to a specific deployed contract. func NewIL1ERC20GatewayCaller(address common.Address, caller bind.ContractCaller) (*IL1ERC20GatewayCaller, error) { contract, err := bindIL1ERC20Gateway(address, caller, nil, nil) if err != nil { return nil, err } return &IL1ERC20GatewayCaller{contract: contract}, nil } // NewIL1ERC20GatewayTransactor creates a new write-only instance of IL1ERC20Gateway, bound to a specific deployed contract. func NewIL1ERC20GatewayTransactor(address common.Address, transactor bind.ContractTransactor) (*IL1ERC20GatewayTransactor, error) { contract, err := bindIL1ERC20Gateway(address, nil, transactor, nil) if err != nil { return nil, err } return &IL1ERC20GatewayTransactor{contract: contract}, nil } // NewIL1ERC20GatewayFilterer creates a new log filterer instance of IL1ERC20Gateway, bound to a specific deployed contract. func NewIL1ERC20GatewayFilterer(address common.Address, filterer bind.ContractFilterer) (*IL1ERC20GatewayFilterer, error) { contract, err := bindIL1ERC20Gateway(address, nil, nil, filterer) if err != nil { return nil, err } return &IL1ERC20GatewayFilterer{contract: contract}, nil } // bindIL1ERC20Gateway binds a generic wrapper to an already deployed contract. func bindIL1ERC20Gateway(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := IL1ERC20GatewayMetaData.GetAbi() 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 (_IL1ERC20Gateway *IL1ERC20GatewayRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IL1ERC20Gateway.Contract.IL1ERC20GatewayCaller.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 (_IL1ERC20Gateway *IL1ERC20GatewayRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IL1ERC20Gateway.Contract.IL1ERC20GatewayTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IL1ERC20Gateway *IL1ERC20GatewayRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IL1ERC20Gateway.Contract.IL1ERC20GatewayTransactor.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 (_IL1ERC20Gateway *IL1ERC20GatewayCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IL1ERC20Gateway.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 (_IL1ERC20Gateway *IL1ERC20GatewayTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IL1ERC20Gateway.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IL1ERC20Gateway *IL1ERC20GatewayTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IL1ERC20Gateway.Contract.contract.Transact(opts, method, params...) } // GetL2ERC20Address is a free data retrieval call binding the contract method 0xc676ad29. // // Solidity: function getL2ERC20Address(address _l1Token) view returns(address) func (_IL1ERC20Gateway *IL1ERC20GatewayCaller) GetL2ERC20Address(opts *bind.CallOpts, _l1Token common.Address) (common.Address, error) { var out []interface{} err := _IL1ERC20Gateway.contract.Call(opts, &out, "getL2ERC20Address", _l1Token) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetL2ERC20Address is a free data retrieval call binding the contract method 0xc676ad29. // // Solidity: function getL2ERC20Address(address _l1Token) view returns(address) func (_IL1ERC20Gateway *IL1ERC20GatewaySession) GetL2ERC20Address(_l1Token common.Address) (common.Address, error) { return _IL1ERC20Gateway.Contract.GetL2ERC20Address(&_IL1ERC20Gateway.CallOpts, _l1Token) } // GetL2ERC20Address is a free data retrieval call binding the contract method 0xc676ad29. // // Solidity: function getL2ERC20Address(address _l1Token) view returns(address) func (_IL1ERC20Gateway *IL1ERC20GatewayCallerSession) GetL2ERC20Address(_l1Token common.Address) (common.Address, error) { return _IL1ERC20Gateway.Contract.GetL2ERC20Address(&_IL1ERC20Gateway.CallOpts, _l1Token) } // DepositERC20 is a paid mutator transaction binding the contract method 0x21425ee0. // // Solidity: function depositERC20(address _token, uint256 _amount, uint256 _gasLimit) payable returns() func (_IL1ERC20Gateway *IL1ERC20GatewayTransactor) DepositERC20(opts *bind.TransactOpts, _token common.Address, _amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _IL1ERC20Gateway.contract.Transact(opts, "depositERC20", _token, _amount, _gasLimit) } // DepositERC20 is a paid mutator transaction binding the contract method 0x21425ee0. // // Solidity: function depositERC20(address _token, uint256 _amount, uint256 _gasLimit) payable returns() func (_IL1ERC20Gateway *IL1ERC20GatewaySession) DepositERC20(_token common.Address, _amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _IL1ERC20Gateway.Contract.DepositERC20(&_IL1ERC20Gateway.TransactOpts, _token, _amount, _gasLimit) } // DepositERC20 is a paid mutator transaction binding the contract method 0x21425ee0. // // Solidity: function depositERC20(address _token, uint256 _amount, uint256 _gasLimit) payable returns() func (_IL1ERC20Gateway *IL1ERC20GatewayTransactorSession) DepositERC20(_token common.Address, _amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _IL1ERC20Gateway.Contract.DepositERC20(&_IL1ERC20Gateway.TransactOpts, _token, _amount, _gasLimit) } // DepositERC200 is a paid mutator transaction binding the contract method 0xf219fa66. // // Solidity: function depositERC20(address _token, address _to, uint256 _amount, uint256 _gasLimit) payable returns() func (_IL1ERC20Gateway *IL1ERC20GatewayTransactor) DepositERC200(opts *bind.TransactOpts, _token common.Address, _to common.Address, _amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _IL1ERC20Gateway.contract.Transact(opts, "depositERC200", _token, _to, _amount, _gasLimit) } // DepositERC200 is a paid mutator transaction binding the contract method 0xf219fa66. // // Solidity: function depositERC20(address _token, address _to, uint256 _amount, uint256 _gasLimit) payable returns() func (_IL1ERC20Gateway *IL1ERC20GatewaySession) DepositERC200(_token common.Address, _to common.Address, _amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _IL1ERC20Gateway.Contract.DepositERC200(&_IL1ERC20Gateway.TransactOpts, _token, _to, _amount, _gasLimit) } // DepositERC200 is a paid mutator transaction binding the contract method 0xf219fa66. // // Solidity: function depositERC20(address _token, address _to, uint256 _amount, uint256 _gasLimit) payable returns() func (_IL1ERC20Gateway *IL1ERC20GatewayTransactorSession) DepositERC200(_token common.Address, _to common.Address, _amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _IL1ERC20Gateway.Contract.DepositERC200(&_IL1ERC20Gateway.TransactOpts, _token, _to, _amount, _gasLimit) } // DepositERC20AndCall is a paid mutator transaction binding the contract method 0x0aea8c26. // // Solidity: function depositERC20AndCall(address _token, address _to, uint256 _amount, bytes _data, uint256 _gasLimit) payable returns() func (_IL1ERC20Gateway *IL1ERC20GatewayTransactor) DepositERC20AndCall(opts *bind.TransactOpts, _token common.Address, _to common.Address, _amount *big.Int, _data []byte, _gasLimit *big.Int) (*types.Transaction, error) { return _IL1ERC20Gateway.contract.Transact(opts, "depositERC20AndCall", _token, _to, _amount, _data, _gasLimit) } // DepositERC20AndCall is a paid mutator transaction binding the contract method 0x0aea8c26. // // Solidity: function depositERC20AndCall(address _token, address _to, uint256 _amount, bytes _data, uint256 _gasLimit) payable returns() func (_IL1ERC20Gateway *IL1ERC20GatewaySession) DepositERC20AndCall(_token common.Address, _to common.Address, _amount *big.Int, _data []byte, _gasLimit *big.Int) (*types.Transaction, error) { return _IL1ERC20Gateway.Contract.DepositERC20AndCall(&_IL1ERC20Gateway.TransactOpts, _token, _to, _amount, _data, _gasLimit) } // DepositERC20AndCall is a paid mutator transaction binding the contract method 0x0aea8c26. // // Solidity: function depositERC20AndCall(address _token, address _to, uint256 _amount, bytes _data, uint256 _gasLimit) payable returns() func (_IL1ERC20Gateway *IL1ERC20GatewayTransactorSession) DepositERC20AndCall(_token common.Address, _to common.Address, _amount *big.Int, _data []byte, _gasLimit *big.Int) (*types.Transaction, error) { return _IL1ERC20Gateway.Contract.DepositERC20AndCall(&_IL1ERC20Gateway.TransactOpts, _token, _to, _amount, _data, _gasLimit) } // FinalizeWithdrawERC20 is a paid mutator transaction binding the contract method 0x84bd13b0. // // Solidity: function finalizeWithdrawERC20(address _l1Token, address _l2Token, address _from, address _to, uint256 _amount, bytes _data) payable returns() func (_IL1ERC20Gateway *IL1ERC20GatewayTransactor) FinalizeWithdrawERC20(opts *bind.TransactOpts, _l1Token common.Address, _l2Token common.Address, _from common.Address, _to common.Address, _amount *big.Int, _data []byte) (*types.Transaction, error) { return _IL1ERC20Gateway.contract.Transact(opts, "finalizeWithdrawERC20", _l1Token, _l2Token, _from, _to, _amount, _data) } // FinalizeWithdrawERC20 is a paid mutator transaction binding the contract method 0x84bd13b0. // // Solidity: function finalizeWithdrawERC20(address _l1Token, address _l2Token, address _from, address _to, uint256 _amount, bytes _data) payable returns() func (_IL1ERC20Gateway *IL1ERC20GatewaySession) FinalizeWithdrawERC20(_l1Token common.Address, _l2Token common.Address, _from common.Address, _to common.Address, _amount *big.Int, _data []byte) (*types.Transaction, error) { return _IL1ERC20Gateway.Contract.FinalizeWithdrawERC20(&_IL1ERC20Gateway.TransactOpts, _l1Token, _l2Token, _from, _to, _amount, _data) } // FinalizeWithdrawERC20 is a paid mutator transaction binding the contract method 0x84bd13b0. // // Solidity: function finalizeWithdrawERC20(address _l1Token, address _l2Token, address _from, address _to, uint256 _amount, bytes _data) payable returns() func (_IL1ERC20Gateway *IL1ERC20GatewayTransactorSession) FinalizeWithdrawERC20(_l1Token common.Address, _l2Token common.Address, _from common.Address, _to common.Address, _amount *big.Int, _data []byte) (*types.Transaction, error) { return _IL1ERC20Gateway.Contract.FinalizeWithdrawERC20(&_IL1ERC20Gateway.TransactOpts, _l1Token, _l2Token, _from, _to, _amount, _data) } // IL1ERC20GatewayDepositERC20Iterator is returned from FilterDepositERC20 and is used to iterate over the raw logs and unpacked data for DepositERC20 events raised by the IL1ERC20Gateway contract. type IL1ERC20GatewayDepositERC20Iterator struct { Event *IL1ERC20GatewayDepositERC20 // 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 *IL1ERC20GatewayDepositERC20Iterator) 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(IL1ERC20GatewayDepositERC20) 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(IL1ERC20GatewayDepositERC20) 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 *IL1ERC20GatewayDepositERC20Iterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IL1ERC20GatewayDepositERC20Iterator) Close() error { it.sub.Unsubscribe() return nil } // IL1ERC20GatewayDepositERC20 represents a DepositERC20 event raised by the IL1ERC20Gateway contract. type IL1ERC20GatewayDepositERC20 struct { L1Token common.Address L2Token common.Address From common.Address To common.Address Amount *big.Int Data []byte Raw types.Log // Blockchain specific contextual infos } // FilterDepositERC20 is a free log retrieval operation binding the contract event 0x31cd3b976e4d654022bf95c68a2ce53f1d5d94afabe0454d2832208eeb40af25. // // Solidity: event DepositERC20(address indexed l1Token, address indexed l2Token, address indexed from, address to, uint256 amount, bytes data) func (_IL1ERC20Gateway *IL1ERC20GatewayFilterer) FilterDepositERC20(opts *bind.FilterOpts, l1Token []common.Address, l2Token []common.Address, from []common.Address) (*IL1ERC20GatewayDepositERC20Iterator, error) { var l1TokenRule []interface{} for _, l1TokenItem := range l1Token { l1TokenRule = append(l1TokenRule, l1TokenItem) } var l2TokenRule []interface{} for _, l2TokenItem := range l2Token { l2TokenRule = append(l2TokenRule, l2TokenItem) } var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } logs, sub, err := _IL1ERC20Gateway.contract.FilterLogs(opts, "DepositERC20", l1TokenRule, l2TokenRule, fromRule) if err != nil { return nil, err } return &IL1ERC20GatewayDepositERC20Iterator{contract: _IL1ERC20Gateway.contract, event: "DepositERC20", logs: logs, sub: sub}, nil } // WatchDepositERC20 is a free log subscription operation binding the contract event 0x31cd3b976e4d654022bf95c68a2ce53f1d5d94afabe0454d2832208eeb40af25. // // Solidity: event DepositERC20(address indexed l1Token, address indexed l2Token, address indexed from, address to, uint256 amount, bytes data) func (_IL1ERC20Gateway *IL1ERC20GatewayFilterer) WatchDepositERC20(opts *bind.WatchOpts, sink chan<- *IL1ERC20GatewayDepositERC20, l1Token []common.Address, l2Token []common.Address, from []common.Address) (event.Subscription, error) { var l1TokenRule []interface{} for _, l1TokenItem := range l1Token { l1TokenRule = append(l1TokenRule, l1TokenItem) } var l2TokenRule []interface{} for _, l2TokenItem := range l2Token { l2TokenRule = append(l2TokenRule, l2TokenItem) } var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } logs, sub, err := _IL1ERC20Gateway.contract.WatchLogs(opts, "DepositERC20", l1TokenRule, l2TokenRule, fromRule) 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(IL1ERC20GatewayDepositERC20) if err := _IL1ERC20Gateway.contract.UnpackLog(event, "DepositERC20", 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 } // ParseDepositERC20 is a log parse operation binding the contract event 0x31cd3b976e4d654022bf95c68a2ce53f1d5d94afabe0454d2832208eeb40af25. // // Solidity: event DepositERC20(address indexed l1Token, address indexed l2Token, address indexed from, address to, uint256 amount, bytes data) func (_IL1ERC20Gateway *IL1ERC20GatewayFilterer) ParseDepositERC20(log types.Log) (*IL1ERC20GatewayDepositERC20, error) { event := new(IL1ERC20GatewayDepositERC20) if err := _IL1ERC20Gateway.contract.UnpackLog(event, "DepositERC20", log); err != nil { return nil, err } event.Raw = log return event, nil } // IL1ERC20GatewayFinalizeWithdrawERC20Iterator is returned from FilterFinalizeWithdrawERC20 and is used to iterate over the raw logs and unpacked data for FinalizeWithdrawERC20 events raised by the IL1ERC20Gateway contract. type IL1ERC20GatewayFinalizeWithdrawERC20Iterator struct { Event *IL1ERC20GatewayFinalizeWithdrawERC20 // 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 *IL1ERC20GatewayFinalizeWithdrawERC20Iterator) 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(IL1ERC20GatewayFinalizeWithdrawERC20) 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(IL1ERC20GatewayFinalizeWithdrawERC20) 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 *IL1ERC20GatewayFinalizeWithdrawERC20Iterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IL1ERC20GatewayFinalizeWithdrawERC20Iterator) Close() error { it.sub.Unsubscribe() return nil } // IL1ERC20GatewayFinalizeWithdrawERC20 represents a FinalizeWithdrawERC20 event raised by the IL1ERC20Gateway contract. type IL1ERC20GatewayFinalizeWithdrawERC20 struct { L1Token common.Address L2Token common.Address From common.Address To common.Address Amount *big.Int Data []byte Raw types.Log // Blockchain specific contextual infos } // FilterFinalizeWithdrawERC20 is a free log retrieval operation binding the contract event 0xc6f985873b37805705f6bce756dce3d1ff4b603e298d506288cce499926846a7. // // Solidity: event FinalizeWithdrawERC20(address indexed l1Token, address indexed l2Token, address indexed from, address to, uint256 amount, bytes data) func (_IL1ERC20Gateway *IL1ERC20GatewayFilterer) FilterFinalizeWithdrawERC20(opts *bind.FilterOpts, l1Token []common.Address, l2Token []common.Address, from []common.Address) (*IL1ERC20GatewayFinalizeWithdrawERC20Iterator, error) { var l1TokenRule []interface{} for _, l1TokenItem := range l1Token { l1TokenRule = append(l1TokenRule, l1TokenItem) } var l2TokenRule []interface{} for _, l2TokenItem := range l2Token { l2TokenRule = append(l2TokenRule, l2TokenItem) } var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } logs, sub, err := _IL1ERC20Gateway.contract.FilterLogs(opts, "FinalizeWithdrawERC20", l1TokenRule, l2TokenRule, fromRule) if err != nil { return nil, err } return &IL1ERC20GatewayFinalizeWithdrawERC20Iterator{contract: _IL1ERC20Gateway.contract, event: "FinalizeWithdrawERC20", logs: logs, sub: sub}, nil } // WatchFinalizeWithdrawERC20 is a free log subscription operation binding the contract event 0xc6f985873b37805705f6bce756dce3d1ff4b603e298d506288cce499926846a7. // // Solidity: event FinalizeWithdrawERC20(address indexed l1Token, address indexed l2Token, address indexed from, address to, uint256 amount, bytes data) func (_IL1ERC20Gateway *IL1ERC20GatewayFilterer) WatchFinalizeWithdrawERC20(opts *bind.WatchOpts, sink chan<- *IL1ERC20GatewayFinalizeWithdrawERC20, l1Token []common.Address, l2Token []common.Address, from []common.Address) (event.Subscription, error) { var l1TokenRule []interface{} for _, l1TokenItem := range l1Token { l1TokenRule = append(l1TokenRule, l1TokenItem) } var l2TokenRule []interface{} for _, l2TokenItem := range l2Token { l2TokenRule = append(l2TokenRule, l2TokenItem) } var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } logs, sub, err := _IL1ERC20Gateway.contract.WatchLogs(opts, "FinalizeWithdrawERC20", l1TokenRule, l2TokenRule, fromRule) 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(IL1ERC20GatewayFinalizeWithdrawERC20) if err := _IL1ERC20Gateway.contract.UnpackLog(event, "FinalizeWithdrawERC20", 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 } // ParseFinalizeWithdrawERC20 is a log parse operation binding the contract event 0xc6f985873b37805705f6bce756dce3d1ff4b603e298d506288cce499926846a7. // // Solidity: event FinalizeWithdrawERC20(address indexed l1Token, address indexed l2Token, address indexed from, address to, uint256 amount, bytes data) func (_IL1ERC20Gateway *IL1ERC20GatewayFilterer) ParseFinalizeWithdrawERC20(log types.Log) (*IL1ERC20GatewayFinalizeWithdrawERC20, error) { event := new(IL1ERC20GatewayFinalizeWithdrawERC20) if err := _IL1ERC20Gateway.contract.UnpackLog(event, "FinalizeWithdrawERC20", log); err != nil { return nil, err } event.Raw = log return event, nil } // IL1ERC20GatewayRefundERC20Iterator is returned from FilterRefundERC20 and is used to iterate over the raw logs and unpacked data for RefundERC20 events raised by the IL1ERC20Gateway contract. type IL1ERC20GatewayRefundERC20Iterator struct { Event *IL1ERC20GatewayRefundERC20 // 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 *IL1ERC20GatewayRefundERC20Iterator) 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(IL1ERC20GatewayRefundERC20) 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(IL1ERC20GatewayRefundERC20) 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 *IL1ERC20GatewayRefundERC20Iterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IL1ERC20GatewayRefundERC20Iterator) Close() error { it.sub.Unsubscribe() return nil } // IL1ERC20GatewayRefundERC20 represents a RefundERC20 event raised by the IL1ERC20Gateway contract. type IL1ERC20GatewayRefundERC20 struct { Token common.Address Recipient common.Address Amount *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterRefundERC20 is a free log retrieval operation binding the contract event 0xdbdf8eb487847e4c0f22847f5dac07f2d3690f96f581a6ae4b102769917645a8. // // Solidity: event RefundERC20(address indexed token, address indexed recipient, uint256 amount) func (_IL1ERC20Gateway *IL1ERC20GatewayFilterer) FilterRefundERC20(opts *bind.FilterOpts, token []common.Address, recipient []common.Address) (*IL1ERC20GatewayRefundERC20Iterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } var recipientRule []interface{} for _, recipientItem := range recipient { recipientRule = append(recipientRule, recipientItem) } logs, sub, err := _IL1ERC20Gateway.contract.FilterLogs(opts, "RefundERC20", tokenRule, recipientRule) if err != nil { return nil, err } return &IL1ERC20GatewayRefundERC20Iterator{contract: _IL1ERC20Gateway.contract, event: "RefundERC20", logs: logs, sub: sub}, nil } // WatchRefundERC20 is a free log subscription operation binding the contract event 0xdbdf8eb487847e4c0f22847f5dac07f2d3690f96f581a6ae4b102769917645a8. // // Solidity: event RefundERC20(address indexed token, address indexed recipient, uint256 amount) func (_IL1ERC20Gateway *IL1ERC20GatewayFilterer) WatchRefundERC20(opts *bind.WatchOpts, sink chan<- *IL1ERC20GatewayRefundERC20, token []common.Address, recipient []common.Address) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } var recipientRule []interface{} for _, recipientItem := range recipient { recipientRule = append(recipientRule, recipientItem) } logs, sub, err := _IL1ERC20Gateway.contract.WatchLogs(opts, "RefundERC20", tokenRule, recipientRule) 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(IL1ERC20GatewayRefundERC20) if err := _IL1ERC20Gateway.contract.UnpackLog(event, "RefundERC20", 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 } // ParseRefundERC20 is a log parse operation binding the contract event 0xdbdf8eb487847e4c0f22847f5dac07f2d3690f96f581a6ae4b102769917645a8. // // Solidity: event RefundERC20(address indexed token, address indexed recipient, uint256 amount) func (_IL1ERC20Gateway *IL1ERC20GatewayFilterer) ParseRefundERC20(log types.Log) (*IL1ERC20GatewayRefundERC20, error) { event := new(IL1ERC20GatewayRefundERC20) if err := _IL1ERC20Gateway.contract.UnpackLog(event, "RefundERC20", log); err != nil { return nil, err } event.Raw = log return event, nil } // IL1ETHGatewayMetaData contains all meta data concerning the IL1ETHGateway contract. var IL1ETHGatewayMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"DepositETH\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"FinalizeWithdrawETH\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"RefundETH\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"}],\"name\":\"depositETH\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"}],\"name\":\"depositETH\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"}],\"name\":\"depositETHAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"finalizeWithdrawETH\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}]", Sigs: map[string]string{ "ce0b63ce": "depositETH(address,uint256,uint256)", "9f8420b3": "depositETH(uint256,uint256)", "aac476f8": "depositETHAndCall(address,uint256,bytes,uint256)", "8eaac8a3": "finalizeWithdrawETH(address,address,uint256,bytes)", }, } // IL1ETHGatewayABI is the input ABI used to generate the binding from. // Deprecated: Use IL1ETHGatewayMetaData.ABI instead. var IL1ETHGatewayABI = IL1ETHGatewayMetaData.ABI // Deprecated: Use IL1ETHGatewayMetaData.Sigs instead. // IL1ETHGatewayFuncSigs maps the 4-byte function signature to its string representation. var IL1ETHGatewayFuncSigs = IL1ETHGatewayMetaData.Sigs // IL1ETHGateway is an auto generated Go binding around an Ethereum contract. type IL1ETHGateway struct { IL1ETHGatewayCaller // Read-only binding to the contract IL1ETHGatewayTransactor // Write-only binding to the contract IL1ETHGatewayFilterer // Log filterer for contract events } // IL1ETHGatewayCaller is an auto generated read-only Go binding around an Ethereum contract. type IL1ETHGatewayCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IL1ETHGatewayTransactor is an auto generated write-only Go binding around an Ethereum contract. type IL1ETHGatewayTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IL1ETHGatewayFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type IL1ETHGatewayFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IL1ETHGatewaySession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IL1ETHGatewaySession struct { Contract *IL1ETHGateway // 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 } // IL1ETHGatewayCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IL1ETHGatewayCallerSession struct { Contract *IL1ETHGatewayCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IL1ETHGatewayTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IL1ETHGatewayTransactorSession struct { Contract *IL1ETHGatewayTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IL1ETHGatewayRaw is an auto generated low-level Go binding around an Ethereum contract. type IL1ETHGatewayRaw struct { Contract *IL1ETHGateway // Generic contract binding to access the raw methods on } // IL1ETHGatewayCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IL1ETHGatewayCallerRaw struct { Contract *IL1ETHGatewayCaller // Generic read-only contract binding to access the raw methods on } // IL1ETHGatewayTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IL1ETHGatewayTransactorRaw struct { Contract *IL1ETHGatewayTransactor // Generic write-only contract binding to access the raw methods on } // NewIL1ETHGateway creates a new instance of IL1ETHGateway, bound to a specific deployed contract. func NewIL1ETHGateway(address common.Address, backend bind.ContractBackend) (*IL1ETHGateway, error) { contract, err := bindIL1ETHGateway(address, backend, backend, backend) if err != nil { return nil, err } return &IL1ETHGateway{IL1ETHGatewayCaller: IL1ETHGatewayCaller{contract: contract}, IL1ETHGatewayTransactor: IL1ETHGatewayTransactor{contract: contract}, IL1ETHGatewayFilterer: IL1ETHGatewayFilterer{contract: contract}}, nil } // NewIL1ETHGatewayCaller creates a new read-only instance of IL1ETHGateway, bound to a specific deployed contract. func NewIL1ETHGatewayCaller(address common.Address, caller bind.ContractCaller) (*IL1ETHGatewayCaller, error) { contract, err := bindIL1ETHGateway(address, caller, nil, nil) if err != nil { return nil, err } return &IL1ETHGatewayCaller{contract: contract}, nil } // NewIL1ETHGatewayTransactor creates a new write-only instance of IL1ETHGateway, bound to a specific deployed contract. func NewIL1ETHGatewayTransactor(address common.Address, transactor bind.ContractTransactor) (*IL1ETHGatewayTransactor, error) { contract, err := bindIL1ETHGateway(address, nil, transactor, nil) if err != nil { return nil, err } return &IL1ETHGatewayTransactor{contract: contract}, nil } // NewIL1ETHGatewayFilterer creates a new log filterer instance of IL1ETHGateway, bound to a specific deployed contract. func NewIL1ETHGatewayFilterer(address common.Address, filterer bind.ContractFilterer) (*IL1ETHGatewayFilterer, error) { contract, err := bindIL1ETHGateway(address, nil, nil, filterer) if err != nil { return nil, err } return &IL1ETHGatewayFilterer{contract: contract}, nil } // bindIL1ETHGateway binds a generic wrapper to an already deployed contract. func bindIL1ETHGateway(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := IL1ETHGatewayMetaData.GetAbi() 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 (_IL1ETHGateway *IL1ETHGatewayRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IL1ETHGateway.Contract.IL1ETHGatewayCaller.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 (_IL1ETHGateway *IL1ETHGatewayRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IL1ETHGateway.Contract.IL1ETHGatewayTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IL1ETHGateway *IL1ETHGatewayRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IL1ETHGateway.Contract.IL1ETHGatewayTransactor.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 (_IL1ETHGateway *IL1ETHGatewayCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IL1ETHGateway.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 (_IL1ETHGateway *IL1ETHGatewayTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IL1ETHGateway.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IL1ETHGateway *IL1ETHGatewayTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IL1ETHGateway.Contract.contract.Transact(opts, method, params...) } // DepositETH is a paid mutator transaction binding the contract method 0x9f8420b3. // // Solidity: function depositETH(uint256 amount, uint256 gasLimit) payable returns() func (_IL1ETHGateway *IL1ETHGatewayTransactor) DepositETH(opts *bind.TransactOpts, amount *big.Int, gasLimit *big.Int) (*types.Transaction, error) { return _IL1ETHGateway.contract.Transact(opts, "depositETH", amount, gasLimit) } // DepositETH is a paid mutator transaction binding the contract method 0x9f8420b3. // // Solidity: function depositETH(uint256 amount, uint256 gasLimit) payable returns() func (_IL1ETHGateway *IL1ETHGatewaySession) DepositETH(amount *big.Int, gasLimit *big.Int) (*types.Transaction, error) { return _IL1ETHGateway.Contract.DepositETH(&_IL1ETHGateway.TransactOpts, amount, gasLimit) } // DepositETH is a paid mutator transaction binding the contract method 0x9f8420b3. // // Solidity: function depositETH(uint256 amount, uint256 gasLimit) payable returns() func (_IL1ETHGateway *IL1ETHGatewayTransactorSession) DepositETH(amount *big.Int, gasLimit *big.Int) (*types.Transaction, error) { return _IL1ETHGateway.Contract.DepositETH(&_IL1ETHGateway.TransactOpts, amount, gasLimit) } // DepositETH0 is a paid mutator transaction binding the contract method 0xce0b63ce. // // Solidity: function depositETH(address to, uint256 amount, uint256 gasLimit) payable returns() func (_IL1ETHGateway *IL1ETHGatewayTransactor) DepositETH0(opts *bind.TransactOpts, to common.Address, amount *big.Int, gasLimit *big.Int) (*types.Transaction, error) { return _IL1ETHGateway.contract.Transact(opts, "depositETH0", to, amount, gasLimit) } // DepositETH0 is a paid mutator transaction binding the contract method 0xce0b63ce. // // Solidity: function depositETH(address to, uint256 amount, uint256 gasLimit) payable returns() func (_IL1ETHGateway *IL1ETHGatewaySession) DepositETH0(to common.Address, amount *big.Int, gasLimit *big.Int) (*types.Transaction, error) { return _IL1ETHGateway.Contract.DepositETH0(&_IL1ETHGateway.TransactOpts, to, amount, gasLimit) } // DepositETH0 is a paid mutator transaction binding the contract method 0xce0b63ce. // // Solidity: function depositETH(address to, uint256 amount, uint256 gasLimit) payable returns() func (_IL1ETHGateway *IL1ETHGatewayTransactorSession) DepositETH0(to common.Address, amount *big.Int, gasLimit *big.Int) (*types.Transaction, error) { return _IL1ETHGateway.Contract.DepositETH0(&_IL1ETHGateway.TransactOpts, to, amount, gasLimit) } // DepositETHAndCall is a paid mutator transaction binding the contract method 0xaac476f8. // // Solidity: function depositETHAndCall(address to, uint256 amount, bytes data, uint256 gasLimit) payable returns() func (_IL1ETHGateway *IL1ETHGatewayTransactor) DepositETHAndCall(opts *bind.TransactOpts, to common.Address, amount *big.Int, data []byte, gasLimit *big.Int) (*types.Transaction, error) { return _IL1ETHGateway.contract.Transact(opts, "depositETHAndCall", to, amount, data, gasLimit) } // DepositETHAndCall is a paid mutator transaction binding the contract method 0xaac476f8. // // Solidity: function depositETHAndCall(address to, uint256 amount, bytes data, uint256 gasLimit) payable returns() func (_IL1ETHGateway *IL1ETHGatewaySession) DepositETHAndCall(to common.Address, amount *big.Int, data []byte, gasLimit *big.Int) (*types.Transaction, error) { return _IL1ETHGateway.Contract.DepositETHAndCall(&_IL1ETHGateway.TransactOpts, to, amount, data, gasLimit) } // DepositETHAndCall is a paid mutator transaction binding the contract method 0xaac476f8. // // Solidity: function depositETHAndCall(address to, uint256 amount, bytes data, uint256 gasLimit) payable returns() func (_IL1ETHGateway *IL1ETHGatewayTransactorSession) DepositETHAndCall(to common.Address, amount *big.Int, data []byte, gasLimit *big.Int) (*types.Transaction, error) { return _IL1ETHGateway.Contract.DepositETHAndCall(&_IL1ETHGateway.TransactOpts, to, amount, data, gasLimit) } // FinalizeWithdrawETH is a paid mutator transaction binding the contract method 0x8eaac8a3. // // Solidity: function finalizeWithdrawETH(address from, address to, uint256 amount, bytes data) payable returns() func (_IL1ETHGateway *IL1ETHGatewayTransactor) FinalizeWithdrawETH(opts *bind.TransactOpts, from common.Address, to common.Address, amount *big.Int, data []byte) (*types.Transaction, error) { return _IL1ETHGateway.contract.Transact(opts, "finalizeWithdrawETH", from, to, amount, data) } // FinalizeWithdrawETH is a paid mutator transaction binding the contract method 0x8eaac8a3. // // Solidity: function finalizeWithdrawETH(address from, address to, uint256 amount, bytes data) payable returns() func (_IL1ETHGateway *IL1ETHGatewaySession) FinalizeWithdrawETH(from common.Address, to common.Address, amount *big.Int, data []byte) (*types.Transaction, error) { return _IL1ETHGateway.Contract.FinalizeWithdrawETH(&_IL1ETHGateway.TransactOpts, from, to, amount, data) } // FinalizeWithdrawETH is a paid mutator transaction binding the contract method 0x8eaac8a3. // // Solidity: function finalizeWithdrawETH(address from, address to, uint256 amount, bytes data) payable returns() func (_IL1ETHGateway *IL1ETHGatewayTransactorSession) FinalizeWithdrawETH(from common.Address, to common.Address, amount *big.Int, data []byte) (*types.Transaction, error) { return _IL1ETHGateway.Contract.FinalizeWithdrawETH(&_IL1ETHGateway.TransactOpts, from, to, amount, data) } // IL1ETHGatewayDepositETHIterator is returned from FilterDepositETH and is used to iterate over the raw logs and unpacked data for DepositETH events raised by the IL1ETHGateway contract. type IL1ETHGatewayDepositETHIterator struct { Event *IL1ETHGatewayDepositETH // 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 *IL1ETHGatewayDepositETHIterator) 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(IL1ETHGatewayDepositETH) 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(IL1ETHGatewayDepositETH) 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 *IL1ETHGatewayDepositETHIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IL1ETHGatewayDepositETHIterator) Close() error { it.sub.Unsubscribe() return nil } // IL1ETHGatewayDepositETH represents a DepositETH event raised by the IL1ETHGateway contract. type IL1ETHGatewayDepositETH struct { From common.Address To common.Address Amount *big.Int Data []byte Raw types.Log // Blockchain specific contextual infos } // FilterDepositETH is a free log retrieval operation binding the contract event 0x6670de856ec8bf5cb2b7e957c5dc24759716056f79d97ea5e7c939ca0ba5a675. // // Solidity: event DepositETH(address indexed from, address indexed to, uint256 amount, bytes data) func (_IL1ETHGateway *IL1ETHGatewayFilterer) FilterDepositETH(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*IL1ETHGatewayDepositETHIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _IL1ETHGateway.contract.FilterLogs(opts, "DepositETH", fromRule, toRule) if err != nil { return nil, err } return &IL1ETHGatewayDepositETHIterator{contract: _IL1ETHGateway.contract, event: "DepositETH", logs: logs, sub: sub}, nil } // WatchDepositETH is a free log subscription operation binding the contract event 0x6670de856ec8bf5cb2b7e957c5dc24759716056f79d97ea5e7c939ca0ba5a675. // // Solidity: event DepositETH(address indexed from, address indexed to, uint256 amount, bytes data) func (_IL1ETHGateway *IL1ETHGatewayFilterer) WatchDepositETH(opts *bind.WatchOpts, sink chan<- *IL1ETHGatewayDepositETH, from []common.Address, to []common.Address) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _IL1ETHGateway.contract.WatchLogs(opts, "DepositETH", fromRule, toRule) 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(IL1ETHGatewayDepositETH) if err := _IL1ETHGateway.contract.UnpackLog(event, "DepositETH", 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 } // ParseDepositETH is a log parse operation binding the contract event 0x6670de856ec8bf5cb2b7e957c5dc24759716056f79d97ea5e7c939ca0ba5a675. // // Solidity: event DepositETH(address indexed from, address indexed to, uint256 amount, bytes data) func (_IL1ETHGateway *IL1ETHGatewayFilterer) ParseDepositETH(log types.Log) (*IL1ETHGatewayDepositETH, error) { event := new(IL1ETHGatewayDepositETH) if err := _IL1ETHGateway.contract.UnpackLog(event, "DepositETH", log); err != nil { return nil, err } event.Raw = log return event, nil } // IL1ETHGatewayFinalizeWithdrawETHIterator is returned from FilterFinalizeWithdrawETH and is used to iterate over the raw logs and unpacked data for FinalizeWithdrawETH events raised by the IL1ETHGateway contract. type IL1ETHGatewayFinalizeWithdrawETHIterator struct { Event *IL1ETHGatewayFinalizeWithdrawETH // 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 *IL1ETHGatewayFinalizeWithdrawETHIterator) 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(IL1ETHGatewayFinalizeWithdrawETH) 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(IL1ETHGatewayFinalizeWithdrawETH) 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 *IL1ETHGatewayFinalizeWithdrawETHIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IL1ETHGatewayFinalizeWithdrawETHIterator) Close() error { it.sub.Unsubscribe() return nil } // IL1ETHGatewayFinalizeWithdrawETH represents a FinalizeWithdrawETH event raised by the IL1ETHGateway contract. type IL1ETHGatewayFinalizeWithdrawETH struct { From common.Address To common.Address Amount *big.Int Data []byte Raw types.Log // Blockchain specific contextual infos } // FilterFinalizeWithdrawETH is a free log retrieval operation binding the contract event 0x96db5d1cee1dd2760826bb56fabd9c9f6e978083e0a8b88559c741a29e9746e7. // // Solidity: event FinalizeWithdrawETH(address indexed from, address indexed to, uint256 amount, bytes data) func (_IL1ETHGateway *IL1ETHGatewayFilterer) FilterFinalizeWithdrawETH(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*IL1ETHGatewayFinalizeWithdrawETHIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _IL1ETHGateway.contract.FilterLogs(opts, "FinalizeWithdrawETH", fromRule, toRule) if err != nil { return nil, err } return &IL1ETHGatewayFinalizeWithdrawETHIterator{contract: _IL1ETHGateway.contract, event: "FinalizeWithdrawETH", logs: logs, sub: sub}, nil } // WatchFinalizeWithdrawETH is a free log subscription operation binding the contract event 0x96db5d1cee1dd2760826bb56fabd9c9f6e978083e0a8b88559c741a29e9746e7. // // Solidity: event FinalizeWithdrawETH(address indexed from, address indexed to, uint256 amount, bytes data) func (_IL1ETHGateway *IL1ETHGatewayFilterer) WatchFinalizeWithdrawETH(opts *bind.WatchOpts, sink chan<- *IL1ETHGatewayFinalizeWithdrawETH, from []common.Address, to []common.Address) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _IL1ETHGateway.contract.WatchLogs(opts, "FinalizeWithdrawETH", fromRule, toRule) 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(IL1ETHGatewayFinalizeWithdrawETH) if err := _IL1ETHGateway.contract.UnpackLog(event, "FinalizeWithdrawETH", 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 } // ParseFinalizeWithdrawETH is a log parse operation binding the contract event 0x96db5d1cee1dd2760826bb56fabd9c9f6e978083e0a8b88559c741a29e9746e7. // // Solidity: event FinalizeWithdrawETH(address indexed from, address indexed to, uint256 amount, bytes data) func (_IL1ETHGateway *IL1ETHGatewayFilterer) ParseFinalizeWithdrawETH(log types.Log) (*IL1ETHGatewayFinalizeWithdrawETH, error) { event := new(IL1ETHGatewayFinalizeWithdrawETH) if err := _IL1ETHGateway.contract.UnpackLog(event, "FinalizeWithdrawETH", log); err != nil { return nil, err } event.Raw = log return event, nil } // IL1ETHGatewayRefundETHIterator is returned from FilterRefundETH and is used to iterate over the raw logs and unpacked data for RefundETH events raised by the IL1ETHGateway contract. type IL1ETHGatewayRefundETHIterator struct { Event *IL1ETHGatewayRefundETH // 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 *IL1ETHGatewayRefundETHIterator) 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(IL1ETHGatewayRefundETH) 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(IL1ETHGatewayRefundETH) 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 *IL1ETHGatewayRefundETHIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IL1ETHGatewayRefundETHIterator) Close() error { it.sub.Unsubscribe() return nil } // IL1ETHGatewayRefundETH represents a RefundETH event raised by the IL1ETHGateway contract. type IL1ETHGatewayRefundETH struct { Recipient common.Address Amount *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterRefundETH is a free log retrieval operation binding the contract event 0x289360176646a5f99cb4b6300628426dca46b723f40db3c04449d6ed1745a0e7. // // Solidity: event RefundETH(address indexed recipient, uint256 amount) func (_IL1ETHGateway *IL1ETHGatewayFilterer) FilterRefundETH(opts *bind.FilterOpts, recipient []common.Address) (*IL1ETHGatewayRefundETHIterator, error) { var recipientRule []interface{} for _, recipientItem := range recipient { recipientRule = append(recipientRule, recipientItem) } logs, sub, err := _IL1ETHGateway.contract.FilterLogs(opts, "RefundETH", recipientRule) if err != nil { return nil, err } return &IL1ETHGatewayRefundETHIterator{contract: _IL1ETHGateway.contract, event: "RefundETH", logs: logs, sub: sub}, nil } // WatchRefundETH is a free log subscription operation binding the contract event 0x289360176646a5f99cb4b6300628426dca46b723f40db3c04449d6ed1745a0e7. // // Solidity: event RefundETH(address indexed recipient, uint256 amount) func (_IL1ETHGateway *IL1ETHGatewayFilterer) WatchRefundETH(opts *bind.WatchOpts, sink chan<- *IL1ETHGatewayRefundETH, recipient []common.Address) (event.Subscription, error) { var recipientRule []interface{} for _, recipientItem := range recipient { recipientRule = append(recipientRule, recipientItem) } logs, sub, err := _IL1ETHGateway.contract.WatchLogs(opts, "RefundETH", recipientRule) 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(IL1ETHGatewayRefundETH) if err := _IL1ETHGateway.contract.UnpackLog(event, "RefundETH", 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 } // ParseRefundETH is a log parse operation binding the contract event 0x289360176646a5f99cb4b6300628426dca46b723f40db3c04449d6ed1745a0e7. // // Solidity: event RefundETH(address indexed recipient, uint256 amount) func (_IL1ETHGateway *IL1ETHGatewayFilterer) ParseRefundETH(log types.Log) (*IL1ETHGatewayRefundETH, error) { event := new(IL1ETHGatewayRefundETH) if err := _IL1ETHGateway.contract.UnpackLog(event, "RefundETH", log); err != nil { return nil, err } event.Raw = log return event, nil } // IL1GatewayRouterMetaData contains all meta data concerning the IL1GatewayRouter contract. var IL1GatewayRouterMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"l1Token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"l2Token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"DepositERC20\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"DepositETH\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"l1Token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"l2Token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"FinalizeWithdrawERC20\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"FinalizeWithdrawETH\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"RefundERC20\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"RefundETH\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldDefaultERC20Gateway\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newDefaultERC20Gateway\",\"type\":\"address\"}],\"name\":\"SetDefaultERC20Gateway\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldGateway\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newGateway\",\"type\":\"address\"}],\"name\":\"SetERC20Gateway\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldETHGateway\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newEthGateway\",\"type\":\"address\"}],\"name\":\"SetETHGateway\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_gasLimit\",\"type\":\"uint256\"}],\"name\":\"depositERC20\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_gasLimit\",\"type\":\"uint256\"}],\"name\":\"depositERC20\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_gasLimit\",\"type\":\"uint256\"}],\"name\":\"depositERC20AndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"}],\"name\":\"depositETH\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"}],\"name\":\"depositETH\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"}],\"name\":\"depositETHAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_l1Token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_l2Token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"finalizeWithdrawERC20\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"finalizeWithdrawETH\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getERC20Gateway\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_l1Token\",\"type\":\"address\"}],\"name\":\"getL2ERC20Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"requestERC20\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_defaultERC20Gateway\",\"type\":\"address\"}],\"name\":\"setDefaultERC20Gateway\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_tokens\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_gateways\",\"type\":\"address[]\"}],\"name\":\"setERC20Gateway\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_ethGateway\",\"type\":\"address\"}],\"name\":\"setETHGateway\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "f219fa66": "depositERC20(address,address,uint256,uint256)", "21425ee0": "depositERC20(address,uint256,uint256)", "0aea8c26": "depositERC20AndCall(address,address,uint256,bytes,uint256)", "ce0b63ce": "depositETH(address,uint256,uint256)", "9f8420b3": "depositETH(uint256,uint256)", "aac476f8": "depositETHAndCall(address,uint256,bytes,uint256)", "84bd13b0": "finalizeWithdrawERC20(address,address,address,address,uint256,bytes)", "8eaac8a3": "finalizeWithdrawETH(address,address,uint256,bytes)", "43c66741": "getERC20Gateway(address)", "c676ad29": "getL2ERC20Address(address)", "c52a3bbc": "requestERC20(address,address,uint256)", "5dfd5b9a": "setDefaultERC20Gateway(address)", "635c8637": "setERC20Gateway(address[],address[])", "3d1d31c7": "setETHGateway(address)", }, } // IL1GatewayRouterABI is the input ABI used to generate the binding from. // Deprecated: Use IL1GatewayRouterMetaData.ABI instead. var IL1GatewayRouterABI = IL1GatewayRouterMetaData.ABI // Deprecated: Use IL1GatewayRouterMetaData.Sigs instead. // IL1GatewayRouterFuncSigs maps the 4-byte function signature to its string representation. var IL1GatewayRouterFuncSigs = IL1GatewayRouterMetaData.Sigs // IL1GatewayRouter is an auto generated Go binding around an Ethereum contract. type IL1GatewayRouter struct { IL1GatewayRouterCaller // Read-only binding to the contract IL1GatewayRouterTransactor // Write-only binding to the contract IL1GatewayRouterFilterer // Log filterer for contract events } // IL1GatewayRouterCaller is an auto generated read-only Go binding around an Ethereum contract. type IL1GatewayRouterCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IL1GatewayRouterTransactor is an auto generated write-only Go binding around an Ethereum contract. type IL1GatewayRouterTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IL1GatewayRouterFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type IL1GatewayRouterFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IL1GatewayRouterSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IL1GatewayRouterSession struct { Contract *IL1GatewayRouter // 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 } // IL1GatewayRouterCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IL1GatewayRouterCallerSession struct { Contract *IL1GatewayRouterCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IL1GatewayRouterTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IL1GatewayRouterTransactorSession struct { Contract *IL1GatewayRouterTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IL1GatewayRouterRaw is an auto generated low-level Go binding around an Ethereum contract. type IL1GatewayRouterRaw struct { Contract *IL1GatewayRouter // Generic contract binding to access the raw methods on } // IL1GatewayRouterCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IL1GatewayRouterCallerRaw struct { Contract *IL1GatewayRouterCaller // Generic read-only contract binding to access the raw methods on } // IL1GatewayRouterTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IL1GatewayRouterTransactorRaw struct { Contract *IL1GatewayRouterTransactor // Generic write-only contract binding to access the raw methods on } // NewIL1GatewayRouter creates a new instance of IL1GatewayRouter, bound to a specific deployed contract. func NewIL1GatewayRouter(address common.Address, backend bind.ContractBackend) (*IL1GatewayRouter, error) { contract, err := bindIL1GatewayRouter(address, backend, backend, backend) if err != nil { return nil, err } return &IL1GatewayRouter{IL1GatewayRouterCaller: IL1GatewayRouterCaller{contract: contract}, IL1GatewayRouterTransactor: IL1GatewayRouterTransactor{contract: contract}, IL1GatewayRouterFilterer: IL1GatewayRouterFilterer{contract: contract}}, nil } // NewIL1GatewayRouterCaller creates a new read-only instance of IL1GatewayRouter, bound to a specific deployed contract. func NewIL1GatewayRouterCaller(address common.Address, caller bind.ContractCaller) (*IL1GatewayRouterCaller, error) { contract, err := bindIL1GatewayRouter(address, caller, nil, nil) if err != nil { return nil, err } return &IL1GatewayRouterCaller{contract: contract}, nil } // NewIL1GatewayRouterTransactor creates a new write-only instance of IL1GatewayRouter, bound to a specific deployed contract. func NewIL1GatewayRouterTransactor(address common.Address, transactor bind.ContractTransactor) (*IL1GatewayRouterTransactor, error) { contract, err := bindIL1GatewayRouter(address, nil, transactor, nil) if err != nil { return nil, err } return &IL1GatewayRouterTransactor{contract: contract}, nil } // NewIL1GatewayRouterFilterer creates a new log filterer instance of IL1GatewayRouter, bound to a specific deployed contract. func NewIL1GatewayRouterFilterer(address common.Address, filterer bind.ContractFilterer) (*IL1GatewayRouterFilterer, error) { contract, err := bindIL1GatewayRouter(address, nil, nil, filterer) if err != nil { return nil, err } return &IL1GatewayRouterFilterer{contract: contract}, nil } // bindIL1GatewayRouter binds a generic wrapper to an already deployed contract. func bindIL1GatewayRouter(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := IL1GatewayRouterMetaData.GetAbi() 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 (_IL1GatewayRouter *IL1GatewayRouterRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IL1GatewayRouter.Contract.IL1GatewayRouterCaller.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 (_IL1GatewayRouter *IL1GatewayRouterRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.IL1GatewayRouterTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IL1GatewayRouter *IL1GatewayRouterRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.IL1GatewayRouterTransactor.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 (_IL1GatewayRouter *IL1GatewayRouterCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IL1GatewayRouter.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 (_IL1GatewayRouter *IL1GatewayRouterTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IL1GatewayRouter *IL1GatewayRouterTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.contract.Transact(opts, method, params...) } // GetERC20Gateway is a free data retrieval call binding the contract method 0x43c66741. // // Solidity: function getERC20Gateway(address _token) view returns(address) func (_IL1GatewayRouter *IL1GatewayRouterCaller) GetERC20Gateway(opts *bind.CallOpts, _token common.Address) (common.Address, error) { var out []interface{} err := _IL1GatewayRouter.contract.Call(opts, &out, "getERC20Gateway", _token) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetERC20Gateway is a free data retrieval call binding the contract method 0x43c66741. // // Solidity: function getERC20Gateway(address _token) view returns(address) func (_IL1GatewayRouter *IL1GatewayRouterSession) GetERC20Gateway(_token common.Address) (common.Address, error) { return _IL1GatewayRouter.Contract.GetERC20Gateway(&_IL1GatewayRouter.CallOpts, _token) } // GetERC20Gateway is a free data retrieval call binding the contract method 0x43c66741. // // Solidity: function getERC20Gateway(address _token) view returns(address) func (_IL1GatewayRouter *IL1GatewayRouterCallerSession) GetERC20Gateway(_token common.Address) (common.Address, error) { return _IL1GatewayRouter.Contract.GetERC20Gateway(&_IL1GatewayRouter.CallOpts, _token) } // GetL2ERC20Address is a free data retrieval call binding the contract method 0xc676ad29. // // Solidity: function getL2ERC20Address(address _l1Token) view returns(address) func (_IL1GatewayRouter *IL1GatewayRouterCaller) GetL2ERC20Address(opts *bind.CallOpts, _l1Token common.Address) (common.Address, error) { var out []interface{} err := _IL1GatewayRouter.contract.Call(opts, &out, "getL2ERC20Address", _l1Token) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetL2ERC20Address is a free data retrieval call binding the contract method 0xc676ad29. // // Solidity: function getL2ERC20Address(address _l1Token) view returns(address) func (_IL1GatewayRouter *IL1GatewayRouterSession) GetL2ERC20Address(_l1Token common.Address) (common.Address, error) { return _IL1GatewayRouter.Contract.GetL2ERC20Address(&_IL1GatewayRouter.CallOpts, _l1Token) } // GetL2ERC20Address is a free data retrieval call binding the contract method 0xc676ad29. // // Solidity: function getL2ERC20Address(address _l1Token) view returns(address) func (_IL1GatewayRouter *IL1GatewayRouterCallerSession) GetL2ERC20Address(_l1Token common.Address) (common.Address, error) { return _IL1GatewayRouter.Contract.GetL2ERC20Address(&_IL1GatewayRouter.CallOpts, _l1Token) } // DepositERC20 is a paid mutator transaction binding the contract method 0x21425ee0. // // Solidity: function depositERC20(address _token, uint256 _amount, uint256 _gasLimit) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterTransactor) DepositERC20(opts *bind.TransactOpts, _token common.Address, _amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _IL1GatewayRouter.contract.Transact(opts, "depositERC20", _token, _amount, _gasLimit) } // DepositERC20 is a paid mutator transaction binding the contract method 0x21425ee0. // // Solidity: function depositERC20(address _token, uint256 _amount, uint256 _gasLimit) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterSession) DepositERC20(_token common.Address, _amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.DepositERC20(&_IL1GatewayRouter.TransactOpts, _token, _amount, _gasLimit) } // DepositERC20 is a paid mutator transaction binding the contract method 0x21425ee0. // // Solidity: function depositERC20(address _token, uint256 _amount, uint256 _gasLimit) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterTransactorSession) DepositERC20(_token common.Address, _amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.DepositERC20(&_IL1GatewayRouter.TransactOpts, _token, _amount, _gasLimit) } // DepositERC200 is a paid mutator transaction binding the contract method 0xf219fa66. // // Solidity: function depositERC20(address _token, address _to, uint256 _amount, uint256 _gasLimit) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterTransactor) DepositERC200(opts *bind.TransactOpts, _token common.Address, _to common.Address, _amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _IL1GatewayRouter.contract.Transact(opts, "depositERC200", _token, _to, _amount, _gasLimit) } // DepositERC200 is a paid mutator transaction binding the contract method 0xf219fa66. // // Solidity: function depositERC20(address _token, address _to, uint256 _amount, uint256 _gasLimit) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterSession) DepositERC200(_token common.Address, _to common.Address, _amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.DepositERC200(&_IL1GatewayRouter.TransactOpts, _token, _to, _amount, _gasLimit) } // DepositERC200 is a paid mutator transaction binding the contract method 0xf219fa66. // // Solidity: function depositERC20(address _token, address _to, uint256 _amount, uint256 _gasLimit) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterTransactorSession) DepositERC200(_token common.Address, _to common.Address, _amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.DepositERC200(&_IL1GatewayRouter.TransactOpts, _token, _to, _amount, _gasLimit) } // DepositERC20AndCall is a paid mutator transaction binding the contract method 0x0aea8c26. // // Solidity: function depositERC20AndCall(address _token, address _to, uint256 _amount, bytes _data, uint256 _gasLimit) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterTransactor) DepositERC20AndCall(opts *bind.TransactOpts, _token common.Address, _to common.Address, _amount *big.Int, _data []byte, _gasLimit *big.Int) (*types.Transaction, error) { return _IL1GatewayRouter.contract.Transact(opts, "depositERC20AndCall", _token, _to, _amount, _data, _gasLimit) } // DepositERC20AndCall is a paid mutator transaction binding the contract method 0x0aea8c26. // // Solidity: function depositERC20AndCall(address _token, address _to, uint256 _amount, bytes _data, uint256 _gasLimit) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterSession) DepositERC20AndCall(_token common.Address, _to common.Address, _amount *big.Int, _data []byte, _gasLimit *big.Int) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.DepositERC20AndCall(&_IL1GatewayRouter.TransactOpts, _token, _to, _amount, _data, _gasLimit) } // DepositERC20AndCall is a paid mutator transaction binding the contract method 0x0aea8c26. // // Solidity: function depositERC20AndCall(address _token, address _to, uint256 _amount, bytes _data, uint256 _gasLimit) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterTransactorSession) DepositERC20AndCall(_token common.Address, _to common.Address, _amount *big.Int, _data []byte, _gasLimit *big.Int) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.DepositERC20AndCall(&_IL1GatewayRouter.TransactOpts, _token, _to, _amount, _data, _gasLimit) } // DepositETH is a paid mutator transaction binding the contract method 0x9f8420b3. // // Solidity: function depositETH(uint256 amount, uint256 gasLimit) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterTransactor) DepositETH(opts *bind.TransactOpts, amount *big.Int, gasLimit *big.Int) (*types.Transaction, error) { return _IL1GatewayRouter.contract.Transact(opts, "depositETH", amount, gasLimit) } // DepositETH is a paid mutator transaction binding the contract method 0x9f8420b3. // // Solidity: function depositETH(uint256 amount, uint256 gasLimit) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterSession) DepositETH(amount *big.Int, gasLimit *big.Int) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.DepositETH(&_IL1GatewayRouter.TransactOpts, amount, gasLimit) } // DepositETH is a paid mutator transaction binding the contract method 0x9f8420b3. // // Solidity: function depositETH(uint256 amount, uint256 gasLimit) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterTransactorSession) DepositETH(amount *big.Int, gasLimit *big.Int) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.DepositETH(&_IL1GatewayRouter.TransactOpts, amount, gasLimit) } // DepositETH0 is a paid mutator transaction binding the contract method 0xce0b63ce. // // Solidity: function depositETH(address to, uint256 amount, uint256 gasLimit) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterTransactor) DepositETH0(opts *bind.TransactOpts, to common.Address, amount *big.Int, gasLimit *big.Int) (*types.Transaction, error) { return _IL1GatewayRouter.contract.Transact(opts, "depositETH0", to, amount, gasLimit) } // DepositETH0 is a paid mutator transaction binding the contract method 0xce0b63ce. // // Solidity: function depositETH(address to, uint256 amount, uint256 gasLimit) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterSession) DepositETH0(to common.Address, amount *big.Int, gasLimit *big.Int) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.DepositETH0(&_IL1GatewayRouter.TransactOpts, to, amount, gasLimit) } // DepositETH0 is a paid mutator transaction binding the contract method 0xce0b63ce. // // Solidity: function depositETH(address to, uint256 amount, uint256 gasLimit) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterTransactorSession) DepositETH0(to common.Address, amount *big.Int, gasLimit *big.Int) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.DepositETH0(&_IL1GatewayRouter.TransactOpts, to, amount, gasLimit) } // DepositETHAndCall is a paid mutator transaction binding the contract method 0xaac476f8. // // Solidity: function depositETHAndCall(address to, uint256 amount, bytes data, uint256 gasLimit) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterTransactor) DepositETHAndCall(opts *bind.TransactOpts, to common.Address, amount *big.Int, data []byte, gasLimit *big.Int) (*types.Transaction, error) { return _IL1GatewayRouter.contract.Transact(opts, "depositETHAndCall", to, amount, data, gasLimit) } // DepositETHAndCall is a paid mutator transaction binding the contract method 0xaac476f8. // // Solidity: function depositETHAndCall(address to, uint256 amount, bytes data, uint256 gasLimit) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterSession) DepositETHAndCall(to common.Address, amount *big.Int, data []byte, gasLimit *big.Int) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.DepositETHAndCall(&_IL1GatewayRouter.TransactOpts, to, amount, data, gasLimit) } // DepositETHAndCall is a paid mutator transaction binding the contract method 0xaac476f8. // // Solidity: function depositETHAndCall(address to, uint256 amount, bytes data, uint256 gasLimit) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterTransactorSession) DepositETHAndCall(to common.Address, amount *big.Int, data []byte, gasLimit *big.Int) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.DepositETHAndCall(&_IL1GatewayRouter.TransactOpts, to, amount, data, gasLimit) } // FinalizeWithdrawERC20 is a paid mutator transaction binding the contract method 0x84bd13b0. // // Solidity: function finalizeWithdrawERC20(address _l1Token, address _l2Token, address _from, address _to, uint256 _amount, bytes _data) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterTransactor) FinalizeWithdrawERC20(opts *bind.TransactOpts, _l1Token common.Address, _l2Token common.Address, _from common.Address, _to common.Address, _amount *big.Int, _data []byte) (*types.Transaction, error) { return _IL1GatewayRouter.contract.Transact(opts, "finalizeWithdrawERC20", _l1Token, _l2Token, _from, _to, _amount, _data) } // FinalizeWithdrawERC20 is a paid mutator transaction binding the contract method 0x84bd13b0. // // Solidity: function finalizeWithdrawERC20(address _l1Token, address _l2Token, address _from, address _to, uint256 _amount, bytes _data) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterSession) FinalizeWithdrawERC20(_l1Token common.Address, _l2Token common.Address, _from common.Address, _to common.Address, _amount *big.Int, _data []byte) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.FinalizeWithdrawERC20(&_IL1GatewayRouter.TransactOpts, _l1Token, _l2Token, _from, _to, _amount, _data) } // FinalizeWithdrawERC20 is a paid mutator transaction binding the contract method 0x84bd13b0. // // Solidity: function finalizeWithdrawERC20(address _l1Token, address _l2Token, address _from, address _to, uint256 _amount, bytes _data) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterTransactorSession) FinalizeWithdrawERC20(_l1Token common.Address, _l2Token common.Address, _from common.Address, _to common.Address, _amount *big.Int, _data []byte) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.FinalizeWithdrawERC20(&_IL1GatewayRouter.TransactOpts, _l1Token, _l2Token, _from, _to, _amount, _data) } // FinalizeWithdrawETH is a paid mutator transaction binding the contract method 0x8eaac8a3. // // Solidity: function finalizeWithdrawETH(address from, address to, uint256 amount, bytes data) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterTransactor) FinalizeWithdrawETH(opts *bind.TransactOpts, from common.Address, to common.Address, amount *big.Int, data []byte) (*types.Transaction, error) { return _IL1GatewayRouter.contract.Transact(opts, "finalizeWithdrawETH", from, to, amount, data) } // FinalizeWithdrawETH is a paid mutator transaction binding the contract method 0x8eaac8a3. // // Solidity: function finalizeWithdrawETH(address from, address to, uint256 amount, bytes data) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterSession) FinalizeWithdrawETH(from common.Address, to common.Address, amount *big.Int, data []byte) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.FinalizeWithdrawETH(&_IL1GatewayRouter.TransactOpts, from, to, amount, data) } // FinalizeWithdrawETH is a paid mutator transaction binding the contract method 0x8eaac8a3. // // Solidity: function finalizeWithdrawETH(address from, address to, uint256 amount, bytes data) payable returns() func (_IL1GatewayRouter *IL1GatewayRouterTransactorSession) FinalizeWithdrawETH(from common.Address, to common.Address, amount *big.Int, data []byte) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.FinalizeWithdrawETH(&_IL1GatewayRouter.TransactOpts, from, to, amount, data) } // RequestERC20 is a paid mutator transaction binding the contract method 0xc52a3bbc. // // Solidity: function requestERC20(address sender, address token, uint256 amount) returns(uint256) func (_IL1GatewayRouter *IL1GatewayRouterTransactor) RequestERC20(opts *bind.TransactOpts, sender common.Address, token common.Address, amount *big.Int) (*types.Transaction, error) { return _IL1GatewayRouter.contract.Transact(opts, "requestERC20", sender, token, amount) } // RequestERC20 is a paid mutator transaction binding the contract method 0xc52a3bbc. // // Solidity: function requestERC20(address sender, address token, uint256 amount) returns(uint256) func (_IL1GatewayRouter *IL1GatewayRouterSession) RequestERC20(sender common.Address, token common.Address, amount *big.Int) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.RequestERC20(&_IL1GatewayRouter.TransactOpts, sender, token, amount) } // RequestERC20 is a paid mutator transaction binding the contract method 0xc52a3bbc. // // Solidity: function requestERC20(address sender, address token, uint256 amount) returns(uint256) func (_IL1GatewayRouter *IL1GatewayRouterTransactorSession) RequestERC20(sender common.Address, token common.Address, amount *big.Int) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.RequestERC20(&_IL1GatewayRouter.TransactOpts, sender, token, amount) } // SetDefaultERC20Gateway is a paid mutator transaction binding the contract method 0x5dfd5b9a. // // Solidity: function setDefaultERC20Gateway(address _defaultERC20Gateway) returns() func (_IL1GatewayRouter *IL1GatewayRouterTransactor) SetDefaultERC20Gateway(opts *bind.TransactOpts, _defaultERC20Gateway common.Address) (*types.Transaction, error) { return _IL1GatewayRouter.contract.Transact(opts, "setDefaultERC20Gateway", _defaultERC20Gateway) } // SetDefaultERC20Gateway is a paid mutator transaction binding the contract method 0x5dfd5b9a. // // Solidity: function setDefaultERC20Gateway(address _defaultERC20Gateway) returns() func (_IL1GatewayRouter *IL1GatewayRouterSession) SetDefaultERC20Gateway(_defaultERC20Gateway common.Address) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.SetDefaultERC20Gateway(&_IL1GatewayRouter.TransactOpts, _defaultERC20Gateway) } // SetDefaultERC20Gateway is a paid mutator transaction binding the contract method 0x5dfd5b9a. // // Solidity: function setDefaultERC20Gateway(address _defaultERC20Gateway) returns() func (_IL1GatewayRouter *IL1GatewayRouterTransactorSession) SetDefaultERC20Gateway(_defaultERC20Gateway common.Address) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.SetDefaultERC20Gateway(&_IL1GatewayRouter.TransactOpts, _defaultERC20Gateway) } // SetERC20Gateway is a paid mutator transaction binding the contract method 0x635c8637. // // Solidity: function setERC20Gateway(address[] _tokens, address[] _gateways) returns() func (_IL1GatewayRouter *IL1GatewayRouterTransactor) SetERC20Gateway(opts *bind.TransactOpts, _tokens []common.Address, _gateways []common.Address) (*types.Transaction, error) { return _IL1GatewayRouter.contract.Transact(opts, "setERC20Gateway", _tokens, _gateways) } // SetERC20Gateway is a paid mutator transaction binding the contract method 0x635c8637. // // Solidity: function setERC20Gateway(address[] _tokens, address[] _gateways) returns() func (_IL1GatewayRouter *IL1GatewayRouterSession) SetERC20Gateway(_tokens []common.Address, _gateways []common.Address) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.SetERC20Gateway(&_IL1GatewayRouter.TransactOpts, _tokens, _gateways) } // SetERC20Gateway is a paid mutator transaction binding the contract method 0x635c8637. // // Solidity: function setERC20Gateway(address[] _tokens, address[] _gateways) returns() func (_IL1GatewayRouter *IL1GatewayRouterTransactorSession) SetERC20Gateway(_tokens []common.Address, _gateways []common.Address) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.SetERC20Gateway(&_IL1GatewayRouter.TransactOpts, _tokens, _gateways) } // SetETHGateway is a paid mutator transaction binding the contract method 0x3d1d31c7. // // Solidity: function setETHGateway(address _ethGateway) returns() func (_IL1GatewayRouter *IL1GatewayRouterTransactor) SetETHGateway(opts *bind.TransactOpts, _ethGateway common.Address) (*types.Transaction, error) { return _IL1GatewayRouter.contract.Transact(opts, "setETHGateway", _ethGateway) } // SetETHGateway is a paid mutator transaction binding the contract method 0x3d1d31c7. // // Solidity: function setETHGateway(address _ethGateway) returns() func (_IL1GatewayRouter *IL1GatewayRouterSession) SetETHGateway(_ethGateway common.Address) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.SetETHGateway(&_IL1GatewayRouter.TransactOpts, _ethGateway) } // SetETHGateway is a paid mutator transaction binding the contract method 0x3d1d31c7. // // Solidity: function setETHGateway(address _ethGateway) returns() func (_IL1GatewayRouter *IL1GatewayRouterTransactorSession) SetETHGateway(_ethGateway common.Address) (*types.Transaction, error) { return _IL1GatewayRouter.Contract.SetETHGateway(&_IL1GatewayRouter.TransactOpts, _ethGateway) } // IL1GatewayRouterDepositERC20Iterator is returned from FilterDepositERC20 and is used to iterate over the raw logs and unpacked data for DepositERC20 events raised by the IL1GatewayRouter contract. type IL1GatewayRouterDepositERC20Iterator struct { Event *IL1GatewayRouterDepositERC20 // 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 *IL1GatewayRouterDepositERC20Iterator) 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(IL1GatewayRouterDepositERC20) 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(IL1GatewayRouterDepositERC20) 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 *IL1GatewayRouterDepositERC20Iterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IL1GatewayRouterDepositERC20Iterator) Close() error { it.sub.Unsubscribe() return nil } // IL1GatewayRouterDepositERC20 represents a DepositERC20 event raised by the IL1GatewayRouter contract. type IL1GatewayRouterDepositERC20 struct { L1Token common.Address L2Token common.Address From common.Address To common.Address Amount *big.Int Data []byte Raw types.Log // Blockchain specific contextual infos } // FilterDepositERC20 is a free log retrieval operation binding the contract event 0x31cd3b976e4d654022bf95c68a2ce53f1d5d94afabe0454d2832208eeb40af25. // // Solidity: event DepositERC20(address indexed l1Token, address indexed l2Token, address indexed from, address to, uint256 amount, bytes data) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) FilterDepositERC20(opts *bind.FilterOpts, l1Token []common.Address, l2Token []common.Address, from []common.Address) (*IL1GatewayRouterDepositERC20Iterator, error) { var l1TokenRule []interface{} for _, l1TokenItem := range l1Token { l1TokenRule = append(l1TokenRule, l1TokenItem) } var l2TokenRule []interface{} for _, l2TokenItem := range l2Token { l2TokenRule = append(l2TokenRule, l2TokenItem) } var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } logs, sub, err := _IL1GatewayRouter.contract.FilterLogs(opts, "DepositERC20", l1TokenRule, l2TokenRule, fromRule) if err != nil { return nil, err } return &IL1GatewayRouterDepositERC20Iterator{contract: _IL1GatewayRouter.contract, event: "DepositERC20", logs: logs, sub: sub}, nil } // WatchDepositERC20 is a free log subscription operation binding the contract event 0x31cd3b976e4d654022bf95c68a2ce53f1d5d94afabe0454d2832208eeb40af25. // // Solidity: event DepositERC20(address indexed l1Token, address indexed l2Token, address indexed from, address to, uint256 amount, bytes data) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) WatchDepositERC20(opts *bind.WatchOpts, sink chan<- *IL1GatewayRouterDepositERC20, l1Token []common.Address, l2Token []common.Address, from []common.Address) (event.Subscription, error) { var l1TokenRule []interface{} for _, l1TokenItem := range l1Token { l1TokenRule = append(l1TokenRule, l1TokenItem) } var l2TokenRule []interface{} for _, l2TokenItem := range l2Token { l2TokenRule = append(l2TokenRule, l2TokenItem) } var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } logs, sub, err := _IL1GatewayRouter.contract.WatchLogs(opts, "DepositERC20", l1TokenRule, l2TokenRule, fromRule) 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(IL1GatewayRouterDepositERC20) if err := _IL1GatewayRouter.contract.UnpackLog(event, "DepositERC20", 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 } // ParseDepositERC20 is a log parse operation binding the contract event 0x31cd3b976e4d654022bf95c68a2ce53f1d5d94afabe0454d2832208eeb40af25. // // Solidity: event DepositERC20(address indexed l1Token, address indexed l2Token, address indexed from, address to, uint256 amount, bytes data) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) ParseDepositERC20(log types.Log) (*IL1GatewayRouterDepositERC20, error) { event := new(IL1GatewayRouterDepositERC20) if err := _IL1GatewayRouter.contract.UnpackLog(event, "DepositERC20", log); err != nil { return nil, err } event.Raw = log return event, nil } // IL1GatewayRouterDepositETHIterator is returned from FilterDepositETH and is used to iterate over the raw logs and unpacked data for DepositETH events raised by the IL1GatewayRouter contract. type IL1GatewayRouterDepositETHIterator struct { Event *IL1GatewayRouterDepositETH // 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 *IL1GatewayRouterDepositETHIterator) 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(IL1GatewayRouterDepositETH) 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(IL1GatewayRouterDepositETH) 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 *IL1GatewayRouterDepositETHIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IL1GatewayRouterDepositETHIterator) Close() error { it.sub.Unsubscribe() return nil } // IL1GatewayRouterDepositETH represents a DepositETH event raised by the IL1GatewayRouter contract. type IL1GatewayRouterDepositETH struct { From common.Address To common.Address Amount *big.Int Data []byte Raw types.Log // Blockchain specific contextual infos } // FilterDepositETH is a free log retrieval operation binding the contract event 0x6670de856ec8bf5cb2b7e957c5dc24759716056f79d97ea5e7c939ca0ba5a675. // // Solidity: event DepositETH(address indexed from, address indexed to, uint256 amount, bytes data) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) FilterDepositETH(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*IL1GatewayRouterDepositETHIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _IL1GatewayRouter.contract.FilterLogs(opts, "DepositETH", fromRule, toRule) if err != nil { return nil, err } return &IL1GatewayRouterDepositETHIterator{contract: _IL1GatewayRouter.contract, event: "DepositETH", logs: logs, sub: sub}, nil } // WatchDepositETH is a free log subscription operation binding the contract event 0x6670de856ec8bf5cb2b7e957c5dc24759716056f79d97ea5e7c939ca0ba5a675. // // Solidity: event DepositETH(address indexed from, address indexed to, uint256 amount, bytes data) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) WatchDepositETH(opts *bind.WatchOpts, sink chan<- *IL1GatewayRouterDepositETH, from []common.Address, to []common.Address) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _IL1GatewayRouter.contract.WatchLogs(opts, "DepositETH", fromRule, toRule) 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(IL1GatewayRouterDepositETH) if err := _IL1GatewayRouter.contract.UnpackLog(event, "DepositETH", 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 } // ParseDepositETH is a log parse operation binding the contract event 0x6670de856ec8bf5cb2b7e957c5dc24759716056f79d97ea5e7c939ca0ba5a675. // // Solidity: event DepositETH(address indexed from, address indexed to, uint256 amount, bytes data) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) ParseDepositETH(log types.Log) (*IL1GatewayRouterDepositETH, error) { event := new(IL1GatewayRouterDepositETH) if err := _IL1GatewayRouter.contract.UnpackLog(event, "DepositETH", log); err != nil { return nil, err } event.Raw = log return event, nil } // IL1GatewayRouterFinalizeWithdrawERC20Iterator is returned from FilterFinalizeWithdrawERC20 and is used to iterate over the raw logs and unpacked data for FinalizeWithdrawERC20 events raised by the IL1GatewayRouter contract. type IL1GatewayRouterFinalizeWithdrawERC20Iterator struct { Event *IL1GatewayRouterFinalizeWithdrawERC20 // 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 *IL1GatewayRouterFinalizeWithdrawERC20Iterator) 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(IL1GatewayRouterFinalizeWithdrawERC20) 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(IL1GatewayRouterFinalizeWithdrawERC20) 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 *IL1GatewayRouterFinalizeWithdrawERC20Iterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IL1GatewayRouterFinalizeWithdrawERC20Iterator) Close() error { it.sub.Unsubscribe() return nil } // IL1GatewayRouterFinalizeWithdrawERC20 represents a FinalizeWithdrawERC20 event raised by the IL1GatewayRouter contract. type IL1GatewayRouterFinalizeWithdrawERC20 struct { L1Token common.Address L2Token common.Address From common.Address To common.Address Amount *big.Int Data []byte Raw types.Log // Blockchain specific contextual infos } // FilterFinalizeWithdrawERC20 is a free log retrieval operation binding the contract event 0xc6f985873b37805705f6bce756dce3d1ff4b603e298d506288cce499926846a7. // // Solidity: event FinalizeWithdrawERC20(address indexed l1Token, address indexed l2Token, address indexed from, address to, uint256 amount, bytes data) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) FilterFinalizeWithdrawERC20(opts *bind.FilterOpts, l1Token []common.Address, l2Token []common.Address, from []common.Address) (*IL1GatewayRouterFinalizeWithdrawERC20Iterator, error) { var l1TokenRule []interface{} for _, l1TokenItem := range l1Token { l1TokenRule = append(l1TokenRule, l1TokenItem) } var l2TokenRule []interface{} for _, l2TokenItem := range l2Token { l2TokenRule = append(l2TokenRule, l2TokenItem) } var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } logs, sub, err := _IL1GatewayRouter.contract.FilterLogs(opts, "FinalizeWithdrawERC20", l1TokenRule, l2TokenRule, fromRule) if err != nil { return nil, err } return &IL1GatewayRouterFinalizeWithdrawERC20Iterator{contract: _IL1GatewayRouter.contract, event: "FinalizeWithdrawERC20", logs: logs, sub: sub}, nil } // WatchFinalizeWithdrawERC20 is a free log subscription operation binding the contract event 0xc6f985873b37805705f6bce756dce3d1ff4b603e298d506288cce499926846a7. // // Solidity: event FinalizeWithdrawERC20(address indexed l1Token, address indexed l2Token, address indexed from, address to, uint256 amount, bytes data) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) WatchFinalizeWithdrawERC20(opts *bind.WatchOpts, sink chan<- *IL1GatewayRouterFinalizeWithdrawERC20, l1Token []common.Address, l2Token []common.Address, from []common.Address) (event.Subscription, error) { var l1TokenRule []interface{} for _, l1TokenItem := range l1Token { l1TokenRule = append(l1TokenRule, l1TokenItem) } var l2TokenRule []interface{} for _, l2TokenItem := range l2Token { l2TokenRule = append(l2TokenRule, l2TokenItem) } var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } logs, sub, err := _IL1GatewayRouter.contract.WatchLogs(opts, "FinalizeWithdrawERC20", l1TokenRule, l2TokenRule, fromRule) 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(IL1GatewayRouterFinalizeWithdrawERC20) if err := _IL1GatewayRouter.contract.UnpackLog(event, "FinalizeWithdrawERC20", 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 } // ParseFinalizeWithdrawERC20 is a log parse operation binding the contract event 0xc6f985873b37805705f6bce756dce3d1ff4b603e298d506288cce499926846a7. // // Solidity: event FinalizeWithdrawERC20(address indexed l1Token, address indexed l2Token, address indexed from, address to, uint256 amount, bytes data) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) ParseFinalizeWithdrawERC20(log types.Log) (*IL1GatewayRouterFinalizeWithdrawERC20, error) { event := new(IL1GatewayRouterFinalizeWithdrawERC20) if err := _IL1GatewayRouter.contract.UnpackLog(event, "FinalizeWithdrawERC20", log); err != nil { return nil, err } event.Raw = log return event, nil } // IL1GatewayRouterFinalizeWithdrawETHIterator is returned from FilterFinalizeWithdrawETH and is used to iterate over the raw logs and unpacked data for FinalizeWithdrawETH events raised by the IL1GatewayRouter contract. type IL1GatewayRouterFinalizeWithdrawETHIterator struct { Event *IL1GatewayRouterFinalizeWithdrawETH // 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 *IL1GatewayRouterFinalizeWithdrawETHIterator) 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(IL1GatewayRouterFinalizeWithdrawETH) 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(IL1GatewayRouterFinalizeWithdrawETH) 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 *IL1GatewayRouterFinalizeWithdrawETHIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IL1GatewayRouterFinalizeWithdrawETHIterator) Close() error { it.sub.Unsubscribe() return nil } // IL1GatewayRouterFinalizeWithdrawETH represents a FinalizeWithdrawETH event raised by the IL1GatewayRouter contract. type IL1GatewayRouterFinalizeWithdrawETH struct { From common.Address To common.Address Amount *big.Int Data []byte Raw types.Log // Blockchain specific contextual infos } // FilterFinalizeWithdrawETH is a free log retrieval operation binding the contract event 0x96db5d1cee1dd2760826bb56fabd9c9f6e978083e0a8b88559c741a29e9746e7. // // Solidity: event FinalizeWithdrawETH(address indexed from, address indexed to, uint256 amount, bytes data) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) FilterFinalizeWithdrawETH(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*IL1GatewayRouterFinalizeWithdrawETHIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _IL1GatewayRouter.contract.FilterLogs(opts, "FinalizeWithdrawETH", fromRule, toRule) if err != nil { return nil, err } return &IL1GatewayRouterFinalizeWithdrawETHIterator{contract: _IL1GatewayRouter.contract, event: "FinalizeWithdrawETH", logs: logs, sub: sub}, nil } // WatchFinalizeWithdrawETH is a free log subscription operation binding the contract event 0x96db5d1cee1dd2760826bb56fabd9c9f6e978083e0a8b88559c741a29e9746e7. // // Solidity: event FinalizeWithdrawETH(address indexed from, address indexed to, uint256 amount, bytes data) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) WatchFinalizeWithdrawETH(opts *bind.WatchOpts, sink chan<- *IL1GatewayRouterFinalizeWithdrawETH, from []common.Address, to []common.Address) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _IL1GatewayRouter.contract.WatchLogs(opts, "FinalizeWithdrawETH", fromRule, toRule) 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(IL1GatewayRouterFinalizeWithdrawETH) if err := _IL1GatewayRouter.contract.UnpackLog(event, "FinalizeWithdrawETH", 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 } // ParseFinalizeWithdrawETH is a log parse operation binding the contract event 0x96db5d1cee1dd2760826bb56fabd9c9f6e978083e0a8b88559c741a29e9746e7. // // Solidity: event FinalizeWithdrawETH(address indexed from, address indexed to, uint256 amount, bytes data) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) ParseFinalizeWithdrawETH(log types.Log) (*IL1GatewayRouterFinalizeWithdrawETH, error) { event := new(IL1GatewayRouterFinalizeWithdrawETH) if err := _IL1GatewayRouter.contract.UnpackLog(event, "FinalizeWithdrawETH", log); err != nil { return nil, err } event.Raw = log return event, nil } // IL1GatewayRouterRefundERC20Iterator is returned from FilterRefundERC20 and is used to iterate over the raw logs and unpacked data for RefundERC20 events raised by the IL1GatewayRouter contract. type IL1GatewayRouterRefundERC20Iterator struct { Event *IL1GatewayRouterRefundERC20 // 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 *IL1GatewayRouterRefundERC20Iterator) 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(IL1GatewayRouterRefundERC20) 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(IL1GatewayRouterRefundERC20) 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 *IL1GatewayRouterRefundERC20Iterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IL1GatewayRouterRefundERC20Iterator) Close() error { it.sub.Unsubscribe() return nil } // IL1GatewayRouterRefundERC20 represents a RefundERC20 event raised by the IL1GatewayRouter contract. type IL1GatewayRouterRefundERC20 struct { Token common.Address Recipient common.Address Amount *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterRefundERC20 is a free log retrieval operation binding the contract event 0xdbdf8eb487847e4c0f22847f5dac07f2d3690f96f581a6ae4b102769917645a8. // // Solidity: event RefundERC20(address indexed token, address indexed recipient, uint256 amount) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) FilterRefundERC20(opts *bind.FilterOpts, token []common.Address, recipient []common.Address) (*IL1GatewayRouterRefundERC20Iterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } var recipientRule []interface{} for _, recipientItem := range recipient { recipientRule = append(recipientRule, recipientItem) } logs, sub, err := _IL1GatewayRouter.contract.FilterLogs(opts, "RefundERC20", tokenRule, recipientRule) if err != nil { return nil, err } return &IL1GatewayRouterRefundERC20Iterator{contract: _IL1GatewayRouter.contract, event: "RefundERC20", logs: logs, sub: sub}, nil } // WatchRefundERC20 is a free log subscription operation binding the contract event 0xdbdf8eb487847e4c0f22847f5dac07f2d3690f96f581a6ae4b102769917645a8. // // Solidity: event RefundERC20(address indexed token, address indexed recipient, uint256 amount) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) WatchRefundERC20(opts *bind.WatchOpts, sink chan<- *IL1GatewayRouterRefundERC20, token []common.Address, recipient []common.Address) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } var recipientRule []interface{} for _, recipientItem := range recipient { recipientRule = append(recipientRule, recipientItem) } logs, sub, err := _IL1GatewayRouter.contract.WatchLogs(opts, "RefundERC20", tokenRule, recipientRule) 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(IL1GatewayRouterRefundERC20) if err := _IL1GatewayRouter.contract.UnpackLog(event, "RefundERC20", 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 } // ParseRefundERC20 is a log parse operation binding the contract event 0xdbdf8eb487847e4c0f22847f5dac07f2d3690f96f581a6ae4b102769917645a8. // // Solidity: event RefundERC20(address indexed token, address indexed recipient, uint256 amount) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) ParseRefundERC20(log types.Log) (*IL1GatewayRouterRefundERC20, error) { event := new(IL1GatewayRouterRefundERC20) if err := _IL1GatewayRouter.contract.UnpackLog(event, "RefundERC20", log); err != nil { return nil, err } event.Raw = log return event, nil } // IL1GatewayRouterRefundETHIterator is returned from FilterRefundETH and is used to iterate over the raw logs and unpacked data for RefundETH events raised by the IL1GatewayRouter contract. type IL1GatewayRouterRefundETHIterator struct { Event *IL1GatewayRouterRefundETH // 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 *IL1GatewayRouterRefundETHIterator) 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(IL1GatewayRouterRefundETH) 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(IL1GatewayRouterRefundETH) 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 *IL1GatewayRouterRefundETHIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IL1GatewayRouterRefundETHIterator) Close() error { it.sub.Unsubscribe() return nil } // IL1GatewayRouterRefundETH represents a RefundETH event raised by the IL1GatewayRouter contract. type IL1GatewayRouterRefundETH struct { Recipient common.Address Amount *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterRefundETH is a free log retrieval operation binding the contract event 0x289360176646a5f99cb4b6300628426dca46b723f40db3c04449d6ed1745a0e7. // // Solidity: event RefundETH(address indexed recipient, uint256 amount) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) FilterRefundETH(opts *bind.FilterOpts, recipient []common.Address) (*IL1GatewayRouterRefundETHIterator, error) { var recipientRule []interface{} for _, recipientItem := range recipient { recipientRule = append(recipientRule, recipientItem) } logs, sub, err := _IL1GatewayRouter.contract.FilterLogs(opts, "RefundETH", recipientRule) if err != nil { return nil, err } return &IL1GatewayRouterRefundETHIterator{contract: _IL1GatewayRouter.contract, event: "RefundETH", logs: logs, sub: sub}, nil } // WatchRefundETH is a free log subscription operation binding the contract event 0x289360176646a5f99cb4b6300628426dca46b723f40db3c04449d6ed1745a0e7. // // Solidity: event RefundETH(address indexed recipient, uint256 amount) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) WatchRefundETH(opts *bind.WatchOpts, sink chan<- *IL1GatewayRouterRefundETH, recipient []common.Address) (event.Subscription, error) { var recipientRule []interface{} for _, recipientItem := range recipient { recipientRule = append(recipientRule, recipientItem) } logs, sub, err := _IL1GatewayRouter.contract.WatchLogs(opts, "RefundETH", recipientRule) 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(IL1GatewayRouterRefundETH) if err := _IL1GatewayRouter.contract.UnpackLog(event, "RefundETH", 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 } // ParseRefundETH is a log parse operation binding the contract event 0x289360176646a5f99cb4b6300628426dca46b723f40db3c04449d6ed1745a0e7. // // Solidity: event RefundETH(address indexed recipient, uint256 amount) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) ParseRefundETH(log types.Log) (*IL1GatewayRouterRefundETH, error) { event := new(IL1GatewayRouterRefundETH) if err := _IL1GatewayRouter.contract.UnpackLog(event, "RefundETH", log); err != nil { return nil, err } event.Raw = log return event, nil } // IL1GatewayRouterSetDefaultERC20GatewayIterator is returned from FilterSetDefaultERC20Gateway and is used to iterate over the raw logs and unpacked data for SetDefaultERC20Gateway events raised by the IL1GatewayRouter contract. type IL1GatewayRouterSetDefaultERC20GatewayIterator struct { Event *IL1GatewayRouterSetDefaultERC20Gateway // 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 *IL1GatewayRouterSetDefaultERC20GatewayIterator) 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(IL1GatewayRouterSetDefaultERC20Gateway) 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(IL1GatewayRouterSetDefaultERC20Gateway) 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 *IL1GatewayRouterSetDefaultERC20GatewayIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IL1GatewayRouterSetDefaultERC20GatewayIterator) Close() error { it.sub.Unsubscribe() return nil } // IL1GatewayRouterSetDefaultERC20Gateway represents a SetDefaultERC20Gateway event raised by the IL1GatewayRouter contract. type IL1GatewayRouterSetDefaultERC20Gateway struct { OldDefaultERC20Gateway common.Address NewDefaultERC20Gateway common.Address Raw types.Log // Blockchain specific contextual infos } // FilterSetDefaultERC20Gateway is a free log retrieval operation binding the contract event 0x2904fcae71038f87b116fd2875871e153722cabddd71de1b77473de263cd74d1. // // Solidity: event SetDefaultERC20Gateway(address indexed oldDefaultERC20Gateway, address indexed newDefaultERC20Gateway) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) FilterSetDefaultERC20Gateway(opts *bind.FilterOpts, oldDefaultERC20Gateway []common.Address, newDefaultERC20Gateway []common.Address) (*IL1GatewayRouterSetDefaultERC20GatewayIterator, error) { var oldDefaultERC20GatewayRule []interface{} for _, oldDefaultERC20GatewayItem := range oldDefaultERC20Gateway { oldDefaultERC20GatewayRule = append(oldDefaultERC20GatewayRule, oldDefaultERC20GatewayItem) } var newDefaultERC20GatewayRule []interface{} for _, newDefaultERC20GatewayItem := range newDefaultERC20Gateway { newDefaultERC20GatewayRule = append(newDefaultERC20GatewayRule, newDefaultERC20GatewayItem) } logs, sub, err := _IL1GatewayRouter.contract.FilterLogs(opts, "SetDefaultERC20Gateway", oldDefaultERC20GatewayRule, newDefaultERC20GatewayRule) if err != nil { return nil, err } return &IL1GatewayRouterSetDefaultERC20GatewayIterator{contract: _IL1GatewayRouter.contract, event: "SetDefaultERC20Gateway", logs: logs, sub: sub}, nil } // WatchSetDefaultERC20Gateway is a free log subscription operation binding the contract event 0x2904fcae71038f87b116fd2875871e153722cabddd71de1b77473de263cd74d1. // // Solidity: event SetDefaultERC20Gateway(address indexed oldDefaultERC20Gateway, address indexed newDefaultERC20Gateway) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) WatchSetDefaultERC20Gateway(opts *bind.WatchOpts, sink chan<- *IL1GatewayRouterSetDefaultERC20Gateway, oldDefaultERC20Gateway []common.Address, newDefaultERC20Gateway []common.Address) (event.Subscription, error) { var oldDefaultERC20GatewayRule []interface{} for _, oldDefaultERC20GatewayItem := range oldDefaultERC20Gateway { oldDefaultERC20GatewayRule = append(oldDefaultERC20GatewayRule, oldDefaultERC20GatewayItem) } var newDefaultERC20GatewayRule []interface{} for _, newDefaultERC20GatewayItem := range newDefaultERC20Gateway { newDefaultERC20GatewayRule = append(newDefaultERC20GatewayRule, newDefaultERC20GatewayItem) } logs, sub, err := _IL1GatewayRouter.contract.WatchLogs(opts, "SetDefaultERC20Gateway", oldDefaultERC20GatewayRule, newDefaultERC20GatewayRule) 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(IL1GatewayRouterSetDefaultERC20Gateway) if err := _IL1GatewayRouter.contract.UnpackLog(event, "SetDefaultERC20Gateway", 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 } // ParseSetDefaultERC20Gateway is a log parse operation binding the contract event 0x2904fcae71038f87b116fd2875871e153722cabddd71de1b77473de263cd74d1. // // Solidity: event SetDefaultERC20Gateway(address indexed oldDefaultERC20Gateway, address indexed newDefaultERC20Gateway) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) ParseSetDefaultERC20Gateway(log types.Log) (*IL1GatewayRouterSetDefaultERC20Gateway, error) { event := new(IL1GatewayRouterSetDefaultERC20Gateway) if err := _IL1GatewayRouter.contract.UnpackLog(event, "SetDefaultERC20Gateway", log); err != nil { return nil, err } event.Raw = log return event, nil } // IL1GatewayRouterSetERC20GatewayIterator is returned from FilterSetERC20Gateway and is used to iterate over the raw logs and unpacked data for SetERC20Gateway events raised by the IL1GatewayRouter contract. type IL1GatewayRouterSetERC20GatewayIterator struct { Event *IL1GatewayRouterSetERC20Gateway // 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 *IL1GatewayRouterSetERC20GatewayIterator) 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(IL1GatewayRouterSetERC20Gateway) 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(IL1GatewayRouterSetERC20Gateway) 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 *IL1GatewayRouterSetERC20GatewayIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IL1GatewayRouterSetERC20GatewayIterator) Close() error { it.sub.Unsubscribe() return nil } // IL1GatewayRouterSetERC20Gateway represents a SetERC20Gateway event raised by the IL1GatewayRouter contract. type IL1GatewayRouterSetERC20Gateway struct { Token common.Address OldGateway common.Address NewGateway common.Address Raw types.Log // Blockchain specific contextual infos } // FilterSetERC20Gateway is a free log retrieval operation binding the contract event 0x0ead4808404683f66d413d788a768219ea9785c97889221193103841a5841eaf. // // Solidity: event SetERC20Gateway(address indexed token, address indexed oldGateway, address indexed newGateway) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) FilterSetERC20Gateway(opts *bind.FilterOpts, token []common.Address, oldGateway []common.Address, newGateway []common.Address) (*IL1GatewayRouterSetERC20GatewayIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } var oldGatewayRule []interface{} for _, oldGatewayItem := range oldGateway { oldGatewayRule = append(oldGatewayRule, oldGatewayItem) } var newGatewayRule []interface{} for _, newGatewayItem := range newGateway { newGatewayRule = append(newGatewayRule, newGatewayItem) } logs, sub, err := _IL1GatewayRouter.contract.FilterLogs(opts, "SetERC20Gateway", tokenRule, oldGatewayRule, newGatewayRule) if err != nil { return nil, err } return &IL1GatewayRouterSetERC20GatewayIterator{contract: _IL1GatewayRouter.contract, event: "SetERC20Gateway", logs: logs, sub: sub}, nil } // WatchSetERC20Gateway is a free log subscription operation binding the contract event 0x0ead4808404683f66d413d788a768219ea9785c97889221193103841a5841eaf. // // Solidity: event SetERC20Gateway(address indexed token, address indexed oldGateway, address indexed newGateway) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) WatchSetERC20Gateway(opts *bind.WatchOpts, sink chan<- *IL1GatewayRouterSetERC20Gateway, token []common.Address, oldGateway []common.Address, newGateway []common.Address) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } var oldGatewayRule []interface{} for _, oldGatewayItem := range oldGateway { oldGatewayRule = append(oldGatewayRule, oldGatewayItem) } var newGatewayRule []interface{} for _, newGatewayItem := range newGateway { newGatewayRule = append(newGatewayRule, newGatewayItem) } logs, sub, err := _IL1GatewayRouter.contract.WatchLogs(opts, "SetERC20Gateway", tokenRule, oldGatewayRule, newGatewayRule) 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(IL1GatewayRouterSetERC20Gateway) if err := _IL1GatewayRouter.contract.UnpackLog(event, "SetERC20Gateway", 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 } // ParseSetERC20Gateway is a log parse operation binding the contract event 0x0ead4808404683f66d413d788a768219ea9785c97889221193103841a5841eaf. // // Solidity: event SetERC20Gateway(address indexed token, address indexed oldGateway, address indexed newGateway) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) ParseSetERC20Gateway(log types.Log) (*IL1GatewayRouterSetERC20Gateway, error) { event := new(IL1GatewayRouterSetERC20Gateway) if err := _IL1GatewayRouter.contract.UnpackLog(event, "SetERC20Gateway", log); err != nil { return nil, err } event.Raw = log return event, nil } // IL1GatewayRouterSetETHGatewayIterator is returned from FilterSetETHGateway and is used to iterate over the raw logs and unpacked data for SetETHGateway events raised by the IL1GatewayRouter contract. type IL1GatewayRouterSetETHGatewayIterator struct { Event *IL1GatewayRouterSetETHGateway // 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 *IL1GatewayRouterSetETHGatewayIterator) 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(IL1GatewayRouterSetETHGateway) 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(IL1GatewayRouterSetETHGateway) 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 *IL1GatewayRouterSetETHGatewayIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IL1GatewayRouterSetETHGatewayIterator) Close() error { it.sub.Unsubscribe() return nil } // IL1GatewayRouterSetETHGateway represents a SetETHGateway event raised by the IL1GatewayRouter contract. type IL1GatewayRouterSetETHGateway struct { OldETHGateway common.Address NewEthGateway common.Address Raw types.Log // Blockchain specific contextual infos } // FilterSetETHGateway is a free log retrieval operation binding the contract event 0xa1bfcc6dd729ad197a1180f44d5c12bcc630943df0874b9ed53da23165621b6a. // // Solidity: event SetETHGateway(address indexed oldETHGateway, address indexed newEthGateway) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) FilterSetETHGateway(opts *bind.FilterOpts, oldETHGateway []common.Address, newEthGateway []common.Address) (*IL1GatewayRouterSetETHGatewayIterator, error) { var oldETHGatewayRule []interface{} for _, oldETHGatewayItem := range oldETHGateway { oldETHGatewayRule = append(oldETHGatewayRule, oldETHGatewayItem) } var newEthGatewayRule []interface{} for _, newEthGatewayItem := range newEthGateway { newEthGatewayRule = append(newEthGatewayRule, newEthGatewayItem) } logs, sub, err := _IL1GatewayRouter.contract.FilterLogs(opts, "SetETHGateway", oldETHGatewayRule, newEthGatewayRule) if err != nil { return nil, err } return &IL1GatewayRouterSetETHGatewayIterator{contract: _IL1GatewayRouter.contract, event: "SetETHGateway", logs: logs, sub: sub}, nil } // WatchSetETHGateway is a free log subscription operation binding the contract event 0xa1bfcc6dd729ad197a1180f44d5c12bcc630943df0874b9ed53da23165621b6a. // // Solidity: event SetETHGateway(address indexed oldETHGateway, address indexed newEthGateway) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) WatchSetETHGateway(opts *bind.WatchOpts, sink chan<- *IL1GatewayRouterSetETHGateway, oldETHGateway []common.Address, newEthGateway []common.Address) (event.Subscription, error) { var oldETHGatewayRule []interface{} for _, oldETHGatewayItem := range oldETHGateway { oldETHGatewayRule = append(oldETHGatewayRule, oldETHGatewayItem) } var newEthGatewayRule []interface{} for _, newEthGatewayItem := range newEthGateway { newEthGatewayRule = append(newEthGatewayRule, newEthGatewayItem) } logs, sub, err := _IL1GatewayRouter.contract.WatchLogs(opts, "SetETHGateway", oldETHGatewayRule, newEthGatewayRule) 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(IL1GatewayRouterSetETHGateway) if err := _IL1GatewayRouter.contract.UnpackLog(event, "SetETHGateway", 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 } // ParseSetETHGateway is a log parse operation binding the contract event 0xa1bfcc6dd729ad197a1180f44d5c12bcc630943df0874b9ed53da23165621b6a. // // Solidity: event SetETHGateway(address indexed oldETHGateway, address indexed newEthGateway) func (_IL1GatewayRouter *IL1GatewayRouterFilterer) ParseSetETHGateway(log types.Log) (*IL1GatewayRouterSetETHGateway, error) { event := new(IL1GatewayRouterSetETHGateway) if err := _IL1GatewayRouter.contract.UnpackLog(event, "SetETHGateway", log); err != nil { return nil, err } event.Raw = log return event, nil } // 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 := InitializableMetaData.GetAbi() 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 } // L1GatewayRouterMetaData contains all meta data concerning the L1GatewayRouter contract. var L1GatewayRouterMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"l1Token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"l2Token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"DepositERC20\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"DepositETH\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"l1Token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"l2Token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"FinalizeWithdrawERC20\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"FinalizeWithdrawETH\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"RefundERC20\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"RefundETH\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldDefaultERC20Gateway\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newDefaultERC20Gateway\",\"type\":\"address\"}],\"name\":\"SetDefaultERC20Gateway\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldGateway\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newGateway\",\"type\":\"address\"}],\"name\":\"SetERC20Gateway\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldETHGateway\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newEthGateway\",\"type\":\"address\"}],\"name\":\"SetETHGateway\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"ERC20Gateway\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultERC20Gateway\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_gasLimit\",\"type\":\"uint256\"}],\"name\":\"depositERC20\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_gasLimit\",\"type\":\"uint256\"}],\"name\":\"depositERC20\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_gasLimit\",\"type\":\"uint256\"}],\"name\":\"depositERC20AndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_gasLimit\",\"type\":\"uint256\"}],\"name\":\"depositETH\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_gasLimit\",\"type\":\"uint256\"}],\"name\":\"depositETH\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_gasLimit\",\"type\":\"uint256\"}],\"name\":\"depositETHAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ethGateway\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"finalizeWithdrawERC20\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"finalizeWithdrawETH\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gatewayInContext\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getERC20Gateway\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_l1Address\",\"type\":\"address\"}],\"name\":\"getL2ERC20Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_ethGateway\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_defaultERC20Gateway\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"requestERC20\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newDefaultERC20Gateway\",\"type\":\"address\"}],\"name\":\"setDefaultERC20Gateway\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_tokens\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_gateways\",\"type\":\"address[]\"}],\"name\":\"setERC20Gateway\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newEthGateway\",\"type\":\"address\"}],\"name\":\"setETHGateway\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "705b05b8": "ERC20Gateway(address)", "ce8c3e06": "defaultERC20Gateway()", "f219fa66": "depositERC20(address,address,uint256,uint256)", "21425ee0": "depositERC20(address,uint256,uint256)", "0aea8c26": "depositERC20AndCall(address,address,uint256,bytes,uint256)", "ce0b63ce": "depositETH(address,uint256,uint256)", "9f8420b3": "depositETH(uint256,uint256)", "aac476f8": "depositETHAndCall(address,uint256,bytes,uint256)", "8c00ce73": "ethGateway()", "84bd13b0": "finalizeWithdrawERC20(address,address,address,address,uint256,bytes)", "8eaac8a3": "finalizeWithdrawETH(address,address,uint256,bytes)", "3a9a7b20": "gatewayInContext()", "43c66741": "getERC20Gateway(address)", "c676ad29": "getL2ERC20Address(address)", "485cc955": "initialize(address,address)", "8da5cb5b": "owner()", "715018a6": "renounceOwnership()", "c52a3bbc": "requestERC20(address,address,uint256)", "5dfd5b9a": "setDefaultERC20Gateway(address)", "635c8637": "setERC20Gateway(address[],address[])", "3d1d31c7": "setETHGateway(address)", "f2fde38b": "transferOwnership(address)", }, Bin: "0x608060405234801561001057600080fd5b5061001961001e565b6100dd565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146100db576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b611d35806100ec6000396000f3fe6080604052600436106101755760003560e01c80638c00ce73116100cb578063c52a3bbc1161007f578063ce8c3e0611610059578063ce8c3e06146103b0578063f219fa66146103d0578063f2fde38b146103e357600080fd5b8063c52a3bbc1461034f578063c676ad291461037d578063ce0b63ce1461039d57600080fd5b80638eaac8a3116100b05780638eaac8a31461031b5780639f8420b314610329578063aac476f81461033c57600080fd5b80638c00ce73146102dd5780638da5cb5b146102fd57600080fd5b8063485cc9551161012d578063705b05b811610107578063705b05b81461027f578063715018a6146102b557806384bd13b0146102ca57600080fd5b8063485cc9551461021f5780635dfd5b9a1461023f578063635c86371461025f57600080fd5b80633a9a7b201161015e5780633a9a7b20146101a25780633d1d31c7146101df57806343c66741146101ff57600080fd5b80630aea8c261461017a57806321425ee01461018f575b600080fd5b61018d610188366004611683565b610403565b005b61018d61019d3660046116f7565b6105ec565b3480156101ae57600080fd5b506068546101c2906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101eb57600080fd5b5061018d6101fa36600461172c565b61062b565b34801561020b57600080fd5b506101c261021a36600461172c565b61069d565b34801561022b57600080fd5b5061018d61023a366004611749565b6106d3565b34801561024b57600080fd5b5061018d61025a36600461172c565b61092e565b34801561026b57600080fd5b5061018d61027a366004611800565b6109a0565b34801561028b57600080fd5b506101c261029a36600461172c565b6067602052600090815260409020546001600160a01b031681565b3480156102c157600080fd5b5061018d610b66565b61018d6102d83660046118ad565b610b7a565b3480156102e957600080fd5b506065546101c2906001600160a01b031681565b34801561030957600080fd5b506033546001600160a01b03166101c2565b61018d6102d8366004611945565b61018d6103373660046119b8565b610bc2565b61018d61034a3660046119da565b610bff565b34801561035b57600080fd5b5061036f61036a366004611a3b565b610d7b565b6040519081526020016101d6565b34801561038957600080fd5b506101c261039836600461172c565b610f1e565b61018d6103ab3660046116f7565b610fcd565b3480156103bc57600080fd5b506066546101c2906001600160a01b031681565b61018d6103de366004611a7c565b610fd9565b3480156103ef57600080fd5b5061018d6103fe36600461172c565b610fec565b6068546001600160a01b0316156104615760405162461bcd60e51b815260206004820152601360248201527f4f6e6c79206e6f7420696e20636f6e746578740000000000000000000000000060448201526064015b60405180910390fd5b600061046c8661069d565b90506001600160a01b0381166104c45760405162461bcd60e51b815260206004820152601460248201527f6e6f206761746577617920617661696c61626c650000000000000000000000006044820152606401610458565b606880547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383161790556000338460405160200161050c929190611b30565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f0aea8c2600000000000000000000000000000000000000000000000000000000825291506001600160a01b03831690630aea8c26903490610589908b908b908b9088908b90600401611b52565b6000604051808303818588803b1580156105a257600080fd5b505af11580156105b6573d6000803e3d6000fd5b5050606880547fffffffffffffffffffffffff000000000000000000000000000000000000000016905550505050505050505050565b61062683338460005b6040519080825280601f01601f19166020018201604052801561061f576020820181803683370190505b5085610403565b505050565b61063361107c565b606580546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907fa1bfcc6dd729ad197a1180f44d5c12bcc630943df0874b9ed53da23165621b6a90600090a35050565b6001600160a01b03808216600090815260676020526040812054909116806106cd57506066546001600160a01b03165b92915050565b600054610100900460ff16158080156106f35750600054600160ff909116105b8061070d5750303b15801561070d575060005460ff166001145b61077f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610458565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156107dd57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6107e56110d6565b6001600160a01b0382161561085657606680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0384169081179091556040516000907f2904fcae71038f87b116fd2875871e153722cabddd71de1b77473de263cd74d1908290a35b6001600160a01b038316156108c757606580547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0385169081179091556040516000907fa1bfcc6dd729ad197a1180f44d5c12bcc630943df0874b9ed53da23165621b6a908290a35b801561062657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b61093661107c565b606680546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f2904fcae71038f87b116fd2875871e153722cabddd71de1b77473de263cd74d190600090a35050565b6109a861107c565b80518251146109f95760405162461bcd60e51b815260206004820152600f60248201527f6c656e677468206d69736d6174636800000000000000000000000000000000006044820152606401610458565b60005b825181101561062657600060676000858481518110610a1d57610a1d611b96565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060009054906101000a90046001600160a01b03169050828281518110610a6d57610a6d611b96565b602002602001015160676000868581518110610a8b57610a8b611b96565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550828281518110610ae957610ae9611b96565b60200260200101516001600160a01b0316816001600160a01b0316858481518110610b1657610b16611b96565b60200260200101516001600160a01b03167f0ead4808404683f66d413d788a768219ea9785c97889221193103841a5841eaf60405160405180910390a45080610b5e81611bf4565b9150506109fc565b610b6e61107c565b610b78600061115b565b565b60405162461bcd60e51b815260206004820152601660248201527f73686f756c64206e657665722062652063616c6c6564000000000000000000006044820152606401610458565b610bfb338360005b6040519080825280601f01601f191660200182016040528015610bf4576020820181803683370190505b5084610bff565b5050565b6068546001600160a01b031615610c585760405162461bcd60e51b815260206004820152601360248201527f4f6e6c79206e6f7420696e20636f6e74657874000000000000000000000000006044820152606401610458565b6065546001600160a01b031680610cb15760405162461bcd60e51b815260206004820152601560248201527f657468206761746577617920617661696c61626c6500000000000000000000006044820152606401610458565b60003384604051602001610cc6929190611b30565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527faac476f800000000000000000000000000000000000000000000000000000000825291506001600160a01b0383169063aac476f8903490610d41908a908a9087908a90600401611c2c565b6000604051808303818588803b158015610d5a57600080fd5b505af1158015610d6e573d6000803e3d6000fd5b5050505050505050505050565b6068546000906001600160a01b0316336001600160a01b031614610de15760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920696e206465706f73697420636f6e746578740000000000000000006044820152606401610458565b6000336040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301529192506000918616906370a0823190602401602060405180830381865afa158015610e49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6d9190611c65565b9050610e846001600160a01b0386168784876111c5565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301528291908716906370a0823190602401602060405180830381865afa158015610ee6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0a9190611c65565b610f149190611c7e565b9695505050505050565b600080610f2a8361069d565b90506001600160a01b038116610f435750600092915050565b6040517fc676ad290000000000000000000000000000000000000000000000000000000081526001600160a01b03848116600483015282169063c676ad2990602401602060405180830381865afa158015610fa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc69190611c91565b9392505050565b61062683836000610bca565b610fe684848460006105f5565b50505050565b610ff461107c565b6001600160a01b0381166110705760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610458565b6110798161115b565b50565b6033546001600160a01b03163314610b785760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610458565b600054610100900460ff166111535760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610458565b610b7861124d565b603380546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052610fe69085906112d3565b600054610100900460ff166112ca5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610458565b610b783361115b565b6000611328826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113bb9092919063ffffffff16565b90508051600014806113495750808060200190518101906113499190611cae565b6106265760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610458565b60606113ca84846000856113d2565b949350505050565b60608247101561144a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610458565b600080866001600160a01b031685876040516114669190611cd0565b60006040518083038185875af1925050503d80600081146114a3576040519150601f19603f3d011682016040523d82523d6000602084013e6114a8565b606091505b50915091506114b9878383876114c4565b979650505050505050565b6060831561153357825160000361152c576001600160a01b0385163b61152c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610458565b50816113ca565b6113ca83838151156115485781518083602001fd5b8060405162461bcd60e51b81526004016104589190611cec565b6001600160a01b038116811461107957600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156115ed576115ed611577565b604052919050565b600082601f83011261160657600080fd5b813567ffffffffffffffff81111561162057611620611577565b61165160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016115a6565b81815284602083860101111561166657600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561169b57600080fd5b85356116a681611562565b945060208601356116b681611562565b935060408601359250606086013567ffffffffffffffff8111156116d957600080fd5b6116e5888289016115f5565b95989497509295608001359392505050565b60008060006060848603121561170c57600080fd5b833561171781611562565b95602085013595506040909401359392505050565b60006020828403121561173e57600080fd5b8135610fc681611562565b6000806040838503121561175c57600080fd5b823561176781611562565b9150602083013561177781611562565b809150509250929050565b600082601f83011261179357600080fd5b8135602067ffffffffffffffff8211156117af576117af611577565b8160051b6117be8282016115a6565b92835284810182019282810190878511156117d857600080fd5b83870192505b848310156114b95782356117f181611562565b825291830191908301906117de565b6000806040838503121561181357600080fd5b823567ffffffffffffffff8082111561182b57600080fd5b61183786838701611782565b9350602085013591508082111561184d57600080fd5b5061185a85828601611782565b9150509250929050565b60008083601f84011261187657600080fd5b50813567ffffffffffffffff81111561188e57600080fd5b6020830191508360208285010111156118a657600080fd5b9250929050565b600080600080600080600060c0888a0312156118c857600080fd5b87356118d381611562565b965060208801356118e381611562565b955060408801356118f381611562565b9450606088013561190381611562565b93506080880135925060a088013567ffffffffffffffff81111561192657600080fd5b6119328a828b01611864565b989b979a50959850939692959293505050565b60008060008060006080868803121561195d57600080fd5b853561196881611562565b9450602086013561197881611562565b935060408601359250606086013567ffffffffffffffff81111561199b57600080fd5b6119a788828901611864565b969995985093965092949392505050565b600080604083850312156119cb57600080fd5b50508035926020909101359150565b600080600080608085870312156119f057600080fd5b84356119fb81611562565b935060208501359250604085013567ffffffffffffffff811115611a1e57600080fd5b611a2a878288016115f5565b949793965093946060013593505050565b600080600060608486031215611a5057600080fd5b8335611a5b81611562565b92506020840135611a6b81611562565b929592945050506040919091013590565b60008060008060808587031215611a9257600080fd5b8435611a9d81611562565b93506020850135611aad81611562565b93969395505050506040820135916060013590565b60005b83811015611add578181015183820152602001611ac5565b50506000910152565b60008151808452611afe816020860160208601611ac2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6001600160a01b03831681526040602082015260006113ca6040830184611ae6565b60006001600160a01b03808816835280871660208401525084604083015260a06060830152611b8460a0830185611ae6565b90508260808301529695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c2557611c25611bc5565b5060010190565b6001600160a01b0385168152836020820152608060408201526000611c546080830185611ae6565b905082606083015295945050505050565b600060208284031215611c7757600080fd5b5051919050565b818103818111156106cd576106cd611bc5565b600060208284031215611ca357600080fd5b8151610fc681611562565b600060208284031215611cc057600080fd5b81518015158114610fc657600080fd5b60008251611ce2818460208701611ac2565b9190910192915050565b602081526000610fc66020830184611ae656fea26469706673582212202cec4819d1be9525e2fff8e6e0b45cae981bb05643bafabf8c9910d2c41af38264736f6c63430008110033", } // L1GatewayRouterABI is the input ABI used to generate the binding from. // Deprecated: Use L1GatewayRouterMetaData.ABI instead. var L1GatewayRouterABI = L1GatewayRouterMetaData.ABI // Deprecated: Use L1GatewayRouterMetaData.Sigs instead. // L1GatewayRouterFuncSigs maps the 4-byte function signature to its string representation. var L1GatewayRouterFuncSigs = L1GatewayRouterMetaData.Sigs // L1GatewayRouterBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use L1GatewayRouterMetaData.Bin instead. var L1GatewayRouterBin = L1GatewayRouterMetaData.Bin // DeployL1GatewayRouter deploys a new Ethereum contract, binding an instance of L1GatewayRouter to it. func DeployL1GatewayRouter(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *L1GatewayRouter, error) { parsed, err := L1GatewayRouterMetaData.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(L1GatewayRouterBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &L1GatewayRouter{L1GatewayRouterCaller: L1GatewayRouterCaller{contract: contract}, L1GatewayRouterTransactor: L1GatewayRouterTransactor{contract: contract}, L1GatewayRouterFilterer: L1GatewayRouterFilterer{contract: contract}}, nil } // L1GatewayRouter is an auto generated Go binding around an Ethereum contract. type L1GatewayRouter struct { L1GatewayRouterCaller // Read-only binding to the contract L1GatewayRouterTransactor // Write-only binding to the contract L1GatewayRouterFilterer // Log filterer for contract events } // L1GatewayRouterCaller is an auto generated read-only Go binding around an Ethereum contract. type L1GatewayRouterCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // L1GatewayRouterTransactor is an auto generated write-only Go binding around an Ethereum contract. type L1GatewayRouterTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // L1GatewayRouterFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type L1GatewayRouterFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // L1GatewayRouterSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type L1GatewayRouterSession struct { Contract *L1GatewayRouter // 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 } // L1GatewayRouterCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type L1GatewayRouterCallerSession struct { Contract *L1GatewayRouterCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // L1GatewayRouterTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type L1GatewayRouterTransactorSession struct { Contract *L1GatewayRouterTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // L1GatewayRouterRaw is an auto generated low-level Go binding around an Ethereum contract. type L1GatewayRouterRaw struct { Contract *L1GatewayRouter // Generic contract binding to access the raw methods on } // L1GatewayRouterCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type L1GatewayRouterCallerRaw struct { Contract *L1GatewayRouterCaller // Generic read-only contract binding to access the raw methods on } // L1GatewayRouterTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type L1GatewayRouterTransactorRaw struct { Contract *L1GatewayRouterTransactor // Generic write-only contract binding to access the raw methods on } // NewL1GatewayRouter creates a new instance of L1GatewayRouter, bound to a specific deployed contract. func NewL1GatewayRouter(address common.Address, backend bind.ContractBackend) (*L1GatewayRouter, error) { contract, err := bindL1GatewayRouter(address, backend, backend, backend) if err != nil { return nil, err } return &L1GatewayRouter{L1GatewayRouterCaller: L1GatewayRouterCaller{contract: contract}, L1GatewayRouterTransactor: L1GatewayRouterTransactor{contract: contract}, L1GatewayRouterFilterer: L1GatewayRouterFilterer{contract: contract}}, nil } // NewL1GatewayRouterCaller creates a new read-only instance of L1GatewayRouter, bound to a specific deployed contract. func NewL1GatewayRouterCaller(address common.Address, caller bind.ContractCaller) (*L1GatewayRouterCaller, error) { contract, err := bindL1GatewayRouter(address, caller, nil, nil) if err != nil { return nil, err } return &L1GatewayRouterCaller{contract: contract}, nil } // NewL1GatewayRouterTransactor creates a new write-only instance of L1GatewayRouter, bound to a specific deployed contract. func NewL1GatewayRouterTransactor(address common.Address, transactor bind.ContractTransactor) (*L1GatewayRouterTransactor, error) { contract, err := bindL1GatewayRouter(address, nil, transactor, nil) if err != nil { return nil, err } return &L1GatewayRouterTransactor{contract: contract}, nil } // NewL1GatewayRouterFilterer creates a new log filterer instance of L1GatewayRouter, bound to a specific deployed contract. func NewL1GatewayRouterFilterer(address common.Address, filterer bind.ContractFilterer) (*L1GatewayRouterFilterer, error) { contract, err := bindL1GatewayRouter(address, nil, nil, filterer) if err != nil { return nil, err } return &L1GatewayRouterFilterer{contract: contract}, nil } // bindL1GatewayRouter binds a generic wrapper to an already deployed contract. func bindL1GatewayRouter(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := L1GatewayRouterMetaData.GetAbi() 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 (_L1GatewayRouter *L1GatewayRouterRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _L1GatewayRouter.Contract.L1GatewayRouterCaller.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 (_L1GatewayRouter *L1GatewayRouterRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _L1GatewayRouter.Contract.L1GatewayRouterTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_L1GatewayRouter *L1GatewayRouterRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _L1GatewayRouter.Contract.L1GatewayRouterTransactor.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 (_L1GatewayRouter *L1GatewayRouterCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _L1GatewayRouter.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 (_L1GatewayRouter *L1GatewayRouterTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _L1GatewayRouter.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_L1GatewayRouter *L1GatewayRouterTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _L1GatewayRouter.Contract.contract.Transact(opts, method, params...) } // ERC20Gateway is a free data retrieval call binding the contract method 0x705b05b8. // // Solidity: function ERC20Gateway(address ) view returns(address) func (_L1GatewayRouter *L1GatewayRouterCaller) ERC20Gateway(opts *bind.CallOpts, arg0 common.Address) (common.Address, error) { var out []interface{} err := _L1GatewayRouter.contract.Call(opts, &out, "ERC20Gateway", arg0) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // ERC20Gateway is a free data retrieval call binding the contract method 0x705b05b8. // // Solidity: function ERC20Gateway(address ) view returns(address) func (_L1GatewayRouter *L1GatewayRouterSession) ERC20Gateway(arg0 common.Address) (common.Address, error) { return _L1GatewayRouter.Contract.ERC20Gateway(&_L1GatewayRouter.CallOpts, arg0) } // ERC20Gateway is a free data retrieval call binding the contract method 0x705b05b8. // // Solidity: function ERC20Gateway(address ) view returns(address) func (_L1GatewayRouter *L1GatewayRouterCallerSession) ERC20Gateway(arg0 common.Address) (common.Address, error) { return _L1GatewayRouter.Contract.ERC20Gateway(&_L1GatewayRouter.CallOpts, arg0) } // DefaultERC20Gateway is a free data retrieval call binding the contract method 0xce8c3e06. // // Solidity: function defaultERC20Gateway() view returns(address) func (_L1GatewayRouter *L1GatewayRouterCaller) DefaultERC20Gateway(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _L1GatewayRouter.contract.Call(opts, &out, "defaultERC20Gateway") if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // DefaultERC20Gateway is a free data retrieval call binding the contract method 0xce8c3e06. // // Solidity: function defaultERC20Gateway() view returns(address) func (_L1GatewayRouter *L1GatewayRouterSession) DefaultERC20Gateway() (common.Address, error) { return _L1GatewayRouter.Contract.DefaultERC20Gateway(&_L1GatewayRouter.CallOpts) } // DefaultERC20Gateway is a free data retrieval call binding the contract method 0xce8c3e06. // // Solidity: function defaultERC20Gateway() view returns(address) func (_L1GatewayRouter *L1GatewayRouterCallerSession) DefaultERC20Gateway() (common.Address, error) { return _L1GatewayRouter.Contract.DefaultERC20Gateway(&_L1GatewayRouter.CallOpts) } // EthGateway is a free data retrieval call binding the contract method 0x8c00ce73. // // Solidity: function ethGateway() view returns(address) func (_L1GatewayRouter *L1GatewayRouterCaller) EthGateway(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _L1GatewayRouter.contract.Call(opts, &out, "ethGateway") if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // EthGateway is a free data retrieval call binding the contract method 0x8c00ce73. // // Solidity: function ethGateway() view returns(address) func (_L1GatewayRouter *L1GatewayRouterSession) EthGateway() (common.Address, error) { return _L1GatewayRouter.Contract.EthGateway(&_L1GatewayRouter.CallOpts) } // EthGateway is a free data retrieval call binding the contract method 0x8c00ce73. // // Solidity: function ethGateway() view returns(address) func (_L1GatewayRouter *L1GatewayRouterCallerSession) EthGateway() (common.Address, error) { return _L1GatewayRouter.Contract.EthGateway(&_L1GatewayRouter.CallOpts) } // GatewayInContext is a free data retrieval call binding the contract method 0x3a9a7b20. // // Solidity: function gatewayInContext() view returns(address) func (_L1GatewayRouter *L1GatewayRouterCaller) GatewayInContext(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _L1GatewayRouter.contract.Call(opts, &out, "gatewayInContext") if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GatewayInContext is a free data retrieval call binding the contract method 0x3a9a7b20. // // Solidity: function gatewayInContext() view returns(address) func (_L1GatewayRouter *L1GatewayRouterSession) GatewayInContext() (common.Address, error) { return _L1GatewayRouter.Contract.GatewayInContext(&_L1GatewayRouter.CallOpts) } // GatewayInContext is a free data retrieval call binding the contract method 0x3a9a7b20. // // Solidity: function gatewayInContext() view returns(address) func (_L1GatewayRouter *L1GatewayRouterCallerSession) GatewayInContext() (common.Address, error) { return _L1GatewayRouter.Contract.GatewayInContext(&_L1GatewayRouter.CallOpts) } // GetERC20Gateway is a free data retrieval call binding the contract method 0x43c66741. // // Solidity: function getERC20Gateway(address _token) view returns(address) func (_L1GatewayRouter *L1GatewayRouterCaller) GetERC20Gateway(opts *bind.CallOpts, _token common.Address) (common.Address, error) { var out []interface{} err := _L1GatewayRouter.contract.Call(opts, &out, "getERC20Gateway", _token) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetERC20Gateway is a free data retrieval call binding the contract method 0x43c66741. // // Solidity: function getERC20Gateway(address _token) view returns(address) func (_L1GatewayRouter *L1GatewayRouterSession) GetERC20Gateway(_token common.Address) (common.Address, error) { return _L1GatewayRouter.Contract.GetERC20Gateway(&_L1GatewayRouter.CallOpts, _token) } // GetERC20Gateway is a free data retrieval call binding the contract method 0x43c66741. // // Solidity: function getERC20Gateway(address _token) view returns(address) func (_L1GatewayRouter *L1GatewayRouterCallerSession) GetERC20Gateway(_token common.Address) (common.Address, error) { return _L1GatewayRouter.Contract.GetERC20Gateway(&_L1GatewayRouter.CallOpts, _token) } // GetL2ERC20Address is a free data retrieval call binding the contract method 0xc676ad29. // // Solidity: function getL2ERC20Address(address _l1Address) view returns(address) func (_L1GatewayRouter *L1GatewayRouterCaller) GetL2ERC20Address(opts *bind.CallOpts, _l1Address common.Address) (common.Address, error) { var out []interface{} err := _L1GatewayRouter.contract.Call(opts, &out, "getL2ERC20Address", _l1Address) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetL2ERC20Address is a free data retrieval call binding the contract method 0xc676ad29. // // Solidity: function getL2ERC20Address(address _l1Address) view returns(address) func (_L1GatewayRouter *L1GatewayRouterSession) GetL2ERC20Address(_l1Address common.Address) (common.Address, error) { return _L1GatewayRouter.Contract.GetL2ERC20Address(&_L1GatewayRouter.CallOpts, _l1Address) } // GetL2ERC20Address is a free data retrieval call binding the contract method 0xc676ad29. // // Solidity: function getL2ERC20Address(address _l1Address) view returns(address) func (_L1GatewayRouter *L1GatewayRouterCallerSession) GetL2ERC20Address(_l1Address common.Address) (common.Address, error) { return _L1GatewayRouter.Contract.GetL2ERC20Address(&_L1GatewayRouter.CallOpts, _l1Address) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) func (_L1GatewayRouter *L1GatewayRouterCaller) Owner(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _L1GatewayRouter.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 (_L1GatewayRouter *L1GatewayRouterSession) Owner() (common.Address, error) { return _L1GatewayRouter.Contract.Owner(&_L1GatewayRouter.CallOpts) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) func (_L1GatewayRouter *L1GatewayRouterCallerSession) Owner() (common.Address, error) { return _L1GatewayRouter.Contract.Owner(&_L1GatewayRouter.CallOpts) } // DepositERC20 is a paid mutator transaction binding the contract method 0x21425ee0. // // Solidity: function depositERC20(address _token, uint256 _amount, uint256 _gasLimit) payable returns() func (_L1GatewayRouter *L1GatewayRouterTransactor) DepositERC20(opts *bind.TransactOpts, _token common.Address, _amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _L1GatewayRouter.contract.Transact(opts, "depositERC20", _token, _amount, _gasLimit) } // DepositERC20 is a paid mutator transaction binding the contract method 0x21425ee0. // // Solidity: function depositERC20(address _token, uint256 _amount, uint256 _gasLimit) payable returns() func (_L1GatewayRouter *L1GatewayRouterSession) DepositERC20(_token common.Address, _amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _L1GatewayRouter.Contract.DepositERC20(&_L1GatewayRouter.TransactOpts, _token, _amount, _gasLimit) } // DepositERC20 is a paid mutator transaction binding the contract method 0x21425ee0. // // Solidity: function depositERC20(address _token, uint256 _amount, uint256 _gasLimit) payable returns() func (_L1GatewayRouter *L1GatewayRouterTransactorSession) DepositERC20(_token common.Address, _amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _L1GatewayRouter.Contract.DepositERC20(&_L1GatewayRouter.TransactOpts, _token, _amount, _gasLimit) } // DepositERC200 is a paid mutator transaction binding the contract method 0xf219fa66. // // Solidity: function depositERC20(address _token, address _to, uint256 _amount, uint256 _gasLimit) payable returns() func (_L1GatewayRouter *L1GatewayRouterTransactor) DepositERC200(opts *bind.TransactOpts, _token common.Address, _to common.Address, _amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _L1GatewayRouter.contract.Transact(opts, "depositERC200", _token, _to, _amount, _gasLimit) } // DepositERC200 is a paid mutator transaction binding the contract method 0xf219fa66. // // Solidity: function depositERC20(address _token, address _to, uint256 _amount, uint256 _gasLimit) payable returns() func (_L1GatewayRouter *L1GatewayRouterSession) DepositERC200(_token common.Address, _to common.Address, _amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _L1GatewayRouter.Contract.DepositERC200(&_L1GatewayRouter.TransactOpts, _token, _to, _amount, _gasLimit) } // DepositERC200 is a paid mutator transaction binding the contract method 0xf219fa66. // // Solidity: function depositERC20(address _token, address _to, uint256 _amount, uint256 _gasLimit) payable returns() func (_L1GatewayRouter *L1GatewayRouterTransactorSession) DepositERC200(_token common.Address, _to common.Address, _amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _L1GatewayRouter.Contract.DepositERC200(&_L1GatewayRouter.TransactOpts, _token, _to, _amount, _gasLimit) } // DepositERC20AndCall is a paid mutator transaction binding the contract method 0x0aea8c26. // // Solidity: function depositERC20AndCall(address _token, address _to, uint256 _amount, bytes _data, uint256 _gasLimit) payable returns() func (_L1GatewayRouter *L1GatewayRouterTransactor) DepositERC20AndCall(opts *bind.TransactOpts, _token common.Address, _to common.Address, _amount *big.Int, _data []byte, _gasLimit *big.Int) (*types.Transaction, error) { return _L1GatewayRouter.contract.Transact(opts, "depositERC20AndCall", _token, _to, _amount, _data, _gasLimit) } // DepositERC20AndCall is a paid mutator transaction binding the contract method 0x0aea8c26. // // Solidity: function depositERC20AndCall(address _token, address _to, uint256 _amount, bytes _data, uint256 _gasLimit) payable returns() func (_L1GatewayRouter *L1GatewayRouterSession) DepositERC20AndCall(_token common.Address, _to common.Address, _amount *big.Int, _data []byte, _gasLimit *big.Int) (*types.Transaction, error) { return _L1GatewayRouter.Contract.DepositERC20AndCall(&_L1GatewayRouter.TransactOpts, _token, _to, _amount, _data, _gasLimit) } // DepositERC20AndCall is a paid mutator transaction binding the contract method 0x0aea8c26. // // Solidity: function depositERC20AndCall(address _token, address _to, uint256 _amount, bytes _data, uint256 _gasLimit) payable returns() func (_L1GatewayRouter *L1GatewayRouterTransactorSession) DepositERC20AndCall(_token common.Address, _to common.Address, _amount *big.Int, _data []byte, _gasLimit *big.Int) (*types.Transaction, error) { return _L1GatewayRouter.Contract.DepositERC20AndCall(&_L1GatewayRouter.TransactOpts, _token, _to, _amount, _data, _gasLimit) } // DepositETH is a paid mutator transaction binding the contract method 0x9f8420b3. // // Solidity: function depositETH(uint256 _amount, uint256 _gasLimit) payable returns() func (_L1GatewayRouter *L1GatewayRouterTransactor) DepositETH(opts *bind.TransactOpts, _amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _L1GatewayRouter.contract.Transact(opts, "depositETH", _amount, _gasLimit) } // DepositETH is a paid mutator transaction binding the contract method 0x9f8420b3. // // Solidity: function depositETH(uint256 _amount, uint256 _gasLimit) payable returns() func (_L1GatewayRouter *L1GatewayRouterSession) DepositETH(_amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _L1GatewayRouter.Contract.DepositETH(&_L1GatewayRouter.TransactOpts, _amount, _gasLimit) } // DepositETH is a paid mutator transaction binding the contract method 0x9f8420b3. // // Solidity: function depositETH(uint256 _amount, uint256 _gasLimit) payable returns() func (_L1GatewayRouter *L1GatewayRouterTransactorSession) DepositETH(_amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _L1GatewayRouter.Contract.DepositETH(&_L1GatewayRouter.TransactOpts, _amount, _gasLimit) } // DepositETH0 is a paid mutator transaction binding the contract method 0xce0b63ce. // // Solidity: function depositETH(address _to, uint256 _amount, uint256 _gasLimit) payable returns() func (_L1GatewayRouter *L1GatewayRouterTransactor) DepositETH0(opts *bind.TransactOpts, _to common.Address, _amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _L1GatewayRouter.contract.Transact(opts, "depositETH0", _to, _amount, _gasLimit) } // DepositETH0 is a paid mutator transaction binding the contract method 0xce0b63ce. // // Solidity: function depositETH(address _to, uint256 _amount, uint256 _gasLimit) payable returns() func (_L1GatewayRouter *L1GatewayRouterSession) DepositETH0(_to common.Address, _amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _L1GatewayRouter.Contract.DepositETH0(&_L1GatewayRouter.TransactOpts, _to, _amount, _gasLimit) } // DepositETH0 is a paid mutator transaction binding the contract method 0xce0b63ce. // // Solidity: function depositETH(address _to, uint256 _amount, uint256 _gasLimit) payable returns() func (_L1GatewayRouter *L1GatewayRouterTransactorSession) DepositETH0(_to common.Address, _amount *big.Int, _gasLimit *big.Int) (*types.Transaction, error) { return _L1GatewayRouter.Contract.DepositETH0(&_L1GatewayRouter.TransactOpts, _to, _amount, _gasLimit) } // DepositETHAndCall is a paid mutator transaction binding the contract method 0xaac476f8. // // Solidity: function depositETHAndCall(address _to, uint256 _amount, bytes _data, uint256 _gasLimit) payable returns() func (_L1GatewayRouter *L1GatewayRouterTransactor) DepositETHAndCall(opts *bind.TransactOpts, _to common.Address, _amount *big.Int, _data []byte, _gasLimit *big.Int) (*types.Transaction, error) { return _L1GatewayRouter.contract.Transact(opts, "depositETHAndCall", _to, _amount, _data, _gasLimit) } // DepositETHAndCall is a paid mutator transaction binding the contract method 0xaac476f8. // // Solidity: function depositETHAndCall(address _to, uint256 _amount, bytes _data, uint256 _gasLimit) payable returns() func (_L1GatewayRouter *L1GatewayRouterSession) DepositETHAndCall(_to common.Address, _amount *big.Int, _data []byte, _gasLimit *big.Int) (*types.Transaction, error) { return _L1GatewayRouter.Contract.DepositETHAndCall(&_L1GatewayRouter.TransactOpts, _to, _amount, _data, _gasLimit) } // DepositETHAndCall is a paid mutator transaction binding the contract method 0xaac476f8. // // Solidity: function depositETHAndCall(address _to, uint256 _amount, bytes _data, uint256 _gasLimit) payable returns() func (_L1GatewayRouter *L1GatewayRouterTransactorSession) DepositETHAndCall(_to common.Address, _amount *big.Int, _data []byte, _gasLimit *big.Int) (*types.Transaction, error) { return _L1GatewayRouter.Contract.DepositETHAndCall(&_L1GatewayRouter.TransactOpts, _to, _amount, _data, _gasLimit) } // FinalizeWithdrawERC20 is a paid mutator transaction binding the contract method 0x84bd13b0. // // Solidity: function finalizeWithdrawERC20(address , address , address , address , uint256 , bytes ) payable returns() func (_L1GatewayRouter *L1GatewayRouterTransactor) FinalizeWithdrawERC20(opts *bind.TransactOpts, arg0 common.Address, arg1 common.Address, arg2 common.Address, arg3 common.Address, arg4 *big.Int, arg5 []byte) (*types.Transaction, error) { return _L1GatewayRouter.contract.Transact(opts, "finalizeWithdrawERC20", arg0, arg1, arg2, arg3, arg4, arg5) } // FinalizeWithdrawERC20 is a paid mutator transaction binding the contract method 0x84bd13b0. // // Solidity: function finalizeWithdrawERC20(address , address , address , address , uint256 , bytes ) payable returns() func (_L1GatewayRouter *L1GatewayRouterSession) FinalizeWithdrawERC20(arg0 common.Address, arg1 common.Address, arg2 common.Address, arg3 common.Address, arg4 *big.Int, arg5 []byte) (*types.Transaction, error) { return _L1GatewayRouter.Contract.FinalizeWithdrawERC20(&_L1GatewayRouter.TransactOpts, arg0, arg1, arg2, arg3, arg4, arg5) } // FinalizeWithdrawERC20 is a paid mutator transaction binding the contract method 0x84bd13b0. // // Solidity: function finalizeWithdrawERC20(address , address , address , address , uint256 , bytes ) payable returns() func (_L1GatewayRouter *L1GatewayRouterTransactorSession) FinalizeWithdrawERC20(arg0 common.Address, arg1 common.Address, arg2 common.Address, arg3 common.Address, arg4 *big.Int, arg5 []byte) (*types.Transaction, error) { return _L1GatewayRouter.Contract.FinalizeWithdrawERC20(&_L1GatewayRouter.TransactOpts, arg0, arg1, arg2, arg3, arg4, arg5) } // FinalizeWithdrawETH is a paid mutator transaction binding the contract method 0x8eaac8a3. // // Solidity: function finalizeWithdrawETH(address , address , uint256 , bytes ) payable returns() func (_L1GatewayRouter *L1GatewayRouterTransactor) FinalizeWithdrawETH(opts *bind.TransactOpts, arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 []byte) (*types.Transaction, error) { return _L1GatewayRouter.contract.Transact(opts, "finalizeWithdrawETH", arg0, arg1, arg2, arg3) } // FinalizeWithdrawETH is a paid mutator transaction binding the contract method 0x8eaac8a3. // // Solidity: function finalizeWithdrawETH(address , address , uint256 , bytes ) payable returns() func (_L1GatewayRouter *L1GatewayRouterSession) FinalizeWithdrawETH(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 []byte) (*types.Transaction, error) { return _L1GatewayRouter.Contract.FinalizeWithdrawETH(&_L1GatewayRouter.TransactOpts, arg0, arg1, arg2, arg3) } // FinalizeWithdrawETH is a paid mutator transaction binding the contract method 0x8eaac8a3. // // Solidity: function finalizeWithdrawETH(address , address , uint256 , bytes ) payable returns() func (_L1GatewayRouter *L1GatewayRouterTransactorSession) FinalizeWithdrawETH(arg0 common.Address, arg1 common.Address, arg2 *big.Int, arg3 []byte) (*types.Transaction, error) { return _L1GatewayRouter.Contract.FinalizeWithdrawETH(&_L1GatewayRouter.TransactOpts, arg0, arg1, arg2, arg3) } // Initialize is a paid mutator transaction binding the contract method 0x485cc955. // // Solidity: function initialize(address _ethGateway, address _defaultERC20Gateway) returns() func (_L1GatewayRouter *L1GatewayRouterTransactor) Initialize(opts *bind.TransactOpts, _ethGateway common.Address, _defaultERC20Gateway common.Address) (*types.Transaction, error) { return _L1GatewayRouter.contract.Transact(opts, "initialize", _ethGateway, _defaultERC20Gateway) } // Initialize is a paid mutator transaction binding the contract method 0x485cc955. // // Solidity: function initialize(address _ethGateway, address _defaultERC20Gateway) returns() func (_L1GatewayRouter *L1GatewayRouterSession) Initialize(_ethGateway common.Address, _defaultERC20Gateway common.Address) (*types.Transaction, error) { return _L1GatewayRouter.Contract.Initialize(&_L1GatewayRouter.TransactOpts, _ethGateway, _defaultERC20Gateway) } // Initialize is a paid mutator transaction binding the contract method 0x485cc955. // // Solidity: function initialize(address _ethGateway, address _defaultERC20Gateway) returns() func (_L1GatewayRouter *L1GatewayRouterTransactorSession) Initialize(_ethGateway common.Address, _defaultERC20Gateway common.Address) (*types.Transaction, error) { return _L1GatewayRouter.Contract.Initialize(&_L1GatewayRouter.TransactOpts, _ethGateway, _defaultERC20Gateway) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_L1GatewayRouter *L1GatewayRouterTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { return _L1GatewayRouter.contract.Transact(opts, "renounceOwnership") } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_L1GatewayRouter *L1GatewayRouterSession) RenounceOwnership() (*types.Transaction, error) { return _L1GatewayRouter.Contract.RenounceOwnership(&_L1GatewayRouter.TransactOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_L1GatewayRouter *L1GatewayRouterTransactorSession) RenounceOwnership() (*types.Transaction, error) { return _L1GatewayRouter.Contract.RenounceOwnership(&_L1GatewayRouter.TransactOpts) } // RequestERC20 is a paid mutator transaction binding the contract method 0xc52a3bbc. // // Solidity: function requestERC20(address _sender, address _token, uint256 _amount) returns(uint256) func (_L1GatewayRouter *L1GatewayRouterTransactor) RequestERC20(opts *bind.TransactOpts, _sender common.Address, _token common.Address, _amount *big.Int) (*types.Transaction, error) { return _L1GatewayRouter.contract.Transact(opts, "requestERC20", _sender, _token, _amount) } // RequestERC20 is a paid mutator transaction binding the contract method 0xc52a3bbc. // // Solidity: function requestERC20(address _sender, address _token, uint256 _amount) returns(uint256) func (_L1GatewayRouter *L1GatewayRouterSession) RequestERC20(_sender common.Address, _token common.Address, _amount *big.Int) (*types.Transaction, error) { return _L1GatewayRouter.Contract.RequestERC20(&_L1GatewayRouter.TransactOpts, _sender, _token, _amount) } // RequestERC20 is a paid mutator transaction binding the contract method 0xc52a3bbc. // // Solidity: function requestERC20(address _sender, address _token, uint256 _amount) returns(uint256) func (_L1GatewayRouter *L1GatewayRouterTransactorSession) RequestERC20(_sender common.Address, _token common.Address, _amount *big.Int) (*types.Transaction, error) { return _L1GatewayRouter.Contract.RequestERC20(&_L1GatewayRouter.TransactOpts, _sender, _token, _amount) } // SetDefaultERC20Gateway is a paid mutator transaction binding the contract method 0x5dfd5b9a. // // Solidity: function setDefaultERC20Gateway(address _newDefaultERC20Gateway) returns() func (_L1GatewayRouter *L1GatewayRouterTransactor) SetDefaultERC20Gateway(opts *bind.TransactOpts, _newDefaultERC20Gateway common.Address) (*types.Transaction, error) { return _L1GatewayRouter.contract.Transact(opts, "setDefaultERC20Gateway", _newDefaultERC20Gateway) } // SetDefaultERC20Gateway is a paid mutator transaction binding the contract method 0x5dfd5b9a. // // Solidity: function setDefaultERC20Gateway(address _newDefaultERC20Gateway) returns() func (_L1GatewayRouter *L1GatewayRouterSession) SetDefaultERC20Gateway(_newDefaultERC20Gateway common.Address) (*types.Transaction, error) { return _L1GatewayRouter.Contract.SetDefaultERC20Gateway(&_L1GatewayRouter.TransactOpts, _newDefaultERC20Gateway) } // SetDefaultERC20Gateway is a paid mutator transaction binding the contract method 0x5dfd5b9a. // // Solidity: function setDefaultERC20Gateway(address _newDefaultERC20Gateway) returns() func (_L1GatewayRouter *L1GatewayRouterTransactorSession) SetDefaultERC20Gateway(_newDefaultERC20Gateway common.Address) (*types.Transaction, error) { return _L1GatewayRouter.Contract.SetDefaultERC20Gateway(&_L1GatewayRouter.TransactOpts, _newDefaultERC20Gateway) } // SetERC20Gateway is a paid mutator transaction binding the contract method 0x635c8637. // // Solidity: function setERC20Gateway(address[] _tokens, address[] _gateways) returns() func (_L1GatewayRouter *L1GatewayRouterTransactor) SetERC20Gateway(opts *bind.TransactOpts, _tokens []common.Address, _gateways []common.Address) (*types.Transaction, error) { return _L1GatewayRouter.contract.Transact(opts, "setERC20Gateway", _tokens, _gateways) } // SetERC20Gateway is a paid mutator transaction binding the contract method 0x635c8637. // // Solidity: function setERC20Gateway(address[] _tokens, address[] _gateways) returns() func (_L1GatewayRouter *L1GatewayRouterSession) SetERC20Gateway(_tokens []common.Address, _gateways []common.Address) (*types.Transaction, error) { return _L1GatewayRouter.Contract.SetERC20Gateway(&_L1GatewayRouter.TransactOpts, _tokens, _gateways) } // SetERC20Gateway is a paid mutator transaction binding the contract method 0x635c8637. // // Solidity: function setERC20Gateway(address[] _tokens, address[] _gateways) returns() func (_L1GatewayRouter *L1GatewayRouterTransactorSession) SetERC20Gateway(_tokens []common.Address, _gateways []common.Address) (*types.Transaction, error) { return _L1GatewayRouter.Contract.SetERC20Gateway(&_L1GatewayRouter.TransactOpts, _tokens, _gateways) } // SetETHGateway is a paid mutator transaction binding the contract method 0x3d1d31c7. // // Solidity: function setETHGateway(address _newEthGateway) returns() func (_L1GatewayRouter *L1GatewayRouterTransactor) SetETHGateway(opts *bind.TransactOpts, _newEthGateway common.Address) (*types.Transaction, error) { return _L1GatewayRouter.contract.Transact(opts, "setETHGateway", _newEthGateway) } // SetETHGateway is a paid mutator transaction binding the contract method 0x3d1d31c7. // // Solidity: function setETHGateway(address _newEthGateway) returns() func (_L1GatewayRouter *L1GatewayRouterSession) SetETHGateway(_newEthGateway common.Address) (*types.Transaction, error) { return _L1GatewayRouter.Contract.SetETHGateway(&_L1GatewayRouter.TransactOpts, _newEthGateway) } // SetETHGateway is a paid mutator transaction binding the contract method 0x3d1d31c7. // // Solidity: function setETHGateway(address _newEthGateway) returns() func (_L1GatewayRouter *L1GatewayRouterTransactorSession) SetETHGateway(_newEthGateway common.Address) (*types.Transaction, error) { return _L1GatewayRouter.Contract.SetETHGateway(&_L1GatewayRouter.TransactOpts, _newEthGateway) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_L1GatewayRouter *L1GatewayRouterTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { return _L1GatewayRouter.contract.Transact(opts, "transferOwnership", newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_L1GatewayRouter *L1GatewayRouterSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _L1GatewayRouter.Contract.TransferOwnership(&_L1GatewayRouter.TransactOpts, newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() func (_L1GatewayRouter *L1GatewayRouterTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _L1GatewayRouter.Contract.TransferOwnership(&_L1GatewayRouter.TransactOpts, newOwner) } // L1GatewayRouterDepositERC20Iterator is returned from FilterDepositERC20 and is used to iterate over the raw logs and unpacked data for DepositERC20 events raised by the L1GatewayRouter contract. type L1GatewayRouterDepositERC20Iterator struct { Event *L1GatewayRouterDepositERC20 // 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 *L1GatewayRouterDepositERC20Iterator) 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(L1GatewayRouterDepositERC20) 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(L1GatewayRouterDepositERC20) 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 *L1GatewayRouterDepositERC20Iterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *L1GatewayRouterDepositERC20Iterator) Close() error { it.sub.Unsubscribe() return nil } // L1GatewayRouterDepositERC20 represents a DepositERC20 event raised by the L1GatewayRouter contract. type L1GatewayRouterDepositERC20 struct { L1Token common.Address L2Token common.Address From common.Address To common.Address Amount *big.Int Data []byte Raw types.Log // Blockchain specific contextual infos } // FilterDepositERC20 is a free log retrieval operation binding the contract event 0x31cd3b976e4d654022bf95c68a2ce53f1d5d94afabe0454d2832208eeb40af25. // // Solidity: event DepositERC20(address indexed l1Token, address indexed l2Token, address indexed from, address to, uint256 amount, bytes data) func (_L1GatewayRouter *L1GatewayRouterFilterer) FilterDepositERC20(opts *bind.FilterOpts, l1Token []common.Address, l2Token []common.Address, from []common.Address) (*L1GatewayRouterDepositERC20Iterator, error) { var l1TokenRule []interface{} for _, l1TokenItem := range l1Token { l1TokenRule = append(l1TokenRule, l1TokenItem) } var l2TokenRule []interface{} for _, l2TokenItem := range l2Token { l2TokenRule = append(l2TokenRule, l2TokenItem) } var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } logs, sub, err := _L1GatewayRouter.contract.FilterLogs(opts, "DepositERC20", l1TokenRule, l2TokenRule, fromRule) if err != nil { return nil, err } return &L1GatewayRouterDepositERC20Iterator{contract: _L1GatewayRouter.contract, event: "DepositERC20", logs: logs, sub: sub}, nil } // WatchDepositERC20 is a free log subscription operation binding the contract event 0x31cd3b976e4d654022bf95c68a2ce53f1d5d94afabe0454d2832208eeb40af25. // // Solidity: event DepositERC20(address indexed l1Token, address indexed l2Token, address indexed from, address to, uint256 amount, bytes data) func (_L1GatewayRouter *L1GatewayRouterFilterer) WatchDepositERC20(opts *bind.WatchOpts, sink chan<- *L1GatewayRouterDepositERC20, l1Token []common.Address, l2Token []common.Address, from []common.Address) (event.Subscription, error) { var l1TokenRule []interface{} for _, l1TokenItem := range l1Token { l1TokenRule = append(l1TokenRule, l1TokenItem) } var l2TokenRule []interface{} for _, l2TokenItem := range l2Token { l2TokenRule = append(l2TokenRule, l2TokenItem) } var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } logs, sub, err := _L1GatewayRouter.contract.WatchLogs(opts, "DepositERC20", l1TokenRule, l2TokenRule, fromRule) 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(L1GatewayRouterDepositERC20) if err := _L1GatewayRouter.contract.UnpackLog(event, "DepositERC20", 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 } // ParseDepositERC20 is a log parse operation binding the contract event 0x31cd3b976e4d654022bf95c68a2ce53f1d5d94afabe0454d2832208eeb40af25. // // Solidity: event DepositERC20(address indexed l1Token, address indexed l2Token, address indexed from, address to, uint256 amount, bytes data) func (_L1GatewayRouter *L1GatewayRouterFilterer) ParseDepositERC20(log types.Log) (*L1GatewayRouterDepositERC20, error) { event := new(L1GatewayRouterDepositERC20) if err := _L1GatewayRouter.contract.UnpackLog(event, "DepositERC20", log); err != nil { return nil, err } event.Raw = log return event, nil } // L1GatewayRouterDepositETHIterator is returned from FilterDepositETH and is used to iterate over the raw logs and unpacked data for DepositETH events raised by the L1GatewayRouter contract. type L1GatewayRouterDepositETHIterator struct { Event *L1GatewayRouterDepositETH // 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 *L1GatewayRouterDepositETHIterator) 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(L1GatewayRouterDepositETH) 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(L1GatewayRouterDepositETH) 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 *L1GatewayRouterDepositETHIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *L1GatewayRouterDepositETHIterator) Close() error { it.sub.Unsubscribe() return nil } // L1GatewayRouterDepositETH represents a DepositETH event raised by the L1GatewayRouter contract. type L1GatewayRouterDepositETH struct { From common.Address To common.Address Amount *big.Int Data []byte Raw types.Log // Blockchain specific contextual infos } // FilterDepositETH is a free log retrieval operation binding the contract event 0x6670de856ec8bf5cb2b7e957c5dc24759716056f79d97ea5e7c939ca0ba5a675. // // Solidity: event DepositETH(address indexed from, address indexed to, uint256 amount, bytes data) func (_L1GatewayRouter *L1GatewayRouterFilterer) FilterDepositETH(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*L1GatewayRouterDepositETHIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _L1GatewayRouter.contract.FilterLogs(opts, "DepositETH", fromRule, toRule) if err != nil { return nil, err } return &L1GatewayRouterDepositETHIterator{contract: _L1GatewayRouter.contract, event: "DepositETH", logs: logs, sub: sub}, nil } // WatchDepositETH is a free log subscription operation binding the contract event 0x6670de856ec8bf5cb2b7e957c5dc24759716056f79d97ea5e7c939ca0ba5a675. // // Solidity: event DepositETH(address indexed from, address indexed to, uint256 amount, bytes data) func (_L1GatewayRouter *L1GatewayRouterFilterer) WatchDepositETH(opts *bind.WatchOpts, sink chan<- *L1GatewayRouterDepositETH, from []common.Address, to []common.Address) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _L1GatewayRouter.contract.WatchLogs(opts, "DepositETH", fromRule, toRule) 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(L1GatewayRouterDepositETH) if err := _L1GatewayRouter.contract.UnpackLog(event, "DepositETH", 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 } // ParseDepositETH is a log parse operation binding the contract event 0x6670de856ec8bf5cb2b7e957c5dc24759716056f79d97ea5e7c939ca0ba5a675. // // Solidity: event DepositETH(address indexed from, address indexed to, uint256 amount, bytes data) func (_L1GatewayRouter *L1GatewayRouterFilterer) ParseDepositETH(log types.Log) (*L1GatewayRouterDepositETH, error) { event := new(L1GatewayRouterDepositETH) if err := _L1GatewayRouter.contract.UnpackLog(event, "DepositETH", log); err != nil { return nil, err } event.Raw = log return event, nil } // L1GatewayRouterFinalizeWithdrawERC20Iterator is returned from FilterFinalizeWithdrawERC20 and is used to iterate over the raw logs and unpacked data for FinalizeWithdrawERC20 events raised by the L1GatewayRouter contract. type L1GatewayRouterFinalizeWithdrawERC20Iterator struct { Event *L1GatewayRouterFinalizeWithdrawERC20 // 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 *L1GatewayRouterFinalizeWithdrawERC20Iterator) 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(L1GatewayRouterFinalizeWithdrawERC20) 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(L1GatewayRouterFinalizeWithdrawERC20) 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 *L1GatewayRouterFinalizeWithdrawERC20Iterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *L1GatewayRouterFinalizeWithdrawERC20Iterator) Close() error { it.sub.Unsubscribe() return nil } // L1GatewayRouterFinalizeWithdrawERC20 represents a FinalizeWithdrawERC20 event raised by the L1GatewayRouter contract. type L1GatewayRouterFinalizeWithdrawERC20 struct { L1Token common.Address L2Token common.Address From common.Address To common.Address Amount *big.Int Data []byte Raw types.Log // Blockchain specific contextual infos } // FilterFinalizeWithdrawERC20 is a free log retrieval operation binding the contract event 0xc6f985873b37805705f6bce756dce3d1ff4b603e298d506288cce499926846a7. // // Solidity: event FinalizeWithdrawERC20(address indexed l1Token, address indexed l2Token, address indexed from, address to, uint256 amount, bytes data) func (_L1GatewayRouter *L1GatewayRouterFilterer) FilterFinalizeWithdrawERC20(opts *bind.FilterOpts, l1Token []common.Address, l2Token []common.Address, from []common.Address) (*L1GatewayRouterFinalizeWithdrawERC20Iterator, error) { var l1TokenRule []interface{} for _, l1TokenItem := range l1Token { l1TokenRule = append(l1TokenRule, l1TokenItem) } var l2TokenRule []interface{} for _, l2TokenItem := range l2Token { l2TokenRule = append(l2TokenRule, l2TokenItem) } var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } logs, sub, err := _L1GatewayRouter.contract.FilterLogs(opts, "FinalizeWithdrawERC20", l1TokenRule, l2TokenRule, fromRule) if err != nil { return nil, err } return &L1GatewayRouterFinalizeWithdrawERC20Iterator{contract: _L1GatewayRouter.contract, event: "FinalizeWithdrawERC20", logs: logs, sub: sub}, nil } // WatchFinalizeWithdrawERC20 is a free log subscription operation binding the contract event 0xc6f985873b37805705f6bce756dce3d1ff4b603e298d506288cce499926846a7. // // Solidity: event FinalizeWithdrawERC20(address indexed l1Token, address indexed l2Token, address indexed from, address to, uint256 amount, bytes data) func (_L1GatewayRouter *L1GatewayRouterFilterer) WatchFinalizeWithdrawERC20(opts *bind.WatchOpts, sink chan<- *L1GatewayRouterFinalizeWithdrawERC20, l1Token []common.Address, l2Token []common.Address, from []common.Address) (event.Subscription, error) { var l1TokenRule []interface{} for _, l1TokenItem := range l1Token { l1TokenRule = append(l1TokenRule, l1TokenItem) } var l2TokenRule []interface{} for _, l2TokenItem := range l2Token { l2TokenRule = append(l2TokenRule, l2TokenItem) } var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } logs, sub, err := _L1GatewayRouter.contract.WatchLogs(opts, "FinalizeWithdrawERC20", l1TokenRule, l2TokenRule, fromRule) 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(L1GatewayRouterFinalizeWithdrawERC20) if err := _L1GatewayRouter.contract.UnpackLog(event, "FinalizeWithdrawERC20", 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 } // ParseFinalizeWithdrawERC20 is a log parse operation binding the contract event 0xc6f985873b37805705f6bce756dce3d1ff4b603e298d506288cce499926846a7. // // Solidity: event FinalizeWithdrawERC20(address indexed l1Token, address indexed l2Token, address indexed from, address to, uint256 amount, bytes data) func (_L1GatewayRouter *L1GatewayRouterFilterer) ParseFinalizeWithdrawERC20(log types.Log) (*L1GatewayRouterFinalizeWithdrawERC20, error) { event := new(L1GatewayRouterFinalizeWithdrawERC20) if err := _L1GatewayRouter.contract.UnpackLog(event, "FinalizeWithdrawERC20", log); err != nil { return nil, err } event.Raw = log return event, nil } // L1GatewayRouterFinalizeWithdrawETHIterator is returned from FilterFinalizeWithdrawETH and is used to iterate over the raw logs and unpacked data for FinalizeWithdrawETH events raised by the L1GatewayRouter contract. type L1GatewayRouterFinalizeWithdrawETHIterator struct { Event *L1GatewayRouterFinalizeWithdrawETH // 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 *L1GatewayRouterFinalizeWithdrawETHIterator) 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(L1GatewayRouterFinalizeWithdrawETH) 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(L1GatewayRouterFinalizeWithdrawETH) 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 *L1GatewayRouterFinalizeWithdrawETHIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *L1GatewayRouterFinalizeWithdrawETHIterator) Close() error { it.sub.Unsubscribe() return nil } // L1GatewayRouterFinalizeWithdrawETH represents a FinalizeWithdrawETH event raised by the L1GatewayRouter contract. type L1GatewayRouterFinalizeWithdrawETH struct { From common.Address To common.Address Amount *big.Int Data []byte Raw types.Log // Blockchain specific contextual infos } // FilterFinalizeWithdrawETH is a free log retrieval operation binding the contract event 0x96db5d1cee1dd2760826bb56fabd9c9f6e978083e0a8b88559c741a29e9746e7. // // Solidity: event FinalizeWithdrawETH(address indexed from, address indexed to, uint256 amount, bytes data) func (_L1GatewayRouter *L1GatewayRouterFilterer) FilterFinalizeWithdrawETH(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*L1GatewayRouterFinalizeWithdrawETHIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _L1GatewayRouter.contract.FilterLogs(opts, "FinalizeWithdrawETH", fromRule, toRule) if err != nil { return nil, err } return &L1GatewayRouterFinalizeWithdrawETHIterator{contract: _L1GatewayRouter.contract, event: "FinalizeWithdrawETH", logs: logs, sub: sub}, nil } // WatchFinalizeWithdrawETH is a free log subscription operation binding the contract event 0x96db5d1cee1dd2760826bb56fabd9c9f6e978083e0a8b88559c741a29e9746e7. // // Solidity: event FinalizeWithdrawETH(address indexed from, address indexed to, uint256 amount, bytes data) func (_L1GatewayRouter *L1GatewayRouterFilterer) WatchFinalizeWithdrawETH(opts *bind.WatchOpts, sink chan<- *L1GatewayRouterFinalizeWithdrawETH, from []common.Address, to []common.Address) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _L1GatewayRouter.contract.WatchLogs(opts, "FinalizeWithdrawETH", fromRule, toRule) 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(L1GatewayRouterFinalizeWithdrawETH) if err := _L1GatewayRouter.contract.UnpackLog(event, "FinalizeWithdrawETH", 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 } // ParseFinalizeWithdrawETH is a log parse operation binding the contract event 0x96db5d1cee1dd2760826bb56fabd9c9f6e978083e0a8b88559c741a29e9746e7. // // Solidity: event FinalizeWithdrawETH(address indexed from, address indexed to, uint256 amount, bytes data) func (_L1GatewayRouter *L1GatewayRouterFilterer) ParseFinalizeWithdrawETH(log types.Log) (*L1GatewayRouterFinalizeWithdrawETH, error) { event := new(L1GatewayRouterFinalizeWithdrawETH) if err := _L1GatewayRouter.contract.UnpackLog(event, "FinalizeWithdrawETH", log); err != nil { return nil, err } event.Raw = log return event, nil } // L1GatewayRouterInitializedIterator is returned from FilterInitialized and is used to iterate over the raw logs and unpacked data for Initialized events raised by the L1GatewayRouter contract. type L1GatewayRouterInitializedIterator struct { Event *L1GatewayRouterInitialized // 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 *L1GatewayRouterInitializedIterator) 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(L1GatewayRouterInitialized) 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(L1GatewayRouterInitialized) 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 *L1GatewayRouterInitializedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *L1GatewayRouterInitializedIterator) Close() error { it.sub.Unsubscribe() return nil } // L1GatewayRouterInitialized represents a Initialized event raised by the L1GatewayRouter contract. type L1GatewayRouterInitialized 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 (_L1GatewayRouter *L1GatewayRouterFilterer) FilterInitialized(opts *bind.FilterOpts) (*L1GatewayRouterInitializedIterator, error) { logs, sub, err := _L1GatewayRouter.contract.FilterLogs(opts, "Initialized") if err != nil { return nil, err } return &L1GatewayRouterInitializedIterator{contract: _L1GatewayRouter.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 (_L1GatewayRouter *L1GatewayRouterFilterer) WatchInitialized(opts *bind.WatchOpts, sink chan<- *L1GatewayRouterInitialized) (event.Subscription, error) { logs, sub, err := _L1GatewayRouter.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(L1GatewayRouterInitialized) if err := _L1GatewayRouter.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 (_L1GatewayRouter *L1GatewayRouterFilterer) ParseInitialized(log types.Log) (*L1GatewayRouterInitialized, error) { event := new(L1GatewayRouterInitialized) if err := _L1GatewayRouter.contract.UnpackLog(event, "Initialized", log); err != nil { return nil, err } event.Raw = log return event, nil } // L1GatewayRouterOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the L1GatewayRouter contract. type L1GatewayRouterOwnershipTransferredIterator struct { Event *L1GatewayRouterOwnershipTransferred // 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 *L1GatewayRouterOwnershipTransferredIterator) 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(L1GatewayRouterOwnershipTransferred) 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(L1GatewayRouterOwnershipTransferred) 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 *L1GatewayRouterOwnershipTransferredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *L1GatewayRouterOwnershipTransferredIterator) Close() error { it.sub.Unsubscribe() return nil } // L1GatewayRouterOwnershipTransferred represents a OwnershipTransferred event raised by the L1GatewayRouter contract. type L1GatewayRouterOwnershipTransferred 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 (_L1GatewayRouter *L1GatewayRouterFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*L1GatewayRouterOwnershipTransferredIterator, 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 := _L1GatewayRouter.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return &L1GatewayRouterOwnershipTransferredIterator{contract: _L1GatewayRouter.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 (_L1GatewayRouter *L1GatewayRouterFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *L1GatewayRouterOwnershipTransferred, 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 := _L1GatewayRouter.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(L1GatewayRouterOwnershipTransferred) if err := _L1GatewayRouter.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 (_L1GatewayRouter *L1GatewayRouterFilterer) ParseOwnershipTransferred(log types.Log) (*L1GatewayRouterOwnershipTransferred, error) { event := new(L1GatewayRouterOwnershipTransferred) if err := _L1GatewayRouter.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return nil, err } event.Raw = log return event, nil } // L1GatewayRouterRefundERC20Iterator is returned from FilterRefundERC20 and is used to iterate over the raw logs and unpacked data for RefundERC20 events raised by the L1GatewayRouter contract. type L1GatewayRouterRefundERC20Iterator struct { Event *L1GatewayRouterRefundERC20 // 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 *L1GatewayRouterRefundERC20Iterator) 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(L1GatewayRouterRefundERC20) 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(L1GatewayRouterRefundERC20) 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 *L1GatewayRouterRefundERC20Iterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *L1GatewayRouterRefundERC20Iterator) Close() error { it.sub.Unsubscribe() return nil } // L1GatewayRouterRefundERC20 represents a RefundERC20 event raised by the L1GatewayRouter contract. type L1GatewayRouterRefundERC20 struct { Token common.Address Recipient common.Address Amount *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterRefundERC20 is a free log retrieval operation binding the contract event 0xdbdf8eb487847e4c0f22847f5dac07f2d3690f96f581a6ae4b102769917645a8. // // Solidity: event RefundERC20(address indexed token, address indexed recipient, uint256 amount) func (_L1GatewayRouter *L1GatewayRouterFilterer) FilterRefundERC20(opts *bind.FilterOpts, token []common.Address, recipient []common.Address) (*L1GatewayRouterRefundERC20Iterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } var recipientRule []interface{} for _, recipientItem := range recipient { recipientRule = append(recipientRule, recipientItem) } logs, sub, err := _L1GatewayRouter.contract.FilterLogs(opts, "RefundERC20", tokenRule, recipientRule) if err != nil { return nil, err } return &L1GatewayRouterRefundERC20Iterator{contract: _L1GatewayRouter.contract, event: "RefundERC20", logs: logs, sub: sub}, nil } // WatchRefundERC20 is a free log subscription operation binding the contract event 0xdbdf8eb487847e4c0f22847f5dac07f2d3690f96f581a6ae4b102769917645a8. // // Solidity: event RefundERC20(address indexed token, address indexed recipient, uint256 amount) func (_L1GatewayRouter *L1GatewayRouterFilterer) WatchRefundERC20(opts *bind.WatchOpts, sink chan<- *L1GatewayRouterRefundERC20, token []common.Address, recipient []common.Address) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } var recipientRule []interface{} for _, recipientItem := range recipient { recipientRule = append(recipientRule, recipientItem) } logs, sub, err := _L1GatewayRouter.contract.WatchLogs(opts, "RefundERC20", tokenRule, recipientRule) 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(L1GatewayRouterRefundERC20) if err := _L1GatewayRouter.contract.UnpackLog(event, "RefundERC20", 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 } // ParseRefundERC20 is a log parse operation binding the contract event 0xdbdf8eb487847e4c0f22847f5dac07f2d3690f96f581a6ae4b102769917645a8. // // Solidity: event RefundERC20(address indexed token, address indexed recipient, uint256 amount) func (_L1GatewayRouter *L1GatewayRouterFilterer) ParseRefundERC20(log types.Log) (*L1GatewayRouterRefundERC20, error) { event := new(L1GatewayRouterRefundERC20) if err := _L1GatewayRouter.contract.UnpackLog(event, "RefundERC20", log); err != nil { return nil, err } event.Raw = log return event, nil } // L1GatewayRouterRefundETHIterator is returned from FilterRefundETH and is used to iterate over the raw logs and unpacked data for RefundETH events raised by the L1GatewayRouter contract. type L1GatewayRouterRefundETHIterator struct { Event *L1GatewayRouterRefundETH // 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 *L1GatewayRouterRefundETHIterator) 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(L1GatewayRouterRefundETH) 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(L1GatewayRouterRefundETH) 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 *L1GatewayRouterRefundETHIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *L1GatewayRouterRefundETHIterator) Close() error { it.sub.Unsubscribe() return nil } // L1GatewayRouterRefundETH represents a RefundETH event raised by the L1GatewayRouter contract. type L1GatewayRouterRefundETH struct { Recipient common.Address Amount *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterRefundETH is a free log retrieval operation binding the contract event 0x289360176646a5f99cb4b6300628426dca46b723f40db3c04449d6ed1745a0e7. // // Solidity: event RefundETH(address indexed recipient, uint256 amount) func (_L1GatewayRouter *L1GatewayRouterFilterer) FilterRefundETH(opts *bind.FilterOpts, recipient []common.Address) (*L1GatewayRouterRefundETHIterator, error) { var recipientRule []interface{} for _, recipientItem := range recipient { recipientRule = append(recipientRule, recipientItem) } logs, sub, err := _L1GatewayRouter.contract.FilterLogs(opts, "RefundETH", recipientRule) if err != nil { return nil, err } return &L1GatewayRouterRefundETHIterator{contract: _L1GatewayRouter.contract, event: "RefundETH", logs: logs, sub: sub}, nil } // WatchRefundETH is a free log subscription operation binding the contract event 0x289360176646a5f99cb4b6300628426dca46b723f40db3c04449d6ed1745a0e7. // // Solidity: event RefundETH(address indexed recipient, uint256 amount) func (_L1GatewayRouter *L1GatewayRouterFilterer) WatchRefundETH(opts *bind.WatchOpts, sink chan<- *L1GatewayRouterRefundETH, recipient []common.Address) (event.Subscription, error) { var recipientRule []interface{} for _, recipientItem := range recipient { recipientRule = append(recipientRule, recipientItem) } logs, sub, err := _L1GatewayRouter.contract.WatchLogs(opts, "RefundETH", recipientRule) 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(L1GatewayRouterRefundETH) if err := _L1GatewayRouter.contract.UnpackLog(event, "RefundETH", 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 } // ParseRefundETH is a log parse operation binding the contract event 0x289360176646a5f99cb4b6300628426dca46b723f40db3c04449d6ed1745a0e7. // // Solidity: event RefundETH(address indexed recipient, uint256 amount) func (_L1GatewayRouter *L1GatewayRouterFilterer) ParseRefundETH(log types.Log) (*L1GatewayRouterRefundETH, error) { event := new(L1GatewayRouterRefundETH) if err := _L1GatewayRouter.contract.UnpackLog(event, "RefundETH", log); err != nil { return nil, err } event.Raw = log return event, nil } // L1GatewayRouterSetDefaultERC20GatewayIterator is returned from FilterSetDefaultERC20Gateway and is used to iterate over the raw logs and unpacked data for SetDefaultERC20Gateway events raised by the L1GatewayRouter contract. type L1GatewayRouterSetDefaultERC20GatewayIterator struct { Event *L1GatewayRouterSetDefaultERC20Gateway // 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 *L1GatewayRouterSetDefaultERC20GatewayIterator) 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(L1GatewayRouterSetDefaultERC20Gateway) 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(L1GatewayRouterSetDefaultERC20Gateway) 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 *L1GatewayRouterSetDefaultERC20GatewayIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *L1GatewayRouterSetDefaultERC20GatewayIterator) Close() error { it.sub.Unsubscribe() return nil } // L1GatewayRouterSetDefaultERC20Gateway represents a SetDefaultERC20Gateway event raised by the L1GatewayRouter contract. type L1GatewayRouterSetDefaultERC20Gateway struct { OldDefaultERC20Gateway common.Address NewDefaultERC20Gateway common.Address Raw types.Log // Blockchain specific contextual infos } // FilterSetDefaultERC20Gateway is a free log retrieval operation binding the contract event 0x2904fcae71038f87b116fd2875871e153722cabddd71de1b77473de263cd74d1. // // Solidity: event SetDefaultERC20Gateway(address indexed oldDefaultERC20Gateway, address indexed newDefaultERC20Gateway) func (_L1GatewayRouter *L1GatewayRouterFilterer) FilterSetDefaultERC20Gateway(opts *bind.FilterOpts, oldDefaultERC20Gateway []common.Address, newDefaultERC20Gateway []common.Address) (*L1GatewayRouterSetDefaultERC20GatewayIterator, error) { var oldDefaultERC20GatewayRule []interface{} for _, oldDefaultERC20GatewayItem := range oldDefaultERC20Gateway { oldDefaultERC20GatewayRule = append(oldDefaultERC20GatewayRule, oldDefaultERC20GatewayItem) } var newDefaultERC20GatewayRule []interface{} for _, newDefaultERC20GatewayItem := range newDefaultERC20Gateway { newDefaultERC20GatewayRule = append(newDefaultERC20GatewayRule, newDefaultERC20GatewayItem) } logs, sub, err := _L1GatewayRouter.contract.FilterLogs(opts, "SetDefaultERC20Gateway", oldDefaultERC20GatewayRule, newDefaultERC20GatewayRule) if err != nil { return nil, err } return &L1GatewayRouterSetDefaultERC20GatewayIterator{contract: _L1GatewayRouter.contract, event: "SetDefaultERC20Gateway", logs: logs, sub: sub}, nil } // WatchSetDefaultERC20Gateway is a free log subscription operation binding the contract event 0x2904fcae71038f87b116fd2875871e153722cabddd71de1b77473de263cd74d1. // // Solidity: event SetDefaultERC20Gateway(address indexed oldDefaultERC20Gateway, address indexed newDefaultERC20Gateway) func (_L1GatewayRouter *L1GatewayRouterFilterer) WatchSetDefaultERC20Gateway(opts *bind.WatchOpts, sink chan<- *L1GatewayRouterSetDefaultERC20Gateway, oldDefaultERC20Gateway []common.Address, newDefaultERC20Gateway []common.Address) (event.Subscription, error) { var oldDefaultERC20GatewayRule []interface{} for _, oldDefaultERC20GatewayItem := range oldDefaultERC20Gateway { oldDefaultERC20GatewayRule = append(oldDefaultERC20GatewayRule, oldDefaultERC20GatewayItem) } var newDefaultERC20GatewayRule []interface{} for _, newDefaultERC20GatewayItem := range newDefaultERC20Gateway { newDefaultERC20GatewayRule = append(newDefaultERC20GatewayRule, newDefaultERC20GatewayItem) } logs, sub, err := _L1GatewayRouter.contract.WatchLogs(opts, "SetDefaultERC20Gateway", oldDefaultERC20GatewayRule, newDefaultERC20GatewayRule) 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(L1GatewayRouterSetDefaultERC20Gateway) if err := _L1GatewayRouter.contract.UnpackLog(event, "SetDefaultERC20Gateway", 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 } // ParseSetDefaultERC20Gateway is a log parse operation binding the contract event 0x2904fcae71038f87b116fd2875871e153722cabddd71de1b77473de263cd74d1. // // Solidity: event SetDefaultERC20Gateway(address indexed oldDefaultERC20Gateway, address indexed newDefaultERC20Gateway) func (_L1GatewayRouter *L1GatewayRouterFilterer) ParseSetDefaultERC20Gateway(log types.Log) (*L1GatewayRouterSetDefaultERC20Gateway, error) { event := new(L1GatewayRouterSetDefaultERC20Gateway) if err := _L1GatewayRouter.contract.UnpackLog(event, "SetDefaultERC20Gateway", log); err != nil { return nil, err } event.Raw = log return event, nil } // L1GatewayRouterSetERC20GatewayIterator is returned from FilterSetERC20Gateway and is used to iterate over the raw logs and unpacked data for SetERC20Gateway events raised by the L1GatewayRouter contract. type L1GatewayRouterSetERC20GatewayIterator struct { Event *L1GatewayRouterSetERC20Gateway // 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 *L1GatewayRouterSetERC20GatewayIterator) 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(L1GatewayRouterSetERC20Gateway) 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(L1GatewayRouterSetERC20Gateway) 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 *L1GatewayRouterSetERC20GatewayIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *L1GatewayRouterSetERC20GatewayIterator) Close() error { it.sub.Unsubscribe() return nil } // L1GatewayRouterSetERC20Gateway represents a SetERC20Gateway event raised by the L1GatewayRouter contract. type L1GatewayRouterSetERC20Gateway struct { Token common.Address OldGateway common.Address NewGateway common.Address Raw types.Log // Blockchain specific contextual infos } // FilterSetERC20Gateway is a free log retrieval operation binding the contract event 0x0ead4808404683f66d413d788a768219ea9785c97889221193103841a5841eaf. // // Solidity: event SetERC20Gateway(address indexed token, address indexed oldGateway, address indexed newGateway) func (_L1GatewayRouter *L1GatewayRouterFilterer) FilterSetERC20Gateway(opts *bind.FilterOpts, token []common.Address, oldGateway []common.Address, newGateway []common.Address) (*L1GatewayRouterSetERC20GatewayIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } var oldGatewayRule []interface{} for _, oldGatewayItem := range oldGateway { oldGatewayRule = append(oldGatewayRule, oldGatewayItem) } var newGatewayRule []interface{} for _, newGatewayItem := range newGateway { newGatewayRule = append(newGatewayRule, newGatewayItem) } logs, sub, err := _L1GatewayRouter.contract.FilterLogs(opts, "SetERC20Gateway", tokenRule, oldGatewayRule, newGatewayRule) if err != nil { return nil, err } return &L1GatewayRouterSetERC20GatewayIterator{contract: _L1GatewayRouter.contract, event: "SetERC20Gateway", logs: logs, sub: sub}, nil } // WatchSetERC20Gateway is a free log subscription operation binding the contract event 0x0ead4808404683f66d413d788a768219ea9785c97889221193103841a5841eaf. // // Solidity: event SetERC20Gateway(address indexed token, address indexed oldGateway, address indexed newGateway) func (_L1GatewayRouter *L1GatewayRouterFilterer) WatchSetERC20Gateway(opts *bind.WatchOpts, sink chan<- *L1GatewayRouterSetERC20Gateway, token []common.Address, oldGateway []common.Address, newGateway []common.Address) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } var oldGatewayRule []interface{} for _, oldGatewayItem := range oldGateway { oldGatewayRule = append(oldGatewayRule, oldGatewayItem) } var newGatewayRule []interface{} for _, newGatewayItem := range newGateway { newGatewayRule = append(newGatewayRule, newGatewayItem) } logs, sub, err := _L1GatewayRouter.contract.WatchLogs(opts, "SetERC20Gateway", tokenRule, oldGatewayRule, newGatewayRule) 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(L1GatewayRouterSetERC20Gateway) if err := _L1GatewayRouter.contract.UnpackLog(event, "SetERC20Gateway", 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 } // ParseSetERC20Gateway is a log parse operation binding the contract event 0x0ead4808404683f66d413d788a768219ea9785c97889221193103841a5841eaf. // // Solidity: event SetERC20Gateway(address indexed token, address indexed oldGateway, address indexed newGateway) func (_L1GatewayRouter *L1GatewayRouterFilterer) ParseSetERC20Gateway(log types.Log) (*L1GatewayRouterSetERC20Gateway, error) { event := new(L1GatewayRouterSetERC20Gateway) if err := _L1GatewayRouter.contract.UnpackLog(event, "SetERC20Gateway", log); err != nil { return nil, err } event.Raw = log return event, nil } // L1GatewayRouterSetETHGatewayIterator is returned from FilterSetETHGateway and is used to iterate over the raw logs and unpacked data for SetETHGateway events raised by the L1GatewayRouter contract. type L1GatewayRouterSetETHGatewayIterator struct { Event *L1GatewayRouterSetETHGateway // 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 *L1GatewayRouterSetETHGatewayIterator) 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(L1GatewayRouterSetETHGateway) 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(L1GatewayRouterSetETHGateway) 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 *L1GatewayRouterSetETHGatewayIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *L1GatewayRouterSetETHGatewayIterator) Close() error { it.sub.Unsubscribe() return nil } // L1GatewayRouterSetETHGateway represents a SetETHGateway event raised by the L1GatewayRouter contract. type L1GatewayRouterSetETHGateway struct { OldETHGateway common.Address NewEthGateway common.Address Raw types.Log // Blockchain specific contextual infos } // FilterSetETHGateway is a free log retrieval operation binding the contract event 0xa1bfcc6dd729ad197a1180f44d5c12bcc630943df0874b9ed53da23165621b6a. // // Solidity: event SetETHGateway(address indexed oldETHGateway, address indexed newEthGateway) func (_L1GatewayRouter *L1GatewayRouterFilterer) FilterSetETHGateway(opts *bind.FilterOpts, oldETHGateway []common.Address, newEthGateway []common.Address) (*L1GatewayRouterSetETHGatewayIterator, error) { var oldETHGatewayRule []interface{} for _, oldETHGatewayItem := range oldETHGateway { oldETHGatewayRule = append(oldETHGatewayRule, oldETHGatewayItem) } var newEthGatewayRule []interface{} for _, newEthGatewayItem := range newEthGateway { newEthGatewayRule = append(newEthGatewayRule, newEthGatewayItem) } logs, sub, err := _L1GatewayRouter.contract.FilterLogs(opts, "SetETHGateway", oldETHGatewayRule, newEthGatewayRule) if err != nil { return nil, err } return &L1GatewayRouterSetETHGatewayIterator{contract: _L1GatewayRouter.contract, event: "SetETHGateway", logs: logs, sub: sub}, nil } // WatchSetETHGateway is a free log subscription operation binding the contract event 0xa1bfcc6dd729ad197a1180f44d5c12bcc630943df0874b9ed53da23165621b6a. // // Solidity: event SetETHGateway(address indexed oldETHGateway, address indexed newEthGateway) func (_L1GatewayRouter *L1GatewayRouterFilterer) WatchSetETHGateway(opts *bind.WatchOpts, sink chan<- *L1GatewayRouterSetETHGateway, oldETHGateway []common.Address, newEthGateway []common.Address) (event.Subscription, error) { var oldETHGatewayRule []interface{} for _, oldETHGatewayItem := range oldETHGateway { oldETHGatewayRule = append(oldETHGatewayRule, oldETHGatewayItem) } var newEthGatewayRule []interface{} for _, newEthGatewayItem := range newEthGateway { newEthGatewayRule = append(newEthGatewayRule, newEthGatewayItem) } logs, sub, err := _L1GatewayRouter.contract.WatchLogs(opts, "SetETHGateway", oldETHGatewayRule, newEthGatewayRule) 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(L1GatewayRouterSetETHGateway) if err := _L1GatewayRouter.contract.UnpackLog(event, "SetETHGateway", 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 } // ParseSetETHGateway is a log parse operation binding the contract event 0xa1bfcc6dd729ad197a1180f44d5c12bcc630943df0874b9ed53da23165621b6a. // // Solidity: event SetETHGateway(address indexed oldETHGateway, address indexed newEthGateway) func (_L1GatewayRouter *L1GatewayRouterFilterer) ParseSetETHGateway(log types.Log) (*L1GatewayRouterSetETHGateway, error) { event := new(L1GatewayRouterSetETHGateway) if err := _L1GatewayRouter.contract.UnpackLog(event, "SetETHGateway", 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 := OwnableUpgradeableMetaData.GetAbi() 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 } // SafeERC20UpgradeableMetaData contains all meta data concerning the SafeERC20Upgradeable contract. var SafeERC20UpgradeableMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204327007a55064cdf512bb263b46eeb802871b1294e5c54164b635525f2f957f164736f6c63430008110033", } // SafeERC20UpgradeableABI is the input ABI used to generate the binding from. // Deprecated: Use SafeERC20UpgradeableMetaData.ABI instead. var SafeERC20UpgradeableABI = SafeERC20UpgradeableMetaData.ABI // SafeERC20UpgradeableBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use SafeERC20UpgradeableMetaData.Bin instead. var SafeERC20UpgradeableBin = SafeERC20UpgradeableMetaData.Bin // DeploySafeERC20Upgradeable deploys a new Ethereum contract, binding an instance of SafeERC20Upgradeable to it. func DeploySafeERC20Upgradeable(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SafeERC20Upgradeable, error) { parsed, err := SafeERC20UpgradeableMetaData.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(SafeERC20UpgradeableBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &SafeERC20Upgradeable{SafeERC20UpgradeableCaller: SafeERC20UpgradeableCaller{contract: contract}, SafeERC20UpgradeableTransactor: SafeERC20UpgradeableTransactor{contract: contract}, SafeERC20UpgradeableFilterer: SafeERC20UpgradeableFilterer{contract: contract}}, nil } // SafeERC20Upgradeable is an auto generated Go binding around an Ethereum contract. type SafeERC20Upgradeable struct { SafeERC20UpgradeableCaller // Read-only binding to the contract SafeERC20UpgradeableTransactor // Write-only binding to the contract SafeERC20UpgradeableFilterer // Log filterer for contract events } // SafeERC20UpgradeableCaller is an auto generated read-only Go binding around an Ethereum contract. type SafeERC20UpgradeableCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // SafeERC20UpgradeableTransactor is an auto generated write-only Go binding around an Ethereum contract. type SafeERC20UpgradeableTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // SafeERC20UpgradeableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type SafeERC20UpgradeableFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // SafeERC20UpgradeableSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type SafeERC20UpgradeableSession struct { Contract *SafeERC20Upgradeable // 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 } // SafeERC20UpgradeableCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type SafeERC20UpgradeableCallerSession struct { Contract *SafeERC20UpgradeableCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // SafeERC20UpgradeableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type SafeERC20UpgradeableTransactorSession struct { Contract *SafeERC20UpgradeableTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // SafeERC20UpgradeableRaw is an auto generated low-level Go binding around an Ethereum contract. type SafeERC20UpgradeableRaw struct { Contract *SafeERC20Upgradeable // Generic contract binding to access the raw methods on } // SafeERC20UpgradeableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type SafeERC20UpgradeableCallerRaw struct { Contract *SafeERC20UpgradeableCaller // Generic read-only contract binding to access the raw methods on } // SafeERC20UpgradeableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type SafeERC20UpgradeableTransactorRaw struct { Contract *SafeERC20UpgradeableTransactor // Generic write-only contract binding to access the raw methods on } // NewSafeERC20Upgradeable creates a new instance of SafeERC20Upgradeable, bound to a specific deployed contract. func NewSafeERC20Upgradeable(address common.Address, backend bind.ContractBackend) (*SafeERC20Upgradeable, error) { contract, err := bindSafeERC20Upgradeable(address, backend, backend, backend) if err != nil { return nil, err } return &SafeERC20Upgradeable{SafeERC20UpgradeableCaller: SafeERC20UpgradeableCaller{contract: contract}, SafeERC20UpgradeableTransactor: SafeERC20UpgradeableTransactor{contract: contract}, SafeERC20UpgradeableFilterer: SafeERC20UpgradeableFilterer{contract: contract}}, nil } // NewSafeERC20UpgradeableCaller creates a new read-only instance of SafeERC20Upgradeable, bound to a specific deployed contract. func NewSafeERC20UpgradeableCaller(address common.Address, caller bind.ContractCaller) (*SafeERC20UpgradeableCaller, error) { contract, err := bindSafeERC20Upgradeable(address, caller, nil, nil) if err != nil { return nil, err } return &SafeERC20UpgradeableCaller{contract: contract}, nil } // NewSafeERC20UpgradeableTransactor creates a new write-only instance of SafeERC20Upgradeable, bound to a specific deployed contract. func NewSafeERC20UpgradeableTransactor(address common.Address, transactor bind.ContractTransactor) (*SafeERC20UpgradeableTransactor, error) { contract, err := bindSafeERC20Upgradeable(address, nil, transactor, nil) if err != nil { return nil, err } return &SafeERC20UpgradeableTransactor{contract: contract}, nil } // NewSafeERC20UpgradeableFilterer creates a new log filterer instance of SafeERC20Upgradeable, bound to a specific deployed contract. func NewSafeERC20UpgradeableFilterer(address common.Address, filterer bind.ContractFilterer) (*SafeERC20UpgradeableFilterer, error) { contract, err := bindSafeERC20Upgradeable(address, nil, nil, filterer) if err != nil { return nil, err } return &SafeERC20UpgradeableFilterer{contract: contract}, nil } // bindSafeERC20Upgradeable binds a generic wrapper to an already deployed contract. func bindSafeERC20Upgradeable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := SafeERC20UpgradeableMetaData.GetAbi() 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 (_SafeERC20Upgradeable *SafeERC20UpgradeableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _SafeERC20Upgradeable.Contract.SafeERC20UpgradeableCaller.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 (_SafeERC20Upgradeable *SafeERC20UpgradeableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _SafeERC20Upgradeable.Contract.SafeERC20UpgradeableTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_SafeERC20Upgradeable *SafeERC20UpgradeableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _SafeERC20Upgradeable.Contract.SafeERC20UpgradeableTransactor.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 (_SafeERC20Upgradeable *SafeERC20UpgradeableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _SafeERC20Upgradeable.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 (_SafeERC20Upgradeable *SafeERC20UpgradeableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _SafeERC20Upgradeable.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_SafeERC20Upgradeable *SafeERC20UpgradeableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _SafeERC20Upgradeable.Contract.contract.Transact(opts, method, params...) }