// Code generated - DO NOT EDIT. // This file is a generated binding and any manual changes will be lost. package fastbridge 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 ) // IFastBridgeBridgeParams is an auto generated low-level Go binding around an user-defined struct. type IFastBridgeBridgeParams struct { DstChainId uint32 Sender common.Address To common.Address OriginToken common.Address DestToken common.Address OriginAmount *big.Int DestAmount *big.Int SendChainGas bool Deadline *big.Int } // IFastBridgeBridgeTransaction is an auto generated low-level Go binding around an user-defined struct. type IFastBridgeBridgeTransaction struct { OriginChainId uint32 DestChainId uint32 OriginSender common.Address DestRecipient common.Address OriginToken common.Address DestToken common.Address OriginAmount *big.Int DestAmount *big.Int OriginFeeAmount *big.Int SendChainGas bool Deadline *big.Int Nonce *big.Int } // IMulticallTargetResult is an auto generated low-level Go binding around an user-defined struct. type IMulticallTargetResult struct { Success bool ReturnData []byte } // AccessControlMetaData contains all meta data concerning the AccessControl contract. var AccessControlMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", Sigs: map[string]string{ "a217fddf": "DEFAULT_ADMIN_ROLE()", "248a9ca3": "getRoleAdmin(bytes32)", "2f2ff15d": "grantRole(bytes32,address)", "91d14854": "hasRole(bytes32,address)", "36568abe": "renounceRole(bytes32,address)", "d547741f": "revokeRole(bytes32,address)", "01ffc9a7": "supportsInterface(bytes4)", }, } // AccessControlABI is the input ABI used to generate the binding from. // Deprecated: Use AccessControlMetaData.ABI instead. var AccessControlABI = AccessControlMetaData.ABI // Deprecated: Use AccessControlMetaData.Sigs instead. // AccessControlFuncSigs maps the 4-byte function signature to its string representation. var AccessControlFuncSigs = AccessControlMetaData.Sigs // AccessControl is an auto generated Go binding around an Ethereum contract. type AccessControl struct { AccessControlCaller // Read-only binding to the contract AccessControlTransactor // Write-only binding to the contract AccessControlFilterer // Log filterer for contract events } // AccessControlCaller is an auto generated read-only Go binding around an Ethereum contract. type AccessControlCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AccessControlTransactor is an auto generated write-only Go binding around an Ethereum contract. type AccessControlTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AccessControlFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type AccessControlFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AccessControlSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type AccessControlSession struct { Contract *AccessControl // 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 } // AccessControlCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type AccessControlCallerSession struct { Contract *AccessControlCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // AccessControlTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type AccessControlTransactorSession struct { Contract *AccessControlTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AccessControlRaw is an auto generated low-level Go binding around an Ethereum contract. type AccessControlRaw struct { Contract *AccessControl // Generic contract binding to access the raw methods on } // AccessControlCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type AccessControlCallerRaw struct { Contract *AccessControlCaller // Generic read-only contract binding to access the raw methods on } // AccessControlTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type AccessControlTransactorRaw struct { Contract *AccessControlTransactor // Generic write-only contract binding to access the raw methods on } // NewAccessControl creates a new instance of AccessControl, bound to a specific deployed contract. func NewAccessControl(address common.Address, backend bind.ContractBackend) (*AccessControl, error) { contract, err := bindAccessControl(address, backend, backend, backend) if err != nil { return nil, err } return &AccessControl{AccessControlCaller: AccessControlCaller{contract: contract}, AccessControlTransactor: AccessControlTransactor{contract: contract}, AccessControlFilterer: AccessControlFilterer{contract: contract}}, nil } // NewAccessControlCaller creates a new read-only instance of AccessControl, bound to a specific deployed contract. func NewAccessControlCaller(address common.Address, caller bind.ContractCaller) (*AccessControlCaller, error) { contract, err := bindAccessControl(address, caller, nil, nil) if err != nil { return nil, err } return &AccessControlCaller{contract: contract}, nil } // NewAccessControlTransactor creates a new write-only instance of AccessControl, bound to a specific deployed contract. func NewAccessControlTransactor(address common.Address, transactor bind.ContractTransactor) (*AccessControlTransactor, error) { contract, err := bindAccessControl(address, nil, transactor, nil) if err != nil { return nil, err } return &AccessControlTransactor{contract: contract}, nil } // NewAccessControlFilterer creates a new log filterer instance of AccessControl, bound to a specific deployed contract. func NewAccessControlFilterer(address common.Address, filterer bind.ContractFilterer) (*AccessControlFilterer, error) { contract, err := bindAccessControl(address, nil, nil, filterer) if err != nil { return nil, err } return &AccessControlFilterer{contract: contract}, nil } // bindAccessControl binds a generic wrapper to an already deployed contract. func bindAccessControl(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := AccessControlMetaData.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 (_AccessControl *AccessControlRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _AccessControl.Contract.AccessControlCaller.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 (_AccessControl *AccessControlRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _AccessControl.Contract.AccessControlTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_AccessControl *AccessControlRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _AccessControl.Contract.AccessControlTransactor.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 (_AccessControl *AccessControlCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _AccessControl.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 (_AccessControl *AccessControlTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _AccessControl.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_AccessControl *AccessControlTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _AccessControl.Contract.contract.Transact(opts, method, params...) } // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. // // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) func (_AccessControl *AccessControlCaller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} err := _AccessControl.contract.Call(opts, &out, "DEFAULT_ADMIN_ROLE") if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. // // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) func (_AccessControl *AccessControlSession) DEFAULTADMINROLE() ([32]byte, error) { return _AccessControl.Contract.DEFAULTADMINROLE(&_AccessControl.CallOpts) } // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. // // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) func (_AccessControl *AccessControlCallerSession) DEFAULTADMINROLE() ([32]byte, error) { return _AccessControl.Contract.DEFAULTADMINROLE(&_AccessControl.CallOpts) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_AccessControl *AccessControlCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) { var out []interface{} err := _AccessControl.contract.Call(opts, &out, "getRoleAdmin", role) if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_AccessControl *AccessControlSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { return _AccessControl.Contract.GetRoleAdmin(&_AccessControl.CallOpts, role) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_AccessControl *AccessControlCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { return _AccessControl.Contract.GetRoleAdmin(&_AccessControl.CallOpts, role) } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_AccessControl *AccessControlCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) { var out []interface{} err := _AccessControl.contract.Call(opts, &out, "hasRole", role, account) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_AccessControl *AccessControlSession) HasRole(role [32]byte, account common.Address) (bool, error) { return _AccessControl.Contract.HasRole(&_AccessControl.CallOpts, role, account) } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_AccessControl *AccessControlCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) { return _AccessControl.Contract.HasRole(&_AccessControl.CallOpts, role, account) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_AccessControl *AccessControlCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} err := _AccessControl.contract.Call(opts, &out, "supportsInterface", interfaceId) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_AccessControl *AccessControlSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _AccessControl.Contract.SupportsInterface(&_AccessControl.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_AccessControl *AccessControlCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _AccessControl.Contract.SupportsInterface(&_AccessControl.CallOpts, interfaceId) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_AccessControl *AccessControlTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControl.contract.Transact(opts, "grantRole", role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_AccessControl *AccessControlSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControl.Contract.GrantRole(&_AccessControl.TransactOpts, role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_AccessControl *AccessControlTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControl.Contract.GrantRole(&_AccessControl.TransactOpts, role, account) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns() func (_AccessControl *AccessControlTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, callerConfirmation common.Address) (*types.Transaction, error) { return _AccessControl.contract.Transact(opts, "renounceRole", role, callerConfirmation) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns() func (_AccessControl *AccessControlSession) RenounceRole(role [32]byte, callerConfirmation common.Address) (*types.Transaction, error) { return _AccessControl.Contract.RenounceRole(&_AccessControl.TransactOpts, role, callerConfirmation) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns() func (_AccessControl *AccessControlTransactorSession) RenounceRole(role [32]byte, callerConfirmation common.Address) (*types.Transaction, error) { return _AccessControl.Contract.RenounceRole(&_AccessControl.TransactOpts, role, callerConfirmation) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_AccessControl *AccessControlTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControl.contract.Transact(opts, "revokeRole", role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_AccessControl *AccessControlSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControl.Contract.RevokeRole(&_AccessControl.TransactOpts, role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_AccessControl *AccessControlTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControl.Contract.RevokeRole(&_AccessControl.TransactOpts, role, account) } // AccessControlRoleAdminChangedIterator is returned from FilterRoleAdminChanged and is used to iterate over the raw logs and unpacked data for RoleAdminChanged events raised by the AccessControl contract. type AccessControlRoleAdminChangedIterator struct { Event *AccessControlRoleAdminChanged // 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 *AccessControlRoleAdminChangedIterator) 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(AccessControlRoleAdminChanged) 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(AccessControlRoleAdminChanged) 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 *AccessControlRoleAdminChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AccessControlRoleAdminChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // AccessControlRoleAdminChanged represents a RoleAdminChanged event raised by the AccessControl contract. type AccessControlRoleAdminChanged struct { Role [32]byte PreviousAdminRole [32]byte NewAdminRole [32]byte Raw types.Log // Blockchain specific contextual infos } // FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_AccessControl *AccessControlFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*AccessControlRoleAdminChangedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var previousAdminRoleRule []interface{} for _, previousAdminRoleItem := range previousAdminRole { previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) } var newAdminRoleRule []interface{} for _, newAdminRoleItem := range newAdminRole { newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } logs, sub, err := _AccessControl.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) if err != nil { return nil, err } return &AccessControlRoleAdminChangedIterator{contract: _AccessControl.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil } // WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_AccessControl *AccessControlFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *AccessControlRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var previousAdminRoleRule []interface{} for _, previousAdminRoleItem := range previousAdminRole { previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) } var newAdminRoleRule []interface{} for _, newAdminRoleItem := range newAdminRole { newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } logs, sub, err := _AccessControl.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) 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(AccessControlRoleAdminChanged) if err := _AccessControl.contract.UnpackLog(event, "RoleAdminChanged", 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 } // ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_AccessControl *AccessControlFilterer) ParseRoleAdminChanged(log types.Log) (*AccessControlRoleAdminChanged, error) { event := new(AccessControlRoleAdminChanged) if err := _AccessControl.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil { return nil, err } event.Raw = log return event, nil } // AccessControlRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the AccessControl contract. type AccessControlRoleGrantedIterator struct { Event *AccessControlRoleGranted // 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 *AccessControlRoleGrantedIterator) 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(AccessControlRoleGranted) 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(AccessControlRoleGranted) 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 *AccessControlRoleGrantedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AccessControlRoleGrantedIterator) Close() error { it.sub.Unsubscribe() return nil } // AccessControlRoleGranted represents a RoleGranted event raised by the AccessControl contract. type AccessControlRoleGranted struct { Role [32]byte Account common.Address Sender common.Address Raw types.Log // Blockchain specific contextual infos } // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControl *AccessControlFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*AccessControlRoleGrantedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _AccessControl.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) if err != nil { return nil, err } return &AccessControlRoleGrantedIterator{contract: _AccessControl.contract, event: "RoleGranted", logs: logs, sub: sub}, nil } // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControl *AccessControlFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *AccessControlRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _AccessControl.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) 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(AccessControlRoleGranted) if err := _AccessControl.contract.UnpackLog(event, "RoleGranted", 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 } // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControl *AccessControlFilterer) ParseRoleGranted(log types.Log) (*AccessControlRoleGranted, error) { event := new(AccessControlRoleGranted) if err := _AccessControl.contract.UnpackLog(event, "RoleGranted", log); err != nil { return nil, err } event.Raw = log return event, nil } // AccessControlRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the AccessControl contract. type AccessControlRoleRevokedIterator struct { Event *AccessControlRoleRevoked // 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 *AccessControlRoleRevokedIterator) 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(AccessControlRoleRevoked) 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(AccessControlRoleRevoked) 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 *AccessControlRoleRevokedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AccessControlRoleRevokedIterator) Close() error { it.sub.Unsubscribe() return nil } // AccessControlRoleRevoked represents a RoleRevoked event raised by the AccessControl contract. type AccessControlRoleRevoked struct { Role [32]byte Account common.Address Sender common.Address Raw types.Log // Blockchain specific contextual infos } // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControl *AccessControlFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*AccessControlRoleRevokedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _AccessControl.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) if err != nil { return nil, err } return &AccessControlRoleRevokedIterator{contract: _AccessControl.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil } // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControl *AccessControlFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *AccessControlRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _AccessControl.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) 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(AccessControlRoleRevoked) if err := _AccessControl.contract.UnpackLog(event, "RoleRevoked", 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 } // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControl *AccessControlFilterer) ParseRoleRevoked(log types.Log) (*AccessControlRoleRevoked, error) { event := new(AccessControlRoleRevoked) if err := _AccessControl.contract.UnpackLog(event, "RoleRevoked", log); err != nil { return nil, err } event.Raw = log return event, nil } // AccessControlEnumerableMetaData contains all meta data concerning the AccessControlEnumerable contract. var AccessControlEnumerableMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", Sigs: map[string]string{ "a217fddf": "DEFAULT_ADMIN_ROLE()", "248a9ca3": "getRoleAdmin(bytes32)", "9010d07c": "getRoleMember(bytes32,uint256)", "ca15c873": "getRoleMemberCount(bytes32)", "2f2ff15d": "grantRole(bytes32,address)", "91d14854": "hasRole(bytes32,address)", "36568abe": "renounceRole(bytes32,address)", "d547741f": "revokeRole(bytes32,address)", "01ffc9a7": "supportsInterface(bytes4)", }, } // AccessControlEnumerableABI is the input ABI used to generate the binding from. // Deprecated: Use AccessControlEnumerableMetaData.ABI instead. var AccessControlEnumerableABI = AccessControlEnumerableMetaData.ABI // Deprecated: Use AccessControlEnumerableMetaData.Sigs instead. // AccessControlEnumerableFuncSigs maps the 4-byte function signature to its string representation. var AccessControlEnumerableFuncSigs = AccessControlEnumerableMetaData.Sigs // AccessControlEnumerable is an auto generated Go binding around an Ethereum contract. type AccessControlEnumerable struct { AccessControlEnumerableCaller // Read-only binding to the contract AccessControlEnumerableTransactor // Write-only binding to the contract AccessControlEnumerableFilterer // Log filterer for contract events } // AccessControlEnumerableCaller is an auto generated read-only Go binding around an Ethereum contract. type AccessControlEnumerableCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AccessControlEnumerableTransactor is an auto generated write-only Go binding around an Ethereum contract. type AccessControlEnumerableTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AccessControlEnumerableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type AccessControlEnumerableFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AccessControlEnumerableSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type AccessControlEnumerableSession struct { Contract *AccessControlEnumerable // 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 } // AccessControlEnumerableCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type AccessControlEnumerableCallerSession struct { Contract *AccessControlEnumerableCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // AccessControlEnumerableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type AccessControlEnumerableTransactorSession struct { Contract *AccessControlEnumerableTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AccessControlEnumerableRaw is an auto generated low-level Go binding around an Ethereum contract. type AccessControlEnumerableRaw struct { Contract *AccessControlEnumerable // Generic contract binding to access the raw methods on } // AccessControlEnumerableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type AccessControlEnumerableCallerRaw struct { Contract *AccessControlEnumerableCaller // Generic read-only contract binding to access the raw methods on } // AccessControlEnumerableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type AccessControlEnumerableTransactorRaw struct { Contract *AccessControlEnumerableTransactor // Generic write-only contract binding to access the raw methods on } // NewAccessControlEnumerable creates a new instance of AccessControlEnumerable, bound to a specific deployed contract. func NewAccessControlEnumerable(address common.Address, backend bind.ContractBackend) (*AccessControlEnumerable, error) { contract, err := bindAccessControlEnumerable(address, backend, backend, backend) if err != nil { return nil, err } return &AccessControlEnumerable{AccessControlEnumerableCaller: AccessControlEnumerableCaller{contract: contract}, AccessControlEnumerableTransactor: AccessControlEnumerableTransactor{contract: contract}, AccessControlEnumerableFilterer: AccessControlEnumerableFilterer{contract: contract}}, nil } // NewAccessControlEnumerableCaller creates a new read-only instance of AccessControlEnumerable, bound to a specific deployed contract. func NewAccessControlEnumerableCaller(address common.Address, caller bind.ContractCaller) (*AccessControlEnumerableCaller, error) { contract, err := bindAccessControlEnumerable(address, caller, nil, nil) if err != nil { return nil, err } return &AccessControlEnumerableCaller{contract: contract}, nil } // NewAccessControlEnumerableTransactor creates a new write-only instance of AccessControlEnumerable, bound to a specific deployed contract. func NewAccessControlEnumerableTransactor(address common.Address, transactor bind.ContractTransactor) (*AccessControlEnumerableTransactor, error) { contract, err := bindAccessControlEnumerable(address, nil, transactor, nil) if err != nil { return nil, err } return &AccessControlEnumerableTransactor{contract: contract}, nil } // NewAccessControlEnumerableFilterer creates a new log filterer instance of AccessControlEnumerable, bound to a specific deployed contract. func NewAccessControlEnumerableFilterer(address common.Address, filterer bind.ContractFilterer) (*AccessControlEnumerableFilterer, error) { contract, err := bindAccessControlEnumerable(address, nil, nil, filterer) if err != nil { return nil, err } return &AccessControlEnumerableFilterer{contract: contract}, nil } // bindAccessControlEnumerable binds a generic wrapper to an already deployed contract. func bindAccessControlEnumerable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := AccessControlEnumerableMetaData.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 (_AccessControlEnumerable *AccessControlEnumerableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _AccessControlEnumerable.Contract.AccessControlEnumerableCaller.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 (_AccessControlEnumerable *AccessControlEnumerableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _AccessControlEnumerable.Contract.AccessControlEnumerableTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_AccessControlEnumerable *AccessControlEnumerableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _AccessControlEnumerable.Contract.AccessControlEnumerableTransactor.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 (_AccessControlEnumerable *AccessControlEnumerableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _AccessControlEnumerable.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 (_AccessControlEnumerable *AccessControlEnumerableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _AccessControlEnumerable.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_AccessControlEnumerable *AccessControlEnumerableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _AccessControlEnumerable.Contract.contract.Transact(opts, method, params...) } // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. // // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) func (_AccessControlEnumerable *AccessControlEnumerableCaller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} err := _AccessControlEnumerable.contract.Call(opts, &out, "DEFAULT_ADMIN_ROLE") if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. // // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) func (_AccessControlEnumerable *AccessControlEnumerableSession) DEFAULTADMINROLE() ([32]byte, error) { return _AccessControlEnumerable.Contract.DEFAULTADMINROLE(&_AccessControlEnumerable.CallOpts) } // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. // // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) DEFAULTADMINROLE() ([32]byte, error) { return _AccessControlEnumerable.Contract.DEFAULTADMINROLE(&_AccessControlEnumerable.CallOpts) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_AccessControlEnumerable *AccessControlEnumerableCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) { var out []interface{} err := _AccessControlEnumerable.contract.Call(opts, &out, "getRoleAdmin", role) if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_AccessControlEnumerable *AccessControlEnumerableSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { return _AccessControlEnumerable.Contract.GetRoleAdmin(&_AccessControlEnumerable.CallOpts, role) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { return _AccessControlEnumerable.Contract.GetRoleAdmin(&_AccessControlEnumerable.CallOpts, role) } // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. // // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) func (_AccessControlEnumerable *AccessControlEnumerableCaller) GetRoleMember(opts *bind.CallOpts, role [32]byte, index *big.Int) (common.Address, error) { var out []interface{} err := _AccessControlEnumerable.contract.Call(opts, &out, "getRoleMember", role, index) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. // // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) func (_AccessControlEnumerable *AccessControlEnumerableSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) { return _AccessControlEnumerable.Contract.GetRoleMember(&_AccessControlEnumerable.CallOpts, role, index) } // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. // // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) { return _AccessControlEnumerable.Contract.GetRoleMember(&_AccessControlEnumerable.CallOpts, role, index) } // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. // // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) func (_AccessControlEnumerable *AccessControlEnumerableCaller) GetRoleMemberCount(opts *bind.CallOpts, role [32]byte) (*big.Int, error) { var out []interface{} err := _AccessControlEnumerable.contract.Call(opts, &out, "getRoleMemberCount", role) if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. // // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) func (_AccessControlEnumerable *AccessControlEnumerableSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) { return _AccessControlEnumerable.Contract.GetRoleMemberCount(&_AccessControlEnumerable.CallOpts, role) } // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. // // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) { return _AccessControlEnumerable.Contract.GetRoleMemberCount(&_AccessControlEnumerable.CallOpts, role) } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_AccessControlEnumerable *AccessControlEnumerableCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) { var out []interface{} err := _AccessControlEnumerable.contract.Call(opts, &out, "hasRole", role, account) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_AccessControlEnumerable *AccessControlEnumerableSession) HasRole(role [32]byte, account common.Address) (bool, error) { return _AccessControlEnumerable.Contract.HasRole(&_AccessControlEnumerable.CallOpts, role, account) } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) { return _AccessControlEnumerable.Contract.HasRole(&_AccessControlEnumerable.CallOpts, role, account) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_AccessControlEnumerable *AccessControlEnumerableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} err := _AccessControlEnumerable.contract.Call(opts, &out, "supportsInterface", interfaceId) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_AccessControlEnumerable *AccessControlEnumerableSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _AccessControlEnumerable.Contract.SupportsInterface(&_AccessControlEnumerable.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_AccessControlEnumerable *AccessControlEnumerableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _AccessControlEnumerable.Contract.SupportsInterface(&_AccessControlEnumerable.CallOpts, interfaceId) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_AccessControlEnumerable *AccessControlEnumerableTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControlEnumerable.contract.Transact(opts, "grantRole", role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_AccessControlEnumerable *AccessControlEnumerableSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControlEnumerable.Contract.GrantRole(&_AccessControlEnumerable.TransactOpts, role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_AccessControlEnumerable *AccessControlEnumerableTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControlEnumerable.Contract.GrantRole(&_AccessControlEnumerable.TransactOpts, role, account) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns() func (_AccessControlEnumerable *AccessControlEnumerableTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, callerConfirmation common.Address) (*types.Transaction, error) { return _AccessControlEnumerable.contract.Transact(opts, "renounceRole", role, callerConfirmation) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns() func (_AccessControlEnumerable *AccessControlEnumerableSession) RenounceRole(role [32]byte, callerConfirmation common.Address) (*types.Transaction, error) { return _AccessControlEnumerable.Contract.RenounceRole(&_AccessControlEnumerable.TransactOpts, role, callerConfirmation) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns() func (_AccessControlEnumerable *AccessControlEnumerableTransactorSession) RenounceRole(role [32]byte, callerConfirmation common.Address) (*types.Transaction, error) { return _AccessControlEnumerable.Contract.RenounceRole(&_AccessControlEnumerable.TransactOpts, role, callerConfirmation) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_AccessControlEnumerable *AccessControlEnumerableTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControlEnumerable.contract.Transact(opts, "revokeRole", role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_AccessControlEnumerable *AccessControlEnumerableSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControlEnumerable.Contract.RevokeRole(&_AccessControlEnumerable.TransactOpts, role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_AccessControlEnumerable *AccessControlEnumerableTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _AccessControlEnumerable.Contract.RevokeRole(&_AccessControlEnumerable.TransactOpts, role, account) } // AccessControlEnumerableRoleAdminChangedIterator is returned from FilterRoleAdminChanged and is used to iterate over the raw logs and unpacked data for RoleAdminChanged events raised by the AccessControlEnumerable contract. type AccessControlEnumerableRoleAdminChangedIterator struct { Event *AccessControlEnumerableRoleAdminChanged // 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 *AccessControlEnumerableRoleAdminChangedIterator) 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(AccessControlEnumerableRoleAdminChanged) 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(AccessControlEnumerableRoleAdminChanged) 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 *AccessControlEnumerableRoleAdminChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AccessControlEnumerableRoleAdminChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // AccessControlEnumerableRoleAdminChanged represents a RoleAdminChanged event raised by the AccessControlEnumerable contract. type AccessControlEnumerableRoleAdminChanged struct { Role [32]byte PreviousAdminRole [32]byte NewAdminRole [32]byte Raw types.Log // Blockchain specific contextual infos } // FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_AccessControlEnumerable *AccessControlEnumerableFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*AccessControlEnumerableRoleAdminChangedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var previousAdminRoleRule []interface{} for _, previousAdminRoleItem := range previousAdminRole { previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) } var newAdminRoleRule []interface{} for _, newAdminRoleItem := range newAdminRole { newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } logs, sub, err := _AccessControlEnumerable.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) if err != nil { return nil, err } return &AccessControlEnumerableRoleAdminChangedIterator{contract: _AccessControlEnumerable.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil } // WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_AccessControlEnumerable *AccessControlEnumerableFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *AccessControlEnumerableRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var previousAdminRoleRule []interface{} for _, previousAdminRoleItem := range previousAdminRole { previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) } var newAdminRoleRule []interface{} for _, newAdminRoleItem := range newAdminRole { newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } logs, sub, err := _AccessControlEnumerable.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) 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(AccessControlEnumerableRoleAdminChanged) if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleAdminChanged", 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 } // ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_AccessControlEnumerable *AccessControlEnumerableFilterer) ParseRoleAdminChanged(log types.Log) (*AccessControlEnumerableRoleAdminChanged, error) { event := new(AccessControlEnumerableRoleAdminChanged) if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil { return nil, err } event.Raw = log return event, nil } // AccessControlEnumerableRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the AccessControlEnumerable contract. type AccessControlEnumerableRoleGrantedIterator struct { Event *AccessControlEnumerableRoleGranted // 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 *AccessControlEnumerableRoleGrantedIterator) 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(AccessControlEnumerableRoleGranted) 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(AccessControlEnumerableRoleGranted) 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 *AccessControlEnumerableRoleGrantedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AccessControlEnumerableRoleGrantedIterator) Close() error { it.sub.Unsubscribe() return nil } // AccessControlEnumerableRoleGranted represents a RoleGranted event raised by the AccessControlEnumerable contract. type AccessControlEnumerableRoleGranted struct { Role [32]byte Account common.Address Sender common.Address Raw types.Log // Blockchain specific contextual infos } // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControlEnumerable *AccessControlEnumerableFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*AccessControlEnumerableRoleGrantedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _AccessControlEnumerable.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) if err != nil { return nil, err } return &AccessControlEnumerableRoleGrantedIterator{contract: _AccessControlEnumerable.contract, event: "RoleGranted", logs: logs, sub: sub}, nil } // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControlEnumerable *AccessControlEnumerableFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *AccessControlEnumerableRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _AccessControlEnumerable.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) 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(AccessControlEnumerableRoleGranted) if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleGranted", 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 } // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControlEnumerable *AccessControlEnumerableFilterer) ParseRoleGranted(log types.Log) (*AccessControlEnumerableRoleGranted, error) { event := new(AccessControlEnumerableRoleGranted) if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleGranted", log); err != nil { return nil, err } event.Raw = log return event, nil } // AccessControlEnumerableRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the AccessControlEnumerable contract. type AccessControlEnumerableRoleRevokedIterator struct { Event *AccessControlEnumerableRoleRevoked // 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 *AccessControlEnumerableRoleRevokedIterator) 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(AccessControlEnumerableRoleRevoked) 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(AccessControlEnumerableRoleRevoked) 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 *AccessControlEnumerableRoleRevokedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AccessControlEnumerableRoleRevokedIterator) Close() error { it.sub.Unsubscribe() return nil } // AccessControlEnumerableRoleRevoked represents a RoleRevoked event raised by the AccessControlEnumerable contract. type AccessControlEnumerableRoleRevoked struct { Role [32]byte Account common.Address Sender common.Address Raw types.Log // Blockchain specific contextual infos } // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControlEnumerable *AccessControlEnumerableFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*AccessControlEnumerableRoleRevokedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _AccessControlEnumerable.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) if err != nil { return nil, err } return &AccessControlEnumerableRoleRevokedIterator{contract: _AccessControlEnumerable.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil } // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControlEnumerable *AccessControlEnumerableFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *AccessControlEnumerableRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _AccessControlEnumerable.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) 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(AccessControlEnumerableRoleRevoked) if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleRevoked", 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 } // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_AccessControlEnumerable *AccessControlEnumerableFilterer) ParseRoleRevoked(log types.Log) (*AccessControlEnumerableRoleRevoked, error) { event := new(AccessControlEnumerableRoleRevoked) if err := _AccessControlEnumerable.contract.UnpackLog(event, "RoleRevoked", log); err != nil { return nil, err } event.Raw = log return event, nil } // AddressMetaData contains all meta data concerning the Address contract. var AddressMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"AddressInsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"}]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122048e81977e465d5409baeec471c444d9d0ea766407b4f824d86334da012620a1264736f6c63430008140033", } // AddressABI is the input ABI used to generate the binding from. // Deprecated: Use AddressMetaData.ABI instead. var AddressABI = AddressMetaData.ABI // AddressBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use AddressMetaData.Bin instead. var AddressBin = AddressMetaData.Bin // DeployAddress deploys a new Ethereum contract, binding an instance of Address to it. func DeployAddress(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Address, error) { parsed, err := AddressMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(AddressBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil } // Address is an auto generated Go binding around an Ethereum contract. type Address struct { AddressCaller // Read-only binding to the contract AddressTransactor // Write-only binding to the contract AddressFilterer // Log filterer for contract events } // AddressCaller is an auto generated read-only Go binding around an Ethereum contract. type AddressCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AddressTransactor is an auto generated write-only Go binding around an Ethereum contract. type AddressTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AddressFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type AddressFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AddressSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type AddressSession struct { Contract *Address // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AddressCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type AddressCallerSession struct { Contract *AddressCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // AddressTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type AddressTransactorSession struct { Contract *AddressTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AddressRaw is an auto generated low-level Go binding around an Ethereum contract. type AddressRaw struct { Contract *Address // Generic contract binding to access the raw methods on } // AddressCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type AddressCallerRaw struct { Contract *AddressCaller // Generic read-only contract binding to access the raw methods on } // AddressTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type AddressTransactorRaw struct { Contract *AddressTransactor // Generic write-only contract binding to access the raw methods on } // NewAddress creates a new instance of Address, bound to a specific deployed contract. func NewAddress(address common.Address, backend bind.ContractBackend) (*Address, error) { contract, err := bindAddress(address, backend, backend, backend) if err != nil { return nil, err } return &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil } // NewAddressCaller creates a new read-only instance of Address, bound to a specific deployed contract. func NewAddressCaller(address common.Address, caller bind.ContractCaller) (*AddressCaller, error) { contract, err := bindAddress(address, caller, nil, nil) if err != nil { return nil, err } return &AddressCaller{contract: contract}, nil } // NewAddressTransactor creates a new write-only instance of Address, bound to a specific deployed contract. func NewAddressTransactor(address common.Address, transactor bind.ContractTransactor) (*AddressTransactor, error) { contract, err := bindAddress(address, nil, transactor, nil) if err != nil { return nil, err } return &AddressTransactor{contract: contract}, nil } // NewAddressFilterer creates a new log filterer instance of Address, bound to a specific deployed contract. func NewAddressFilterer(address common.Address, filterer bind.ContractFilterer) (*AddressFilterer, error) { contract, err := bindAddress(address, nil, nil, filterer) if err != nil { return nil, err } return &AddressFilterer{contract: contract}, nil } // bindAddress binds a generic wrapper to an already deployed contract. func bindAddress(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := AddressMetaData.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 (_Address *AddressRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Address.Contract.AddressCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Address *AddressRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Address.Contract.AddressTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Address *AddressRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Address.Contract.AddressTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Address *AddressCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Address.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Address *AddressTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Address.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Address *AddressTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Address.Contract.contract.Transact(opts, method, params...) } // AdminMetaData contains all meta data concerning the Admin contract. var AdminMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"AddressInsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldChainGasAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newChainGasAmount\",\"type\":\"uint256\"}],\"name\":\"ChainGasAmountUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldFeeRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newFeeRate\",\"type\":\"uint256\"}],\"name\":\"FeeRateUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"FeesSwept\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FEE_BPS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FEE_RATE_MAX\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GOVERNOR_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GUARD_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REFUNDER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RELAYER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"chainGasAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"protocolFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"protocolFees\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newChainGasAmount\",\"type\":\"uint256\"}],\"name\":\"setChainGasAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newFeeRate\",\"type\":\"uint256\"}],\"name\":\"setProtocolFeeRate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"sweepProtocolFees\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "a217fddf": "DEFAULT_ADMIN_ROLE()", "bf333f2c": "FEE_BPS()", "0f5f6ed7": "FEE_RATE_MAX()", "ccc57490": "GOVERNOR_ROLE()", "03ed0ee5": "GUARD_ROLE()", "5960ccf2": "REFUNDER_ROLE()", "926d7d7f": "RELAYER_ROLE()", "e00a83e0": "chainGasAmount()", "248a9ca3": "getRoleAdmin(bytes32)", "9010d07c": "getRoleMember(bytes32,uint256)", "ca15c873": "getRoleMemberCount(bytes32)", "2f2ff15d": "grantRole(bytes32,address)", "91d14854": "hasRole(bytes32,address)", "58f85880": "protocolFeeRate()", "dcf844a7": "protocolFees(address)", "36568abe": "renounceRole(bytes32,address)", "d547741f": "revokeRole(bytes32,address)", "b250fe6b": "setChainGasAmount(uint256)", "b13aa2d6": "setProtocolFeeRate(uint256)", "01ffc9a7": "supportsInterface(bytes4)", "06f333f2": "sweepProtocolFees(address,address)", }, Bin: "0x60806040523480156200001157600080fd5b50604051620014123803806200141283398101604081905262000034916200018e565b6200004160008262000049565b5050620001b9565b60008062000058848462000086565b905080156200007d5760008481526001602052604090206200007b908462000134565b505b90505b92915050565b6000828152602081815260408083206001600160a01b038516845290915281205460ff166200012b576000838152602081815260408083206001600160a01b03861684529091529020805460ff19166001179055620000e23390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600162000080565b50600062000080565b60006200007d836001600160a01b03841660008181526001830160205260408120546200012b5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915562000080565b600060208284031215620001a157600080fd5b81516001600160a01b03811681146200007d57600080fd5b61124980620001c96000396000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806391d14854116100d8578063bf333f2c1161008c578063d547741f11610066578063d547741f14610385578063dcf844a714610398578063e00a83e0146103b857600080fd5b8063bf333f2c14610341578063ca15c8731461034b578063ccc574901461035e57600080fd5b8063a217fddf116100bd578063a217fddf14610313578063b13aa2d61461031b578063b250fe6b1461032e57600080fd5b806391d14854146102a8578063926d7d7f146102ec57600080fd5b80632f2ff15d1161012f57806358f858801161011457806358f85880146102405780635960ccf2146102495780639010d07c1461027057600080fd5b80632f2ff15d1461021a57806336568abe1461022d57600080fd5b806306f333f21161016057806306f333f2146101d95780630f5f6ed7146101ee578063248a9ca3146101f757600080fd5b806301ffc9a71461017c57806303ed0ee5146101a4575b600080fd5b61018f61018a366004611013565b6103c1565b60405190151581526020015b60405180910390f35b6101cb7f043c983c49d46f0e102151eaf8085d4a2e6571d5df2d47b013f39bddfd4a639d81565b60405190815260200161019b565b6101ec6101e736600461107e565b61041d565b005b6101cb61271081565b6101cb6102053660046110b1565b60009081526020819052604090206001015490565b6101ec6102283660046110ca565b61050b565b6101ec61023b3660046110ca565b610536565b6101cb60025481565b6101cb7fdb9556138406326f00296e13ea2ad7db24ba82381212d816b1a40c23b466b32781565b61028361027e3660046110ed565b61058f565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019b565b61018f6102b63660046110ca565b60009182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b6101cb7fe2b7fb3b832174769106daebcfd6d1970523240dda11281102db9363b83b0dc481565b6101cb600081565b6101ec6103293660046110b1565b6105ae565b6101ec61033c3660046110b1565b610690565b6101cb620f424081565b6101cb6103593660046110b1565b6106f8565b6101cb7f7935bd0ae54bc31f548c14dba4d37c5c64b3f8ca900cb468fb8abd54d5894f5581565b6101ec6103933660046110ca565b61070f565b6101cb6103a636600461110f565b60036020526000908152604090205481565b6101cb60045481565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f5a05180f000000000000000000000000000000000000000000000000000000001480610417575061041782610734565b92915050565b7f7935bd0ae54bc31f548c14dba4d37c5c64b3f8ca900cb468fb8abd54d5894f55610447816107cb565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600360205260408120549081900361047b5750505050565b73ffffffffffffffffffffffffffffffffffffffff84166000818152600360205260408120556104ac9084836107d8565b6040805173ffffffffffffffffffffffffffffffffffffffff8087168252851660208201529081018290527f244e51bc38c1452fa8aaf487bcb4bca36c2baa3a5fbdb776b1eabd8dc6d277cd9060600160405180910390a1505b505050565b600082815260208190526040902060010154610526816107cb565b610530838361092f565b50505050565b73ffffffffffffffffffffffffffffffffffffffff81163314610585576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105068282610964565b60008281526001602052604081206105a79083610991565b9392505050565b7f7935bd0ae54bc31f548c14dba4d37c5c64b3f8ca900cb468fb8abd54d5894f556105d8816107cb565b612710821115610649576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6e657746656552617465203e206d61780000000000000000000000000000000060448201526064015b60405180910390fd5b600280549083905560408051828152602081018590527f14914da2bf76024616fbe1859783fcd4dbddcb179b1f3a854949fbf920dcb95791015b60405180910390a1505050565b7f7935bd0ae54bc31f548c14dba4d37c5c64b3f8ca900cb468fb8abd54d5894f556106ba816107cb565b600480549083905560408051828152602081018590527f5cf09b12f3f56b4c564d51b25b40360af6d795198adb61ae0806a36c294323fa9101610683565b60008181526001602052604081206104179061099d565b60008281526020819052604090206001015461072a816107cb565b6105308383610964565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061041757507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610417565b6107d581336109a7565b50565b3073ffffffffffffffffffffffffffffffffffffffff8316036107fa57505050565b8060000361080757505050565b7fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff84160161090e5760008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d806000811461089e576040519150601f19603f3d011682016040523d82523d6000602084013e6108a3565b606091505b5050905080610530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f455448207472616e73666572206661696c6564000000000000000000000000006044820152606401610640565b61050673ffffffffffffffffffffffffffffffffffffffff84168383610a31565b60008061093c8484610abe565b905080156105a757600084815260016020526040902061095c9084610bba565b509392505050565b6000806109718484610bdc565b905080156105a757600084815260016020526040902061095c9084610c97565b60006105a78383610cb9565b6000610417825490565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610a2d576040517fe2517d3f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260248101839052604401610640565b5050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610506908490610ce3565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915281205460ff16610bb25760008381526020818152604080832073ffffffffffffffffffffffffffffffffffffffff86168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610b503390565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4506001610417565b506000610417565b60006105a78373ffffffffffffffffffffffffffffffffffffffff8416610d79565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915281205460ff1615610bb25760008381526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8616808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a4506001610417565b60006105a78373ffffffffffffffffffffffffffffffffffffffff8416610dc0565b6000826000018281548110610cd057610cd061112a565b9060005260206000200154905092915050565b6000610d0573ffffffffffffffffffffffffffffffffffffffff841683610eb3565b90508051600014158015610d2a575080806020019051810190610d289190611159565b155b15610506576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602401610640565b6000818152600183016020526040812054610bb257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610417565b60008181526001830160205260408120548015610ea9576000610de460018361117b565b8554909150600090610df89060019061117b565b9050808214610e5d576000866000018281548110610e1857610e1861112a565b9060005260206000200154905080876000018481548110610e3b57610e3b61112a565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610e6e57610e6e6111b5565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610417565b6000915050610417565b60606105a783836000846000808573ffffffffffffffffffffffffffffffffffffffff168486604051610ee691906111e4565b60006040518083038185875af1925050503d8060008114610f23576040519150601f19603f3d011682016040523d82523d6000602084013e610f28565b606091505b5091509150610f38868383610f42565b9695505050505050565b606082610f5757610f5282610fd1565b6105a7565b8151158015610f7b575073ffffffffffffffffffffffffffffffffffffffff84163b155b15610fca576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610640565b50806105a7565b805115610fe15780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006020828403121561102557600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146105a757600080fd5b803573ffffffffffffffffffffffffffffffffffffffff8116811461107957600080fd5b919050565b6000806040838503121561109157600080fd5b61109a83611055565b91506110a860208401611055565b90509250929050565b6000602082840312156110c357600080fd5b5035919050565b600080604083850312156110dd57600080fd5b823591506110a860208401611055565b6000806040838503121561110057600080fd5b50508035926020909101359150565b60006020828403121561112157600080fd5b6105a782611055565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561116b57600080fd5b815180151581146105a757600080fd5b81810381811115610417577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6000825160005b8181101561120557602081860181015185830152016111eb565b50600092019182525091905056fea2646970667358221220ebed842953212470e442befb1c1f192d76e5190493709be1b256b70aeb55631d64736f6c63430008140033", } // AdminABI is the input ABI used to generate the binding from. // Deprecated: Use AdminMetaData.ABI instead. var AdminABI = AdminMetaData.ABI // Deprecated: Use AdminMetaData.Sigs instead. // AdminFuncSigs maps the 4-byte function signature to its string representation. var AdminFuncSigs = AdminMetaData.Sigs // AdminBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use AdminMetaData.Bin instead. var AdminBin = AdminMetaData.Bin // DeployAdmin deploys a new Ethereum contract, binding an instance of Admin to it. func DeployAdmin(auth *bind.TransactOpts, backend bind.ContractBackend, _owner common.Address) (common.Address, *types.Transaction, *Admin, error) { parsed, err := AdminMetaData.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(AdminBin), backend, _owner) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &Admin{AdminCaller: AdminCaller{contract: contract}, AdminTransactor: AdminTransactor{contract: contract}, AdminFilterer: AdminFilterer{contract: contract}}, nil } // Admin is an auto generated Go binding around an Ethereum contract. type Admin struct { AdminCaller // Read-only binding to the contract AdminTransactor // Write-only binding to the contract AdminFilterer // Log filterer for contract events } // AdminCaller is an auto generated read-only Go binding around an Ethereum contract. type AdminCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AdminTransactor is an auto generated write-only Go binding around an Ethereum contract. type AdminTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AdminFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type AdminFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AdminSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type AdminSession struct { Contract *Admin // 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 } // AdminCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type AdminCallerSession struct { Contract *AdminCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // AdminTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type AdminTransactorSession struct { Contract *AdminTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AdminRaw is an auto generated low-level Go binding around an Ethereum contract. type AdminRaw struct { Contract *Admin // Generic contract binding to access the raw methods on } // AdminCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type AdminCallerRaw struct { Contract *AdminCaller // Generic read-only contract binding to access the raw methods on } // AdminTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type AdminTransactorRaw struct { Contract *AdminTransactor // Generic write-only contract binding to access the raw methods on } // NewAdmin creates a new instance of Admin, bound to a specific deployed contract. func NewAdmin(address common.Address, backend bind.ContractBackend) (*Admin, error) { contract, err := bindAdmin(address, backend, backend, backend) if err != nil { return nil, err } return &Admin{AdminCaller: AdminCaller{contract: contract}, AdminTransactor: AdminTransactor{contract: contract}, AdminFilterer: AdminFilterer{contract: contract}}, nil } // NewAdminCaller creates a new read-only instance of Admin, bound to a specific deployed contract. func NewAdminCaller(address common.Address, caller bind.ContractCaller) (*AdminCaller, error) { contract, err := bindAdmin(address, caller, nil, nil) if err != nil { return nil, err } return &AdminCaller{contract: contract}, nil } // NewAdminTransactor creates a new write-only instance of Admin, bound to a specific deployed contract. func NewAdminTransactor(address common.Address, transactor bind.ContractTransactor) (*AdminTransactor, error) { contract, err := bindAdmin(address, nil, transactor, nil) if err != nil { return nil, err } return &AdminTransactor{contract: contract}, nil } // NewAdminFilterer creates a new log filterer instance of Admin, bound to a specific deployed contract. func NewAdminFilterer(address common.Address, filterer bind.ContractFilterer) (*AdminFilterer, error) { contract, err := bindAdmin(address, nil, nil, filterer) if err != nil { return nil, err } return &AdminFilterer{contract: contract}, nil } // bindAdmin binds a generic wrapper to an already deployed contract. func bindAdmin(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := AdminMetaData.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 (_Admin *AdminRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Admin.Contract.AdminCaller.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 (_Admin *AdminRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Admin.Contract.AdminTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Admin *AdminRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Admin.Contract.AdminTransactor.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 (_Admin *AdminCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Admin.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 (_Admin *AdminTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Admin.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Admin *AdminTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Admin.Contract.contract.Transact(opts, method, params...) } // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. // // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) func (_Admin *AdminCaller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} err := _Admin.contract.Call(opts, &out, "DEFAULT_ADMIN_ROLE") if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. // // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) func (_Admin *AdminSession) DEFAULTADMINROLE() ([32]byte, error) { return _Admin.Contract.DEFAULTADMINROLE(&_Admin.CallOpts) } // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. // // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) func (_Admin *AdminCallerSession) DEFAULTADMINROLE() ([32]byte, error) { return _Admin.Contract.DEFAULTADMINROLE(&_Admin.CallOpts) } // FEEBPS is a free data retrieval call binding the contract method 0xbf333f2c. // // Solidity: function FEE_BPS() view returns(uint256) func (_Admin *AdminCaller) FEEBPS(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _Admin.contract.Call(opts, &out, "FEE_BPS") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // FEEBPS is a free data retrieval call binding the contract method 0xbf333f2c. // // Solidity: function FEE_BPS() view returns(uint256) func (_Admin *AdminSession) FEEBPS() (*big.Int, error) { return _Admin.Contract.FEEBPS(&_Admin.CallOpts) } // FEEBPS is a free data retrieval call binding the contract method 0xbf333f2c. // // Solidity: function FEE_BPS() view returns(uint256) func (_Admin *AdminCallerSession) FEEBPS() (*big.Int, error) { return _Admin.Contract.FEEBPS(&_Admin.CallOpts) } // FEERATEMAX is a free data retrieval call binding the contract method 0x0f5f6ed7. // // Solidity: function FEE_RATE_MAX() view returns(uint256) func (_Admin *AdminCaller) FEERATEMAX(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _Admin.contract.Call(opts, &out, "FEE_RATE_MAX") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // FEERATEMAX is a free data retrieval call binding the contract method 0x0f5f6ed7. // // Solidity: function FEE_RATE_MAX() view returns(uint256) func (_Admin *AdminSession) FEERATEMAX() (*big.Int, error) { return _Admin.Contract.FEERATEMAX(&_Admin.CallOpts) } // FEERATEMAX is a free data retrieval call binding the contract method 0x0f5f6ed7. // // Solidity: function FEE_RATE_MAX() view returns(uint256) func (_Admin *AdminCallerSession) FEERATEMAX() (*big.Int, error) { return _Admin.Contract.FEERATEMAX(&_Admin.CallOpts) } // GOVERNORROLE is a free data retrieval call binding the contract method 0xccc57490. // // Solidity: function GOVERNOR_ROLE() view returns(bytes32) func (_Admin *AdminCaller) GOVERNORROLE(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} err := _Admin.contract.Call(opts, &out, "GOVERNOR_ROLE") if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // GOVERNORROLE is a free data retrieval call binding the contract method 0xccc57490. // // Solidity: function GOVERNOR_ROLE() view returns(bytes32) func (_Admin *AdminSession) GOVERNORROLE() ([32]byte, error) { return _Admin.Contract.GOVERNORROLE(&_Admin.CallOpts) } // GOVERNORROLE is a free data retrieval call binding the contract method 0xccc57490. // // Solidity: function GOVERNOR_ROLE() view returns(bytes32) func (_Admin *AdminCallerSession) GOVERNORROLE() ([32]byte, error) { return _Admin.Contract.GOVERNORROLE(&_Admin.CallOpts) } // GUARDROLE is a free data retrieval call binding the contract method 0x03ed0ee5. // // Solidity: function GUARD_ROLE() view returns(bytes32) func (_Admin *AdminCaller) GUARDROLE(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} err := _Admin.contract.Call(opts, &out, "GUARD_ROLE") if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // GUARDROLE is a free data retrieval call binding the contract method 0x03ed0ee5. // // Solidity: function GUARD_ROLE() view returns(bytes32) func (_Admin *AdminSession) GUARDROLE() ([32]byte, error) { return _Admin.Contract.GUARDROLE(&_Admin.CallOpts) } // GUARDROLE is a free data retrieval call binding the contract method 0x03ed0ee5. // // Solidity: function GUARD_ROLE() view returns(bytes32) func (_Admin *AdminCallerSession) GUARDROLE() ([32]byte, error) { return _Admin.Contract.GUARDROLE(&_Admin.CallOpts) } // REFUNDERROLE is a free data retrieval call binding the contract method 0x5960ccf2. // // Solidity: function REFUNDER_ROLE() view returns(bytes32) func (_Admin *AdminCaller) REFUNDERROLE(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} err := _Admin.contract.Call(opts, &out, "REFUNDER_ROLE") if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // REFUNDERROLE is a free data retrieval call binding the contract method 0x5960ccf2. // // Solidity: function REFUNDER_ROLE() view returns(bytes32) func (_Admin *AdminSession) REFUNDERROLE() ([32]byte, error) { return _Admin.Contract.REFUNDERROLE(&_Admin.CallOpts) } // REFUNDERROLE is a free data retrieval call binding the contract method 0x5960ccf2. // // Solidity: function REFUNDER_ROLE() view returns(bytes32) func (_Admin *AdminCallerSession) REFUNDERROLE() ([32]byte, error) { return _Admin.Contract.REFUNDERROLE(&_Admin.CallOpts) } // RELAYERROLE is a free data retrieval call binding the contract method 0x926d7d7f. // // Solidity: function RELAYER_ROLE() view returns(bytes32) func (_Admin *AdminCaller) RELAYERROLE(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} err := _Admin.contract.Call(opts, &out, "RELAYER_ROLE") if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // RELAYERROLE is a free data retrieval call binding the contract method 0x926d7d7f. // // Solidity: function RELAYER_ROLE() view returns(bytes32) func (_Admin *AdminSession) RELAYERROLE() ([32]byte, error) { return _Admin.Contract.RELAYERROLE(&_Admin.CallOpts) } // RELAYERROLE is a free data retrieval call binding the contract method 0x926d7d7f. // // Solidity: function RELAYER_ROLE() view returns(bytes32) func (_Admin *AdminCallerSession) RELAYERROLE() ([32]byte, error) { return _Admin.Contract.RELAYERROLE(&_Admin.CallOpts) } // ChainGasAmount is a free data retrieval call binding the contract method 0xe00a83e0. // // Solidity: function chainGasAmount() view returns(uint256) func (_Admin *AdminCaller) ChainGasAmount(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _Admin.contract.Call(opts, &out, "chainGasAmount") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // ChainGasAmount is a free data retrieval call binding the contract method 0xe00a83e0. // // Solidity: function chainGasAmount() view returns(uint256) func (_Admin *AdminSession) ChainGasAmount() (*big.Int, error) { return _Admin.Contract.ChainGasAmount(&_Admin.CallOpts) } // ChainGasAmount is a free data retrieval call binding the contract method 0xe00a83e0. // // Solidity: function chainGasAmount() view returns(uint256) func (_Admin *AdminCallerSession) ChainGasAmount() (*big.Int, error) { return _Admin.Contract.ChainGasAmount(&_Admin.CallOpts) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_Admin *AdminCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) { var out []interface{} err := _Admin.contract.Call(opts, &out, "getRoleAdmin", role) if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_Admin *AdminSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { return _Admin.Contract.GetRoleAdmin(&_Admin.CallOpts, role) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_Admin *AdminCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { return _Admin.Contract.GetRoleAdmin(&_Admin.CallOpts, role) } // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. // // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) func (_Admin *AdminCaller) GetRoleMember(opts *bind.CallOpts, role [32]byte, index *big.Int) (common.Address, error) { var out []interface{} err := _Admin.contract.Call(opts, &out, "getRoleMember", role, index) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. // // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) func (_Admin *AdminSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) { return _Admin.Contract.GetRoleMember(&_Admin.CallOpts, role, index) } // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. // // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) func (_Admin *AdminCallerSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) { return _Admin.Contract.GetRoleMember(&_Admin.CallOpts, role, index) } // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. // // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) func (_Admin *AdminCaller) GetRoleMemberCount(opts *bind.CallOpts, role [32]byte) (*big.Int, error) { var out []interface{} err := _Admin.contract.Call(opts, &out, "getRoleMemberCount", role) if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. // // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) func (_Admin *AdminSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) { return _Admin.Contract.GetRoleMemberCount(&_Admin.CallOpts, role) } // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. // // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) func (_Admin *AdminCallerSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) { return _Admin.Contract.GetRoleMemberCount(&_Admin.CallOpts, role) } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_Admin *AdminCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) { var out []interface{} err := _Admin.contract.Call(opts, &out, "hasRole", role, account) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_Admin *AdminSession) HasRole(role [32]byte, account common.Address) (bool, error) { return _Admin.Contract.HasRole(&_Admin.CallOpts, role, account) } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_Admin *AdminCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) { return _Admin.Contract.HasRole(&_Admin.CallOpts, role, account) } // ProtocolFeeRate is a free data retrieval call binding the contract method 0x58f85880. // // Solidity: function protocolFeeRate() view returns(uint256) func (_Admin *AdminCaller) ProtocolFeeRate(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _Admin.contract.Call(opts, &out, "protocolFeeRate") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // ProtocolFeeRate is a free data retrieval call binding the contract method 0x58f85880. // // Solidity: function protocolFeeRate() view returns(uint256) func (_Admin *AdminSession) ProtocolFeeRate() (*big.Int, error) { return _Admin.Contract.ProtocolFeeRate(&_Admin.CallOpts) } // ProtocolFeeRate is a free data retrieval call binding the contract method 0x58f85880. // // Solidity: function protocolFeeRate() view returns(uint256) func (_Admin *AdminCallerSession) ProtocolFeeRate() (*big.Int, error) { return _Admin.Contract.ProtocolFeeRate(&_Admin.CallOpts) } // ProtocolFees is a free data retrieval call binding the contract method 0xdcf844a7. // // Solidity: function protocolFees(address ) view returns(uint256) func (_Admin *AdminCaller) ProtocolFees(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { var out []interface{} err := _Admin.contract.Call(opts, &out, "protocolFees", arg0) if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // ProtocolFees is a free data retrieval call binding the contract method 0xdcf844a7. // // Solidity: function protocolFees(address ) view returns(uint256) func (_Admin *AdminSession) ProtocolFees(arg0 common.Address) (*big.Int, error) { return _Admin.Contract.ProtocolFees(&_Admin.CallOpts, arg0) } // ProtocolFees is a free data retrieval call binding the contract method 0xdcf844a7. // // Solidity: function protocolFees(address ) view returns(uint256) func (_Admin *AdminCallerSession) ProtocolFees(arg0 common.Address) (*big.Int, error) { return _Admin.Contract.ProtocolFees(&_Admin.CallOpts, arg0) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_Admin *AdminCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} err := _Admin.contract.Call(opts, &out, "supportsInterface", interfaceId) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_Admin *AdminSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _Admin.Contract.SupportsInterface(&_Admin.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_Admin *AdminCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _Admin.Contract.SupportsInterface(&_Admin.CallOpts, interfaceId) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_Admin *AdminTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _Admin.contract.Transact(opts, "grantRole", role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_Admin *AdminSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _Admin.Contract.GrantRole(&_Admin.TransactOpts, role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_Admin *AdminTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _Admin.Contract.GrantRole(&_Admin.TransactOpts, role, account) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns() func (_Admin *AdminTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, callerConfirmation common.Address) (*types.Transaction, error) { return _Admin.contract.Transact(opts, "renounceRole", role, callerConfirmation) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns() func (_Admin *AdminSession) RenounceRole(role [32]byte, callerConfirmation common.Address) (*types.Transaction, error) { return _Admin.Contract.RenounceRole(&_Admin.TransactOpts, role, callerConfirmation) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns() func (_Admin *AdminTransactorSession) RenounceRole(role [32]byte, callerConfirmation common.Address) (*types.Transaction, error) { return _Admin.Contract.RenounceRole(&_Admin.TransactOpts, role, callerConfirmation) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_Admin *AdminTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _Admin.contract.Transact(opts, "revokeRole", role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_Admin *AdminSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _Admin.Contract.RevokeRole(&_Admin.TransactOpts, role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_Admin *AdminTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _Admin.Contract.RevokeRole(&_Admin.TransactOpts, role, account) } // SetChainGasAmount is a paid mutator transaction binding the contract method 0xb250fe6b. // // Solidity: function setChainGasAmount(uint256 newChainGasAmount) returns() func (_Admin *AdminTransactor) SetChainGasAmount(opts *bind.TransactOpts, newChainGasAmount *big.Int) (*types.Transaction, error) { return _Admin.contract.Transact(opts, "setChainGasAmount", newChainGasAmount) } // SetChainGasAmount is a paid mutator transaction binding the contract method 0xb250fe6b. // // Solidity: function setChainGasAmount(uint256 newChainGasAmount) returns() func (_Admin *AdminSession) SetChainGasAmount(newChainGasAmount *big.Int) (*types.Transaction, error) { return _Admin.Contract.SetChainGasAmount(&_Admin.TransactOpts, newChainGasAmount) } // SetChainGasAmount is a paid mutator transaction binding the contract method 0xb250fe6b. // // Solidity: function setChainGasAmount(uint256 newChainGasAmount) returns() func (_Admin *AdminTransactorSession) SetChainGasAmount(newChainGasAmount *big.Int) (*types.Transaction, error) { return _Admin.Contract.SetChainGasAmount(&_Admin.TransactOpts, newChainGasAmount) } // SetProtocolFeeRate is a paid mutator transaction binding the contract method 0xb13aa2d6. // // Solidity: function setProtocolFeeRate(uint256 newFeeRate) returns() func (_Admin *AdminTransactor) SetProtocolFeeRate(opts *bind.TransactOpts, newFeeRate *big.Int) (*types.Transaction, error) { return _Admin.contract.Transact(opts, "setProtocolFeeRate", newFeeRate) } // SetProtocolFeeRate is a paid mutator transaction binding the contract method 0xb13aa2d6. // // Solidity: function setProtocolFeeRate(uint256 newFeeRate) returns() func (_Admin *AdminSession) SetProtocolFeeRate(newFeeRate *big.Int) (*types.Transaction, error) { return _Admin.Contract.SetProtocolFeeRate(&_Admin.TransactOpts, newFeeRate) } // SetProtocolFeeRate is a paid mutator transaction binding the contract method 0xb13aa2d6. // // Solidity: function setProtocolFeeRate(uint256 newFeeRate) returns() func (_Admin *AdminTransactorSession) SetProtocolFeeRate(newFeeRate *big.Int) (*types.Transaction, error) { return _Admin.Contract.SetProtocolFeeRate(&_Admin.TransactOpts, newFeeRate) } // SweepProtocolFees is a paid mutator transaction binding the contract method 0x06f333f2. // // Solidity: function sweepProtocolFees(address token, address recipient) returns() func (_Admin *AdminTransactor) SweepProtocolFees(opts *bind.TransactOpts, token common.Address, recipient common.Address) (*types.Transaction, error) { return _Admin.contract.Transact(opts, "sweepProtocolFees", token, recipient) } // SweepProtocolFees is a paid mutator transaction binding the contract method 0x06f333f2. // // Solidity: function sweepProtocolFees(address token, address recipient) returns() func (_Admin *AdminSession) SweepProtocolFees(token common.Address, recipient common.Address) (*types.Transaction, error) { return _Admin.Contract.SweepProtocolFees(&_Admin.TransactOpts, token, recipient) } // SweepProtocolFees is a paid mutator transaction binding the contract method 0x06f333f2. // // Solidity: function sweepProtocolFees(address token, address recipient) returns() func (_Admin *AdminTransactorSession) SweepProtocolFees(token common.Address, recipient common.Address) (*types.Transaction, error) { return _Admin.Contract.SweepProtocolFees(&_Admin.TransactOpts, token, recipient) } // AdminChainGasAmountUpdatedIterator is returned from FilterChainGasAmountUpdated and is used to iterate over the raw logs and unpacked data for ChainGasAmountUpdated events raised by the Admin contract. type AdminChainGasAmountUpdatedIterator struct { Event *AdminChainGasAmountUpdated // 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 *AdminChainGasAmountUpdatedIterator) 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(AdminChainGasAmountUpdated) 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(AdminChainGasAmountUpdated) 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 *AdminChainGasAmountUpdatedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AdminChainGasAmountUpdatedIterator) Close() error { it.sub.Unsubscribe() return nil } // AdminChainGasAmountUpdated represents a ChainGasAmountUpdated event raised by the Admin contract. type AdminChainGasAmountUpdated struct { OldChainGasAmount *big.Int NewChainGasAmount *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterChainGasAmountUpdated is a free log retrieval operation binding the contract event 0x5cf09b12f3f56b4c564d51b25b40360af6d795198adb61ae0806a36c294323fa. // // Solidity: event ChainGasAmountUpdated(uint256 oldChainGasAmount, uint256 newChainGasAmount) func (_Admin *AdminFilterer) FilterChainGasAmountUpdated(opts *bind.FilterOpts) (*AdminChainGasAmountUpdatedIterator, error) { logs, sub, err := _Admin.contract.FilterLogs(opts, "ChainGasAmountUpdated") if err != nil { return nil, err } return &AdminChainGasAmountUpdatedIterator{contract: _Admin.contract, event: "ChainGasAmountUpdated", logs: logs, sub: sub}, nil } // WatchChainGasAmountUpdated is a free log subscription operation binding the contract event 0x5cf09b12f3f56b4c564d51b25b40360af6d795198adb61ae0806a36c294323fa. // // Solidity: event ChainGasAmountUpdated(uint256 oldChainGasAmount, uint256 newChainGasAmount) func (_Admin *AdminFilterer) WatchChainGasAmountUpdated(opts *bind.WatchOpts, sink chan<- *AdminChainGasAmountUpdated) (event.Subscription, error) { logs, sub, err := _Admin.contract.WatchLogs(opts, "ChainGasAmountUpdated") 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(AdminChainGasAmountUpdated) if err := _Admin.contract.UnpackLog(event, "ChainGasAmountUpdated", 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 } // ParseChainGasAmountUpdated is a log parse operation binding the contract event 0x5cf09b12f3f56b4c564d51b25b40360af6d795198adb61ae0806a36c294323fa. // // Solidity: event ChainGasAmountUpdated(uint256 oldChainGasAmount, uint256 newChainGasAmount) func (_Admin *AdminFilterer) ParseChainGasAmountUpdated(log types.Log) (*AdminChainGasAmountUpdated, error) { event := new(AdminChainGasAmountUpdated) if err := _Admin.contract.UnpackLog(event, "ChainGasAmountUpdated", log); err != nil { return nil, err } event.Raw = log return event, nil } // AdminFeeRateUpdatedIterator is returned from FilterFeeRateUpdated and is used to iterate over the raw logs and unpacked data for FeeRateUpdated events raised by the Admin contract. type AdminFeeRateUpdatedIterator struct { Event *AdminFeeRateUpdated // 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 *AdminFeeRateUpdatedIterator) 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(AdminFeeRateUpdated) 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(AdminFeeRateUpdated) 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 *AdminFeeRateUpdatedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AdminFeeRateUpdatedIterator) Close() error { it.sub.Unsubscribe() return nil } // AdminFeeRateUpdated represents a FeeRateUpdated event raised by the Admin contract. type AdminFeeRateUpdated struct { OldFeeRate *big.Int NewFeeRate *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterFeeRateUpdated is a free log retrieval operation binding the contract event 0x14914da2bf76024616fbe1859783fcd4dbddcb179b1f3a854949fbf920dcb957. // // Solidity: event FeeRateUpdated(uint256 oldFeeRate, uint256 newFeeRate) func (_Admin *AdminFilterer) FilterFeeRateUpdated(opts *bind.FilterOpts) (*AdminFeeRateUpdatedIterator, error) { logs, sub, err := _Admin.contract.FilterLogs(opts, "FeeRateUpdated") if err != nil { return nil, err } return &AdminFeeRateUpdatedIterator{contract: _Admin.contract, event: "FeeRateUpdated", logs: logs, sub: sub}, nil } // WatchFeeRateUpdated is a free log subscription operation binding the contract event 0x14914da2bf76024616fbe1859783fcd4dbddcb179b1f3a854949fbf920dcb957. // // Solidity: event FeeRateUpdated(uint256 oldFeeRate, uint256 newFeeRate) func (_Admin *AdminFilterer) WatchFeeRateUpdated(opts *bind.WatchOpts, sink chan<- *AdminFeeRateUpdated) (event.Subscription, error) { logs, sub, err := _Admin.contract.WatchLogs(opts, "FeeRateUpdated") 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(AdminFeeRateUpdated) if err := _Admin.contract.UnpackLog(event, "FeeRateUpdated", 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 } // ParseFeeRateUpdated is a log parse operation binding the contract event 0x14914da2bf76024616fbe1859783fcd4dbddcb179b1f3a854949fbf920dcb957. // // Solidity: event FeeRateUpdated(uint256 oldFeeRate, uint256 newFeeRate) func (_Admin *AdminFilterer) ParseFeeRateUpdated(log types.Log) (*AdminFeeRateUpdated, error) { event := new(AdminFeeRateUpdated) if err := _Admin.contract.UnpackLog(event, "FeeRateUpdated", log); err != nil { return nil, err } event.Raw = log return event, nil } // AdminFeesSweptIterator is returned from FilterFeesSwept and is used to iterate over the raw logs and unpacked data for FeesSwept events raised by the Admin contract. type AdminFeesSweptIterator struct { Event *AdminFeesSwept // 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 *AdminFeesSweptIterator) 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(AdminFeesSwept) 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(AdminFeesSwept) 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 *AdminFeesSweptIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AdminFeesSweptIterator) Close() error { it.sub.Unsubscribe() return nil } // AdminFeesSwept represents a FeesSwept event raised by the Admin contract. type AdminFeesSwept struct { Token common.Address Recipient common.Address Amount *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterFeesSwept is a free log retrieval operation binding the contract event 0x244e51bc38c1452fa8aaf487bcb4bca36c2baa3a5fbdb776b1eabd8dc6d277cd. // // Solidity: event FeesSwept(address token, address recipient, uint256 amount) func (_Admin *AdminFilterer) FilterFeesSwept(opts *bind.FilterOpts) (*AdminFeesSweptIterator, error) { logs, sub, err := _Admin.contract.FilterLogs(opts, "FeesSwept") if err != nil { return nil, err } return &AdminFeesSweptIterator{contract: _Admin.contract, event: "FeesSwept", logs: logs, sub: sub}, nil } // WatchFeesSwept is a free log subscription operation binding the contract event 0x244e51bc38c1452fa8aaf487bcb4bca36c2baa3a5fbdb776b1eabd8dc6d277cd. // // Solidity: event FeesSwept(address token, address recipient, uint256 amount) func (_Admin *AdminFilterer) WatchFeesSwept(opts *bind.WatchOpts, sink chan<- *AdminFeesSwept) (event.Subscription, error) { logs, sub, err := _Admin.contract.WatchLogs(opts, "FeesSwept") 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(AdminFeesSwept) if err := _Admin.contract.UnpackLog(event, "FeesSwept", 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 } // ParseFeesSwept is a log parse operation binding the contract event 0x244e51bc38c1452fa8aaf487bcb4bca36c2baa3a5fbdb776b1eabd8dc6d277cd. // // Solidity: event FeesSwept(address token, address recipient, uint256 amount) func (_Admin *AdminFilterer) ParseFeesSwept(log types.Log) (*AdminFeesSwept, error) { event := new(AdminFeesSwept) if err := _Admin.contract.UnpackLog(event, "FeesSwept", log); err != nil { return nil, err } event.Raw = log return event, nil } // AdminRoleAdminChangedIterator is returned from FilterRoleAdminChanged and is used to iterate over the raw logs and unpacked data for RoleAdminChanged events raised by the Admin contract. type AdminRoleAdminChangedIterator struct { Event *AdminRoleAdminChanged // 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 *AdminRoleAdminChangedIterator) 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(AdminRoleAdminChanged) 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(AdminRoleAdminChanged) 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 *AdminRoleAdminChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AdminRoleAdminChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // AdminRoleAdminChanged represents a RoleAdminChanged event raised by the Admin contract. type AdminRoleAdminChanged struct { Role [32]byte PreviousAdminRole [32]byte NewAdminRole [32]byte Raw types.Log // Blockchain specific contextual infos } // FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_Admin *AdminFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*AdminRoleAdminChangedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var previousAdminRoleRule []interface{} for _, previousAdminRoleItem := range previousAdminRole { previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) } var newAdminRoleRule []interface{} for _, newAdminRoleItem := range newAdminRole { newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } logs, sub, err := _Admin.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) if err != nil { return nil, err } return &AdminRoleAdminChangedIterator{contract: _Admin.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil } // WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_Admin *AdminFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *AdminRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var previousAdminRoleRule []interface{} for _, previousAdminRoleItem := range previousAdminRole { previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) } var newAdminRoleRule []interface{} for _, newAdminRoleItem := range newAdminRole { newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } logs, sub, err := _Admin.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) 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(AdminRoleAdminChanged) if err := _Admin.contract.UnpackLog(event, "RoleAdminChanged", 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 } // ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_Admin *AdminFilterer) ParseRoleAdminChanged(log types.Log) (*AdminRoleAdminChanged, error) { event := new(AdminRoleAdminChanged) if err := _Admin.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil { return nil, err } event.Raw = log return event, nil } // AdminRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the Admin contract. type AdminRoleGrantedIterator struct { Event *AdminRoleGranted // 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 *AdminRoleGrantedIterator) 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(AdminRoleGranted) 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(AdminRoleGranted) 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 *AdminRoleGrantedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AdminRoleGrantedIterator) Close() error { it.sub.Unsubscribe() return nil } // AdminRoleGranted represents a RoleGranted event raised by the Admin contract. type AdminRoleGranted struct { Role [32]byte Account common.Address Sender common.Address Raw types.Log // Blockchain specific contextual infos } // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_Admin *AdminFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*AdminRoleGrantedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _Admin.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) if err != nil { return nil, err } return &AdminRoleGrantedIterator{contract: _Admin.contract, event: "RoleGranted", logs: logs, sub: sub}, nil } // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_Admin *AdminFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *AdminRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _Admin.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) 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(AdminRoleGranted) if err := _Admin.contract.UnpackLog(event, "RoleGranted", 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 } // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_Admin *AdminFilterer) ParseRoleGranted(log types.Log) (*AdminRoleGranted, error) { event := new(AdminRoleGranted) if err := _Admin.contract.UnpackLog(event, "RoleGranted", log); err != nil { return nil, err } event.Raw = log return event, nil } // AdminRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the Admin contract. type AdminRoleRevokedIterator struct { Event *AdminRoleRevoked // 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 *AdminRoleRevokedIterator) 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(AdminRoleRevoked) 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(AdminRoleRevoked) 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 *AdminRoleRevokedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *AdminRoleRevokedIterator) Close() error { it.sub.Unsubscribe() return nil } // AdminRoleRevoked represents a RoleRevoked event raised by the Admin contract. type AdminRoleRevoked struct { Role [32]byte Account common.Address Sender common.Address Raw types.Log // Blockchain specific contextual infos } // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_Admin *AdminFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*AdminRoleRevokedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _Admin.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) if err != nil { return nil, err } return &AdminRoleRevokedIterator{contract: _Admin.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil } // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_Admin *AdminFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *AdminRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _Admin.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) 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(AdminRoleRevoked) if err := _Admin.contract.UnpackLog(event, "RoleRevoked", 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 } // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_Admin *AdminFilterer) ParseRoleRevoked(log types.Log) (*AdminRoleRevoked, error) { event := new(AdminRoleRevoked) if err := _Admin.contract.UnpackLog(event, "RoleRevoked", log); err != nil { return nil, err } event.Raw = log return event, nil } // ContextMetaData contains all meta data concerning the Context contract. var ContextMetaData = &bind.MetaData{ ABI: "[]", } // ContextABI is the input ABI used to generate the binding from. // Deprecated: Use ContextMetaData.ABI instead. var ContextABI = ContextMetaData.ABI // Context is an auto generated Go binding around an Ethereum contract. type Context struct { ContextCaller // Read-only binding to the contract ContextTransactor // Write-only binding to the contract ContextFilterer // Log filterer for contract events } // ContextCaller is an auto generated read-only Go binding around an Ethereum contract. type ContextCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ContextTransactor is an auto generated write-only Go binding around an Ethereum contract. type ContextTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ContextFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type ContextFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ContextSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type ContextSession struct { Contract *Context // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ContextCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type ContextCallerSession struct { Contract *ContextCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // ContextTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type ContextTransactorSession struct { Contract *ContextTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ContextRaw is an auto generated low-level Go binding around an Ethereum contract. type ContextRaw struct { Contract *Context // Generic contract binding to access the raw methods on } // ContextCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type ContextCallerRaw struct { Contract *ContextCaller // Generic read-only contract binding to access the raw methods on } // ContextTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type ContextTransactorRaw struct { Contract *ContextTransactor // Generic write-only contract binding to access the raw methods on } // NewContext creates a new instance of Context, bound to a specific deployed contract. func NewContext(address common.Address, backend bind.ContractBackend) (*Context, error) { contract, err := bindContext(address, backend, backend, backend) if err != nil { return nil, err } return &Context{ContextCaller: ContextCaller{contract: contract}, ContextTransactor: ContextTransactor{contract: contract}, ContextFilterer: ContextFilterer{contract: contract}}, nil } // NewContextCaller creates a new read-only instance of Context, bound to a specific deployed contract. func NewContextCaller(address common.Address, caller bind.ContractCaller) (*ContextCaller, error) { contract, err := bindContext(address, caller, nil, nil) if err != nil { return nil, err } return &ContextCaller{contract: contract}, nil } // NewContextTransactor creates a new write-only instance of Context, bound to a specific deployed contract. func NewContextTransactor(address common.Address, transactor bind.ContractTransactor) (*ContextTransactor, error) { contract, err := bindContext(address, nil, transactor, nil) if err != nil { return nil, err } return &ContextTransactor{contract: contract}, nil } // NewContextFilterer creates a new log filterer instance of Context, bound to a specific deployed contract. func NewContextFilterer(address common.Address, filterer bind.ContractFilterer) (*ContextFilterer, error) { contract, err := bindContext(address, nil, nil, filterer) if err != nil { return nil, err } return &ContextFilterer{contract: contract}, nil } // bindContext binds a generic wrapper to an already deployed contract. func bindContext(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := ContextMetaData.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 (_Context *ContextRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Context.Contract.ContextCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Context *ContextRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Context.Contract.ContextTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Context *ContextRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Context.Contract.ContextTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Context *ContextCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Context.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Context *ContextTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Context.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Context *ContextTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Context.Contract.contract.Transact(opts, method, params...) } // ERC165MetaData contains all meta data concerning the ERC165 contract. var ERC165MetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", Sigs: map[string]string{ "01ffc9a7": "supportsInterface(bytes4)", }, } // ERC165ABI is the input ABI used to generate the binding from. // Deprecated: Use ERC165MetaData.ABI instead. var ERC165ABI = ERC165MetaData.ABI // Deprecated: Use ERC165MetaData.Sigs instead. // ERC165FuncSigs maps the 4-byte function signature to its string representation. var ERC165FuncSigs = ERC165MetaData.Sigs // ERC165 is an auto generated Go binding around an Ethereum contract. type ERC165 struct { ERC165Caller // Read-only binding to the contract ERC165Transactor // Write-only binding to the contract ERC165Filterer // Log filterer for contract events } // ERC165Caller is an auto generated read-only Go binding around an Ethereum contract. type ERC165Caller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC165Transactor is an auto generated write-only Go binding around an Ethereum contract. type ERC165Transactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC165Filterer is an auto generated log filtering Go binding around an Ethereum contract events. type ERC165Filterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC165Session is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type ERC165Session struct { Contract *ERC165 // 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 } // ERC165CallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type ERC165CallerSession struct { Contract *ERC165Caller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // ERC165TransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type ERC165TransactorSession struct { Contract *ERC165Transactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ERC165Raw is an auto generated low-level Go binding around an Ethereum contract. type ERC165Raw struct { Contract *ERC165 // Generic contract binding to access the raw methods on } // ERC165CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type ERC165CallerRaw struct { Contract *ERC165Caller // Generic read-only contract binding to access the raw methods on } // ERC165TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type ERC165TransactorRaw struct { Contract *ERC165Transactor // Generic write-only contract binding to access the raw methods on } // NewERC165 creates a new instance of ERC165, bound to a specific deployed contract. func NewERC165(address common.Address, backend bind.ContractBackend) (*ERC165, error) { contract, err := bindERC165(address, backend, backend, backend) if err != nil { return nil, err } return &ERC165{ERC165Caller: ERC165Caller{contract: contract}, ERC165Transactor: ERC165Transactor{contract: contract}, ERC165Filterer: ERC165Filterer{contract: contract}}, nil } // NewERC165Caller creates a new read-only instance of ERC165, bound to a specific deployed contract. func NewERC165Caller(address common.Address, caller bind.ContractCaller) (*ERC165Caller, error) { contract, err := bindERC165(address, caller, nil, nil) if err != nil { return nil, err } return &ERC165Caller{contract: contract}, nil } // NewERC165Transactor creates a new write-only instance of ERC165, bound to a specific deployed contract. func NewERC165Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC165Transactor, error) { contract, err := bindERC165(address, nil, transactor, nil) if err != nil { return nil, err } return &ERC165Transactor{contract: contract}, nil } // NewERC165Filterer creates a new log filterer instance of ERC165, bound to a specific deployed contract. func NewERC165Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC165Filterer, error) { contract, err := bindERC165(address, nil, nil, filterer) if err != nil { return nil, err } return &ERC165Filterer{contract: contract}, nil } // bindERC165 binds a generic wrapper to an already deployed contract. func bindERC165(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := ERC165MetaData.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 (_ERC165 *ERC165Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _ERC165.Contract.ERC165Caller.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 (_ERC165 *ERC165Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC165.Contract.ERC165Transactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC165 *ERC165Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC165.Contract.ERC165Transactor.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 (_ERC165 *ERC165CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _ERC165.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 (_ERC165 *ERC165TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC165.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC165 *ERC165TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC165.Contract.contract.Transact(opts, method, params...) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_ERC165 *ERC165Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} err := _ERC165.contract.Call(opts, &out, "supportsInterface", interfaceId) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_ERC165 *ERC165Session) SupportsInterface(interfaceId [4]byte) (bool, error) { return _ERC165.Contract.SupportsInterface(&_ERC165.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_ERC165 *ERC165CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _ERC165.Contract.SupportsInterface(&_ERC165.CallOpts, interfaceId) } // EnumerableSetMetaData contains all meta data concerning the EnumerableSet contract. var EnumerableSetMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220881e297e341a44d0e06409605d7ac44060df510ce34378ba8ce0e85aff418f3264736f6c63430008140033", } // EnumerableSetABI is the input ABI used to generate the binding from. // Deprecated: Use EnumerableSetMetaData.ABI instead. var EnumerableSetABI = EnumerableSetMetaData.ABI // EnumerableSetBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use EnumerableSetMetaData.Bin instead. var EnumerableSetBin = EnumerableSetMetaData.Bin // DeployEnumerableSet deploys a new Ethereum contract, binding an instance of EnumerableSet to it. func DeployEnumerableSet(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *EnumerableSet, error) { parsed, err := EnumerableSetMetaData.GetAbi() if err != nil { return common.Address{}, nil, nil, err } if parsed == nil { return common.Address{}, nil, nil, errors.New("GetABI returned nil") } address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(EnumerableSetBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &EnumerableSet{EnumerableSetCaller: EnumerableSetCaller{contract: contract}, EnumerableSetTransactor: EnumerableSetTransactor{contract: contract}, EnumerableSetFilterer: EnumerableSetFilterer{contract: contract}}, nil } // EnumerableSet is an auto generated Go binding around an Ethereum contract. type EnumerableSet struct { EnumerableSetCaller // Read-only binding to the contract EnumerableSetTransactor // Write-only binding to the contract EnumerableSetFilterer // Log filterer for contract events } // EnumerableSetCaller is an auto generated read-only Go binding around an Ethereum contract. type EnumerableSetCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // EnumerableSetTransactor is an auto generated write-only Go binding around an Ethereum contract. type EnumerableSetTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // EnumerableSetFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type EnumerableSetFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // EnumerableSetSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type EnumerableSetSession struct { Contract *EnumerableSet // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // EnumerableSetCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type EnumerableSetCallerSession struct { Contract *EnumerableSetCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // EnumerableSetTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type EnumerableSetTransactorSession struct { Contract *EnumerableSetTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // EnumerableSetRaw is an auto generated low-level Go binding around an Ethereum contract. type EnumerableSetRaw struct { Contract *EnumerableSet // Generic contract binding to access the raw methods on } // EnumerableSetCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type EnumerableSetCallerRaw struct { Contract *EnumerableSetCaller // Generic read-only contract binding to access the raw methods on } // EnumerableSetTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type EnumerableSetTransactorRaw struct { Contract *EnumerableSetTransactor // Generic write-only contract binding to access the raw methods on } // NewEnumerableSet creates a new instance of EnumerableSet, bound to a specific deployed contract. func NewEnumerableSet(address common.Address, backend bind.ContractBackend) (*EnumerableSet, error) { contract, err := bindEnumerableSet(address, backend, backend, backend) if err != nil { return nil, err } return &EnumerableSet{EnumerableSetCaller: EnumerableSetCaller{contract: contract}, EnumerableSetTransactor: EnumerableSetTransactor{contract: contract}, EnumerableSetFilterer: EnumerableSetFilterer{contract: contract}}, nil } // NewEnumerableSetCaller creates a new read-only instance of EnumerableSet, bound to a specific deployed contract. func NewEnumerableSetCaller(address common.Address, caller bind.ContractCaller) (*EnumerableSetCaller, error) { contract, err := bindEnumerableSet(address, caller, nil, nil) if err != nil { return nil, err } return &EnumerableSetCaller{contract: contract}, nil } // NewEnumerableSetTransactor creates a new write-only instance of EnumerableSet, bound to a specific deployed contract. func NewEnumerableSetTransactor(address common.Address, transactor bind.ContractTransactor) (*EnumerableSetTransactor, error) { contract, err := bindEnumerableSet(address, nil, transactor, nil) if err != nil { return nil, err } return &EnumerableSetTransactor{contract: contract}, nil } // NewEnumerableSetFilterer creates a new log filterer instance of EnumerableSet, bound to a specific deployed contract. func NewEnumerableSetFilterer(address common.Address, filterer bind.ContractFilterer) (*EnumerableSetFilterer, error) { contract, err := bindEnumerableSet(address, nil, nil, filterer) if err != nil { return nil, err } return &EnumerableSetFilterer{contract: contract}, nil } // bindEnumerableSet binds a generic wrapper to an already deployed contract. func bindEnumerableSet(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := EnumerableSetMetaData.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 (_EnumerableSet *EnumerableSetRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _EnumerableSet.Contract.EnumerableSetCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_EnumerableSet *EnumerableSetRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _EnumerableSet.Contract.EnumerableSetTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_EnumerableSet *EnumerableSetRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _EnumerableSet.Contract.EnumerableSetTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_EnumerableSet *EnumerableSetCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _EnumerableSet.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_EnumerableSet *EnumerableSetTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _EnumerableSet.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_EnumerableSet *EnumerableSetTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _EnumerableSet.Contract.contract.Transact(opts, method, params...) } // FastBridgeMetaData contains all meta data concerning the FastBridge contract. var FastBridgeMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"AddressInsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AmountIncorrect\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ChainIncorrect\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DeadlineExceeded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DeadlineNotExceeded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DeadlineTooShort\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DisputePeriodNotPassed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DisputePeriodPassed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MsgValueIncorrect\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MulticallTarget__UndeterminedRevert\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderIncorrect\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StatusIncorrect\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenNotContract\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransactionRelayed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"transactionId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BridgeDepositClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"transactionId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BridgeDepositRefunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"transactionId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"}],\"name\":\"BridgeProofDisputed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"transactionId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"transactionHash\",\"type\":\"bytes32\"}],\"name\":\"BridgeProofProvided\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"transactionId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"originChainId\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"originToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"destToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"originAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"destAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"chainGasAmount\",\"type\":\"uint256\"}],\"name\":\"BridgeRelayed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"transactionId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"request\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"destChainId\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"originToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"destToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"originAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"destAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"sendChainGas\",\"type\":\"bool\"}],\"name\":\"BridgeRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldChainGasAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newChainGasAmount\",\"type\":\"uint256\"}],\"name\":\"ChainGasAmountUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldFeeRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newFeeRate\",\"type\":\"uint256\"}],\"name\":\"FeeRateUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"FeesSwept\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DISPUTE_PERIOD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FEE_BPS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FEE_RATE_MAX\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GOVERNOR_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GUARD_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_DEADLINE_PERIOD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REFUNDER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REFUND_DELAY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RELAYER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"dstChainId\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"originToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"destToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"originAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"destAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"sendChainGas\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"structIFastBridge.BridgeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"bridge\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"bridgeProofs\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"timestamp\",\"type\":\"uint96\"},{\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"bridgeRelays\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"bridgeStatuses\",\"outputs\":[{\"internalType\":\"enumFastBridge.BridgeStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"transactionId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"}],\"name\":\"canClaim\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"chainGasAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"request\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deployBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"transactionId\",\"type\":\"bytes32\"}],\"name\":\"dispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"request\",\"type\":\"bytes\"}],\"name\":\"getBridgeTransaction\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"originChainId\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"destChainId\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"originSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"destRecipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"originToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"destToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"originAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"destAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"originFeeAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"sendChainGas\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"internalType\":\"structIFastBridge.BridgeTransaction\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"},{\"internalType\":\"bool\",\"name\":\"ignoreReverts\",\"type\":\"bool\"}],\"name\":\"multicallNoResults\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"},{\"internalType\":\"bool\",\"name\":\"ignoreReverts\",\"type\":\"bool\"}],\"name\":\"multicallWithResults\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"structIMulticallTarget.Result[]\",\"name\":\"results\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"protocolFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"protocolFees\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"request\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"destTxHash\",\"type\":\"bytes32\"}],\"name\":\"prove\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"request\",\"type\":\"bytes\"}],\"name\":\"refund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"request\",\"type\":\"bytes\"}],\"name\":\"relay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newChainGasAmount\",\"type\":\"uint256\"}],\"name\":\"setChainGasAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newFeeRate\",\"type\":\"uint256\"}],\"name\":\"setProtocolFeeRate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"sweepProtocolFees\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "a217fddf": "DEFAULT_ADMIN_ROLE()", "a5bbe22b": "DISPUTE_PERIOD()", "bf333f2c": "FEE_BPS()", "0f5f6ed7": "FEE_RATE_MAX()", "ccc57490": "GOVERNOR_ROLE()", "03ed0ee5": "GUARD_ROLE()", "820688d5": "MIN_DEADLINE_PERIOD()", "5960ccf2": "REFUNDER_ROLE()", "190da595": "REFUND_DELAY()", "926d7d7f": "RELAYER_ROLE()", "45851694": "bridge((uint32,address,address,address,address,uint256,uint256,bool,uint256))", "91ad5039": "bridgeProofs(bytes32)", "8379a24f": "bridgeRelays(bytes32)", "051287bc": "bridgeStatuses(bytes32)", "aa9641ab": "canClaim(bytes32,address)", "e00a83e0": "chainGasAmount()", "41fcb612": "claim(bytes,address)", "a3ec191a": "deployBlock()", "add98c70": "dispute(bytes32)", "ac11fb1a": "getBridgeTransaction(bytes)", "248a9ca3": "getRoleAdmin(bytes32)", "9010d07c": "getRoleMember(bytes32,uint256)", "ca15c873": "getRoleMemberCount(bytes32)", "2f2ff15d": "grantRole(bytes32,address)", "91d14854": "hasRole(bytes32,address)", "3f61331d": "multicallNoResults(bytes[],bool)", "385c1d2f": "multicallWithResults(bytes[],bool)", "affed0e0": "nonce()", "58f85880": "protocolFeeRate()", "dcf844a7": "protocolFees(address)", "886d36ff": "prove(bytes,bytes32)", "5eb7d946": "refund(bytes)", "8f0d6f17": "relay(bytes)", "36568abe": "renounceRole(bytes32,address)", "d547741f": "revokeRole(bytes32,address)", "b250fe6b": "setChainGasAmount(uint256)", "b13aa2d6": "setProtocolFeeRate(uint256)", "01ffc9a7": "supportsInterface(bytes4)", "06f333f2": "sweepProtocolFees(address,address)", }, Bin: "0x60a06040523480156200001157600080fd5b506040516200322638038062003226833981016040819052620000349162000194565b80620000426000826200004f565b50504360805250620001bf565b6000806200005e84846200008c565b90508015620000835760008481526001602052604090206200008190846200013a565b505b90505b92915050565b6000828152602081815260408083206001600160a01b038516845290915281205460ff1662000131576000838152602081815260408083206001600160a01b03861684529091529020805460ff19166001179055620000e83390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600162000086565b50600062000086565b600062000083836001600160a01b0384166000818152600183016020526040812054620001315750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915562000086565b600060208284031215620001a757600080fd5b81516001600160a01b03811681146200008357600080fd5b60805161304b620001db60003960006106d4015261304b6000f3fe6080604052600436106102a05760003560e01c80638f0d6f171161016e578063add98c70116100cb578063ca15c8731161007f578063d547741f11610064578063d547741f14610824578063dcf844a714610844578063e00a83e01461087157600080fd5b8063ca15c873146107d0578063ccc57490146107f057600080fd5b8063b13aa2d6116100b0578063b13aa2d614610779578063b250fe6b14610799578063bf333f2c146107b957600080fd5b8063add98c7014610743578063affed0e01461076357600080fd5b8063a217fddf11610122578063a5bbe22b11610107578063a5bbe22b14610502578063aa9641ab146106f6578063ac11fb1a1461071657600080fd5b8063a217fddf146106ad578063a3ec191a146106c257600080fd5b806391ad50391161015357806391ad5039146105b357806391d1485414610635578063926d7d7f1461067957600080fd5b80638f0d6f17146105685780639010d07c1461057b57600080fd5b8063385c1d2f1161021c5780635960ccf2116101d0578063820688d5116101b5578063820688d5146105025780638379a24f14610518578063886d36ff1461054857600080fd5b80635960ccf2146104ae5780635eb7d946146104e257600080fd5b806341fcb6121161020157806341fcb61214610465578063458516941461048557806358f858801461049857600080fd5b8063385c1d2f146104185780633f61331d1461044557600080fd5b80630f5f6ed711610273578063248a9ca311610258578063248a9ca3146103a85780632f2ff15d146103d857806336568abe146103f857600080fd5b80630f5f6ed71461037b578063190da5951461039157600080fd5b806301ffc9a7146102a557806303ed0ee5146102da578063051287bc1461031c57806306f333f214610359575b600080fd5b3480156102b157600080fd5b506102c56102c0366004612602565b610887565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b5061030e7f043c983c49d46f0e102151eaf8085d4a2e6571d5df2d47b013f39bddfd4a639d81565b6040519081526020016102d1565b34801561032857600080fd5b5061034c610337366004612644565b60056020526000908152604090205460ff1681565b6040516102d1919061268c565b34801561036557600080fd5b506103796103743660046126f2565b6108e3565b005b34801561038757600080fd5b5061030e61271081565b34801561039d57600080fd5b5061030e62093a8081565b3480156103b457600080fd5b5061030e6103c3366004612644565b60009081526020819052604090206001015490565b3480156103e457600080fd5b506103796103f336600461272b565b6109aa565b34801561040457600080fd5b5061037961041336600461272b565b6109d5565b34801561042457600080fd5b50610438610433366004612769565b610a21565b6040516102d1919061285d565b34801561045157600080fd5b50610379610460366004612769565b610bb7565b34801561047157600080fd5b50610379610480366004612a19565b610c6a565b610379610493366004612a7d565b610ea3565b3480156104a457600080fd5b5061030e60025481565b3480156104ba57600080fd5b5061030e7fdb9556138406326f00296e13ea2ad7db24ba82381212d816b1a40c23b466b32781565b3480156104ee57600080fd5b506103796104fd366004612b20565b6111b1565b34801561050e57600080fd5b5061030e61070881565b34801561052457600080fd5b506102c5610533366004612644565b60076020526000908152604090205460ff1681565b34801561055457600080fd5b50610379610563366004612b5d565b611389565b610379610576366004612b20565b6114bc565b34801561058757600080fd5b5061059b610596366004612ba2565b611703565b6040516001600160a01b0390911681526020016102d1565b3480156105bf57600080fd5b506106096105ce366004612644565b6006602052600090815260409020546bffffffffffffffffffffffff8116906c0100000000000000000000000090046001600160a01b031682565b604080516bffffffffffffffffffffffff90931683526001600160a01b039091166020830152016102d1565b34801561064157600080fd5b506102c561065036600461272b565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561068557600080fd5b5061030e7fe2b7fb3b832174769106daebcfd6d1970523240dda11281102db9363b83b0dc481565b3480156106b957600080fd5b5061030e600081565b3480156106ce57600080fd5b5061030e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561070257600080fd5b506102c561071136600461272b565b611722565b34801561072257600080fd5b50610736610731366004612b20565b611825565b6040516102d19190612bc4565b34801561074f57600080fd5b5061037961075e366004612644565b611898565b34801561076f57600080fd5b5061030e60085481565b34801561078557600080fd5b50610379610794366004612644565b611a01565b3480156107a557600080fd5b506103796107b4366004612644565b611ae3565b3480156107c557600080fd5b5061030e620f424081565b3480156107dc57600080fd5b5061030e6107eb366004612644565b611b4b565b3480156107fc57600080fd5b5061030e7f7935bd0ae54bc31f548c14dba4d37c5c64b3f8ca900cb468fb8abd54d5894f5581565b34801561083057600080fd5b5061037961083f36600461272b565b611b62565b34801561085057600080fd5b5061030e61085f366004612caa565b60036020526000908152604090205481565b34801561087d57600080fd5b5061030e60045481565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f5a05180f0000000000000000000000000000000000000000000000000000000014806108dd57506108dd82611b87565b92915050565b7f7935bd0ae54bc31f548c14dba4d37c5c64b3f8ca900cb468fb8abd54d5894f5561090d81611c1e565b6001600160a01b038316600090815260036020526040812054908190036109345750505050565b6001600160a01b038416600081815260036020526040812055610958908483611c2b565b604080516001600160a01b038087168252851660208201529081018290527f244e51bc38c1452fa8aaf487bcb4bca36c2baa3a5fbdb776b1eabd8dc6d277cd9060600160405180910390a1505b505050565b6000828152602081905260409020600101546109c581611c1e565b6109cf8383611d4e565b50505050565b6001600160a01b0381163314610a17576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109a58282611d7b565b60608267ffffffffffffffff811115610a3c57610a3c6128f1565b604051908082528060200260200182016040528015610a8257816020015b604080518082019091526000815260606020820152815260200190600190039081610a5a5790505b50905060005b83811015610baf5730858583818110610aa357610aa3612cc7565b9050602002810190610ab59190612cf6565b604051610ac3929190612d62565b600060405180830381855af49150503d8060008114610afe576040519150601f19603f3d011682016040523d82523d6000602084013e610b03565b606091505b50838381518110610b1657610b16612cc7565b6020026020010151600001848481518110610b3357610b33612cc7565b602002602001015160200182905282151515158152505050818181518110610b5d57610b5d612cc7565b602002602001015160000151158015610b74575082155b15610b9f57610b9f828281518110610b8e57610b8e612cc7565b602002602001015160200151611da8565b610ba881612da1565b9050610a88565b509392505050565b60005b828110156109cf5760008030868685818110610bd857610bd8612cc7565b9050602002810190610bea9190612cf6565b604051610bf8929190612d62565b600060405180830381855af49150503d8060008114610c33576040519150601f19603f3d011682016040523d82523d6000602084013e610c38565b606091505b509150915081158015610c49575083155b15610c5757610c5781611da8565b505080610c6390612da1565b9050610bba565b7fe2b7fb3b832174769106daebcfd6d1970523240dda11281102db9363b83b0dc4610c9481611c1e565b825160208401206000610ca685611825565b9050600260008381526005602052604090205460ff166004811115610ccd57610ccd61265d565b14610d04576040517f4145817200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828152600660209081526040918290208251808401909352546bffffffffffffffffffffffff811683526c0100000000000000000000000090046001600160a01b03169082018190523314610d87576040517f4af43a9000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80516107089042036bffffffffffffffffffffffff1611610dd4576040517f1992d0bd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000838152600560205260409020805460ff1916600317905561010082015115610e305761010082015160808301516001600160a01b031660009081526003602052604081208054909190610e2a908490612dd9565b90915550505b608082015160c0830151610e4e6001600160a01b0383168883611c2b565b604080516001600160a01b03848116825260208201849052891691339188917f582211c35a2139ac3bbaac74663c6a1f56c6cbb658b41fe11fd45a82074ac67891015b60405180910390a45050505050505050565b46816000015163ffffffff1603610ee6576040517f7029fdf900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101511580610ef9575060c0810151155b15610f30576040517fe38820c800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60608101516001600160a01b03161580610f55575060808101516001600160a01b0316155b15610f8c576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610f9861070842612dd9565b8161010001511015610fd6576040517f04b7fcc800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610feb3083606001518460a00151611dea565b9050600080600254111561101857620f42406002548361100b9190612dec565b6110159190612e03565b90505b6110228183612e3e565b915060006040518061018001604052804663ffffffff168152602001856000015163ffffffff16815260200185602001516001600160a01b0316815260200185604001516001600160a01b0316815260200185606001516001600160a01b0316815260200185608001516001600160a01b031681526020018481526020018560c0015181526020018381526020018560e00151151581526020018561010001518152602001600860008154809291906110da90612da1565b9091555090526040516110f09190602001612bc4565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018152828252805160208083019190912060008181526005835293909320805460ff191660011790558701518751606089015160808a015160c08b015160e08c015195985095966001600160a01b039094169587957f120ea0364f36cdac7983bcfdd55270ca09d7f9b314a2ebc425a3b01ab1d6403a956111a2958b959094909390928e92612e51565b60405180910390a35050505050565b8051602082012060006111c383611825565b3360009081527fd2043bf65931af3dbecf60d0db8f40e4160406d7beb00522f4200cf4944a1eb8602052604090205490915060ff161561124057806101400151421161123b576040517fe15ff9ea00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61128c565b62093a808161014001516112549190612dd9565b421161128c576040517fe15ff9ea00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160008381526005602052604090205460ff1660048111156112b1576112b161265d565b146112e8576040517f4145817200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815260056020526040808220805460ff19166004179055820151608083015161010084015160c0850151929391926113239190612dd9565b90506113396001600160a01b0383168483611c2b565b604080516001600160a01b0384811682526020820184905285169187917fb4c55c0c9bc613519b920e88748090150b890a875d307f21bea7d4fb2e8bc958910160405180910390a3505050505050565b7fe2b7fb3b832174769106daebcfd6d1970523240dda11281102db9363b83b0dc46113b381611c1e565b82516020840120600160008281526005602052604090205460ff1660048111156113df576113df61265d565b14611416576040517f4145817200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008181526005602090815260408083208054600260ff19909116179055805180820182526bffffffffffffffffffffffff4281168252338285018181528787526006865295849020925195516001600160a01b03166c0100000000000000000000000002959091169490941790555185815283917f4ac8af8a2cd87193d64dfc7a3b8d9923b714ec528b18725d080aa1299be0c5e4910160405180910390a350505050565b7fe2b7fb3b832174769106daebcfd6d1970523240dda11281102db9363b83b0dc46114e681611c1e565b8151602083012060006114f884611825565b90504663ffffffff16816020015163ffffffff1614611543576040517f7029fdf900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806101400151421115611582576040517f559895a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526007602052604090205460ff16156115cb576040517fbef7bb7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828152600760205260409020805460ff19166001179055606081015160a082015160e08301516004546101208501516116145750600061160e848484611dea565b50611685565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b038416016116585761160e84846116538486612dd9565b611dea565b611663848484611dea565b506116838473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee83611dea565b505b845160808087015160a08089015160c0808b015160e08c01516040805163ffffffff90991689526001600160a01b0396871660208a0152938616938801939093526060870152938501528301849052861691339189917ff8ae392d784b1ea5e8881bfa586d81abf07ef4f1e2fc75f7fe51c90f05199a5c9101610e91565b600082815260016020526040812061171b9083611fb9565b9392505050565b6000600260008481526005602052604090205460ff1660048111156117495761174961265d565b14611780576040517f4145817200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000838152600660209081526040918290208251808401909352546bffffffffffffffffffffffff811683526001600160a01b036c010000000000000000000000009091048116918301829052841614611806576040517f4af43a9000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80516107089042036bffffffffffffffffffffffff1611949350505050565b604080516101808101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c0820181905260e08201819052610100820181905261012082018190526101408201819052610160820152825190916108dd9184018101908401612ec8565b7f043c983c49d46f0e102151eaf8085d4a2e6571d5df2d47b013f39bddfd4a639d6118c281611c1e565b600260008381526005602052604090205460ff1660048111156118e7576118e761265d565b1461191e576040517f4145817200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828152600660209081526040918290208251808401909352546bffffffffffffffffffffffff8082168085526c010000000000000000000000009092046001600160a01b031693909201929092526107089142031611156119ad576040517f3e908aac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828152600560209081526040808320805460ff19166001179055600690915280822082905551339184917f0695cf1d39b3055dcd0fe02d8b47eaf0d5a13e1996de925de59d0ef9b7f7fad49190a35050565b7f7935bd0ae54bc31f548c14dba4d37c5c64b3f8ca900cb468fb8abd54d5894f55611a2b81611c1e565b612710821115611a9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6e657746656552617465203e206d61780000000000000000000000000000000060448201526064015b60405180910390fd5b600280549083905560408051828152602081018590527f14914da2bf76024616fbe1859783fcd4dbddcb179b1f3a854949fbf920dcb95791015b60405180910390a1505050565b7f7935bd0ae54bc31f548c14dba4d37c5c64b3f8ca900cb468fb8abd54d5894f55611b0d81611c1e565b600480549083905560408051828152602081018590527f5cf09b12f3f56b4c564d51b25b40360af6d795198adb61ae0806a36c294323fa9101611ad6565b60008181526001602052604081206108dd90611fc5565b600082815260208190526040902060010154611b7d81611c1e565b6109cf8383611d7b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108dd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146108dd565b611c288133611fcf565b50565b306001600160a01b03831603611c4057505050565b80600003611c4d57505050565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611d3a576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611cca576040519150601f19603f3d011682016040523d82523d6000602084013e611ccf565b606091505b50509050806109cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f455448207472616e73666572206661696c6564000000000000000000000000006044820152606401611a93565b6109a56001600160a01b038416838361203f565b600080611d5b84846120b3565b9050801561171b576000848152600160205260409020610baf908461215d565b600080611d888484612172565b9050801561171b576000848152600160205260409020610baf90846121f5565b805115611db85780518082602001fd5b6040517f5ead5a9d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14611f5357611e22836001600160a01b031661220a565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301528416906370a0823190602401602060405180830381865afa158015611e81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea59190612f94565b9050611ebc6001600160a01b0384163386856122b0565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301528291908516906370a0823190602401602060405180830381865afa158015611f1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f429190612f94565b611f4c9190612e3e565b905061171b565b348214611f8c576040517f81de0bf300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384163014611fb057611fb06001600160a01b0384168584611c2b565b50349392505050565b600061171b83836122e9565b60006108dd825490565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1661203b576040517fe2517d3f0000000000000000000000000000000000000000000000000000000081526001600160a01b038216600482015260248101839052604401611a93565b5050565b6040516001600160a01b038381166024830152604482018390526109a591859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612313565b6000828152602081815260408083206001600160a01b038516845290915281205460ff16612155576000838152602081815260408083206001600160a01b03861684529091529020805460ff1916600117905561210d3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016108dd565b5060006108dd565b600061171b836001600160a01b03841661238f565b6000828152602081815260408083206001600160a01b038516845290915281205460ff1615612155576000838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016108dd565b600061171b836001600160a01b0384166123d6565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b0382160161226c576040517f7f523fe800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806001600160a01b03163b600003611c28576040517f7f523fe800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b0384811660248301528381166044830152606482018390526109cf9186918216906323b872dd9060840161206c565b600082600001828154811061230057612300612cc7565b9060005260206000200154905092915050565b60006123286001600160a01b038416836124c9565b9050805160001415801561234d57508080602001905181019061234b9190612fad565b155b156109a5576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401611a93565b6000818152600183016020526040812054612155575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556108dd565b600081815260018301602052604081205480156124bf5760006123fa600183612e3e565b855490915060009061240e90600190612e3e565b905080821461247357600086600001828154811061242e5761242e612cc7565b906000526020600020015490508087600001848154811061245157612451612cc7565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061248457612484612fca565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506108dd565b60009150506108dd565b606061171b8383600084600080856001600160a01b031684866040516124ef9190612ff9565b60006040518083038185875af1925050503d806000811461252c576040519150601f19603f3d011682016040523d82523d6000602084013e612531565b606091505b509150915061254186838361254b565b9695505050505050565b6060826125605761255b826125c0565b61171b565b815115801561257757506001600160a01b0384163b155b156125b9576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401611a93565b508061171b565b8051156125d05780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006020828403121561261457600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461171b57600080fd5b60006020828403121561265657600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60208101600583106126c7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6001600160a01b0381168114611c2857600080fd5b80356126ed816126cd565b919050565b6000806040838503121561270557600080fd5b8235612710816126cd565b91506020830135612720816126cd565b809150509250929050565b6000806040838503121561273e57600080fd5b823591506020830135612720816126cd565b8015158114611c2857600080fd5b80356126ed81612750565b60008060006040848603121561277e57600080fd5b833567ffffffffffffffff8082111561279657600080fd5b818601915086601f8301126127aa57600080fd5b8135818111156127b957600080fd5b8760208260051b85010111156127ce57600080fd5b602092830195509350508401356127e481612750565b809150509250925092565b60005b8381101561280a5781810151838201526020016127f2565b50506000910152565b6000815180845261282b8160208601602086016127ef565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156128e3578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001855281518051151584528701518784018790526128d087850182612813565b9588019593505090860190600101612884565b509098975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715612944576129446128f1565b60405290565b604051610180810167ffffffffffffffff81118282101715612944576129446128f1565b600082601f83011261297f57600080fd5b813567ffffffffffffffff8082111561299a5761299a6128f1565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156129e0576129e06128f1565b816040528381528660208588010111156129f957600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215612a2c57600080fd5b823567ffffffffffffffff811115612a4357600080fd5b612a4f8582860161296e565b9250506020830135612720816126cd565b63ffffffff81168114611c2857600080fd5b80356126ed81612a60565b60006101208284031215612a9057600080fd5b612a98612920565b612aa183612a72565b8152612aaf602084016126e2565b6020820152612ac0604084016126e2565b6040820152612ad1606084016126e2565b6060820152612ae2608084016126e2565b608082015260a083013560a082015260c083013560c0820152612b0760e0840161275e565b60e0820152610100928301359281019290925250919050565b600060208284031215612b3257600080fd5b813567ffffffffffffffff811115612b4957600080fd5b612b558482850161296e565b949350505050565b60008060408385031215612b7057600080fd5b823567ffffffffffffffff811115612b8757600080fd5b612b938582860161296e565b95602094909401359450505050565b60008060408385031215612bb557600080fd5b50508035926020909101359150565b815163ffffffff16815261018081016020830151612bea602084018263ffffffff169052565b506040830151612c0560408401826001600160a01b03169052565b506060830151612c2060608401826001600160a01b03169052565b506080830151612c3b60808401826001600160a01b03169052565b5060a0830151612c5660a08401826001600160a01b03169052565b5060c083015160c083015260e083015160e083015261010080840151818401525061012080840151612c8b8285018215159052565b5050610140838101519083015261016092830151929091019190915290565b600060208284031215612cbc57600080fd5b813561171b816126cd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612d2b57600080fd5b83018035915067ffffffffffffffff821115612d4657600080fd5b602001915036819003821315612d5b57600080fd5b9250929050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612dd257612dd2612d72565b5060010190565b808201808211156108dd576108dd612d72565b80820281158282048414176108dd576108dd612d72565b600082612e39577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b818103818111156108dd576108dd612d72565b60e081526000612e6460e083018a612813565b63ffffffff989098166020830152506001600160a01b039586166040820152939094166060840152608083019190915260a082015290151560c090910152919050565b80516126ed81612a60565b80516126ed816126cd565b80516126ed81612750565b60006101808284031215612edb57600080fd5b612ee361294a565b612eec83612ea7565b8152612efa60208401612ea7565b6020820152612f0b60408401612eb2565b6040820152612f1c60608401612eb2565b6060820152612f2d60808401612eb2565b6080820152612f3e60a08401612eb2565b60a082015260c083015160c082015260e083015160e0820152610100808401518183015250610120612f71818501612ebd565b908201526101408381015190820152610160928301519281019290925250919050565b600060208284031215612fa657600080fd5b5051919050565b600060208284031215612fbf57600080fd5b815161171b81612750565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6000825161300b8184602087016127ef565b919091019291505056fea2646970667358221220e4742cba41290519c389b5927a440145a3a1fea6df0dc5d15d20b40b7908a64864736f6c63430008140033", } // FastBridgeABI is the input ABI used to generate the binding from. // Deprecated: Use FastBridgeMetaData.ABI instead. var FastBridgeABI = FastBridgeMetaData.ABI // Deprecated: Use FastBridgeMetaData.Sigs instead. // FastBridgeFuncSigs maps the 4-byte function signature to its string representation. var FastBridgeFuncSigs = FastBridgeMetaData.Sigs // FastBridgeBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use FastBridgeMetaData.Bin instead. var FastBridgeBin = FastBridgeMetaData.Bin // DeployFastBridge deploys a new Ethereum contract, binding an instance of FastBridge to it. func DeployFastBridge(auth *bind.TransactOpts, backend bind.ContractBackend, _owner common.Address) (common.Address, *types.Transaction, *FastBridge, error) { parsed, err := FastBridgeMetaData.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(FastBridgeBin), backend, _owner) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &FastBridge{FastBridgeCaller: FastBridgeCaller{contract: contract}, FastBridgeTransactor: FastBridgeTransactor{contract: contract}, FastBridgeFilterer: FastBridgeFilterer{contract: contract}}, nil } // FastBridge is an auto generated Go binding around an Ethereum contract. type FastBridge struct { FastBridgeCaller // Read-only binding to the contract FastBridgeTransactor // Write-only binding to the contract FastBridgeFilterer // Log filterer for contract events } // FastBridgeCaller is an auto generated read-only Go binding around an Ethereum contract. type FastBridgeCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // FastBridgeTransactor is an auto generated write-only Go binding around an Ethereum contract. type FastBridgeTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // FastBridgeFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type FastBridgeFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // FastBridgeSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type FastBridgeSession struct { Contract *FastBridge // 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 } // FastBridgeCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type FastBridgeCallerSession struct { Contract *FastBridgeCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // FastBridgeTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type FastBridgeTransactorSession struct { Contract *FastBridgeTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // FastBridgeRaw is an auto generated low-level Go binding around an Ethereum contract. type FastBridgeRaw struct { Contract *FastBridge // Generic contract binding to access the raw methods on } // FastBridgeCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type FastBridgeCallerRaw struct { Contract *FastBridgeCaller // Generic read-only contract binding to access the raw methods on } // FastBridgeTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type FastBridgeTransactorRaw struct { Contract *FastBridgeTransactor // Generic write-only contract binding to access the raw methods on } // NewFastBridge creates a new instance of FastBridge, bound to a specific deployed contract. func NewFastBridge(address common.Address, backend bind.ContractBackend) (*FastBridge, error) { contract, err := bindFastBridge(address, backend, backend, backend) if err != nil { return nil, err } return &FastBridge{FastBridgeCaller: FastBridgeCaller{contract: contract}, FastBridgeTransactor: FastBridgeTransactor{contract: contract}, FastBridgeFilterer: FastBridgeFilterer{contract: contract}}, nil } // NewFastBridgeCaller creates a new read-only instance of FastBridge, bound to a specific deployed contract. func NewFastBridgeCaller(address common.Address, caller bind.ContractCaller) (*FastBridgeCaller, error) { contract, err := bindFastBridge(address, caller, nil, nil) if err != nil { return nil, err } return &FastBridgeCaller{contract: contract}, nil } // NewFastBridgeTransactor creates a new write-only instance of FastBridge, bound to a specific deployed contract. func NewFastBridgeTransactor(address common.Address, transactor bind.ContractTransactor) (*FastBridgeTransactor, error) { contract, err := bindFastBridge(address, nil, transactor, nil) if err != nil { return nil, err } return &FastBridgeTransactor{contract: contract}, nil } // NewFastBridgeFilterer creates a new log filterer instance of FastBridge, bound to a specific deployed contract. func NewFastBridgeFilterer(address common.Address, filterer bind.ContractFilterer) (*FastBridgeFilterer, error) { contract, err := bindFastBridge(address, nil, nil, filterer) if err != nil { return nil, err } return &FastBridgeFilterer{contract: contract}, nil } // bindFastBridge binds a generic wrapper to an already deployed contract. func bindFastBridge(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := FastBridgeMetaData.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 (_FastBridge *FastBridgeRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _FastBridge.Contract.FastBridgeCaller.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 (_FastBridge *FastBridgeRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _FastBridge.Contract.FastBridgeTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_FastBridge *FastBridgeRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _FastBridge.Contract.FastBridgeTransactor.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 (_FastBridge *FastBridgeCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _FastBridge.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 (_FastBridge *FastBridgeTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _FastBridge.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_FastBridge *FastBridgeTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _FastBridge.Contract.contract.Transact(opts, method, params...) } // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. // // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) func (_FastBridge *FastBridgeCaller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "DEFAULT_ADMIN_ROLE") if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. // // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) func (_FastBridge *FastBridgeSession) DEFAULTADMINROLE() ([32]byte, error) { return _FastBridge.Contract.DEFAULTADMINROLE(&_FastBridge.CallOpts) } // DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. // // Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) func (_FastBridge *FastBridgeCallerSession) DEFAULTADMINROLE() ([32]byte, error) { return _FastBridge.Contract.DEFAULTADMINROLE(&_FastBridge.CallOpts) } // DISPUTEPERIOD is a free data retrieval call binding the contract method 0xa5bbe22b. // // Solidity: function DISPUTE_PERIOD() view returns(uint256) func (_FastBridge *FastBridgeCaller) DISPUTEPERIOD(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "DISPUTE_PERIOD") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // DISPUTEPERIOD is a free data retrieval call binding the contract method 0xa5bbe22b. // // Solidity: function DISPUTE_PERIOD() view returns(uint256) func (_FastBridge *FastBridgeSession) DISPUTEPERIOD() (*big.Int, error) { return _FastBridge.Contract.DISPUTEPERIOD(&_FastBridge.CallOpts) } // DISPUTEPERIOD is a free data retrieval call binding the contract method 0xa5bbe22b. // // Solidity: function DISPUTE_PERIOD() view returns(uint256) func (_FastBridge *FastBridgeCallerSession) DISPUTEPERIOD() (*big.Int, error) { return _FastBridge.Contract.DISPUTEPERIOD(&_FastBridge.CallOpts) } // FEEBPS is a free data retrieval call binding the contract method 0xbf333f2c. // // Solidity: function FEE_BPS() view returns(uint256) func (_FastBridge *FastBridgeCaller) FEEBPS(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "FEE_BPS") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // FEEBPS is a free data retrieval call binding the contract method 0xbf333f2c. // // Solidity: function FEE_BPS() view returns(uint256) func (_FastBridge *FastBridgeSession) FEEBPS() (*big.Int, error) { return _FastBridge.Contract.FEEBPS(&_FastBridge.CallOpts) } // FEEBPS is a free data retrieval call binding the contract method 0xbf333f2c. // // Solidity: function FEE_BPS() view returns(uint256) func (_FastBridge *FastBridgeCallerSession) FEEBPS() (*big.Int, error) { return _FastBridge.Contract.FEEBPS(&_FastBridge.CallOpts) } // FEERATEMAX is a free data retrieval call binding the contract method 0x0f5f6ed7. // // Solidity: function FEE_RATE_MAX() view returns(uint256) func (_FastBridge *FastBridgeCaller) FEERATEMAX(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "FEE_RATE_MAX") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // FEERATEMAX is a free data retrieval call binding the contract method 0x0f5f6ed7. // // Solidity: function FEE_RATE_MAX() view returns(uint256) func (_FastBridge *FastBridgeSession) FEERATEMAX() (*big.Int, error) { return _FastBridge.Contract.FEERATEMAX(&_FastBridge.CallOpts) } // FEERATEMAX is a free data retrieval call binding the contract method 0x0f5f6ed7. // // Solidity: function FEE_RATE_MAX() view returns(uint256) func (_FastBridge *FastBridgeCallerSession) FEERATEMAX() (*big.Int, error) { return _FastBridge.Contract.FEERATEMAX(&_FastBridge.CallOpts) } // GOVERNORROLE is a free data retrieval call binding the contract method 0xccc57490. // // Solidity: function GOVERNOR_ROLE() view returns(bytes32) func (_FastBridge *FastBridgeCaller) GOVERNORROLE(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "GOVERNOR_ROLE") if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // GOVERNORROLE is a free data retrieval call binding the contract method 0xccc57490. // // Solidity: function GOVERNOR_ROLE() view returns(bytes32) func (_FastBridge *FastBridgeSession) GOVERNORROLE() ([32]byte, error) { return _FastBridge.Contract.GOVERNORROLE(&_FastBridge.CallOpts) } // GOVERNORROLE is a free data retrieval call binding the contract method 0xccc57490. // // Solidity: function GOVERNOR_ROLE() view returns(bytes32) func (_FastBridge *FastBridgeCallerSession) GOVERNORROLE() ([32]byte, error) { return _FastBridge.Contract.GOVERNORROLE(&_FastBridge.CallOpts) } // GUARDROLE is a free data retrieval call binding the contract method 0x03ed0ee5. // // Solidity: function GUARD_ROLE() view returns(bytes32) func (_FastBridge *FastBridgeCaller) GUARDROLE(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "GUARD_ROLE") if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // GUARDROLE is a free data retrieval call binding the contract method 0x03ed0ee5. // // Solidity: function GUARD_ROLE() view returns(bytes32) func (_FastBridge *FastBridgeSession) GUARDROLE() ([32]byte, error) { return _FastBridge.Contract.GUARDROLE(&_FastBridge.CallOpts) } // GUARDROLE is a free data retrieval call binding the contract method 0x03ed0ee5. // // Solidity: function GUARD_ROLE() view returns(bytes32) func (_FastBridge *FastBridgeCallerSession) GUARDROLE() ([32]byte, error) { return _FastBridge.Contract.GUARDROLE(&_FastBridge.CallOpts) } // MINDEADLINEPERIOD is a free data retrieval call binding the contract method 0x820688d5. // // Solidity: function MIN_DEADLINE_PERIOD() view returns(uint256) func (_FastBridge *FastBridgeCaller) MINDEADLINEPERIOD(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "MIN_DEADLINE_PERIOD") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // MINDEADLINEPERIOD is a free data retrieval call binding the contract method 0x820688d5. // // Solidity: function MIN_DEADLINE_PERIOD() view returns(uint256) func (_FastBridge *FastBridgeSession) MINDEADLINEPERIOD() (*big.Int, error) { return _FastBridge.Contract.MINDEADLINEPERIOD(&_FastBridge.CallOpts) } // MINDEADLINEPERIOD is a free data retrieval call binding the contract method 0x820688d5. // // Solidity: function MIN_DEADLINE_PERIOD() view returns(uint256) func (_FastBridge *FastBridgeCallerSession) MINDEADLINEPERIOD() (*big.Int, error) { return _FastBridge.Contract.MINDEADLINEPERIOD(&_FastBridge.CallOpts) } // REFUNDERROLE is a free data retrieval call binding the contract method 0x5960ccf2. // // Solidity: function REFUNDER_ROLE() view returns(bytes32) func (_FastBridge *FastBridgeCaller) REFUNDERROLE(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "REFUNDER_ROLE") if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // REFUNDERROLE is a free data retrieval call binding the contract method 0x5960ccf2. // // Solidity: function REFUNDER_ROLE() view returns(bytes32) func (_FastBridge *FastBridgeSession) REFUNDERROLE() ([32]byte, error) { return _FastBridge.Contract.REFUNDERROLE(&_FastBridge.CallOpts) } // REFUNDERROLE is a free data retrieval call binding the contract method 0x5960ccf2. // // Solidity: function REFUNDER_ROLE() view returns(bytes32) func (_FastBridge *FastBridgeCallerSession) REFUNDERROLE() ([32]byte, error) { return _FastBridge.Contract.REFUNDERROLE(&_FastBridge.CallOpts) } // REFUNDDELAY is a free data retrieval call binding the contract method 0x190da595. // // Solidity: function REFUND_DELAY() view returns(uint256) func (_FastBridge *FastBridgeCaller) REFUNDDELAY(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "REFUND_DELAY") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // REFUNDDELAY is a free data retrieval call binding the contract method 0x190da595. // // Solidity: function REFUND_DELAY() view returns(uint256) func (_FastBridge *FastBridgeSession) REFUNDDELAY() (*big.Int, error) { return _FastBridge.Contract.REFUNDDELAY(&_FastBridge.CallOpts) } // REFUNDDELAY is a free data retrieval call binding the contract method 0x190da595. // // Solidity: function REFUND_DELAY() view returns(uint256) func (_FastBridge *FastBridgeCallerSession) REFUNDDELAY() (*big.Int, error) { return _FastBridge.Contract.REFUNDDELAY(&_FastBridge.CallOpts) } // RELAYERROLE is a free data retrieval call binding the contract method 0x926d7d7f. // // Solidity: function RELAYER_ROLE() view returns(bytes32) func (_FastBridge *FastBridgeCaller) RELAYERROLE(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "RELAYER_ROLE") if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // RELAYERROLE is a free data retrieval call binding the contract method 0x926d7d7f. // // Solidity: function RELAYER_ROLE() view returns(bytes32) func (_FastBridge *FastBridgeSession) RELAYERROLE() ([32]byte, error) { return _FastBridge.Contract.RELAYERROLE(&_FastBridge.CallOpts) } // RELAYERROLE is a free data retrieval call binding the contract method 0x926d7d7f. // // Solidity: function RELAYER_ROLE() view returns(bytes32) func (_FastBridge *FastBridgeCallerSession) RELAYERROLE() ([32]byte, error) { return _FastBridge.Contract.RELAYERROLE(&_FastBridge.CallOpts) } // BridgeProofs is a free data retrieval call binding the contract method 0x91ad5039. // // Solidity: function bridgeProofs(bytes32 ) view returns(uint96 timestamp, address relayer) func (_FastBridge *FastBridgeCaller) BridgeProofs(opts *bind.CallOpts, arg0 [32]byte) (struct { Timestamp *big.Int Relayer common.Address }, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "bridgeProofs", arg0) outstruct := new(struct { Timestamp *big.Int Relayer common.Address }) if err != nil { return *outstruct, err } outstruct.Timestamp = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) outstruct.Relayer = *abi.ConvertType(out[1], new(common.Address)).(*common.Address) return *outstruct, err } // BridgeProofs is a free data retrieval call binding the contract method 0x91ad5039. // // Solidity: function bridgeProofs(bytes32 ) view returns(uint96 timestamp, address relayer) func (_FastBridge *FastBridgeSession) BridgeProofs(arg0 [32]byte) (struct { Timestamp *big.Int Relayer common.Address }, error) { return _FastBridge.Contract.BridgeProofs(&_FastBridge.CallOpts, arg0) } // BridgeProofs is a free data retrieval call binding the contract method 0x91ad5039. // // Solidity: function bridgeProofs(bytes32 ) view returns(uint96 timestamp, address relayer) func (_FastBridge *FastBridgeCallerSession) BridgeProofs(arg0 [32]byte) (struct { Timestamp *big.Int Relayer common.Address }, error) { return _FastBridge.Contract.BridgeProofs(&_FastBridge.CallOpts, arg0) } // BridgeRelays is a free data retrieval call binding the contract method 0x8379a24f. // // Solidity: function bridgeRelays(bytes32 ) view returns(bool) func (_FastBridge *FastBridgeCaller) BridgeRelays(opts *bind.CallOpts, arg0 [32]byte) (bool, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "bridgeRelays", arg0) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // BridgeRelays is a free data retrieval call binding the contract method 0x8379a24f. // // Solidity: function bridgeRelays(bytes32 ) view returns(bool) func (_FastBridge *FastBridgeSession) BridgeRelays(arg0 [32]byte) (bool, error) { return _FastBridge.Contract.BridgeRelays(&_FastBridge.CallOpts, arg0) } // BridgeRelays is a free data retrieval call binding the contract method 0x8379a24f. // // Solidity: function bridgeRelays(bytes32 ) view returns(bool) func (_FastBridge *FastBridgeCallerSession) BridgeRelays(arg0 [32]byte) (bool, error) { return _FastBridge.Contract.BridgeRelays(&_FastBridge.CallOpts, arg0) } // BridgeStatuses is a free data retrieval call binding the contract method 0x051287bc. // // Solidity: function bridgeStatuses(bytes32 ) view returns(uint8) func (_FastBridge *FastBridgeCaller) BridgeStatuses(opts *bind.CallOpts, arg0 [32]byte) (uint8, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "bridgeStatuses", arg0) if err != nil { return *new(uint8), err } out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) return out0, err } // BridgeStatuses is a free data retrieval call binding the contract method 0x051287bc. // // Solidity: function bridgeStatuses(bytes32 ) view returns(uint8) func (_FastBridge *FastBridgeSession) BridgeStatuses(arg0 [32]byte) (uint8, error) { return _FastBridge.Contract.BridgeStatuses(&_FastBridge.CallOpts, arg0) } // BridgeStatuses is a free data retrieval call binding the contract method 0x051287bc. // // Solidity: function bridgeStatuses(bytes32 ) view returns(uint8) func (_FastBridge *FastBridgeCallerSession) BridgeStatuses(arg0 [32]byte) (uint8, error) { return _FastBridge.Contract.BridgeStatuses(&_FastBridge.CallOpts, arg0) } // CanClaim is a free data retrieval call binding the contract method 0xaa9641ab. // // Solidity: function canClaim(bytes32 transactionId, address relayer) view returns(bool) func (_FastBridge *FastBridgeCaller) CanClaim(opts *bind.CallOpts, transactionId [32]byte, relayer common.Address) (bool, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "canClaim", transactionId, relayer) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // CanClaim is a free data retrieval call binding the contract method 0xaa9641ab. // // Solidity: function canClaim(bytes32 transactionId, address relayer) view returns(bool) func (_FastBridge *FastBridgeSession) CanClaim(transactionId [32]byte, relayer common.Address) (bool, error) { return _FastBridge.Contract.CanClaim(&_FastBridge.CallOpts, transactionId, relayer) } // CanClaim is a free data retrieval call binding the contract method 0xaa9641ab. // // Solidity: function canClaim(bytes32 transactionId, address relayer) view returns(bool) func (_FastBridge *FastBridgeCallerSession) CanClaim(transactionId [32]byte, relayer common.Address) (bool, error) { return _FastBridge.Contract.CanClaim(&_FastBridge.CallOpts, transactionId, relayer) } // ChainGasAmount is a free data retrieval call binding the contract method 0xe00a83e0. // // Solidity: function chainGasAmount() view returns(uint256) func (_FastBridge *FastBridgeCaller) ChainGasAmount(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "chainGasAmount") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // ChainGasAmount is a free data retrieval call binding the contract method 0xe00a83e0. // // Solidity: function chainGasAmount() view returns(uint256) func (_FastBridge *FastBridgeSession) ChainGasAmount() (*big.Int, error) { return _FastBridge.Contract.ChainGasAmount(&_FastBridge.CallOpts) } // ChainGasAmount is a free data retrieval call binding the contract method 0xe00a83e0. // // Solidity: function chainGasAmount() view returns(uint256) func (_FastBridge *FastBridgeCallerSession) ChainGasAmount() (*big.Int, error) { return _FastBridge.Contract.ChainGasAmount(&_FastBridge.CallOpts) } // DeployBlock is a free data retrieval call binding the contract method 0xa3ec191a. // // Solidity: function deployBlock() view returns(uint256) func (_FastBridge *FastBridgeCaller) DeployBlock(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "deployBlock") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // DeployBlock is a free data retrieval call binding the contract method 0xa3ec191a. // // Solidity: function deployBlock() view returns(uint256) func (_FastBridge *FastBridgeSession) DeployBlock() (*big.Int, error) { return _FastBridge.Contract.DeployBlock(&_FastBridge.CallOpts) } // DeployBlock is a free data retrieval call binding the contract method 0xa3ec191a. // // Solidity: function deployBlock() view returns(uint256) func (_FastBridge *FastBridgeCallerSession) DeployBlock() (*big.Int, error) { return _FastBridge.Contract.DeployBlock(&_FastBridge.CallOpts) } // GetBridgeTransaction is a free data retrieval call binding the contract method 0xac11fb1a. // // Solidity: function getBridgeTransaction(bytes request) pure returns((uint32,uint32,address,address,address,address,uint256,uint256,uint256,bool,uint256,uint256)) func (_FastBridge *FastBridgeCaller) GetBridgeTransaction(opts *bind.CallOpts, request []byte) (IFastBridgeBridgeTransaction, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "getBridgeTransaction", request) if err != nil { return *new(IFastBridgeBridgeTransaction), err } out0 := *abi.ConvertType(out[0], new(IFastBridgeBridgeTransaction)).(*IFastBridgeBridgeTransaction) return out0, err } // GetBridgeTransaction is a free data retrieval call binding the contract method 0xac11fb1a. // // Solidity: function getBridgeTransaction(bytes request) pure returns((uint32,uint32,address,address,address,address,uint256,uint256,uint256,bool,uint256,uint256)) func (_FastBridge *FastBridgeSession) GetBridgeTransaction(request []byte) (IFastBridgeBridgeTransaction, error) { return _FastBridge.Contract.GetBridgeTransaction(&_FastBridge.CallOpts, request) } // GetBridgeTransaction is a free data retrieval call binding the contract method 0xac11fb1a. // // Solidity: function getBridgeTransaction(bytes request) pure returns((uint32,uint32,address,address,address,address,uint256,uint256,uint256,bool,uint256,uint256)) func (_FastBridge *FastBridgeCallerSession) GetBridgeTransaction(request []byte) (IFastBridgeBridgeTransaction, error) { return _FastBridge.Contract.GetBridgeTransaction(&_FastBridge.CallOpts, request) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_FastBridge *FastBridgeCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "getRoleAdmin", role) if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_FastBridge *FastBridgeSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { return _FastBridge.Contract.GetRoleAdmin(&_FastBridge.CallOpts, role) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_FastBridge *FastBridgeCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { return _FastBridge.Contract.GetRoleAdmin(&_FastBridge.CallOpts, role) } // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. // // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) func (_FastBridge *FastBridgeCaller) GetRoleMember(opts *bind.CallOpts, role [32]byte, index *big.Int) (common.Address, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "getRoleMember", role, index) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. // // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) func (_FastBridge *FastBridgeSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) { return _FastBridge.Contract.GetRoleMember(&_FastBridge.CallOpts, role, index) } // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. // // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) func (_FastBridge *FastBridgeCallerSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) { return _FastBridge.Contract.GetRoleMember(&_FastBridge.CallOpts, role, index) } // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. // // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) func (_FastBridge *FastBridgeCaller) GetRoleMemberCount(opts *bind.CallOpts, role [32]byte) (*big.Int, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "getRoleMemberCount", role) if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. // // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) func (_FastBridge *FastBridgeSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) { return _FastBridge.Contract.GetRoleMemberCount(&_FastBridge.CallOpts, role) } // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. // // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) func (_FastBridge *FastBridgeCallerSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) { return _FastBridge.Contract.GetRoleMemberCount(&_FastBridge.CallOpts, role) } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_FastBridge *FastBridgeCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "hasRole", role, account) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_FastBridge *FastBridgeSession) HasRole(role [32]byte, account common.Address) (bool, error) { return _FastBridge.Contract.HasRole(&_FastBridge.CallOpts, role, account) } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_FastBridge *FastBridgeCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) { return _FastBridge.Contract.HasRole(&_FastBridge.CallOpts, role, account) } // Nonce is a free data retrieval call binding the contract method 0xaffed0e0. // // Solidity: function nonce() view returns(uint256) func (_FastBridge *FastBridgeCaller) Nonce(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "nonce") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // Nonce is a free data retrieval call binding the contract method 0xaffed0e0. // // Solidity: function nonce() view returns(uint256) func (_FastBridge *FastBridgeSession) Nonce() (*big.Int, error) { return _FastBridge.Contract.Nonce(&_FastBridge.CallOpts) } // Nonce is a free data retrieval call binding the contract method 0xaffed0e0. // // Solidity: function nonce() view returns(uint256) func (_FastBridge *FastBridgeCallerSession) Nonce() (*big.Int, error) { return _FastBridge.Contract.Nonce(&_FastBridge.CallOpts) } // ProtocolFeeRate is a free data retrieval call binding the contract method 0x58f85880. // // Solidity: function protocolFeeRate() view returns(uint256) func (_FastBridge *FastBridgeCaller) ProtocolFeeRate(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "protocolFeeRate") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // ProtocolFeeRate is a free data retrieval call binding the contract method 0x58f85880. // // Solidity: function protocolFeeRate() view returns(uint256) func (_FastBridge *FastBridgeSession) ProtocolFeeRate() (*big.Int, error) { return _FastBridge.Contract.ProtocolFeeRate(&_FastBridge.CallOpts) } // ProtocolFeeRate is a free data retrieval call binding the contract method 0x58f85880. // // Solidity: function protocolFeeRate() view returns(uint256) func (_FastBridge *FastBridgeCallerSession) ProtocolFeeRate() (*big.Int, error) { return _FastBridge.Contract.ProtocolFeeRate(&_FastBridge.CallOpts) } // ProtocolFees is a free data retrieval call binding the contract method 0xdcf844a7. // // Solidity: function protocolFees(address ) view returns(uint256) func (_FastBridge *FastBridgeCaller) ProtocolFees(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "protocolFees", arg0) if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // ProtocolFees is a free data retrieval call binding the contract method 0xdcf844a7. // // Solidity: function protocolFees(address ) view returns(uint256) func (_FastBridge *FastBridgeSession) ProtocolFees(arg0 common.Address) (*big.Int, error) { return _FastBridge.Contract.ProtocolFees(&_FastBridge.CallOpts, arg0) } // ProtocolFees is a free data retrieval call binding the contract method 0xdcf844a7. // // Solidity: function protocolFees(address ) view returns(uint256) func (_FastBridge *FastBridgeCallerSession) ProtocolFees(arg0 common.Address) (*big.Int, error) { return _FastBridge.Contract.ProtocolFees(&_FastBridge.CallOpts, arg0) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_FastBridge *FastBridgeCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} err := _FastBridge.contract.Call(opts, &out, "supportsInterface", interfaceId) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_FastBridge *FastBridgeSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _FastBridge.Contract.SupportsInterface(&_FastBridge.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_FastBridge *FastBridgeCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _FastBridge.Contract.SupportsInterface(&_FastBridge.CallOpts, interfaceId) } // Bridge is a paid mutator transaction binding the contract method 0x45851694. // // Solidity: function bridge((uint32,address,address,address,address,uint256,uint256,bool,uint256) params) payable returns() func (_FastBridge *FastBridgeTransactor) Bridge(opts *bind.TransactOpts, params IFastBridgeBridgeParams) (*types.Transaction, error) { return _FastBridge.contract.Transact(opts, "bridge", params) } // Bridge is a paid mutator transaction binding the contract method 0x45851694. // // Solidity: function bridge((uint32,address,address,address,address,uint256,uint256,bool,uint256) params) payable returns() func (_FastBridge *FastBridgeSession) Bridge(params IFastBridgeBridgeParams) (*types.Transaction, error) { return _FastBridge.Contract.Bridge(&_FastBridge.TransactOpts, params) } // Bridge is a paid mutator transaction binding the contract method 0x45851694. // // Solidity: function bridge((uint32,address,address,address,address,uint256,uint256,bool,uint256) params) payable returns() func (_FastBridge *FastBridgeTransactorSession) Bridge(params IFastBridgeBridgeParams) (*types.Transaction, error) { return _FastBridge.Contract.Bridge(&_FastBridge.TransactOpts, params) } // Claim is a paid mutator transaction binding the contract method 0x41fcb612. // // Solidity: function claim(bytes request, address to) returns() func (_FastBridge *FastBridgeTransactor) Claim(opts *bind.TransactOpts, request []byte, to common.Address) (*types.Transaction, error) { return _FastBridge.contract.Transact(opts, "claim", request, to) } // Claim is a paid mutator transaction binding the contract method 0x41fcb612. // // Solidity: function claim(bytes request, address to) returns() func (_FastBridge *FastBridgeSession) Claim(request []byte, to common.Address) (*types.Transaction, error) { return _FastBridge.Contract.Claim(&_FastBridge.TransactOpts, request, to) } // Claim is a paid mutator transaction binding the contract method 0x41fcb612. // // Solidity: function claim(bytes request, address to) returns() func (_FastBridge *FastBridgeTransactorSession) Claim(request []byte, to common.Address) (*types.Transaction, error) { return _FastBridge.Contract.Claim(&_FastBridge.TransactOpts, request, to) } // Dispute is a paid mutator transaction binding the contract method 0xadd98c70. // // Solidity: function dispute(bytes32 transactionId) returns() func (_FastBridge *FastBridgeTransactor) Dispute(opts *bind.TransactOpts, transactionId [32]byte) (*types.Transaction, error) { return _FastBridge.contract.Transact(opts, "dispute", transactionId) } // Dispute is a paid mutator transaction binding the contract method 0xadd98c70. // // Solidity: function dispute(bytes32 transactionId) returns() func (_FastBridge *FastBridgeSession) Dispute(transactionId [32]byte) (*types.Transaction, error) { return _FastBridge.Contract.Dispute(&_FastBridge.TransactOpts, transactionId) } // Dispute is a paid mutator transaction binding the contract method 0xadd98c70. // // Solidity: function dispute(bytes32 transactionId) returns() func (_FastBridge *FastBridgeTransactorSession) Dispute(transactionId [32]byte) (*types.Transaction, error) { return _FastBridge.Contract.Dispute(&_FastBridge.TransactOpts, transactionId) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_FastBridge *FastBridgeTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _FastBridge.contract.Transact(opts, "grantRole", role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_FastBridge *FastBridgeSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _FastBridge.Contract.GrantRole(&_FastBridge.TransactOpts, role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_FastBridge *FastBridgeTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _FastBridge.Contract.GrantRole(&_FastBridge.TransactOpts, role, account) } // MulticallNoResults is a paid mutator transaction binding the contract method 0x3f61331d. // // Solidity: function multicallNoResults(bytes[] data, bool ignoreReverts) returns() func (_FastBridge *FastBridgeTransactor) MulticallNoResults(opts *bind.TransactOpts, data [][]byte, ignoreReverts bool) (*types.Transaction, error) { return _FastBridge.contract.Transact(opts, "multicallNoResults", data, ignoreReverts) } // MulticallNoResults is a paid mutator transaction binding the contract method 0x3f61331d. // // Solidity: function multicallNoResults(bytes[] data, bool ignoreReverts) returns() func (_FastBridge *FastBridgeSession) MulticallNoResults(data [][]byte, ignoreReverts bool) (*types.Transaction, error) { return _FastBridge.Contract.MulticallNoResults(&_FastBridge.TransactOpts, data, ignoreReverts) } // MulticallNoResults is a paid mutator transaction binding the contract method 0x3f61331d. // // Solidity: function multicallNoResults(bytes[] data, bool ignoreReverts) returns() func (_FastBridge *FastBridgeTransactorSession) MulticallNoResults(data [][]byte, ignoreReverts bool) (*types.Transaction, error) { return _FastBridge.Contract.MulticallNoResults(&_FastBridge.TransactOpts, data, ignoreReverts) } // MulticallWithResults is a paid mutator transaction binding the contract method 0x385c1d2f. // // Solidity: function multicallWithResults(bytes[] data, bool ignoreReverts) returns((bool,bytes)[] results) func (_FastBridge *FastBridgeTransactor) MulticallWithResults(opts *bind.TransactOpts, data [][]byte, ignoreReverts bool) (*types.Transaction, error) { return _FastBridge.contract.Transact(opts, "multicallWithResults", data, ignoreReverts) } // MulticallWithResults is a paid mutator transaction binding the contract method 0x385c1d2f. // // Solidity: function multicallWithResults(bytes[] data, bool ignoreReverts) returns((bool,bytes)[] results) func (_FastBridge *FastBridgeSession) MulticallWithResults(data [][]byte, ignoreReverts bool) (*types.Transaction, error) { return _FastBridge.Contract.MulticallWithResults(&_FastBridge.TransactOpts, data, ignoreReverts) } // MulticallWithResults is a paid mutator transaction binding the contract method 0x385c1d2f. // // Solidity: function multicallWithResults(bytes[] data, bool ignoreReverts) returns((bool,bytes)[] results) func (_FastBridge *FastBridgeTransactorSession) MulticallWithResults(data [][]byte, ignoreReverts bool) (*types.Transaction, error) { return _FastBridge.Contract.MulticallWithResults(&_FastBridge.TransactOpts, data, ignoreReverts) } // Prove is a paid mutator transaction binding the contract method 0x886d36ff. // // Solidity: function prove(bytes request, bytes32 destTxHash) returns() func (_FastBridge *FastBridgeTransactor) Prove(opts *bind.TransactOpts, request []byte, destTxHash [32]byte) (*types.Transaction, error) { return _FastBridge.contract.Transact(opts, "prove", request, destTxHash) } // Prove is a paid mutator transaction binding the contract method 0x886d36ff. // // Solidity: function prove(bytes request, bytes32 destTxHash) returns() func (_FastBridge *FastBridgeSession) Prove(request []byte, destTxHash [32]byte) (*types.Transaction, error) { return _FastBridge.Contract.Prove(&_FastBridge.TransactOpts, request, destTxHash) } // Prove is a paid mutator transaction binding the contract method 0x886d36ff. // // Solidity: function prove(bytes request, bytes32 destTxHash) returns() func (_FastBridge *FastBridgeTransactorSession) Prove(request []byte, destTxHash [32]byte) (*types.Transaction, error) { return _FastBridge.Contract.Prove(&_FastBridge.TransactOpts, request, destTxHash) } // Refund is a paid mutator transaction binding the contract method 0x5eb7d946. // // Solidity: function refund(bytes request) returns() func (_FastBridge *FastBridgeTransactor) Refund(opts *bind.TransactOpts, request []byte) (*types.Transaction, error) { return _FastBridge.contract.Transact(opts, "refund", request) } // Refund is a paid mutator transaction binding the contract method 0x5eb7d946. // // Solidity: function refund(bytes request) returns() func (_FastBridge *FastBridgeSession) Refund(request []byte) (*types.Transaction, error) { return _FastBridge.Contract.Refund(&_FastBridge.TransactOpts, request) } // Refund is a paid mutator transaction binding the contract method 0x5eb7d946. // // Solidity: function refund(bytes request) returns() func (_FastBridge *FastBridgeTransactorSession) Refund(request []byte) (*types.Transaction, error) { return _FastBridge.Contract.Refund(&_FastBridge.TransactOpts, request) } // Relay is a paid mutator transaction binding the contract method 0x8f0d6f17. // // Solidity: function relay(bytes request) payable returns() func (_FastBridge *FastBridgeTransactor) Relay(opts *bind.TransactOpts, request []byte) (*types.Transaction, error) { return _FastBridge.contract.Transact(opts, "relay", request) } // Relay is a paid mutator transaction binding the contract method 0x8f0d6f17. // // Solidity: function relay(bytes request) payable returns() func (_FastBridge *FastBridgeSession) Relay(request []byte) (*types.Transaction, error) { return _FastBridge.Contract.Relay(&_FastBridge.TransactOpts, request) } // Relay is a paid mutator transaction binding the contract method 0x8f0d6f17. // // Solidity: function relay(bytes request) payable returns() func (_FastBridge *FastBridgeTransactorSession) Relay(request []byte) (*types.Transaction, error) { return _FastBridge.Contract.Relay(&_FastBridge.TransactOpts, request) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns() func (_FastBridge *FastBridgeTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, callerConfirmation common.Address) (*types.Transaction, error) { return _FastBridge.contract.Transact(opts, "renounceRole", role, callerConfirmation) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns() func (_FastBridge *FastBridgeSession) RenounceRole(role [32]byte, callerConfirmation common.Address) (*types.Transaction, error) { return _FastBridge.Contract.RenounceRole(&_FastBridge.TransactOpts, role, callerConfirmation) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns() func (_FastBridge *FastBridgeTransactorSession) RenounceRole(role [32]byte, callerConfirmation common.Address) (*types.Transaction, error) { return _FastBridge.Contract.RenounceRole(&_FastBridge.TransactOpts, role, callerConfirmation) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_FastBridge *FastBridgeTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _FastBridge.contract.Transact(opts, "revokeRole", role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_FastBridge *FastBridgeSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _FastBridge.Contract.RevokeRole(&_FastBridge.TransactOpts, role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_FastBridge *FastBridgeTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _FastBridge.Contract.RevokeRole(&_FastBridge.TransactOpts, role, account) } // SetChainGasAmount is a paid mutator transaction binding the contract method 0xb250fe6b. // // Solidity: function setChainGasAmount(uint256 newChainGasAmount) returns() func (_FastBridge *FastBridgeTransactor) SetChainGasAmount(opts *bind.TransactOpts, newChainGasAmount *big.Int) (*types.Transaction, error) { return _FastBridge.contract.Transact(opts, "setChainGasAmount", newChainGasAmount) } // SetChainGasAmount is a paid mutator transaction binding the contract method 0xb250fe6b. // // Solidity: function setChainGasAmount(uint256 newChainGasAmount) returns() func (_FastBridge *FastBridgeSession) SetChainGasAmount(newChainGasAmount *big.Int) (*types.Transaction, error) { return _FastBridge.Contract.SetChainGasAmount(&_FastBridge.TransactOpts, newChainGasAmount) } // SetChainGasAmount is a paid mutator transaction binding the contract method 0xb250fe6b. // // Solidity: function setChainGasAmount(uint256 newChainGasAmount) returns() func (_FastBridge *FastBridgeTransactorSession) SetChainGasAmount(newChainGasAmount *big.Int) (*types.Transaction, error) { return _FastBridge.Contract.SetChainGasAmount(&_FastBridge.TransactOpts, newChainGasAmount) } // SetProtocolFeeRate is a paid mutator transaction binding the contract method 0xb13aa2d6. // // Solidity: function setProtocolFeeRate(uint256 newFeeRate) returns() func (_FastBridge *FastBridgeTransactor) SetProtocolFeeRate(opts *bind.TransactOpts, newFeeRate *big.Int) (*types.Transaction, error) { return _FastBridge.contract.Transact(opts, "setProtocolFeeRate", newFeeRate) } // SetProtocolFeeRate is a paid mutator transaction binding the contract method 0xb13aa2d6. // // Solidity: function setProtocolFeeRate(uint256 newFeeRate) returns() func (_FastBridge *FastBridgeSession) SetProtocolFeeRate(newFeeRate *big.Int) (*types.Transaction, error) { return _FastBridge.Contract.SetProtocolFeeRate(&_FastBridge.TransactOpts, newFeeRate) } // SetProtocolFeeRate is a paid mutator transaction binding the contract method 0xb13aa2d6. // // Solidity: function setProtocolFeeRate(uint256 newFeeRate) returns() func (_FastBridge *FastBridgeTransactorSession) SetProtocolFeeRate(newFeeRate *big.Int) (*types.Transaction, error) { return _FastBridge.Contract.SetProtocolFeeRate(&_FastBridge.TransactOpts, newFeeRate) } // SweepProtocolFees is a paid mutator transaction binding the contract method 0x06f333f2. // // Solidity: function sweepProtocolFees(address token, address recipient) returns() func (_FastBridge *FastBridgeTransactor) SweepProtocolFees(opts *bind.TransactOpts, token common.Address, recipient common.Address) (*types.Transaction, error) { return _FastBridge.contract.Transact(opts, "sweepProtocolFees", token, recipient) } // SweepProtocolFees is a paid mutator transaction binding the contract method 0x06f333f2. // // Solidity: function sweepProtocolFees(address token, address recipient) returns() func (_FastBridge *FastBridgeSession) SweepProtocolFees(token common.Address, recipient common.Address) (*types.Transaction, error) { return _FastBridge.Contract.SweepProtocolFees(&_FastBridge.TransactOpts, token, recipient) } // SweepProtocolFees is a paid mutator transaction binding the contract method 0x06f333f2. // // Solidity: function sweepProtocolFees(address token, address recipient) returns() func (_FastBridge *FastBridgeTransactorSession) SweepProtocolFees(token common.Address, recipient common.Address) (*types.Transaction, error) { return _FastBridge.Contract.SweepProtocolFees(&_FastBridge.TransactOpts, token, recipient) } // FastBridgeBridgeDepositClaimedIterator is returned from FilterBridgeDepositClaimed and is used to iterate over the raw logs and unpacked data for BridgeDepositClaimed events raised by the FastBridge contract. type FastBridgeBridgeDepositClaimedIterator struct { Event *FastBridgeBridgeDepositClaimed // 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 *FastBridgeBridgeDepositClaimedIterator) 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(FastBridgeBridgeDepositClaimed) 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(FastBridgeBridgeDepositClaimed) 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 *FastBridgeBridgeDepositClaimedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *FastBridgeBridgeDepositClaimedIterator) Close() error { it.sub.Unsubscribe() return nil } // FastBridgeBridgeDepositClaimed represents a BridgeDepositClaimed event raised by the FastBridge contract. type FastBridgeBridgeDepositClaimed struct { TransactionId [32]byte Relayer common.Address To common.Address Token common.Address Amount *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterBridgeDepositClaimed is a free log retrieval operation binding the contract event 0x582211c35a2139ac3bbaac74663c6a1f56c6cbb658b41fe11fd45a82074ac678. // // Solidity: event BridgeDepositClaimed(bytes32 indexed transactionId, address indexed relayer, address indexed to, address token, uint256 amount) func (_FastBridge *FastBridgeFilterer) FilterBridgeDepositClaimed(opts *bind.FilterOpts, transactionId [][32]byte, relayer []common.Address, to []common.Address) (*FastBridgeBridgeDepositClaimedIterator, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var relayerRule []interface{} for _, relayerItem := range relayer { relayerRule = append(relayerRule, relayerItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _FastBridge.contract.FilterLogs(opts, "BridgeDepositClaimed", transactionIdRule, relayerRule, toRule) if err != nil { return nil, err } return &FastBridgeBridgeDepositClaimedIterator{contract: _FastBridge.contract, event: "BridgeDepositClaimed", logs: logs, sub: sub}, nil } // WatchBridgeDepositClaimed is a free log subscription operation binding the contract event 0x582211c35a2139ac3bbaac74663c6a1f56c6cbb658b41fe11fd45a82074ac678. // // Solidity: event BridgeDepositClaimed(bytes32 indexed transactionId, address indexed relayer, address indexed to, address token, uint256 amount) func (_FastBridge *FastBridgeFilterer) WatchBridgeDepositClaimed(opts *bind.WatchOpts, sink chan<- *FastBridgeBridgeDepositClaimed, transactionId [][32]byte, relayer []common.Address, to []common.Address) (event.Subscription, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var relayerRule []interface{} for _, relayerItem := range relayer { relayerRule = append(relayerRule, relayerItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _FastBridge.contract.WatchLogs(opts, "BridgeDepositClaimed", transactionIdRule, relayerRule, 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(FastBridgeBridgeDepositClaimed) if err := _FastBridge.contract.UnpackLog(event, "BridgeDepositClaimed", 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 } // ParseBridgeDepositClaimed is a log parse operation binding the contract event 0x582211c35a2139ac3bbaac74663c6a1f56c6cbb658b41fe11fd45a82074ac678. // // Solidity: event BridgeDepositClaimed(bytes32 indexed transactionId, address indexed relayer, address indexed to, address token, uint256 amount) func (_FastBridge *FastBridgeFilterer) ParseBridgeDepositClaimed(log types.Log) (*FastBridgeBridgeDepositClaimed, error) { event := new(FastBridgeBridgeDepositClaimed) if err := _FastBridge.contract.UnpackLog(event, "BridgeDepositClaimed", log); err != nil { return nil, err } event.Raw = log return event, nil } // FastBridgeBridgeDepositRefundedIterator is returned from FilterBridgeDepositRefunded and is used to iterate over the raw logs and unpacked data for BridgeDepositRefunded events raised by the FastBridge contract. type FastBridgeBridgeDepositRefundedIterator struct { Event *FastBridgeBridgeDepositRefunded // 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 *FastBridgeBridgeDepositRefundedIterator) 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(FastBridgeBridgeDepositRefunded) 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(FastBridgeBridgeDepositRefunded) 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 *FastBridgeBridgeDepositRefundedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *FastBridgeBridgeDepositRefundedIterator) Close() error { it.sub.Unsubscribe() return nil } // FastBridgeBridgeDepositRefunded represents a BridgeDepositRefunded event raised by the FastBridge contract. type FastBridgeBridgeDepositRefunded struct { TransactionId [32]byte To common.Address Token common.Address Amount *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterBridgeDepositRefunded is a free log retrieval operation binding the contract event 0xb4c55c0c9bc613519b920e88748090150b890a875d307f21bea7d4fb2e8bc958. // // Solidity: event BridgeDepositRefunded(bytes32 indexed transactionId, address indexed to, address token, uint256 amount) func (_FastBridge *FastBridgeFilterer) FilterBridgeDepositRefunded(opts *bind.FilterOpts, transactionId [][32]byte, to []common.Address) (*FastBridgeBridgeDepositRefundedIterator, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _FastBridge.contract.FilterLogs(opts, "BridgeDepositRefunded", transactionIdRule, toRule) if err != nil { return nil, err } return &FastBridgeBridgeDepositRefundedIterator{contract: _FastBridge.contract, event: "BridgeDepositRefunded", logs: logs, sub: sub}, nil } // WatchBridgeDepositRefunded is a free log subscription operation binding the contract event 0xb4c55c0c9bc613519b920e88748090150b890a875d307f21bea7d4fb2e8bc958. // // Solidity: event BridgeDepositRefunded(bytes32 indexed transactionId, address indexed to, address token, uint256 amount) func (_FastBridge *FastBridgeFilterer) WatchBridgeDepositRefunded(opts *bind.WatchOpts, sink chan<- *FastBridgeBridgeDepositRefunded, transactionId [][32]byte, to []common.Address) (event.Subscription, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _FastBridge.contract.WatchLogs(opts, "BridgeDepositRefunded", transactionIdRule, 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(FastBridgeBridgeDepositRefunded) if err := _FastBridge.contract.UnpackLog(event, "BridgeDepositRefunded", 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 } // ParseBridgeDepositRefunded is a log parse operation binding the contract event 0xb4c55c0c9bc613519b920e88748090150b890a875d307f21bea7d4fb2e8bc958. // // Solidity: event BridgeDepositRefunded(bytes32 indexed transactionId, address indexed to, address token, uint256 amount) func (_FastBridge *FastBridgeFilterer) ParseBridgeDepositRefunded(log types.Log) (*FastBridgeBridgeDepositRefunded, error) { event := new(FastBridgeBridgeDepositRefunded) if err := _FastBridge.contract.UnpackLog(event, "BridgeDepositRefunded", log); err != nil { return nil, err } event.Raw = log return event, nil } // FastBridgeBridgeProofDisputedIterator is returned from FilterBridgeProofDisputed and is used to iterate over the raw logs and unpacked data for BridgeProofDisputed events raised by the FastBridge contract. type FastBridgeBridgeProofDisputedIterator struct { Event *FastBridgeBridgeProofDisputed // 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 *FastBridgeBridgeProofDisputedIterator) 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(FastBridgeBridgeProofDisputed) 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(FastBridgeBridgeProofDisputed) 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 *FastBridgeBridgeProofDisputedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *FastBridgeBridgeProofDisputedIterator) Close() error { it.sub.Unsubscribe() return nil } // FastBridgeBridgeProofDisputed represents a BridgeProofDisputed event raised by the FastBridge contract. type FastBridgeBridgeProofDisputed struct { TransactionId [32]byte Relayer common.Address Raw types.Log // Blockchain specific contextual infos } // FilterBridgeProofDisputed is a free log retrieval operation binding the contract event 0x0695cf1d39b3055dcd0fe02d8b47eaf0d5a13e1996de925de59d0ef9b7f7fad4. // // Solidity: event BridgeProofDisputed(bytes32 indexed transactionId, address indexed relayer) func (_FastBridge *FastBridgeFilterer) FilterBridgeProofDisputed(opts *bind.FilterOpts, transactionId [][32]byte, relayer []common.Address) (*FastBridgeBridgeProofDisputedIterator, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var relayerRule []interface{} for _, relayerItem := range relayer { relayerRule = append(relayerRule, relayerItem) } logs, sub, err := _FastBridge.contract.FilterLogs(opts, "BridgeProofDisputed", transactionIdRule, relayerRule) if err != nil { return nil, err } return &FastBridgeBridgeProofDisputedIterator{contract: _FastBridge.contract, event: "BridgeProofDisputed", logs: logs, sub: sub}, nil } // WatchBridgeProofDisputed is a free log subscription operation binding the contract event 0x0695cf1d39b3055dcd0fe02d8b47eaf0d5a13e1996de925de59d0ef9b7f7fad4. // // Solidity: event BridgeProofDisputed(bytes32 indexed transactionId, address indexed relayer) func (_FastBridge *FastBridgeFilterer) WatchBridgeProofDisputed(opts *bind.WatchOpts, sink chan<- *FastBridgeBridgeProofDisputed, transactionId [][32]byte, relayer []common.Address) (event.Subscription, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var relayerRule []interface{} for _, relayerItem := range relayer { relayerRule = append(relayerRule, relayerItem) } logs, sub, err := _FastBridge.contract.WatchLogs(opts, "BridgeProofDisputed", transactionIdRule, relayerRule) 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(FastBridgeBridgeProofDisputed) if err := _FastBridge.contract.UnpackLog(event, "BridgeProofDisputed", 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 } // ParseBridgeProofDisputed is a log parse operation binding the contract event 0x0695cf1d39b3055dcd0fe02d8b47eaf0d5a13e1996de925de59d0ef9b7f7fad4. // // Solidity: event BridgeProofDisputed(bytes32 indexed transactionId, address indexed relayer) func (_FastBridge *FastBridgeFilterer) ParseBridgeProofDisputed(log types.Log) (*FastBridgeBridgeProofDisputed, error) { event := new(FastBridgeBridgeProofDisputed) if err := _FastBridge.contract.UnpackLog(event, "BridgeProofDisputed", log); err != nil { return nil, err } event.Raw = log return event, nil } // FastBridgeBridgeProofProvidedIterator is returned from FilterBridgeProofProvided and is used to iterate over the raw logs and unpacked data for BridgeProofProvided events raised by the FastBridge contract. type FastBridgeBridgeProofProvidedIterator struct { Event *FastBridgeBridgeProofProvided // 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 *FastBridgeBridgeProofProvidedIterator) 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(FastBridgeBridgeProofProvided) 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(FastBridgeBridgeProofProvided) 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 *FastBridgeBridgeProofProvidedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *FastBridgeBridgeProofProvidedIterator) Close() error { it.sub.Unsubscribe() return nil } // FastBridgeBridgeProofProvided represents a BridgeProofProvided event raised by the FastBridge contract. type FastBridgeBridgeProofProvided struct { TransactionId [32]byte Relayer common.Address TransactionHash [32]byte Raw types.Log // Blockchain specific contextual infos } // FilterBridgeProofProvided is a free log retrieval operation binding the contract event 0x4ac8af8a2cd87193d64dfc7a3b8d9923b714ec528b18725d080aa1299be0c5e4. // // Solidity: event BridgeProofProvided(bytes32 indexed transactionId, address indexed relayer, bytes32 transactionHash) func (_FastBridge *FastBridgeFilterer) FilterBridgeProofProvided(opts *bind.FilterOpts, transactionId [][32]byte, relayer []common.Address) (*FastBridgeBridgeProofProvidedIterator, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var relayerRule []interface{} for _, relayerItem := range relayer { relayerRule = append(relayerRule, relayerItem) } logs, sub, err := _FastBridge.contract.FilterLogs(opts, "BridgeProofProvided", transactionIdRule, relayerRule) if err != nil { return nil, err } return &FastBridgeBridgeProofProvidedIterator{contract: _FastBridge.contract, event: "BridgeProofProvided", logs: logs, sub: sub}, nil } // WatchBridgeProofProvided is a free log subscription operation binding the contract event 0x4ac8af8a2cd87193d64dfc7a3b8d9923b714ec528b18725d080aa1299be0c5e4. // // Solidity: event BridgeProofProvided(bytes32 indexed transactionId, address indexed relayer, bytes32 transactionHash) func (_FastBridge *FastBridgeFilterer) WatchBridgeProofProvided(opts *bind.WatchOpts, sink chan<- *FastBridgeBridgeProofProvided, transactionId [][32]byte, relayer []common.Address) (event.Subscription, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var relayerRule []interface{} for _, relayerItem := range relayer { relayerRule = append(relayerRule, relayerItem) } logs, sub, err := _FastBridge.contract.WatchLogs(opts, "BridgeProofProvided", transactionIdRule, relayerRule) 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(FastBridgeBridgeProofProvided) if err := _FastBridge.contract.UnpackLog(event, "BridgeProofProvided", 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 } // ParseBridgeProofProvided is a log parse operation binding the contract event 0x4ac8af8a2cd87193d64dfc7a3b8d9923b714ec528b18725d080aa1299be0c5e4. // // Solidity: event BridgeProofProvided(bytes32 indexed transactionId, address indexed relayer, bytes32 transactionHash) func (_FastBridge *FastBridgeFilterer) ParseBridgeProofProvided(log types.Log) (*FastBridgeBridgeProofProvided, error) { event := new(FastBridgeBridgeProofProvided) if err := _FastBridge.contract.UnpackLog(event, "BridgeProofProvided", log); err != nil { return nil, err } event.Raw = log return event, nil } // FastBridgeBridgeRelayedIterator is returned from FilterBridgeRelayed and is used to iterate over the raw logs and unpacked data for BridgeRelayed events raised by the FastBridge contract. type FastBridgeBridgeRelayedIterator struct { Event *FastBridgeBridgeRelayed // 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 *FastBridgeBridgeRelayedIterator) 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(FastBridgeBridgeRelayed) 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(FastBridgeBridgeRelayed) 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 *FastBridgeBridgeRelayedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *FastBridgeBridgeRelayedIterator) Close() error { it.sub.Unsubscribe() return nil } // FastBridgeBridgeRelayed represents a BridgeRelayed event raised by the FastBridge contract. type FastBridgeBridgeRelayed struct { TransactionId [32]byte Relayer common.Address To common.Address OriginChainId uint32 OriginToken common.Address DestToken common.Address OriginAmount *big.Int DestAmount *big.Int ChainGasAmount *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterBridgeRelayed is a free log retrieval operation binding the contract event 0xf8ae392d784b1ea5e8881bfa586d81abf07ef4f1e2fc75f7fe51c90f05199a5c. // // Solidity: event BridgeRelayed(bytes32 indexed transactionId, address indexed relayer, address indexed to, uint32 originChainId, address originToken, address destToken, uint256 originAmount, uint256 destAmount, uint256 chainGasAmount) func (_FastBridge *FastBridgeFilterer) FilterBridgeRelayed(opts *bind.FilterOpts, transactionId [][32]byte, relayer []common.Address, to []common.Address) (*FastBridgeBridgeRelayedIterator, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var relayerRule []interface{} for _, relayerItem := range relayer { relayerRule = append(relayerRule, relayerItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _FastBridge.contract.FilterLogs(opts, "BridgeRelayed", transactionIdRule, relayerRule, toRule) if err != nil { return nil, err } return &FastBridgeBridgeRelayedIterator{contract: _FastBridge.contract, event: "BridgeRelayed", logs: logs, sub: sub}, nil } // WatchBridgeRelayed is a free log subscription operation binding the contract event 0xf8ae392d784b1ea5e8881bfa586d81abf07ef4f1e2fc75f7fe51c90f05199a5c. // // Solidity: event BridgeRelayed(bytes32 indexed transactionId, address indexed relayer, address indexed to, uint32 originChainId, address originToken, address destToken, uint256 originAmount, uint256 destAmount, uint256 chainGasAmount) func (_FastBridge *FastBridgeFilterer) WatchBridgeRelayed(opts *bind.WatchOpts, sink chan<- *FastBridgeBridgeRelayed, transactionId [][32]byte, relayer []common.Address, to []common.Address) (event.Subscription, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var relayerRule []interface{} for _, relayerItem := range relayer { relayerRule = append(relayerRule, relayerItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _FastBridge.contract.WatchLogs(opts, "BridgeRelayed", transactionIdRule, relayerRule, 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(FastBridgeBridgeRelayed) if err := _FastBridge.contract.UnpackLog(event, "BridgeRelayed", 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 } // ParseBridgeRelayed is a log parse operation binding the contract event 0xf8ae392d784b1ea5e8881bfa586d81abf07ef4f1e2fc75f7fe51c90f05199a5c. // // Solidity: event BridgeRelayed(bytes32 indexed transactionId, address indexed relayer, address indexed to, uint32 originChainId, address originToken, address destToken, uint256 originAmount, uint256 destAmount, uint256 chainGasAmount) func (_FastBridge *FastBridgeFilterer) ParseBridgeRelayed(log types.Log) (*FastBridgeBridgeRelayed, error) { event := new(FastBridgeBridgeRelayed) if err := _FastBridge.contract.UnpackLog(event, "BridgeRelayed", log); err != nil { return nil, err } event.Raw = log return event, nil } // FastBridgeBridgeRequestedIterator is returned from FilterBridgeRequested and is used to iterate over the raw logs and unpacked data for BridgeRequested events raised by the FastBridge contract. type FastBridgeBridgeRequestedIterator struct { Event *FastBridgeBridgeRequested // 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 *FastBridgeBridgeRequestedIterator) 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(FastBridgeBridgeRequested) 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(FastBridgeBridgeRequested) 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 *FastBridgeBridgeRequestedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *FastBridgeBridgeRequestedIterator) Close() error { it.sub.Unsubscribe() return nil } // FastBridgeBridgeRequested represents a BridgeRequested event raised by the FastBridge contract. type FastBridgeBridgeRequested struct { TransactionId [32]byte Sender common.Address Request []byte DestChainId uint32 OriginToken common.Address DestToken common.Address OriginAmount *big.Int DestAmount *big.Int SendChainGas bool Raw types.Log // Blockchain specific contextual infos } // FilterBridgeRequested is a free log retrieval operation binding the contract event 0x120ea0364f36cdac7983bcfdd55270ca09d7f9b314a2ebc425a3b01ab1d6403a. // // Solidity: event BridgeRequested(bytes32 indexed transactionId, address indexed sender, bytes request, uint32 destChainId, address originToken, address destToken, uint256 originAmount, uint256 destAmount, bool sendChainGas) func (_FastBridge *FastBridgeFilterer) FilterBridgeRequested(opts *bind.FilterOpts, transactionId [][32]byte, sender []common.Address) (*FastBridgeBridgeRequestedIterator, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _FastBridge.contract.FilterLogs(opts, "BridgeRequested", transactionIdRule, senderRule) if err != nil { return nil, err } return &FastBridgeBridgeRequestedIterator{contract: _FastBridge.contract, event: "BridgeRequested", logs: logs, sub: sub}, nil } // WatchBridgeRequested is a free log subscription operation binding the contract event 0x120ea0364f36cdac7983bcfdd55270ca09d7f9b314a2ebc425a3b01ab1d6403a. // // Solidity: event BridgeRequested(bytes32 indexed transactionId, address indexed sender, bytes request, uint32 destChainId, address originToken, address destToken, uint256 originAmount, uint256 destAmount, bool sendChainGas) func (_FastBridge *FastBridgeFilterer) WatchBridgeRequested(opts *bind.WatchOpts, sink chan<- *FastBridgeBridgeRequested, transactionId [][32]byte, sender []common.Address) (event.Subscription, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _FastBridge.contract.WatchLogs(opts, "BridgeRequested", transactionIdRule, senderRule) 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(FastBridgeBridgeRequested) if err := _FastBridge.contract.UnpackLog(event, "BridgeRequested", 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 } // ParseBridgeRequested is a log parse operation binding the contract event 0x120ea0364f36cdac7983bcfdd55270ca09d7f9b314a2ebc425a3b01ab1d6403a. // // Solidity: event BridgeRequested(bytes32 indexed transactionId, address indexed sender, bytes request, uint32 destChainId, address originToken, address destToken, uint256 originAmount, uint256 destAmount, bool sendChainGas) func (_FastBridge *FastBridgeFilterer) ParseBridgeRequested(log types.Log) (*FastBridgeBridgeRequested, error) { event := new(FastBridgeBridgeRequested) if err := _FastBridge.contract.UnpackLog(event, "BridgeRequested", log); err != nil { return nil, err } event.Raw = log return event, nil } // FastBridgeChainGasAmountUpdatedIterator is returned from FilterChainGasAmountUpdated and is used to iterate over the raw logs and unpacked data for ChainGasAmountUpdated events raised by the FastBridge contract. type FastBridgeChainGasAmountUpdatedIterator struct { Event *FastBridgeChainGasAmountUpdated // 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 *FastBridgeChainGasAmountUpdatedIterator) 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(FastBridgeChainGasAmountUpdated) 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(FastBridgeChainGasAmountUpdated) 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 *FastBridgeChainGasAmountUpdatedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *FastBridgeChainGasAmountUpdatedIterator) Close() error { it.sub.Unsubscribe() return nil } // FastBridgeChainGasAmountUpdated represents a ChainGasAmountUpdated event raised by the FastBridge contract. type FastBridgeChainGasAmountUpdated struct { OldChainGasAmount *big.Int NewChainGasAmount *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterChainGasAmountUpdated is a free log retrieval operation binding the contract event 0x5cf09b12f3f56b4c564d51b25b40360af6d795198adb61ae0806a36c294323fa. // // Solidity: event ChainGasAmountUpdated(uint256 oldChainGasAmount, uint256 newChainGasAmount) func (_FastBridge *FastBridgeFilterer) FilterChainGasAmountUpdated(opts *bind.FilterOpts) (*FastBridgeChainGasAmountUpdatedIterator, error) { logs, sub, err := _FastBridge.contract.FilterLogs(opts, "ChainGasAmountUpdated") if err != nil { return nil, err } return &FastBridgeChainGasAmountUpdatedIterator{contract: _FastBridge.contract, event: "ChainGasAmountUpdated", logs: logs, sub: sub}, nil } // WatchChainGasAmountUpdated is a free log subscription operation binding the contract event 0x5cf09b12f3f56b4c564d51b25b40360af6d795198adb61ae0806a36c294323fa. // // Solidity: event ChainGasAmountUpdated(uint256 oldChainGasAmount, uint256 newChainGasAmount) func (_FastBridge *FastBridgeFilterer) WatchChainGasAmountUpdated(opts *bind.WatchOpts, sink chan<- *FastBridgeChainGasAmountUpdated) (event.Subscription, error) { logs, sub, err := _FastBridge.contract.WatchLogs(opts, "ChainGasAmountUpdated") 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(FastBridgeChainGasAmountUpdated) if err := _FastBridge.contract.UnpackLog(event, "ChainGasAmountUpdated", 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 } // ParseChainGasAmountUpdated is a log parse operation binding the contract event 0x5cf09b12f3f56b4c564d51b25b40360af6d795198adb61ae0806a36c294323fa. // // Solidity: event ChainGasAmountUpdated(uint256 oldChainGasAmount, uint256 newChainGasAmount) func (_FastBridge *FastBridgeFilterer) ParseChainGasAmountUpdated(log types.Log) (*FastBridgeChainGasAmountUpdated, error) { event := new(FastBridgeChainGasAmountUpdated) if err := _FastBridge.contract.UnpackLog(event, "ChainGasAmountUpdated", log); err != nil { return nil, err } event.Raw = log return event, nil } // FastBridgeFeeRateUpdatedIterator is returned from FilterFeeRateUpdated and is used to iterate over the raw logs and unpacked data for FeeRateUpdated events raised by the FastBridge contract. type FastBridgeFeeRateUpdatedIterator struct { Event *FastBridgeFeeRateUpdated // 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 *FastBridgeFeeRateUpdatedIterator) 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(FastBridgeFeeRateUpdated) 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(FastBridgeFeeRateUpdated) 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 *FastBridgeFeeRateUpdatedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *FastBridgeFeeRateUpdatedIterator) Close() error { it.sub.Unsubscribe() return nil } // FastBridgeFeeRateUpdated represents a FeeRateUpdated event raised by the FastBridge contract. type FastBridgeFeeRateUpdated struct { OldFeeRate *big.Int NewFeeRate *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterFeeRateUpdated is a free log retrieval operation binding the contract event 0x14914da2bf76024616fbe1859783fcd4dbddcb179b1f3a854949fbf920dcb957. // // Solidity: event FeeRateUpdated(uint256 oldFeeRate, uint256 newFeeRate) func (_FastBridge *FastBridgeFilterer) FilterFeeRateUpdated(opts *bind.FilterOpts) (*FastBridgeFeeRateUpdatedIterator, error) { logs, sub, err := _FastBridge.contract.FilterLogs(opts, "FeeRateUpdated") if err != nil { return nil, err } return &FastBridgeFeeRateUpdatedIterator{contract: _FastBridge.contract, event: "FeeRateUpdated", logs: logs, sub: sub}, nil } // WatchFeeRateUpdated is a free log subscription operation binding the contract event 0x14914da2bf76024616fbe1859783fcd4dbddcb179b1f3a854949fbf920dcb957. // // Solidity: event FeeRateUpdated(uint256 oldFeeRate, uint256 newFeeRate) func (_FastBridge *FastBridgeFilterer) WatchFeeRateUpdated(opts *bind.WatchOpts, sink chan<- *FastBridgeFeeRateUpdated) (event.Subscription, error) { logs, sub, err := _FastBridge.contract.WatchLogs(opts, "FeeRateUpdated") 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(FastBridgeFeeRateUpdated) if err := _FastBridge.contract.UnpackLog(event, "FeeRateUpdated", 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 } // ParseFeeRateUpdated is a log parse operation binding the contract event 0x14914da2bf76024616fbe1859783fcd4dbddcb179b1f3a854949fbf920dcb957. // // Solidity: event FeeRateUpdated(uint256 oldFeeRate, uint256 newFeeRate) func (_FastBridge *FastBridgeFilterer) ParseFeeRateUpdated(log types.Log) (*FastBridgeFeeRateUpdated, error) { event := new(FastBridgeFeeRateUpdated) if err := _FastBridge.contract.UnpackLog(event, "FeeRateUpdated", log); err != nil { return nil, err } event.Raw = log return event, nil } // FastBridgeFeesSweptIterator is returned from FilterFeesSwept and is used to iterate over the raw logs and unpacked data for FeesSwept events raised by the FastBridge contract. type FastBridgeFeesSweptIterator struct { Event *FastBridgeFeesSwept // 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 *FastBridgeFeesSweptIterator) 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(FastBridgeFeesSwept) 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(FastBridgeFeesSwept) 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 *FastBridgeFeesSweptIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *FastBridgeFeesSweptIterator) Close() error { it.sub.Unsubscribe() return nil } // FastBridgeFeesSwept represents a FeesSwept event raised by the FastBridge contract. type FastBridgeFeesSwept struct { Token common.Address Recipient common.Address Amount *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterFeesSwept is a free log retrieval operation binding the contract event 0x244e51bc38c1452fa8aaf487bcb4bca36c2baa3a5fbdb776b1eabd8dc6d277cd. // // Solidity: event FeesSwept(address token, address recipient, uint256 amount) func (_FastBridge *FastBridgeFilterer) FilterFeesSwept(opts *bind.FilterOpts) (*FastBridgeFeesSweptIterator, error) { logs, sub, err := _FastBridge.contract.FilterLogs(opts, "FeesSwept") if err != nil { return nil, err } return &FastBridgeFeesSweptIterator{contract: _FastBridge.contract, event: "FeesSwept", logs: logs, sub: sub}, nil } // WatchFeesSwept is a free log subscription operation binding the contract event 0x244e51bc38c1452fa8aaf487bcb4bca36c2baa3a5fbdb776b1eabd8dc6d277cd. // // Solidity: event FeesSwept(address token, address recipient, uint256 amount) func (_FastBridge *FastBridgeFilterer) WatchFeesSwept(opts *bind.WatchOpts, sink chan<- *FastBridgeFeesSwept) (event.Subscription, error) { logs, sub, err := _FastBridge.contract.WatchLogs(opts, "FeesSwept") 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(FastBridgeFeesSwept) if err := _FastBridge.contract.UnpackLog(event, "FeesSwept", 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 } // ParseFeesSwept is a log parse operation binding the contract event 0x244e51bc38c1452fa8aaf487bcb4bca36c2baa3a5fbdb776b1eabd8dc6d277cd. // // Solidity: event FeesSwept(address token, address recipient, uint256 amount) func (_FastBridge *FastBridgeFilterer) ParseFeesSwept(log types.Log) (*FastBridgeFeesSwept, error) { event := new(FastBridgeFeesSwept) if err := _FastBridge.contract.UnpackLog(event, "FeesSwept", log); err != nil { return nil, err } event.Raw = log return event, nil } // FastBridgeRoleAdminChangedIterator is returned from FilterRoleAdminChanged and is used to iterate over the raw logs and unpacked data for RoleAdminChanged events raised by the FastBridge contract. type FastBridgeRoleAdminChangedIterator struct { Event *FastBridgeRoleAdminChanged // 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 *FastBridgeRoleAdminChangedIterator) 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(FastBridgeRoleAdminChanged) 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(FastBridgeRoleAdminChanged) 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 *FastBridgeRoleAdminChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *FastBridgeRoleAdminChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // FastBridgeRoleAdminChanged represents a RoleAdminChanged event raised by the FastBridge contract. type FastBridgeRoleAdminChanged struct { Role [32]byte PreviousAdminRole [32]byte NewAdminRole [32]byte Raw types.Log // Blockchain specific contextual infos } // FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_FastBridge *FastBridgeFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*FastBridgeRoleAdminChangedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var previousAdminRoleRule []interface{} for _, previousAdminRoleItem := range previousAdminRole { previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) } var newAdminRoleRule []interface{} for _, newAdminRoleItem := range newAdminRole { newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } logs, sub, err := _FastBridge.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) if err != nil { return nil, err } return &FastBridgeRoleAdminChangedIterator{contract: _FastBridge.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil } // WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_FastBridge *FastBridgeFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *FastBridgeRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var previousAdminRoleRule []interface{} for _, previousAdminRoleItem := range previousAdminRole { previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) } var newAdminRoleRule []interface{} for _, newAdminRoleItem := range newAdminRole { newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } logs, sub, err := _FastBridge.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) 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(FastBridgeRoleAdminChanged) if err := _FastBridge.contract.UnpackLog(event, "RoleAdminChanged", 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 } // ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_FastBridge *FastBridgeFilterer) ParseRoleAdminChanged(log types.Log) (*FastBridgeRoleAdminChanged, error) { event := new(FastBridgeRoleAdminChanged) if err := _FastBridge.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil { return nil, err } event.Raw = log return event, nil } // FastBridgeRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the FastBridge contract. type FastBridgeRoleGrantedIterator struct { Event *FastBridgeRoleGranted // 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 *FastBridgeRoleGrantedIterator) 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(FastBridgeRoleGranted) 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(FastBridgeRoleGranted) 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 *FastBridgeRoleGrantedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *FastBridgeRoleGrantedIterator) Close() error { it.sub.Unsubscribe() return nil } // FastBridgeRoleGranted represents a RoleGranted event raised by the FastBridge contract. type FastBridgeRoleGranted struct { Role [32]byte Account common.Address Sender common.Address Raw types.Log // Blockchain specific contextual infos } // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_FastBridge *FastBridgeFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*FastBridgeRoleGrantedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _FastBridge.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) if err != nil { return nil, err } return &FastBridgeRoleGrantedIterator{contract: _FastBridge.contract, event: "RoleGranted", logs: logs, sub: sub}, nil } // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_FastBridge *FastBridgeFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *FastBridgeRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _FastBridge.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) 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(FastBridgeRoleGranted) if err := _FastBridge.contract.UnpackLog(event, "RoleGranted", 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 } // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_FastBridge *FastBridgeFilterer) ParseRoleGranted(log types.Log) (*FastBridgeRoleGranted, error) { event := new(FastBridgeRoleGranted) if err := _FastBridge.contract.UnpackLog(event, "RoleGranted", log); err != nil { return nil, err } event.Raw = log return event, nil } // FastBridgeRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the FastBridge contract. type FastBridgeRoleRevokedIterator struct { Event *FastBridgeRoleRevoked // 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 *FastBridgeRoleRevokedIterator) 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(FastBridgeRoleRevoked) 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(FastBridgeRoleRevoked) 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 *FastBridgeRoleRevokedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *FastBridgeRoleRevokedIterator) Close() error { it.sub.Unsubscribe() return nil } // FastBridgeRoleRevoked represents a RoleRevoked event raised by the FastBridge contract. type FastBridgeRoleRevoked struct { Role [32]byte Account common.Address Sender common.Address Raw types.Log // Blockchain specific contextual infos } // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_FastBridge *FastBridgeFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*FastBridgeRoleRevokedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _FastBridge.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) if err != nil { return nil, err } return &FastBridgeRoleRevokedIterator{contract: _FastBridge.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil } // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_FastBridge *FastBridgeFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *FastBridgeRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _FastBridge.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) 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(FastBridgeRoleRevoked) if err := _FastBridge.contract.UnpackLog(event, "RoleRevoked", 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 } // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_FastBridge *FastBridgeFilterer) ParseRoleRevoked(log types.Log) (*FastBridgeRoleRevoked, error) { event := new(FastBridgeRoleRevoked) if err := _FastBridge.contract.UnpackLog(event, "RoleRevoked", log); err != nil { return nil, err } event.Raw = log return event, nil } // IAccessControlMetaData contains all meta data concerning the IAccessControl contract. var IAccessControlMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "248a9ca3": "getRoleAdmin(bytes32)", "2f2ff15d": "grantRole(bytes32,address)", "91d14854": "hasRole(bytes32,address)", "36568abe": "renounceRole(bytes32,address)", "d547741f": "revokeRole(bytes32,address)", }, } // IAccessControlABI is the input ABI used to generate the binding from. // Deprecated: Use IAccessControlMetaData.ABI instead. var IAccessControlABI = IAccessControlMetaData.ABI // Deprecated: Use IAccessControlMetaData.Sigs instead. // IAccessControlFuncSigs maps the 4-byte function signature to its string representation. var IAccessControlFuncSigs = IAccessControlMetaData.Sigs // IAccessControl is an auto generated Go binding around an Ethereum contract. type IAccessControl struct { IAccessControlCaller // Read-only binding to the contract IAccessControlTransactor // Write-only binding to the contract IAccessControlFilterer // Log filterer for contract events } // IAccessControlCaller is an auto generated read-only Go binding around an Ethereum contract. type IAccessControlCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IAccessControlTransactor is an auto generated write-only Go binding around an Ethereum contract. type IAccessControlTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IAccessControlFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type IAccessControlFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IAccessControlSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IAccessControlSession struct { Contract *IAccessControl // 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 } // IAccessControlCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IAccessControlCallerSession struct { Contract *IAccessControlCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IAccessControlTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IAccessControlTransactorSession struct { Contract *IAccessControlTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IAccessControlRaw is an auto generated low-level Go binding around an Ethereum contract. type IAccessControlRaw struct { Contract *IAccessControl // Generic contract binding to access the raw methods on } // IAccessControlCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IAccessControlCallerRaw struct { Contract *IAccessControlCaller // Generic read-only contract binding to access the raw methods on } // IAccessControlTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IAccessControlTransactorRaw struct { Contract *IAccessControlTransactor // Generic write-only contract binding to access the raw methods on } // NewIAccessControl creates a new instance of IAccessControl, bound to a specific deployed contract. func NewIAccessControl(address common.Address, backend bind.ContractBackend) (*IAccessControl, error) { contract, err := bindIAccessControl(address, backend, backend, backend) if err != nil { return nil, err } return &IAccessControl{IAccessControlCaller: IAccessControlCaller{contract: contract}, IAccessControlTransactor: IAccessControlTransactor{contract: contract}, IAccessControlFilterer: IAccessControlFilterer{contract: contract}}, nil } // NewIAccessControlCaller creates a new read-only instance of IAccessControl, bound to a specific deployed contract. func NewIAccessControlCaller(address common.Address, caller bind.ContractCaller) (*IAccessControlCaller, error) { contract, err := bindIAccessControl(address, caller, nil, nil) if err != nil { return nil, err } return &IAccessControlCaller{contract: contract}, nil } // NewIAccessControlTransactor creates a new write-only instance of IAccessControl, bound to a specific deployed contract. func NewIAccessControlTransactor(address common.Address, transactor bind.ContractTransactor) (*IAccessControlTransactor, error) { contract, err := bindIAccessControl(address, nil, transactor, nil) if err != nil { return nil, err } return &IAccessControlTransactor{contract: contract}, nil } // NewIAccessControlFilterer creates a new log filterer instance of IAccessControl, bound to a specific deployed contract. func NewIAccessControlFilterer(address common.Address, filterer bind.ContractFilterer) (*IAccessControlFilterer, error) { contract, err := bindIAccessControl(address, nil, nil, filterer) if err != nil { return nil, err } return &IAccessControlFilterer{contract: contract}, nil } // bindIAccessControl binds a generic wrapper to an already deployed contract. func bindIAccessControl(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := IAccessControlMetaData.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 (_IAccessControl *IAccessControlRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IAccessControl.Contract.IAccessControlCaller.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 (_IAccessControl *IAccessControlRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IAccessControl.Contract.IAccessControlTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IAccessControl *IAccessControlRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IAccessControl.Contract.IAccessControlTransactor.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 (_IAccessControl *IAccessControlCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IAccessControl.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 (_IAccessControl *IAccessControlTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IAccessControl.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IAccessControl *IAccessControlTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IAccessControl.Contract.contract.Transact(opts, method, params...) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_IAccessControl *IAccessControlCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) { var out []interface{} err := _IAccessControl.contract.Call(opts, &out, "getRoleAdmin", role) if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_IAccessControl *IAccessControlSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { return _IAccessControl.Contract.GetRoleAdmin(&_IAccessControl.CallOpts, role) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_IAccessControl *IAccessControlCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { return _IAccessControl.Contract.GetRoleAdmin(&_IAccessControl.CallOpts, role) } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_IAccessControl *IAccessControlCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) { var out []interface{} err := _IAccessControl.contract.Call(opts, &out, "hasRole", role, account) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_IAccessControl *IAccessControlSession) HasRole(role [32]byte, account common.Address) (bool, error) { return _IAccessControl.Contract.HasRole(&_IAccessControl.CallOpts, role, account) } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_IAccessControl *IAccessControlCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) { return _IAccessControl.Contract.HasRole(&_IAccessControl.CallOpts, role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_IAccessControl *IAccessControlTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControl.contract.Transact(opts, "grantRole", role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_IAccessControl *IAccessControlSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControl.Contract.GrantRole(&_IAccessControl.TransactOpts, role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_IAccessControl *IAccessControlTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControl.Contract.GrantRole(&_IAccessControl.TransactOpts, role, account) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns() func (_IAccessControl *IAccessControlTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, callerConfirmation common.Address) (*types.Transaction, error) { return _IAccessControl.contract.Transact(opts, "renounceRole", role, callerConfirmation) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns() func (_IAccessControl *IAccessControlSession) RenounceRole(role [32]byte, callerConfirmation common.Address) (*types.Transaction, error) { return _IAccessControl.Contract.RenounceRole(&_IAccessControl.TransactOpts, role, callerConfirmation) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns() func (_IAccessControl *IAccessControlTransactorSession) RenounceRole(role [32]byte, callerConfirmation common.Address) (*types.Transaction, error) { return _IAccessControl.Contract.RenounceRole(&_IAccessControl.TransactOpts, role, callerConfirmation) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_IAccessControl *IAccessControlTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControl.contract.Transact(opts, "revokeRole", role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_IAccessControl *IAccessControlSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControl.Contract.RevokeRole(&_IAccessControl.TransactOpts, role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_IAccessControl *IAccessControlTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControl.Contract.RevokeRole(&_IAccessControl.TransactOpts, role, account) } // IAccessControlRoleAdminChangedIterator is returned from FilterRoleAdminChanged and is used to iterate over the raw logs and unpacked data for RoleAdminChanged events raised by the IAccessControl contract. type IAccessControlRoleAdminChangedIterator struct { Event *IAccessControlRoleAdminChanged // 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 *IAccessControlRoleAdminChangedIterator) 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(IAccessControlRoleAdminChanged) 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(IAccessControlRoleAdminChanged) 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 *IAccessControlRoleAdminChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IAccessControlRoleAdminChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // IAccessControlRoleAdminChanged represents a RoleAdminChanged event raised by the IAccessControl contract. type IAccessControlRoleAdminChanged struct { Role [32]byte PreviousAdminRole [32]byte NewAdminRole [32]byte Raw types.Log // Blockchain specific contextual infos } // FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_IAccessControl *IAccessControlFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*IAccessControlRoleAdminChangedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var previousAdminRoleRule []interface{} for _, previousAdminRoleItem := range previousAdminRole { previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) } var newAdminRoleRule []interface{} for _, newAdminRoleItem := range newAdminRole { newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } logs, sub, err := _IAccessControl.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) if err != nil { return nil, err } return &IAccessControlRoleAdminChangedIterator{contract: _IAccessControl.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil } // WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_IAccessControl *IAccessControlFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *IAccessControlRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var previousAdminRoleRule []interface{} for _, previousAdminRoleItem := range previousAdminRole { previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) } var newAdminRoleRule []interface{} for _, newAdminRoleItem := range newAdminRole { newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } logs, sub, err := _IAccessControl.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) 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(IAccessControlRoleAdminChanged) if err := _IAccessControl.contract.UnpackLog(event, "RoleAdminChanged", 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 } // ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_IAccessControl *IAccessControlFilterer) ParseRoleAdminChanged(log types.Log) (*IAccessControlRoleAdminChanged, error) { event := new(IAccessControlRoleAdminChanged) if err := _IAccessControl.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil { return nil, err } event.Raw = log return event, nil } // IAccessControlRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the IAccessControl contract. type IAccessControlRoleGrantedIterator struct { Event *IAccessControlRoleGranted // 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 *IAccessControlRoleGrantedIterator) 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(IAccessControlRoleGranted) 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(IAccessControlRoleGranted) 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 *IAccessControlRoleGrantedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IAccessControlRoleGrantedIterator) Close() error { it.sub.Unsubscribe() return nil } // IAccessControlRoleGranted represents a RoleGranted event raised by the IAccessControl contract. type IAccessControlRoleGranted struct { Role [32]byte Account common.Address Sender common.Address Raw types.Log // Blockchain specific contextual infos } // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControl *IAccessControlFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*IAccessControlRoleGrantedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _IAccessControl.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) if err != nil { return nil, err } return &IAccessControlRoleGrantedIterator{contract: _IAccessControl.contract, event: "RoleGranted", logs: logs, sub: sub}, nil } // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControl *IAccessControlFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *IAccessControlRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _IAccessControl.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) 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(IAccessControlRoleGranted) if err := _IAccessControl.contract.UnpackLog(event, "RoleGranted", 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 } // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControl *IAccessControlFilterer) ParseRoleGranted(log types.Log) (*IAccessControlRoleGranted, error) { event := new(IAccessControlRoleGranted) if err := _IAccessControl.contract.UnpackLog(event, "RoleGranted", log); err != nil { return nil, err } event.Raw = log return event, nil } // IAccessControlRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the IAccessControl contract. type IAccessControlRoleRevokedIterator struct { Event *IAccessControlRoleRevoked // 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 *IAccessControlRoleRevokedIterator) 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(IAccessControlRoleRevoked) 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(IAccessControlRoleRevoked) 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 *IAccessControlRoleRevokedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IAccessControlRoleRevokedIterator) Close() error { it.sub.Unsubscribe() return nil } // IAccessControlRoleRevoked represents a RoleRevoked event raised by the IAccessControl contract. type IAccessControlRoleRevoked struct { Role [32]byte Account common.Address Sender common.Address Raw types.Log // Blockchain specific contextual infos } // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControl *IAccessControlFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*IAccessControlRoleRevokedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _IAccessControl.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) if err != nil { return nil, err } return &IAccessControlRoleRevokedIterator{contract: _IAccessControl.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil } // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControl *IAccessControlFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *IAccessControlRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _IAccessControl.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) 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(IAccessControlRoleRevoked) if err := _IAccessControl.contract.UnpackLog(event, "RoleRevoked", 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 } // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControl *IAccessControlFilterer) ParseRoleRevoked(log types.Log) (*IAccessControlRoleRevoked, error) { event := new(IAccessControlRoleRevoked) if err := _IAccessControl.contract.UnpackLog(event, "RoleRevoked", log); err != nil { return nil, err } event.Raw = log return event, nil } // IAccessControlEnumerableMetaData contains all meta data concerning the IAccessControlEnumerable contract. var IAccessControlEnumerableMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "248a9ca3": "getRoleAdmin(bytes32)", "9010d07c": "getRoleMember(bytes32,uint256)", "ca15c873": "getRoleMemberCount(bytes32)", "2f2ff15d": "grantRole(bytes32,address)", "91d14854": "hasRole(bytes32,address)", "36568abe": "renounceRole(bytes32,address)", "d547741f": "revokeRole(bytes32,address)", }, } // IAccessControlEnumerableABI is the input ABI used to generate the binding from. // Deprecated: Use IAccessControlEnumerableMetaData.ABI instead. var IAccessControlEnumerableABI = IAccessControlEnumerableMetaData.ABI // Deprecated: Use IAccessControlEnumerableMetaData.Sigs instead. // IAccessControlEnumerableFuncSigs maps the 4-byte function signature to its string representation. var IAccessControlEnumerableFuncSigs = IAccessControlEnumerableMetaData.Sigs // IAccessControlEnumerable is an auto generated Go binding around an Ethereum contract. type IAccessControlEnumerable struct { IAccessControlEnumerableCaller // Read-only binding to the contract IAccessControlEnumerableTransactor // Write-only binding to the contract IAccessControlEnumerableFilterer // Log filterer for contract events } // IAccessControlEnumerableCaller is an auto generated read-only Go binding around an Ethereum contract. type IAccessControlEnumerableCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IAccessControlEnumerableTransactor is an auto generated write-only Go binding around an Ethereum contract. type IAccessControlEnumerableTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IAccessControlEnumerableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type IAccessControlEnumerableFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IAccessControlEnumerableSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IAccessControlEnumerableSession struct { Contract *IAccessControlEnumerable // 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 } // IAccessControlEnumerableCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IAccessControlEnumerableCallerSession struct { Contract *IAccessControlEnumerableCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IAccessControlEnumerableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IAccessControlEnumerableTransactorSession struct { Contract *IAccessControlEnumerableTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IAccessControlEnumerableRaw is an auto generated low-level Go binding around an Ethereum contract. type IAccessControlEnumerableRaw struct { Contract *IAccessControlEnumerable // Generic contract binding to access the raw methods on } // IAccessControlEnumerableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IAccessControlEnumerableCallerRaw struct { Contract *IAccessControlEnumerableCaller // Generic read-only contract binding to access the raw methods on } // IAccessControlEnumerableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IAccessControlEnumerableTransactorRaw struct { Contract *IAccessControlEnumerableTransactor // Generic write-only contract binding to access the raw methods on } // NewIAccessControlEnumerable creates a new instance of IAccessControlEnumerable, bound to a specific deployed contract. func NewIAccessControlEnumerable(address common.Address, backend bind.ContractBackend) (*IAccessControlEnumerable, error) { contract, err := bindIAccessControlEnumerable(address, backend, backend, backend) if err != nil { return nil, err } return &IAccessControlEnumerable{IAccessControlEnumerableCaller: IAccessControlEnumerableCaller{contract: contract}, IAccessControlEnumerableTransactor: IAccessControlEnumerableTransactor{contract: contract}, IAccessControlEnumerableFilterer: IAccessControlEnumerableFilterer{contract: contract}}, nil } // NewIAccessControlEnumerableCaller creates a new read-only instance of IAccessControlEnumerable, bound to a specific deployed contract. func NewIAccessControlEnumerableCaller(address common.Address, caller bind.ContractCaller) (*IAccessControlEnumerableCaller, error) { contract, err := bindIAccessControlEnumerable(address, caller, nil, nil) if err != nil { return nil, err } return &IAccessControlEnumerableCaller{contract: contract}, nil } // NewIAccessControlEnumerableTransactor creates a new write-only instance of IAccessControlEnumerable, bound to a specific deployed contract. func NewIAccessControlEnumerableTransactor(address common.Address, transactor bind.ContractTransactor) (*IAccessControlEnumerableTransactor, error) { contract, err := bindIAccessControlEnumerable(address, nil, transactor, nil) if err != nil { return nil, err } return &IAccessControlEnumerableTransactor{contract: contract}, nil } // NewIAccessControlEnumerableFilterer creates a new log filterer instance of IAccessControlEnumerable, bound to a specific deployed contract. func NewIAccessControlEnumerableFilterer(address common.Address, filterer bind.ContractFilterer) (*IAccessControlEnumerableFilterer, error) { contract, err := bindIAccessControlEnumerable(address, nil, nil, filterer) if err != nil { return nil, err } return &IAccessControlEnumerableFilterer{contract: contract}, nil } // bindIAccessControlEnumerable binds a generic wrapper to an already deployed contract. func bindIAccessControlEnumerable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := IAccessControlEnumerableMetaData.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 (_IAccessControlEnumerable *IAccessControlEnumerableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IAccessControlEnumerable.Contract.IAccessControlEnumerableCaller.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 (_IAccessControlEnumerable *IAccessControlEnumerableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IAccessControlEnumerable.Contract.IAccessControlEnumerableTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IAccessControlEnumerable *IAccessControlEnumerableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IAccessControlEnumerable.Contract.IAccessControlEnumerableTransactor.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 (_IAccessControlEnumerable *IAccessControlEnumerableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IAccessControlEnumerable.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 (_IAccessControlEnumerable *IAccessControlEnumerableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IAccessControlEnumerable.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IAccessControlEnumerable *IAccessControlEnumerableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IAccessControlEnumerable.Contract.contract.Transact(opts, method, params...) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_IAccessControlEnumerable *IAccessControlEnumerableCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) { var out []interface{} err := _IAccessControlEnumerable.contract.Call(opts, &out, "getRoleAdmin", role) if err != nil { return *new([32]byte), err } out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_IAccessControlEnumerable *IAccessControlEnumerableSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { return _IAccessControlEnumerable.Contract.GetRoleAdmin(&_IAccessControlEnumerable.CallOpts, role) } // GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. // // Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) func (_IAccessControlEnumerable *IAccessControlEnumerableCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { return _IAccessControlEnumerable.Contract.GetRoleAdmin(&_IAccessControlEnumerable.CallOpts, role) } // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. // // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) func (_IAccessControlEnumerable *IAccessControlEnumerableCaller) GetRoleMember(opts *bind.CallOpts, role [32]byte, index *big.Int) (common.Address, error) { var out []interface{} err := _IAccessControlEnumerable.contract.Call(opts, &out, "getRoleMember", role, index) if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. // // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) func (_IAccessControlEnumerable *IAccessControlEnumerableSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) { return _IAccessControlEnumerable.Contract.GetRoleMember(&_IAccessControlEnumerable.CallOpts, role, index) } // GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c. // // Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address) func (_IAccessControlEnumerable *IAccessControlEnumerableCallerSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error) { return _IAccessControlEnumerable.Contract.GetRoleMember(&_IAccessControlEnumerable.CallOpts, role, index) } // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. // // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) func (_IAccessControlEnumerable *IAccessControlEnumerableCaller) GetRoleMemberCount(opts *bind.CallOpts, role [32]byte) (*big.Int, error) { var out []interface{} err := _IAccessControlEnumerable.contract.Call(opts, &out, "getRoleMemberCount", role) if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. // // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) func (_IAccessControlEnumerable *IAccessControlEnumerableSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) { return _IAccessControlEnumerable.Contract.GetRoleMemberCount(&_IAccessControlEnumerable.CallOpts, role) } // GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873. // // Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256) func (_IAccessControlEnumerable *IAccessControlEnumerableCallerSession) GetRoleMemberCount(role [32]byte) (*big.Int, error) { return _IAccessControlEnumerable.Contract.GetRoleMemberCount(&_IAccessControlEnumerable.CallOpts, role) } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_IAccessControlEnumerable *IAccessControlEnumerableCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) { var out []interface{} err := _IAccessControlEnumerable.contract.Call(opts, &out, "hasRole", role, account) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_IAccessControlEnumerable *IAccessControlEnumerableSession) HasRole(role [32]byte, account common.Address) (bool, error) { return _IAccessControlEnumerable.Contract.HasRole(&_IAccessControlEnumerable.CallOpts, role, account) } // HasRole is a free data retrieval call binding the contract method 0x91d14854. // // Solidity: function hasRole(bytes32 role, address account) view returns(bool) func (_IAccessControlEnumerable *IAccessControlEnumerableCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) { return _IAccessControlEnumerable.Contract.HasRole(&_IAccessControlEnumerable.CallOpts, role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_IAccessControlEnumerable *IAccessControlEnumerableTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControlEnumerable.contract.Transact(opts, "grantRole", role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_IAccessControlEnumerable *IAccessControlEnumerableSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControlEnumerable.Contract.GrantRole(&_IAccessControlEnumerable.TransactOpts, role, account) } // GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. // // Solidity: function grantRole(bytes32 role, address account) returns() func (_IAccessControlEnumerable *IAccessControlEnumerableTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControlEnumerable.Contract.GrantRole(&_IAccessControlEnumerable.TransactOpts, role, account) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns() func (_IAccessControlEnumerable *IAccessControlEnumerableTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, callerConfirmation common.Address) (*types.Transaction, error) { return _IAccessControlEnumerable.contract.Transact(opts, "renounceRole", role, callerConfirmation) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns() func (_IAccessControlEnumerable *IAccessControlEnumerableSession) RenounceRole(role [32]byte, callerConfirmation common.Address) (*types.Transaction, error) { return _IAccessControlEnumerable.Contract.RenounceRole(&_IAccessControlEnumerable.TransactOpts, role, callerConfirmation) } // RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. // // Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns() func (_IAccessControlEnumerable *IAccessControlEnumerableTransactorSession) RenounceRole(role [32]byte, callerConfirmation common.Address) (*types.Transaction, error) { return _IAccessControlEnumerable.Contract.RenounceRole(&_IAccessControlEnumerable.TransactOpts, role, callerConfirmation) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_IAccessControlEnumerable *IAccessControlEnumerableTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControlEnumerable.contract.Transact(opts, "revokeRole", role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_IAccessControlEnumerable *IAccessControlEnumerableSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControlEnumerable.Contract.RevokeRole(&_IAccessControlEnumerable.TransactOpts, role, account) } // RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. // // Solidity: function revokeRole(bytes32 role, address account) returns() func (_IAccessControlEnumerable *IAccessControlEnumerableTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { return _IAccessControlEnumerable.Contract.RevokeRole(&_IAccessControlEnumerable.TransactOpts, role, account) } // IAccessControlEnumerableRoleAdminChangedIterator is returned from FilterRoleAdminChanged and is used to iterate over the raw logs and unpacked data for RoleAdminChanged events raised by the IAccessControlEnumerable contract. type IAccessControlEnumerableRoleAdminChangedIterator struct { Event *IAccessControlEnumerableRoleAdminChanged // 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 *IAccessControlEnumerableRoleAdminChangedIterator) 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(IAccessControlEnumerableRoleAdminChanged) 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(IAccessControlEnumerableRoleAdminChanged) 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 *IAccessControlEnumerableRoleAdminChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IAccessControlEnumerableRoleAdminChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // IAccessControlEnumerableRoleAdminChanged represents a RoleAdminChanged event raised by the IAccessControlEnumerable contract. type IAccessControlEnumerableRoleAdminChanged struct { Role [32]byte PreviousAdminRole [32]byte NewAdminRole [32]byte Raw types.Log // Blockchain specific contextual infos } // FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*IAccessControlEnumerableRoleAdminChangedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var previousAdminRoleRule []interface{} for _, previousAdminRoleItem := range previousAdminRole { previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) } var newAdminRoleRule []interface{} for _, newAdminRoleItem := range newAdminRole { newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } logs, sub, err := _IAccessControlEnumerable.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) if err != nil { return nil, err } return &IAccessControlEnumerableRoleAdminChangedIterator{contract: _IAccessControlEnumerable.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil } // WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *IAccessControlEnumerableRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var previousAdminRoleRule []interface{} for _, previousAdminRoleItem := range previousAdminRole { previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) } var newAdminRoleRule []interface{} for _, newAdminRoleItem := range newAdminRole { newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) } logs, sub, err := _IAccessControlEnumerable.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) 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(IAccessControlEnumerableRoleAdminChanged) if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleAdminChanged", 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 } // ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. // // Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) ParseRoleAdminChanged(log types.Log) (*IAccessControlEnumerableRoleAdminChanged, error) { event := new(IAccessControlEnumerableRoleAdminChanged) if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil { return nil, err } event.Raw = log return event, nil } // IAccessControlEnumerableRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the IAccessControlEnumerable contract. type IAccessControlEnumerableRoleGrantedIterator struct { Event *IAccessControlEnumerableRoleGranted // 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 *IAccessControlEnumerableRoleGrantedIterator) 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(IAccessControlEnumerableRoleGranted) 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(IAccessControlEnumerableRoleGranted) 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 *IAccessControlEnumerableRoleGrantedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IAccessControlEnumerableRoleGrantedIterator) Close() error { it.sub.Unsubscribe() return nil } // IAccessControlEnumerableRoleGranted represents a RoleGranted event raised by the IAccessControlEnumerable contract. type IAccessControlEnumerableRoleGranted struct { Role [32]byte Account common.Address Sender common.Address Raw types.Log // Blockchain specific contextual infos } // FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*IAccessControlEnumerableRoleGrantedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _IAccessControlEnumerable.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) if err != nil { return nil, err } return &IAccessControlEnumerableRoleGrantedIterator{contract: _IAccessControlEnumerable.contract, event: "RoleGranted", logs: logs, sub: sub}, nil } // WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *IAccessControlEnumerableRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _IAccessControlEnumerable.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) 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(IAccessControlEnumerableRoleGranted) if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleGranted", 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 } // ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. // // Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) ParseRoleGranted(log types.Log) (*IAccessControlEnumerableRoleGranted, error) { event := new(IAccessControlEnumerableRoleGranted) if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleGranted", log); err != nil { return nil, err } event.Raw = log return event, nil } // IAccessControlEnumerableRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the IAccessControlEnumerable contract. type IAccessControlEnumerableRoleRevokedIterator struct { Event *IAccessControlEnumerableRoleRevoked // 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 *IAccessControlEnumerableRoleRevokedIterator) 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(IAccessControlEnumerableRoleRevoked) 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(IAccessControlEnumerableRoleRevoked) 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 *IAccessControlEnumerableRoleRevokedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IAccessControlEnumerableRoleRevokedIterator) Close() error { it.sub.Unsubscribe() return nil } // IAccessControlEnumerableRoleRevoked represents a RoleRevoked event raised by the IAccessControlEnumerable contract. type IAccessControlEnumerableRoleRevoked struct { Role [32]byte Account common.Address Sender common.Address Raw types.Log // Blockchain specific contextual infos } // FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*IAccessControlEnumerableRoleRevokedIterator, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _IAccessControlEnumerable.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) if err != nil { return nil, err } return &IAccessControlEnumerableRoleRevokedIterator{contract: _IAccessControlEnumerable.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil } // WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *IAccessControlEnumerableRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { var roleRule []interface{} for _, roleItem := range role { roleRule = append(roleRule, roleItem) } var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _IAccessControlEnumerable.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) 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(IAccessControlEnumerableRoleRevoked) if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleRevoked", 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 } // ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. // // Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) func (_IAccessControlEnumerable *IAccessControlEnumerableFilterer) ParseRoleRevoked(log types.Log) (*IAccessControlEnumerableRoleRevoked, error) { event := new(IAccessControlEnumerableRoleRevoked) if err := _IAccessControlEnumerable.contract.UnpackLog(event, "RoleRevoked", log); err != nil { return nil, err } event.Raw = log return event, nil } // IAdminMetaData contains all meta data concerning the IAdmin contract. var IAdminMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldChainGasAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newChainGasAmount\",\"type\":\"uint256\"}],\"name\":\"ChainGasAmountUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldFeeRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newFeeRate\",\"type\":\"uint256\"}],\"name\":\"FeeRateUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"FeesSwept\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newChainGasAmount\",\"type\":\"uint256\"}],\"name\":\"setChainGasAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newFeeRate\",\"type\":\"uint256\"}],\"name\":\"setProtocolFeeRate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"sweepProtocolFees\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "b250fe6b": "setChainGasAmount(uint256)", "b13aa2d6": "setProtocolFeeRate(uint256)", "06f333f2": "sweepProtocolFees(address,address)", }, } // IAdminABI is the input ABI used to generate the binding from. // Deprecated: Use IAdminMetaData.ABI instead. var IAdminABI = IAdminMetaData.ABI // Deprecated: Use IAdminMetaData.Sigs instead. // IAdminFuncSigs maps the 4-byte function signature to its string representation. var IAdminFuncSigs = IAdminMetaData.Sigs // IAdmin is an auto generated Go binding around an Ethereum contract. type IAdmin struct { IAdminCaller // Read-only binding to the contract IAdminTransactor // Write-only binding to the contract IAdminFilterer // Log filterer for contract events } // IAdminCaller is an auto generated read-only Go binding around an Ethereum contract. type IAdminCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IAdminTransactor is an auto generated write-only Go binding around an Ethereum contract. type IAdminTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IAdminFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type IAdminFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IAdminSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IAdminSession struct { Contract *IAdmin // 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 } // IAdminCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IAdminCallerSession struct { Contract *IAdminCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IAdminTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IAdminTransactorSession struct { Contract *IAdminTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IAdminRaw is an auto generated low-level Go binding around an Ethereum contract. type IAdminRaw struct { Contract *IAdmin // Generic contract binding to access the raw methods on } // IAdminCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IAdminCallerRaw struct { Contract *IAdminCaller // Generic read-only contract binding to access the raw methods on } // IAdminTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IAdminTransactorRaw struct { Contract *IAdminTransactor // Generic write-only contract binding to access the raw methods on } // NewIAdmin creates a new instance of IAdmin, bound to a specific deployed contract. func NewIAdmin(address common.Address, backend bind.ContractBackend) (*IAdmin, error) { contract, err := bindIAdmin(address, backend, backend, backend) if err != nil { return nil, err } return &IAdmin{IAdminCaller: IAdminCaller{contract: contract}, IAdminTransactor: IAdminTransactor{contract: contract}, IAdminFilterer: IAdminFilterer{contract: contract}}, nil } // NewIAdminCaller creates a new read-only instance of IAdmin, bound to a specific deployed contract. func NewIAdminCaller(address common.Address, caller bind.ContractCaller) (*IAdminCaller, error) { contract, err := bindIAdmin(address, caller, nil, nil) if err != nil { return nil, err } return &IAdminCaller{contract: contract}, nil } // NewIAdminTransactor creates a new write-only instance of IAdmin, bound to a specific deployed contract. func NewIAdminTransactor(address common.Address, transactor bind.ContractTransactor) (*IAdminTransactor, error) { contract, err := bindIAdmin(address, nil, transactor, nil) if err != nil { return nil, err } return &IAdminTransactor{contract: contract}, nil } // NewIAdminFilterer creates a new log filterer instance of IAdmin, bound to a specific deployed contract. func NewIAdminFilterer(address common.Address, filterer bind.ContractFilterer) (*IAdminFilterer, error) { contract, err := bindIAdmin(address, nil, nil, filterer) if err != nil { return nil, err } return &IAdminFilterer{contract: contract}, nil } // bindIAdmin binds a generic wrapper to an already deployed contract. func bindIAdmin(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := IAdminMetaData.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 (_IAdmin *IAdminRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IAdmin.Contract.IAdminCaller.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 (_IAdmin *IAdminRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IAdmin.Contract.IAdminTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IAdmin *IAdminRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IAdmin.Contract.IAdminTransactor.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 (_IAdmin *IAdminCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IAdmin.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 (_IAdmin *IAdminTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IAdmin.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IAdmin *IAdminTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IAdmin.Contract.contract.Transact(opts, method, params...) } // SetChainGasAmount is a paid mutator transaction binding the contract method 0xb250fe6b. // // Solidity: function setChainGasAmount(uint256 newChainGasAmount) returns() func (_IAdmin *IAdminTransactor) SetChainGasAmount(opts *bind.TransactOpts, newChainGasAmount *big.Int) (*types.Transaction, error) { return _IAdmin.contract.Transact(opts, "setChainGasAmount", newChainGasAmount) } // SetChainGasAmount is a paid mutator transaction binding the contract method 0xb250fe6b. // // Solidity: function setChainGasAmount(uint256 newChainGasAmount) returns() func (_IAdmin *IAdminSession) SetChainGasAmount(newChainGasAmount *big.Int) (*types.Transaction, error) { return _IAdmin.Contract.SetChainGasAmount(&_IAdmin.TransactOpts, newChainGasAmount) } // SetChainGasAmount is a paid mutator transaction binding the contract method 0xb250fe6b. // // Solidity: function setChainGasAmount(uint256 newChainGasAmount) returns() func (_IAdmin *IAdminTransactorSession) SetChainGasAmount(newChainGasAmount *big.Int) (*types.Transaction, error) { return _IAdmin.Contract.SetChainGasAmount(&_IAdmin.TransactOpts, newChainGasAmount) } // SetProtocolFeeRate is a paid mutator transaction binding the contract method 0xb13aa2d6. // // Solidity: function setProtocolFeeRate(uint256 newFeeRate) returns() func (_IAdmin *IAdminTransactor) SetProtocolFeeRate(opts *bind.TransactOpts, newFeeRate *big.Int) (*types.Transaction, error) { return _IAdmin.contract.Transact(opts, "setProtocolFeeRate", newFeeRate) } // SetProtocolFeeRate is a paid mutator transaction binding the contract method 0xb13aa2d6. // // Solidity: function setProtocolFeeRate(uint256 newFeeRate) returns() func (_IAdmin *IAdminSession) SetProtocolFeeRate(newFeeRate *big.Int) (*types.Transaction, error) { return _IAdmin.Contract.SetProtocolFeeRate(&_IAdmin.TransactOpts, newFeeRate) } // SetProtocolFeeRate is a paid mutator transaction binding the contract method 0xb13aa2d6. // // Solidity: function setProtocolFeeRate(uint256 newFeeRate) returns() func (_IAdmin *IAdminTransactorSession) SetProtocolFeeRate(newFeeRate *big.Int) (*types.Transaction, error) { return _IAdmin.Contract.SetProtocolFeeRate(&_IAdmin.TransactOpts, newFeeRate) } // SweepProtocolFees is a paid mutator transaction binding the contract method 0x06f333f2. // // Solidity: function sweepProtocolFees(address token, address recipient) returns() func (_IAdmin *IAdminTransactor) SweepProtocolFees(opts *bind.TransactOpts, token common.Address, recipient common.Address) (*types.Transaction, error) { return _IAdmin.contract.Transact(opts, "sweepProtocolFees", token, recipient) } // SweepProtocolFees is a paid mutator transaction binding the contract method 0x06f333f2. // // Solidity: function sweepProtocolFees(address token, address recipient) returns() func (_IAdmin *IAdminSession) SweepProtocolFees(token common.Address, recipient common.Address) (*types.Transaction, error) { return _IAdmin.Contract.SweepProtocolFees(&_IAdmin.TransactOpts, token, recipient) } // SweepProtocolFees is a paid mutator transaction binding the contract method 0x06f333f2. // // Solidity: function sweepProtocolFees(address token, address recipient) returns() func (_IAdmin *IAdminTransactorSession) SweepProtocolFees(token common.Address, recipient common.Address) (*types.Transaction, error) { return _IAdmin.Contract.SweepProtocolFees(&_IAdmin.TransactOpts, token, recipient) } // IAdminChainGasAmountUpdatedIterator is returned from FilterChainGasAmountUpdated and is used to iterate over the raw logs and unpacked data for ChainGasAmountUpdated events raised by the IAdmin contract. type IAdminChainGasAmountUpdatedIterator struct { Event *IAdminChainGasAmountUpdated // 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 *IAdminChainGasAmountUpdatedIterator) 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(IAdminChainGasAmountUpdated) 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(IAdminChainGasAmountUpdated) 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 *IAdminChainGasAmountUpdatedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IAdminChainGasAmountUpdatedIterator) Close() error { it.sub.Unsubscribe() return nil } // IAdminChainGasAmountUpdated represents a ChainGasAmountUpdated event raised by the IAdmin contract. type IAdminChainGasAmountUpdated struct { OldChainGasAmount *big.Int NewChainGasAmount *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterChainGasAmountUpdated is a free log retrieval operation binding the contract event 0x5cf09b12f3f56b4c564d51b25b40360af6d795198adb61ae0806a36c294323fa. // // Solidity: event ChainGasAmountUpdated(uint256 oldChainGasAmount, uint256 newChainGasAmount) func (_IAdmin *IAdminFilterer) FilterChainGasAmountUpdated(opts *bind.FilterOpts) (*IAdminChainGasAmountUpdatedIterator, error) { logs, sub, err := _IAdmin.contract.FilterLogs(opts, "ChainGasAmountUpdated") if err != nil { return nil, err } return &IAdminChainGasAmountUpdatedIterator{contract: _IAdmin.contract, event: "ChainGasAmountUpdated", logs: logs, sub: sub}, nil } // WatchChainGasAmountUpdated is a free log subscription operation binding the contract event 0x5cf09b12f3f56b4c564d51b25b40360af6d795198adb61ae0806a36c294323fa. // // Solidity: event ChainGasAmountUpdated(uint256 oldChainGasAmount, uint256 newChainGasAmount) func (_IAdmin *IAdminFilterer) WatchChainGasAmountUpdated(opts *bind.WatchOpts, sink chan<- *IAdminChainGasAmountUpdated) (event.Subscription, error) { logs, sub, err := _IAdmin.contract.WatchLogs(opts, "ChainGasAmountUpdated") 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(IAdminChainGasAmountUpdated) if err := _IAdmin.contract.UnpackLog(event, "ChainGasAmountUpdated", 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 } // ParseChainGasAmountUpdated is a log parse operation binding the contract event 0x5cf09b12f3f56b4c564d51b25b40360af6d795198adb61ae0806a36c294323fa. // // Solidity: event ChainGasAmountUpdated(uint256 oldChainGasAmount, uint256 newChainGasAmount) func (_IAdmin *IAdminFilterer) ParseChainGasAmountUpdated(log types.Log) (*IAdminChainGasAmountUpdated, error) { event := new(IAdminChainGasAmountUpdated) if err := _IAdmin.contract.UnpackLog(event, "ChainGasAmountUpdated", log); err != nil { return nil, err } event.Raw = log return event, nil } // IAdminFeeRateUpdatedIterator is returned from FilterFeeRateUpdated and is used to iterate over the raw logs and unpacked data for FeeRateUpdated events raised by the IAdmin contract. type IAdminFeeRateUpdatedIterator struct { Event *IAdminFeeRateUpdated // 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 *IAdminFeeRateUpdatedIterator) 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(IAdminFeeRateUpdated) 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(IAdminFeeRateUpdated) 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 *IAdminFeeRateUpdatedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IAdminFeeRateUpdatedIterator) Close() error { it.sub.Unsubscribe() return nil } // IAdminFeeRateUpdated represents a FeeRateUpdated event raised by the IAdmin contract. type IAdminFeeRateUpdated struct { OldFeeRate *big.Int NewFeeRate *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterFeeRateUpdated is a free log retrieval operation binding the contract event 0x14914da2bf76024616fbe1859783fcd4dbddcb179b1f3a854949fbf920dcb957. // // Solidity: event FeeRateUpdated(uint256 oldFeeRate, uint256 newFeeRate) func (_IAdmin *IAdminFilterer) FilterFeeRateUpdated(opts *bind.FilterOpts) (*IAdminFeeRateUpdatedIterator, error) { logs, sub, err := _IAdmin.contract.FilterLogs(opts, "FeeRateUpdated") if err != nil { return nil, err } return &IAdminFeeRateUpdatedIterator{contract: _IAdmin.contract, event: "FeeRateUpdated", logs: logs, sub: sub}, nil } // WatchFeeRateUpdated is a free log subscription operation binding the contract event 0x14914da2bf76024616fbe1859783fcd4dbddcb179b1f3a854949fbf920dcb957. // // Solidity: event FeeRateUpdated(uint256 oldFeeRate, uint256 newFeeRate) func (_IAdmin *IAdminFilterer) WatchFeeRateUpdated(opts *bind.WatchOpts, sink chan<- *IAdminFeeRateUpdated) (event.Subscription, error) { logs, sub, err := _IAdmin.contract.WatchLogs(opts, "FeeRateUpdated") 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(IAdminFeeRateUpdated) if err := _IAdmin.contract.UnpackLog(event, "FeeRateUpdated", 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 } // ParseFeeRateUpdated is a log parse operation binding the contract event 0x14914da2bf76024616fbe1859783fcd4dbddcb179b1f3a854949fbf920dcb957. // // Solidity: event FeeRateUpdated(uint256 oldFeeRate, uint256 newFeeRate) func (_IAdmin *IAdminFilterer) ParseFeeRateUpdated(log types.Log) (*IAdminFeeRateUpdated, error) { event := new(IAdminFeeRateUpdated) if err := _IAdmin.contract.UnpackLog(event, "FeeRateUpdated", log); err != nil { return nil, err } event.Raw = log return event, nil } // IAdminFeesSweptIterator is returned from FilterFeesSwept and is used to iterate over the raw logs and unpacked data for FeesSwept events raised by the IAdmin contract. type IAdminFeesSweptIterator struct { Event *IAdminFeesSwept // 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 *IAdminFeesSweptIterator) 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(IAdminFeesSwept) 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(IAdminFeesSwept) 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 *IAdminFeesSweptIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IAdminFeesSweptIterator) Close() error { it.sub.Unsubscribe() return nil } // IAdminFeesSwept represents a FeesSwept event raised by the IAdmin contract. type IAdminFeesSwept struct { Token common.Address Recipient common.Address Amount *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterFeesSwept is a free log retrieval operation binding the contract event 0x244e51bc38c1452fa8aaf487bcb4bca36c2baa3a5fbdb776b1eabd8dc6d277cd. // // Solidity: event FeesSwept(address token, address recipient, uint256 amount) func (_IAdmin *IAdminFilterer) FilterFeesSwept(opts *bind.FilterOpts) (*IAdminFeesSweptIterator, error) { logs, sub, err := _IAdmin.contract.FilterLogs(opts, "FeesSwept") if err != nil { return nil, err } return &IAdminFeesSweptIterator{contract: _IAdmin.contract, event: "FeesSwept", logs: logs, sub: sub}, nil } // WatchFeesSwept is a free log subscription operation binding the contract event 0x244e51bc38c1452fa8aaf487bcb4bca36c2baa3a5fbdb776b1eabd8dc6d277cd. // // Solidity: event FeesSwept(address token, address recipient, uint256 amount) func (_IAdmin *IAdminFilterer) WatchFeesSwept(opts *bind.WatchOpts, sink chan<- *IAdminFeesSwept) (event.Subscription, error) { logs, sub, err := _IAdmin.contract.WatchLogs(opts, "FeesSwept") 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(IAdminFeesSwept) if err := _IAdmin.contract.UnpackLog(event, "FeesSwept", 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 } // ParseFeesSwept is a log parse operation binding the contract event 0x244e51bc38c1452fa8aaf487bcb4bca36c2baa3a5fbdb776b1eabd8dc6d277cd. // // Solidity: event FeesSwept(address token, address recipient, uint256 amount) func (_IAdmin *IAdminFilterer) ParseFeesSwept(log types.Log) (*IAdminFeesSwept, error) { event := new(IAdminFeesSwept) if err := _IAdmin.contract.UnpackLog(event, "FeesSwept", log); err != nil { return nil, err } event.Raw = log return event, nil } // IERC165MetaData contains all meta data concerning the IERC165 contract. var IERC165MetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", Sigs: map[string]string{ "01ffc9a7": "supportsInterface(bytes4)", }, } // IERC165ABI is the input ABI used to generate the binding from. // Deprecated: Use IERC165MetaData.ABI instead. var IERC165ABI = IERC165MetaData.ABI // Deprecated: Use IERC165MetaData.Sigs instead. // IERC165FuncSigs maps the 4-byte function signature to its string representation. var IERC165FuncSigs = IERC165MetaData.Sigs // IERC165 is an auto generated Go binding around an Ethereum contract. type IERC165 struct { IERC165Caller // Read-only binding to the contract IERC165Transactor // Write-only binding to the contract IERC165Filterer // Log filterer for contract events } // IERC165Caller is an auto generated read-only Go binding around an Ethereum contract. type IERC165Caller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC165Transactor is an auto generated write-only Go binding around an Ethereum contract. type IERC165Transactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC165Filterer is an auto generated log filtering Go binding around an Ethereum contract events. type IERC165Filterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC165Session is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IERC165Session struct { Contract *IERC165 // 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 } // IERC165CallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IERC165CallerSession struct { Contract *IERC165Caller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IERC165TransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IERC165TransactorSession struct { Contract *IERC165Transactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC165Raw is an auto generated low-level Go binding around an Ethereum contract. type IERC165Raw struct { Contract *IERC165 // Generic contract binding to access the raw methods on } // IERC165CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IERC165CallerRaw struct { Contract *IERC165Caller // Generic read-only contract binding to access the raw methods on } // IERC165TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IERC165TransactorRaw struct { Contract *IERC165Transactor // Generic write-only contract binding to access the raw methods on } // NewIERC165 creates a new instance of IERC165, bound to a specific deployed contract. func NewIERC165(address common.Address, backend bind.ContractBackend) (*IERC165, error) { contract, err := bindIERC165(address, backend, backend, backend) if err != nil { return nil, err } return &IERC165{IERC165Caller: IERC165Caller{contract: contract}, IERC165Transactor: IERC165Transactor{contract: contract}, IERC165Filterer: IERC165Filterer{contract: contract}}, nil } // NewIERC165Caller creates a new read-only instance of IERC165, bound to a specific deployed contract. func NewIERC165Caller(address common.Address, caller bind.ContractCaller) (*IERC165Caller, error) { contract, err := bindIERC165(address, caller, nil, nil) if err != nil { return nil, err } return &IERC165Caller{contract: contract}, nil } // NewIERC165Transactor creates a new write-only instance of IERC165, bound to a specific deployed contract. func NewIERC165Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC165Transactor, error) { contract, err := bindIERC165(address, nil, transactor, nil) if err != nil { return nil, err } return &IERC165Transactor{contract: contract}, nil } // NewIERC165Filterer creates a new log filterer instance of IERC165, bound to a specific deployed contract. func NewIERC165Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC165Filterer, error) { contract, err := bindIERC165(address, nil, nil, filterer) if err != nil { return nil, err } return &IERC165Filterer{contract: contract}, nil } // bindIERC165 binds a generic wrapper to an already deployed contract. func bindIERC165(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := IERC165MetaData.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 (_IERC165 *IERC165Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC165.Contract.IERC165Caller.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 (_IERC165 *IERC165Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC165.Contract.IERC165Transactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC165 *IERC165Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC165.Contract.IERC165Transactor.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 (_IERC165 *IERC165CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC165.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 (_IERC165 *IERC165TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC165.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC165 *IERC165TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC165.Contract.contract.Transact(opts, method, params...) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC165 *IERC165Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var out []interface{} err := _IERC165.contract.Call(opts, &out, "supportsInterface", interfaceId) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC165 *IERC165Session) SupportsInterface(interfaceId [4]byte) (bool, error) { return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) func (_IERC165 *IERC165CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceId) } // IERC20MetaData contains all meta data concerning the IERC20 contract. var IERC20MetaData = &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\":\"value\",\"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\":\"value\",\"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\":\"value\",\"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)", }, } // IERC20ABI is the input ABI used to generate the binding from. // Deprecated: Use IERC20MetaData.ABI instead. var IERC20ABI = IERC20MetaData.ABI // Deprecated: Use IERC20MetaData.Sigs instead. // IERC20FuncSigs maps the 4-byte function signature to its string representation. var IERC20FuncSigs = IERC20MetaData.Sigs // IERC20 is an auto generated Go binding around an Ethereum contract. type IERC20 struct { IERC20Caller // Read-only binding to the contract IERC20Transactor // Write-only binding to the contract IERC20Filterer // Log filterer for contract events } // IERC20Caller is an auto generated read-only Go binding around an Ethereum contract. type IERC20Caller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC20Transactor is an auto generated write-only Go binding around an Ethereum contract. type IERC20Transactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC20Filterer is an auto generated log filtering Go binding around an Ethereum contract events. type IERC20Filterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC20Session is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IERC20Session struct { Contract *IERC20 // 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 } // IERC20CallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IERC20CallerSession struct { Contract *IERC20Caller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IERC20TransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IERC20TransactorSession struct { Contract *IERC20Transactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC20Raw is an auto generated low-level Go binding around an Ethereum contract. type IERC20Raw struct { Contract *IERC20 // Generic contract binding to access the raw methods on } // IERC20CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IERC20CallerRaw struct { Contract *IERC20Caller // Generic read-only contract binding to access the raw methods on } // IERC20TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IERC20TransactorRaw struct { Contract *IERC20Transactor // Generic write-only contract binding to access the raw methods on } // NewIERC20 creates a new instance of IERC20, bound to a specific deployed contract. func NewIERC20(address common.Address, backend bind.ContractBackend) (*IERC20, error) { contract, err := bindIERC20(address, backend, backend, backend) if err != nil { return nil, err } return &IERC20{IERC20Caller: IERC20Caller{contract: contract}, IERC20Transactor: IERC20Transactor{contract: contract}, IERC20Filterer: IERC20Filterer{contract: contract}}, nil } // NewIERC20Caller creates a new read-only instance of IERC20, bound to a specific deployed contract. func NewIERC20Caller(address common.Address, caller bind.ContractCaller) (*IERC20Caller, error) { contract, err := bindIERC20(address, caller, nil, nil) if err != nil { return nil, err } return &IERC20Caller{contract: contract}, nil } // NewIERC20Transactor creates a new write-only instance of IERC20, bound to a specific deployed contract. func NewIERC20Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC20Transactor, error) { contract, err := bindIERC20(address, nil, transactor, nil) if err != nil { return nil, err } return &IERC20Transactor{contract: contract}, nil } // NewIERC20Filterer creates a new log filterer instance of IERC20, bound to a specific deployed contract. func NewIERC20Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC20Filterer, error) { contract, err := bindIERC20(address, nil, nil, filterer) if err != nil { return nil, err } return &IERC20Filterer{contract: contract}, nil } // bindIERC20 binds a generic wrapper to an already deployed contract. func bindIERC20(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := IERC20MetaData.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 (_IERC20 *IERC20Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC20.Contract.IERC20Caller.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 (_IERC20 *IERC20Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC20.Contract.IERC20Transactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC20 *IERC20Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC20.Contract.IERC20Transactor.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 (_IERC20 *IERC20CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC20.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 (_IERC20 *IERC20TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC20.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC20 *IERC20TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC20.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 (_IERC20 *IERC20Caller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { var out []interface{} err := _IERC20.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 (_IERC20 *IERC20Session) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { return _IERC20.Contract.Allowance(&_IERC20.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 (_IERC20 *IERC20CallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { return _IERC20.Contract.Allowance(&_IERC20.CallOpts, owner, spender) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(address account) view returns(uint256) func (_IERC20 *IERC20Caller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error) { var out []interface{} err := _IERC20.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 (_IERC20 *IERC20Session) BalanceOf(account common.Address) (*big.Int, error) { return _IERC20.Contract.BalanceOf(&_IERC20.CallOpts, account) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(address account) view returns(uint256) func (_IERC20 *IERC20CallerSession) BalanceOf(account common.Address) (*big.Int, error) { return _IERC20.Contract.BalanceOf(&_IERC20.CallOpts, account) } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() view returns(uint256) func (_IERC20 *IERC20Caller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _IERC20.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 (_IERC20 *IERC20Session) TotalSupply() (*big.Int, error) { return _IERC20.Contract.TotalSupply(&_IERC20.CallOpts) } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() view returns(uint256) func (_IERC20 *IERC20CallerSession) TotalSupply() (*big.Int, error) { return _IERC20.Contract.TotalSupply(&_IERC20.CallOpts) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address spender, uint256 value) returns(bool) func (_IERC20 *IERC20Transactor) Approve(opts *bind.TransactOpts, spender common.Address, value *big.Int) (*types.Transaction, error) { return _IERC20.contract.Transact(opts, "approve", spender, value) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address spender, uint256 value) returns(bool) func (_IERC20 *IERC20Session) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { return _IERC20.Contract.Approve(&_IERC20.TransactOpts, spender, value) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(address spender, uint256 value) returns(bool) func (_IERC20 *IERC20TransactorSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { return _IERC20.Contract.Approve(&_IERC20.TransactOpts, spender, value) } // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. // // Solidity: function transfer(address to, uint256 value) returns(bool) func (_IERC20 *IERC20Transactor) Transfer(opts *bind.TransactOpts, to common.Address, value *big.Int) (*types.Transaction, error) { return _IERC20.contract.Transact(opts, "transfer", to, value) } // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. // // Solidity: function transfer(address to, uint256 value) returns(bool) func (_IERC20 *IERC20Session) Transfer(to common.Address, value *big.Int) (*types.Transaction, error) { return _IERC20.Contract.Transfer(&_IERC20.TransactOpts, to, value) } // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. // // Solidity: function transfer(address to, uint256 value) returns(bool) func (_IERC20 *IERC20TransactorSession) Transfer(to common.Address, value *big.Int) (*types.Transaction, error) { return _IERC20.Contract.Transfer(&_IERC20.TransactOpts, to, value) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) func (_IERC20 *IERC20Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { return _IERC20.contract.Transact(opts, "transferFrom", from, to, value) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) func (_IERC20 *IERC20Session) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { return _IERC20.Contract.TransferFrom(&_IERC20.TransactOpts, from, to, value) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) func (_IERC20 *IERC20TransactorSession) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { return _IERC20.Contract.TransferFrom(&_IERC20.TransactOpts, from, to, value) } // IERC20ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the IERC20 contract. type IERC20ApprovalIterator struct { Event *IERC20Approval // 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 *IERC20ApprovalIterator) 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(IERC20Approval) 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(IERC20Approval) 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 *IERC20ApprovalIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC20ApprovalIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC20Approval represents a Approval event raised by the IERC20 contract. type IERC20Approval 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 (_IERC20 *IERC20Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*IERC20ApprovalIterator, 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 := _IERC20.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) if err != nil { return nil, err } return &IERC20ApprovalIterator{contract: _IERC20.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 (_IERC20 *IERC20Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC20Approval, 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 := _IERC20.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(IERC20Approval) if err := _IERC20.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 (_IERC20 *IERC20Filterer) ParseApproval(log types.Log) (*IERC20Approval, error) { event := new(IERC20Approval) if err := _IERC20.contract.UnpackLog(event, "Approval", log); err != nil { return nil, err } event.Raw = log return event, nil } // IERC20TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the IERC20 contract. type IERC20TransferIterator struct { Event *IERC20Transfer // 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 *IERC20TransferIterator) 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(IERC20Transfer) 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(IERC20Transfer) 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 *IERC20TransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC20TransferIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC20Transfer represents a Transfer event raised by the IERC20 contract. type IERC20Transfer 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 (_IERC20 *IERC20Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*IERC20TransferIterator, 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 := _IERC20.contract.FilterLogs(opts, "Transfer", fromRule, toRule) if err != nil { return nil, err } return &IERC20TransferIterator{contract: _IERC20.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 (_IERC20 *IERC20Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC20Transfer, 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 := _IERC20.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(IERC20Transfer) if err := _IERC20.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 (_IERC20 *IERC20Filterer) ParseTransfer(log types.Log) (*IERC20Transfer, error) { event := new(IERC20Transfer) if err := _IERC20.contract.UnpackLog(event, "Transfer", log); err != nil { return nil, err } event.Raw = log return event, nil } // IERC20PermitMetaData contains all meta data concerning the IERC20Permit contract. var IERC20PermitMetaData = &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)", }, } // IERC20PermitABI is the input ABI used to generate the binding from. // Deprecated: Use IERC20PermitMetaData.ABI instead. var IERC20PermitABI = IERC20PermitMetaData.ABI // Deprecated: Use IERC20PermitMetaData.Sigs instead. // IERC20PermitFuncSigs maps the 4-byte function signature to its string representation. var IERC20PermitFuncSigs = IERC20PermitMetaData.Sigs // IERC20Permit is an auto generated Go binding around an Ethereum contract. type IERC20Permit struct { IERC20PermitCaller // Read-only binding to the contract IERC20PermitTransactor // Write-only binding to the contract IERC20PermitFilterer // Log filterer for contract events } // IERC20PermitCaller is an auto generated read-only Go binding around an Ethereum contract. type IERC20PermitCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC20PermitTransactor is an auto generated write-only Go binding around an Ethereum contract. type IERC20PermitTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC20PermitFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type IERC20PermitFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC20PermitSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IERC20PermitSession struct { Contract *IERC20Permit // 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 } // IERC20PermitCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IERC20PermitCallerSession struct { Contract *IERC20PermitCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IERC20PermitTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IERC20PermitTransactorSession struct { Contract *IERC20PermitTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC20PermitRaw is an auto generated low-level Go binding around an Ethereum contract. type IERC20PermitRaw struct { Contract *IERC20Permit // Generic contract binding to access the raw methods on } // IERC20PermitCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IERC20PermitCallerRaw struct { Contract *IERC20PermitCaller // Generic read-only contract binding to access the raw methods on } // IERC20PermitTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IERC20PermitTransactorRaw struct { Contract *IERC20PermitTransactor // Generic write-only contract binding to access the raw methods on } // NewIERC20Permit creates a new instance of IERC20Permit, bound to a specific deployed contract. func NewIERC20Permit(address common.Address, backend bind.ContractBackend) (*IERC20Permit, error) { contract, err := bindIERC20Permit(address, backend, backend, backend) if err != nil { return nil, err } return &IERC20Permit{IERC20PermitCaller: IERC20PermitCaller{contract: contract}, IERC20PermitTransactor: IERC20PermitTransactor{contract: contract}, IERC20PermitFilterer: IERC20PermitFilterer{contract: contract}}, nil } // NewIERC20PermitCaller creates a new read-only instance of IERC20Permit, bound to a specific deployed contract. func NewIERC20PermitCaller(address common.Address, caller bind.ContractCaller) (*IERC20PermitCaller, error) { contract, err := bindIERC20Permit(address, caller, nil, nil) if err != nil { return nil, err } return &IERC20PermitCaller{contract: contract}, nil } // NewIERC20PermitTransactor creates a new write-only instance of IERC20Permit, bound to a specific deployed contract. func NewIERC20PermitTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC20PermitTransactor, error) { contract, err := bindIERC20Permit(address, nil, transactor, nil) if err != nil { return nil, err } return &IERC20PermitTransactor{contract: contract}, nil } // NewIERC20PermitFilterer creates a new log filterer instance of IERC20Permit, bound to a specific deployed contract. func NewIERC20PermitFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC20PermitFilterer, error) { contract, err := bindIERC20Permit(address, nil, nil, filterer) if err != nil { return nil, err } return &IERC20PermitFilterer{contract: contract}, nil } // bindIERC20Permit binds a generic wrapper to an already deployed contract. func bindIERC20Permit(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := IERC20PermitMetaData.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 (_IERC20Permit *IERC20PermitRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC20Permit.Contract.IERC20PermitCaller.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 (_IERC20Permit *IERC20PermitRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC20Permit.Contract.IERC20PermitTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC20Permit *IERC20PermitRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC20Permit.Contract.IERC20PermitTransactor.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 (_IERC20Permit *IERC20PermitCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IERC20Permit.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 (_IERC20Permit *IERC20PermitTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC20Permit.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC20Permit *IERC20PermitTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC20Permit.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 (_IERC20Permit *IERC20PermitCaller) DOMAINSEPARATOR(opts *bind.CallOpts) ([32]byte, error) { var out []interface{} err := _IERC20Permit.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 (_IERC20Permit *IERC20PermitSession) DOMAINSEPARATOR() ([32]byte, error) { return _IERC20Permit.Contract.DOMAINSEPARATOR(&_IERC20Permit.CallOpts) } // DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. // // Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) func (_IERC20Permit *IERC20PermitCallerSession) DOMAINSEPARATOR() ([32]byte, error) { return _IERC20Permit.Contract.DOMAINSEPARATOR(&_IERC20Permit.CallOpts) } // Nonces is a free data retrieval call binding the contract method 0x7ecebe00. // // Solidity: function nonces(address owner) view returns(uint256) func (_IERC20Permit *IERC20PermitCaller) Nonces(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { var out []interface{} err := _IERC20Permit.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 (_IERC20Permit *IERC20PermitSession) Nonces(owner common.Address) (*big.Int, error) { return _IERC20Permit.Contract.Nonces(&_IERC20Permit.CallOpts, owner) } // Nonces is a free data retrieval call binding the contract method 0x7ecebe00. // // Solidity: function nonces(address owner) view returns(uint256) func (_IERC20Permit *IERC20PermitCallerSession) Nonces(owner common.Address) (*big.Int, error) { return _IERC20Permit.Contract.Nonces(&_IERC20Permit.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 (_IERC20Permit *IERC20PermitTransactor) 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 _IERC20Permit.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 (_IERC20Permit *IERC20PermitSession) 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 _IERC20Permit.Contract.Permit(&_IERC20Permit.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 (_IERC20Permit *IERC20PermitTransactorSession) 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 _IERC20Permit.Contract.Permit(&_IERC20Permit.TransactOpts, owner, spender, value, deadline, v, r, s) } // IFastBridgeMetaData contains all meta data concerning the IFastBridge contract. var IFastBridgeMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"transactionId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BridgeDepositClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"transactionId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BridgeDepositRefunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"transactionId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"}],\"name\":\"BridgeProofDisputed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"transactionId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"transactionHash\",\"type\":\"bytes32\"}],\"name\":\"BridgeProofProvided\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"transactionId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"originChainId\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"originToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"destToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"originAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"destAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"chainGasAmount\",\"type\":\"uint256\"}],\"name\":\"BridgeRelayed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"transactionId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"request\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"destChainId\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"originToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"destToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"originAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"destAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"sendChainGas\",\"type\":\"bool\"}],\"name\":\"BridgeRequested\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"dstChainId\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"originToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"destToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"originAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"destAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"sendChainGas\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"structIFastBridge.BridgeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"bridge\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"transactionId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"}],\"name\":\"canClaim\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"request\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"transactionId\",\"type\":\"bytes32\"}],\"name\":\"dispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"request\",\"type\":\"bytes\"}],\"name\":\"getBridgeTransaction\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"originChainId\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"destChainId\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"originSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"destRecipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"originToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"destToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"originAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"destAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"originFeeAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"sendChainGas\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"internalType\":\"structIFastBridge.BridgeTransaction\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"request\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"destTxHash\",\"type\":\"bytes32\"}],\"name\":\"prove\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"request\",\"type\":\"bytes\"}],\"name\":\"refund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"request\",\"type\":\"bytes\"}],\"name\":\"relay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}]", Sigs: map[string]string{ "45851694": "bridge((uint32,address,address,address,address,uint256,uint256,bool,uint256))", "aa9641ab": "canClaim(bytes32,address)", "41fcb612": "claim(bytes,address)", "add98c70": "dispute(bytes32)", "ac11fb1a": "getBridgeTransaction(bytes)", "886d36ff": "prove(bytes,bytes32)", "5eb7d946": "refund(bytes)", "8f0d6f17": "relay(bytes)", }, } // IFastBridgeABI is the input ABI used to generate the binding from. // Deprecated: Use IFastBridgeMetaData.ABI instead. var IFastBridgeABI = IFastBridgeMetaData.ABI // Deprecated: Use IFastBridgeMetaData.Sigs instead. // IFastBridgeFuncSigs maps the 4-byte function signature to its string representation. var IFastBridgeFuncSigs = IFastBridgeMetaData.Sigs // IFastBridge is an auto generated Go binding around an Ethereum contract. type IFastBridge struct { IFastBridgeCaller // Read-only binding to the contract IFastBridgeTransactor // Write-only binding to the contract IFastBridgeFilterer // Log filterer for contract events } // IFastBridgeCaller is an auto generated read-only Go binding around an Ethereum contract. type IFastBridgeCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IFastBridgeTransactor is an auto generated write-only Go binding around an Ethereum contract. type IFastBridgeTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IFastBridgeFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type IFastBridgeFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IFastBridgeSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IFastBridgeSession struct { Contract *IFastBridge // 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 } // IFastBridgeCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IFastBridgeCallerSession struct { Contract *IFastBridgeCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IFastBridgeTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IFastBridgeTransactorSession struct { Contract *IFastBridgeTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IFastBridgeRaw is an auto generated low-level Go binding around an Ethereum contract. type IFastBridgeRaw struct { Contract *IFastBridge // Generic contract binding to access the raw methods on } // IFastBridgeCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IFastBridgeCallerRaw struct { Contract *IFastBridgeCaller // Generic read-only contract binding to access the raw methods on } // IFastBridgeTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IFastBridgeTransactorRaw struct { Contract *IFastBridgeTransactor // Generic write-only contract binding to access the raw methods on } // NewIFastBridge creates a new instance of IFastBridge, bound to a specific deployed contract. func NewIFastBridge(address common.Address, backend bind.ContractBackend) (*IFastBridge, error) { contract, err := bindIFastBridge(address, backend, backend, backend) if err != nil { return nil, err } return &IFastBridge{IFastBridgeCaller: IFastBridgeCaller{contract: contract}, IFastBridgeTransactor: IFastBridgeTransactor{contract: contract}, IFastBridgeFilterer: IFastBridgeFilterer{contract: contract}}, nil } // NewIFastBridgeCaller creates a new read-only instance of IFastBridge, bound to a specific deployed contract. func NewIFastBridgeCaller(address common.Address, caller bind.ContractCaller) (*IFastBridgeCaller, error) { contract, err := bindIFastBridge(address, caller, nil, nil) if err != nil { return nil, err } return &IFastBridgeCaller{contract: contract}, nil } // NewIFastBridgeTransactor creates a new write-only instance of IFastBridge, bound to a specific deployed contract. func NewIFastBridgeTransactor(address common.Address, transactor bind.ContractTransactor) (*IFastBridgeTransactor, error) { contract, err := bindIFastBridge(address, nil, transactor, nil) if err != nil { return nil, err } return &IFastBridgeTransactor{contract: contract}, nil } // NewIFastBridgeFilterer creates a new log filterer instance of IFastBridge, bound to a specific deployed contract. func NewIFastBridgeFilterer(address common.Address, filterer bind.ContractFilterer) (*IFastBridgeFilterer, error) { contract, err := bindIFastBridge(address, nil, nil, filterer) if err != nil { return nil, err } return &IFastBridgeFilterer{contract: contract}, nil } // bindIFastBridge binds a generic wrapper to an already deployed contract. func bindIFastBridge(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := IFastBridgeMetaData.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 (_IFastBridge *IFastBridgeRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IFastBridge.Contract.IFastBridgeCaller.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 (_IFastBridge *IFastBridgeRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IFastBridge.Contract.IFastBridgeTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IFastBridge *IFastBridgeRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IFastBridge.Contract.IFastBridgeTransactor.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 (_IFastBridge *IFastBridgeCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IFastBridge.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 (_IFastBridge *IFastBridgeTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IFastBridge.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IFastBridge *IFastBridgeTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IFastBridge.Contract.contract.Transact(opts, method, params...) } // CanClaim is a free data retrieval call binding the contract method 0xaa9641ab. // // Solidity: function canClaim(bytes32 transactionId, address relayer) view returns(bool) func (_IFastBridge *IFastBridgeCaller) CanClaim(opts *bind.CallOpts, transactionId [32]byte, relayer common.Address) (bool, error) { var out []interface{} err := _IFastBridge.contract.Call(opts, &out, "canClaim", transactionId, relayer) if err != nil { return *new(bool), err } out0 := *abi.ConvertType(out[0], new(bool)).(*bool) return out0, err } // CanClaim is a free data retrieval call binding the contract method 0xaa9641ab. // // Solidity: function canClaim(bytes32 transactionId, address relayer) view returns(bool) func (_IFastBridge *IFastBridgeSession) CanClaim(transactionId [32]byte, relayer common.Address) (bool, error) { return _IFastBridge.Contract.CanClaim(&_IFastBridge.CallOpts, transactionId, relayer) } // CanClaim is a free data retrieval call binding the contract method 0xaa9641ab. // // Solidity: function canClaim(bytes32 transactionId, address relayer) view returns(bool) func (_IFastBridge *IFastBridgeCallerSession) CanClaim(transactionId [32]byte, relayer common.Address) (bool, error) { return _IFastBridge.Contract.CanClaim(&_IFastBridge.CallOpts, transactionId, relayer) } // GetBridgeTransaction is a free data retrieval call binding the contract method 0xac11fb1a. // // Solidity: function getBridgeTransaction(bytes request) view returns((uint32,uint32,address,address,address,address,uint256,uint256,uint256,bool,uint256,uint256)) func (_IFastBridge *IFastBridgeCaller) GetBridgeTransaction(opts *bind.CallOpts, request []byte) (IFastBridgeBridgeTransaction, error) { var out []interface{} err := _IFastBridge.contract.Call(opts, &out, "getBridgeTransaction", request) if err != nil { return *new(IFastBridgeBridgeTransaction), err } out0 := *abi.ConvertType(out[0], new(IFastBridgeBridgeTransaction)).(*IFastBridgeBridgeTransaction) return out0, err } // GetBridgeTransaction is a free data retrieval call binding the contract method 0xac11fb1a. // // Solidity: function getBridgeTransaction(bytes request) view returns((uint32,uint32,address,address,address,address,uint256,uint256,uint256,bool,uint256,uint256)) func (_IFastBridge *IFastBridgeSession) GetBridgeTransaction(request []byte) (IFastBridgeBridgeTransaction, error) { return _IFastBridge.Contract.GetBridgeTransaction(&_IFastBridge.CallOpts, request) } // GetBridgeTransaction is a free data retrieval call binding the contract method 0xac11fb1a. // // Solidity: function getBridgeTransaction(bytes request) view returns((uint32,uint32,address,address,address,address,uint256,uint256,uint256,bool,uint256,uint256)) func (_IFastBridge *IFastBridgeCallerSession) GetBridgeTransaction(request []byte) (IFastBridgeBridgeTransaction, error) { return _IFastBridge.Contract.GetBridgeTransaction(&_IFastBridge.CallOpts, request) } // Bridge is a paid mutator transaction binding the contract method 0x45851694. // // Solidity: function bridge((uint32,address,address,address,address,uint256,uint256,bool,uint256) params) payable returns() func (_IFastBridge *IFastBridgeTransactor) Bridge(opts *bind.TransactOpts, params IFastBridgeBridgeParams) (*types.Transaction, error) { return _IFastBridge.contract.Transact(opts, "bridge", params) } // Bridge is a paid mutator transaction binding the contract method 0x45851694. // // Solidity: function bridge((uint32,address,address,address,address,uint256,uint256,bool,uint256) params) payable returns() func (_IFastBridge *IFastBridgeSession) Bridge(params IFastBridgeBridgeParams) (*types.Transaction, error) { return _IFastBridge.Contract.Bridge(&_IFastBridge.TransactOpts, params) } // Bridge is a paid mutator transaction binding the contract method 0x45851694. // // Solidity: function bridge((uint32,address,address,address,address,uint256,uint256,bool,uint256) params) payable returns() func (_IFastBridge *IFastBridgeTransactorSession) Bridge(params IFastBridgeBridgeParams) (*types.Transaction, error) { return _IFastBridge.Contract.Bridge(&_IFastBridge.TransactOpts, params) } // Claim is a paid mutator transaction binding the contract method 0x41fcb612. // // Solidity: function claim(bytes request, address to) returns() func (_IFastBridge *IFastBridgeTransactor) Claim(opts *bind.TransactOpts, request []byte, to common.Address) (*types.Transaction, error) { return _IFastBridge.contract.Transact(opts, "claim", request, to) } // Claim is a paid mutator transaction binding the contract method 0x41fcb612. // // Solidity: function claim(bytes request, address to) returns() func (_IFastBridge *IFastBridgeSession) Claim(request []byte, to common.Address) (*types.Transaction, error) { return _IFastBridge.Contract.Claim(&_IFastBridge.TransactOpts, request, to) } // Claim is a paid mutator transaction binding the contract method 0x41fcb612. // // Solidity: function claim(bytes request, address to) returns() func (_IFastBridge *IFastBridgeTransactorSession) Claim(request []byte, to common.Address) (*types.Transaction, error) { return _IFastBridge.Contract.Claim(&_IFastBridge.TransactOpts, request, to) } // Dispute is a paid mutator transaction binding the contract method 0xadd98c70. // // Solidity: function dispute(bytes32 transactionId) returns() func (_IFastBridge *IFastBridgeTransactor) Dispute(opts *bind.TransactOpts, transactionId [32]byte) (*types.Transaction, error) { return _IFastBridge.contract.Transact(opts, "dispute", transactionId) } // Dispute is a paid mutator transaction binding the contract method 0xadd98c70. // // Solidity: function dispute(bytes32 transactionId) returns() func (_IFastBridge *IFastBridgeSession) Dispute(transactionId [32]byte) (*types.Transaction, error) { return _IFastBridge.Contract.Dispute(&_IFastBridge.TransactOpts, transactionId) } // Dispute is a paid mutator transaction binding the contract method 0xadd98c70. // // Solidity: function dispute(bytes32 transactionId) returns() func (_IFastBridge *IFastBridgeTransactorSession) Dispute(transactionId [32]byte) (*types.Transaction, error) { return _IFastBridge.Contract.Dispute(&_IFastBridge.TransactOpts, transactionId) } // Prove is a paid mutator transaction binding the contract method 0x886d36ff. // // Solidity: function prove(bytes request, bytes32 destTxHash) returns() func (_IFastBridge *IFastBridgeTransactor) Prove(opts *bind.TransactOpts, request []byte, destTxHash [32]byte) (*types.Transaction, error) { return _IFastBridge.contract.Transact(opts, "prove", request, destTxHash) } // Prove is a paid mutator transaction binding the contract method 0x886d36ff. // // Solidity: function prove(bytes request, bytes32 destTxHash) returns() func (_IFastBridge *IFastBridgeSession) Prove(request []byte, destTxHash [32]byte) (*types.Transaction, error) { return _IFastBridge.Contract.Prove(&_IFastBridge.TransactOpts, request, destTxHash) } // Prove is a paid mutator transaction binding the contract method 0x886d36ff. // // Solidity: function prove(bytes request, bytes32 destTxHash) returns() func (_IFastBridge *IFastBridgeTransactorSession) Prove(request []byte, destTxHash [32]byte) (*types.Transaction, error) { return _IFastBridge.Contract.Prove(&_IFastBridge.TransactOpts, request, destTxHash) } // Refund is a paid mutator transaction binding the contract method 0x5eb7d946. // // Solidity: function refund(bytes request) returns() func (_IFastBridge *IFastBridgeTransactor) Refund(opts *bind.TransactOpts, request []byte) (*types.Transaction, error) { return _IFastBridge.contract.Transact(opts, "refund", request) } // Refund is a paid mutator transaction binding the contract method 0x5eb7d946. // // Solidity: function refund(bytes request) returns() func (_IFastBridge *IFastBridgeSession) Refund(request []byte) (*types.Transaction, error) { return _IFastBridge.Contract.Refund(&_IFastBridge.TransactOpts, request) } // Refund is a paid mutator transaction binding the contract method 0x5eb7d946. // // Solidity: function refund(bytes request) returns() func (_IFastBridge *IFastBridgeTransactorSession) Refund(request []byte) (*types.Transaction, error) { return _IFastBridge.Contract.Refund(&_IFastBridge.TransactOpts, request) } // Relay is a paid mutator transaction binding the contract method 0x8f0d6f17. // // Solidity: function relay(bytes request) payable returns() func (_IFastBridge *IFastBridgeTransactor) Relay(opts *bind.TransactOpts, request []byte) (*types.Transaction, error) { return _IFastBridge.contract.Transact(opts, "relay", request) } // Relay is a paid mutator transaction binding the contract method 0x8f0d6f17. // // Solidity: function relay(bytes request) payable returns() func (_IFastBridge *IFastBridgeSession) Relay(request []byte) (*types.Transaction, error) { return _IFastBridge.Contract.Relay(&_IFastBridge.TransactOpts, request) } // Relay is a paid mutator transaction binding the contract method 0x8f0d6f17. // // Solidity: function relay(bytes request) payable returns() func (_IFastBridge *IFastBridgeTransactorSession) Relay(request []byte) (*types.Transaction, error) { return _IFastBridge.Contract.Relay(&_IFastBridge.TransactOpts, request) } // IFastBridgeBridgeDepositClaimedIterator is returned from FilterBridgeDepositClaimed and is used to iterate over the raw logs and unpacked data for BridgeDepositClaimed events raised by the IFastBridge contract. type IFastBridgeBridgeDepositClaimedIterator struct { Event *IFastBridgeBridgeDepositClaimed // 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 *IFastBridgeBridgeDepositClaimedIterator) 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(IFastBridgeBridgeDepositClaimed) 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(IFastBridgeBridgeDepositClaimed) 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 *IFastBridgeBridgeDepositClaimedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IFastBridgeBridgeDepositClaimedIterator) Close() error { it.sub.Unsubscribe() return nil } // IFastBridgeBridgeDepositClaimed represents a BridgeDepositClaimed event raised by the IFastBridge contract. type IFastBridgeBridgeDepositClaimed struct { TransactionId [32]byte Relayer common.Address To common.Address Token common.Address Amount *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterBridgeDepositClaimed is a free log retrieval operation binding the contract event 0x582211c35a2139ac3bbaac74663c6a1f56c6cbb658b41fe11fd45a82074ac678. // // Solidity: event BridgeDepositClaimed(bytes32 indexed transactionId, address indexed relayer, address indexed to, address token, uint256 amount) func (_IFastBridge *IFastBridgeFilterer) FilterBridgeDepositClaimed(opts *bind.FilterOpts, transactionId [][32]byte, relayer []common.Address, to []common.Address) (*IFastBridgeBridgeDepositClaimedIterator, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var relayerRule []interface{} for _, relayerItem := range relayer { relayerRule = append(relayerRule, relayerItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _IFastBridge.contract.FilterLogs(opts, "BridgeDepositClaimed", transactionIdRule, relayerRule, toRule) if err != nil { return nil, err } return &IFastBridgeBridgeDepositClaimedIterator{contract: _IFastBridge.contract, event: "BridgeDepositClaimed", logs: logs, sub: sub}, nil } // WatchBridgeDepositClaimed is a free log subscription operation binding the contract event 0x582211c35a2139ac3bbaac74663c6a1f56c6cbb658b41fe11fd45a82074ac678. // // Solidity: event BridgeDepositClaimed(bytes32 indexed transactionId, address indexed relayer, address indexed to, address token, uint256 amount) func (_IFastBridge *IFastBridgeFilterer) WatchBridgeDepositClaimed(opts *bind.WatchOpts, sink chan<- *IFastBridgeBridgeDepositClaimed, transactionId [][32]byte, relayer []common.Address, to []common.Address) (event.Subscription, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var relayerRule []interface{} for _, relayerItem := range relayer { relayerRule = append(relayerRule, relayerItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _IFastBridge.contract.WatchLogs(opts, "BridgeDepositClaimed", transactionIdRule, relayerRule, 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(IFastBridgeBridgeDepositClaimed) if err := _IFastBridge.contract.UnpackLog(event, "BridgeDepositClaimed", 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 } // ParseBridgeDepositClaimed is a log parse operation binding the contract event 0x582211c35a2139ac3bbaac74663c6a1f56c6cbb658b41fe11fd45a82074ac678. // // Solidity: event BridgeDepositClaimed(bytes32 indexed transactionId, address indexed relayer, address indexed to, address token, uint256 amount) func (_IFastBridge *IFastBridgeFilterer) ParseBridgeDepositClaimed(log types.Log) (*IFastBridgeBridgeDepositClaimed, error) { event := new(IFastBridgeBridgeDepositClaimed) if err := _IFastBridge.contract.UnpackLog(event, "BridgeDepositClaimed", log); err != nil { return nil, err } event.Raw = log return event, nil } // IFastBridgeBridgeDepositRefundedIterator is returned from FilterBridgeDepositRefunded and is used to iterate over the raw logs and unpacked data for BridgeDepositRefunded events raised by the IFastBridge contract. type IFastBridgeBridgeDepositRefundedIterator struct { Event *IFastBridgeBridgeDepositRefunded // 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 *IFastBridgeBridgeDepositRefundedIterator) 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(IFastBridgeBridgeDepositRefunded) 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(IFastBridgeBridgeDepositRefunded) 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 *IFastBridgeBridgeDepositRefundedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IFastBridgeBridgeDepositRefundedIterator) Close() error { it.sub.Unsubscribe() return nil } // IFastBridgeBridgeDepositRefunded represents a BridgeDepositRefunded event raised by the IFastBridge contract. type IFastBridgeBridgeDepositRefunded struct { TransactionId [32]byte To common.Address Token common.Address Amount *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterBridgeDepositRefunded is a free log retrieval operation binding the contract event 0xb4c55c0c9bc613519b920e88748090150b890a875d307f21bea7d4fb2e8bc958. // // Solidity: event BridgeDepositRefunded(bytes32 indexed transactionId, address indexed to, address token, uint256 amount) func (_IFastBridge *IFastBridgeFilterer) FilterBridgeDepositRefunded(opts *bind.FilterOpts, transactionId [][32]byte, to []common.Address) (*IFastBridgeBridgeDepositRefundedIterator, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _IFastBridge.contract.FilterLogs(opts, "BridgeDepositRefunded", transactionIdRule, toRule) if err != nil { return nil, err } return &IFastBridgeBridgeDepositRefundedIterator{contract: _IFastBridge.contract, event: "BridgeDepositRefunded", logs: logs, sub: sub}, nil } // WatchBridgeDepositRefunded is a free log subscription operation binding the contract event 0xb4c55c0c9bc613519b920e88748090150b890a875d307f21bea7d4fb2e8bc958. // // Solidity: event BridgeDepositRefunded(bytes32 indexed transactionId, address indexed to, address token, uint256 amount) func (_IFastBridge *IFastBridgeFilterer) WatchBridgeDepositRefunded(opts *bind.WatchOpts, sink chan<- *IFastBridgeBridgeDepositRefunded, transactionId [][32]byte, to []common.Address) (event.Subscription, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _IFastBridge.contract.WatchLogs(opts, "BridgeDepositRefunded", transactionIdRule, 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(IFastBridgeBridgeDepositRefunded) if err := _IFastBridge.contract.UnpackLog(event, "BridgeDepositRefunded", 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 } // ParseBridgeDepositRefunded is a log parse operation binding the contract event 0xb4c55c0c9bc613519b920e88748090150b890a875d307f21bea7d4fb2e8bc958. // // Solidity: event BridgeDepositRefunded(bytes32 indexed transactionId, address indexed to, address token, uint256 amount) func (_IFastBridge *IFastBridgeFilterer) ParseBridgeDepositRefunded(log types.Log) (*IFastBridgeBridgeDepositRefunded, error) { event := new(IFastBridgeBridgeDepositRefunded) if err := _IFastBridge.contract.UnpackLog(event, "BridgeDepositRefunded", log); err != nil { return nil, err } event.Raw = log return event, nil } // IFastBridgeBridgeProofDisputedIterator is returned from FilterBridgeProofDisputed and is used to iterate over the raw logs and unpacked data for BridgeProofDisputed events raised by the IFastBridge contract. type IFastBridgeBridgeProofDisputedIterator struct { Event *IFastBridgeBridgeProofDisputed // 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 *IFastBridgeBridgeProofDisputedIterator) 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(IFastBridgeBridgeProofDisputed) 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(IFastBridgeBridgeProofDisputed) 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 *IFastBridgeBridgeProofDisputedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IFastBridgeBridgeProofDisputedIterator) Close() error { it.sub.Unsubscribe() return nil } // IFastBridgeBridgeProofDisputed represents a BridgeProofDisputed event raised by the IFastBridge contract. type IFastBridgeBridgeProofDisputed struct { TransactionId [32]byte Relayer common.Address Raw types.Log // Blockchain specific contextual infos } // FilterBridgeProofDisputed is a free log retrieval operation binding the contract event 0x0695cf1d39b3055dcd0fe02d8b47eaf0d5a13e1996de925de59d0ef9b7f7fad4. // // Solidity: event BridgeProofDisputed(bytes32 indexed transactionId, address indexed relayer) func (_IFastBridge *IFastBridgeFilterer) FilterBridgeProofDisputed(opts *bind.FilterOpts, transactionId [][32]byte, relayer []common.Address) (*IFastBridgeBridgeProofDisputedIterator, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var relayerRule []interface{} for _, relayerItem := range relayer { relayerRule = append(relayerRule, relayerItem) } logs, sub, err := _IFastBridge.contract.FilterLogs(opts, "BridgeProofDisputed", transactionIdRule, relayerRule) if err != nil { return nil, err } return &IFastBridgeBridgeProofDisputedIterator{contract: _IFastBridge.contract, event: "BridgeProofDisputed", logs: logs, sub: sub}, nil } // WatchBridgeProofDisputed is a free log subscription operation binding the contract event 0x0695cf1d39b3055dcd0fe02d8b47eaf0d5a13e1996de925de59d0ef9b7f7fad4. // // Solidity: event BridgeProofDisputed(bytes32 indexed transactionId, address indexed relayer) func (_IFastBridge *IFastBridgeFilterer) WatchBridgeProofDisputed(opts *bind.WatchOpts, sink chan<- *IFastBridgeBridgeProofDisputed, transactionId [][32]byte, relayer []common.Address) (event.Subscription, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var relayerRule []interface{} for _, relayerItem := range relayer { relayerRule = append(relayerRule, relayerItem) } logs, sub, err := _IFastBridge.contract.WatchLogs(opts, "BridgeProofDisputed", transactionIdRule, relayerRule) 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(IFastBridgeBridgeProofDisputed) if err := _IFastBridge.contract.UnpackLog(event, "BridgeProofDisputed", 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 } // ParseBridgeProofDisputed is a log parse operation binding the contract event 0x0695cf1d39b3055dcd0fe02d8b47eaf0d5a13e1996de925de59d0ef9b7f7fad4. // // Solidity: event BridgeProofDisputed(bytes32 indexed transactionId, address indexed relayer) func (_IFastBridge *IFastBridgeFilterer) ParseBridgeProofDisputed(log types.Log) (*IFastBridgeBridgeProofDisputed, error) { event := new(IFastBridgeBridgeProofDisputed) if err := _IFastBridge.contract.UnpackLog(event, "BridgeProofDisputed", log); err != nil { return nil, err } event.Raw = log return event, nil } // IFastBridgeBridgeProofProvidedIterator is returned from FilterBridgeProofProvided and is used to iterate over the raw logs and unpacked data for BridgeProofProvided events raised by the IFastBridge contract. type IFastBridgeBridgeProofProvidedIterator struct { Event *IFastBridgeBridgeProofProvided // 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 *IFastBridgeBridgeProofProvidedIterator) 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(IFastBridgeBridgeProofProvided) 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(IFastBridgeBridgeProofProvided) 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 *IFastBridgeBridgeProofProvidedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IFastBridgeBridgeProofProvidedIterator) Close() error { it.sub.Unsubscribe() return nil } // IFastBridgeBridgeProofProvided represents a BridgeProofProvided event raised by the IFastBridge contract. type IFastBridgeBridgeProofProvided struct { TransactionId [32]byte Relayer common.Address TransactionHash [32]byte Raw types.Log // Blockchain specific contextual infos } // FilterBridgeProofProvided is a free log retrieval operation binding the contract event 0x4ac8af8a2cd87193d64dfc7a3b8d9923b714ec528b18725d080aa1299be0c5e4. // // Solidity: event BridgeProofProvided(bytes32 indexed transactionId, address indexed relayer, bytes32 transactionHash) func (_IFastBridge *IFastBridgeFilterer) FilterBridgeProofProvided(opts *bind.FilterOpts, transactionId [][32]byte, relayer []common.Address) (*IFastBridgeBridgeProofProvidedIterator, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var relayerRule []interface{} for _, relayerItem := range relayer { relayerRule = append(relayerRule, relayerItem) } logs, sub, err := _IFastBridge.contract.FilterLogs(opts, "BridgeProofProvided", transactionIdRule, relayerRule) if err != nil { return nil, err } return &IFastBridgeBridgeProofProvidedIterator{contract: _IFastBridge.contract, event: "BridgeProofProvided", logs: logs, sub: sub}, nil } // WatchBridgeProofProvided is a free log subscription operation binding the contract event 0x4ac8af8a2cd87193d64dfc7a3b8d9923b714ec528b18725d080aa1299be0c5e4. // // Solidity: event BridgeProofProvided(bytes32 indexed transactionId, address indexed relayer, bytes32 transactionHash) func (_IFastBridge *IFastBridgeFilterer) WatchBridgeProofProvided(opts *bind.WatchOpts, sink chan<- *IFastBridgeBridgeProofProvided, transactionId [][32]byte, relayer []common.Address) (event.Subscription, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var relayerRule []interface{} for _, relayerItem := range relayer { relayerRule = append(relayerRule, relayerItem) } logs, sub, err := _IFastBridge.contract.WatchLogs(opts, "BridgeProofProvided", transactionIdRule, relayerRule) 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(IFastBridgeBridgeProofProvided) if err := _IFastBridge.contract.UnpackLog(event, "BridgeProofProvided", 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 } // ParseBridgeProofProvided is a log parse operation binding the contract event 0x4ac8af8a2cd87193d64dfc7a3b8d9923b714ec528b18725d080aa1299be0c5e4. // // Solidity: event BridgeProofProvided(bytes32 indexed transactionId, address indexed relayer, bytes32 transactionHash) func (_IFastBridge *IFastBridgeFilterer) ParseBridgeProofProvided(log types.Log) (*IFastBridgeBridgeProofProvided, error) { event := new(IFastBridgeBridgeProofProvided) if err := _IFastBridge.contract.UnpackLog(event, "BridgeProofProvided", log); err != nil { return nil, err } event.Raw = log return event, nil } // IFastBridgeBridgeRelayedIterator is returned from FilterBridgeRelayed and is used to iterate over the raw logs and unpacked data for BridgeRelayed events raised by the IFastBridge contract. type IFastBridgeBridgeRelayedIterator struct { Event *IFastBridgeBridgeRelayed // 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 *IFastBridgeBridgeRelayedIterator) 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(IFastBridgeBridgeRelayed) 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(IFastBridgeBridgeRelayed) 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 *IFastBridgeBridgeRelayedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IFastBridgeBridgeRelayedIterator) Close() error { it.sub.Unsubscribe() return nil } // IFastBridgeBridgeRelayed represents a BridgeRelayed event raised by the IFastBridge contract. type IFastBridgeBridgeRelayed struct { TransactionId [32]byte Relayer common.Address To common.Address OriginChainId uint32 OriginToken common.Address DestToken common.Address OriginAmount *big.Int DestAmount *big.Int ChainGasAmount *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterBridgeRelayed is a free log retrieval operation binding the contract event 0xf8ae392d784b1ea5e8881bfa586d81abf07ef4f1e2fc75f7fe51c90f05199a5c. // // Solidity: event BridgeRelayed(bytes32 indexed transactionId, address indexed relayer, address indexed to, uint32 originChainId, address originToken, address destToken, uint256 originAmount, uint256 destAmount, uint256 chainGasAmount) func (_IFastBridge *IFastBridgeFilterer) FilterBridgeRelayed(opts *bind.FilterOpts, transactionId [][32]byte, relayer []common.Address, to []common.Address) (*IFastBridgeBridgeRelayedIterator, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var relayerRule []interface{} for _, relayerItem := range relayer { relayerRule = append(relayerRule, relayerItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _IFastBridge.contract.FilterLogs(opts, "BridgeRelayed", transactionIdRule, relayerRule, toRule) if err != nil { return nil, err } return &IFastBridgeBridgeRelayedIterator{contract: _IFastBridge.contract, event: "BridgeRelayed", logs: logs, sub: sub}, nil } // WatchBridgeRelayed is a free log subscription operation binding the contract event 0xf8ae392d784b1ea5e8881bfa586d81abf07ef4f1e2fc75f7fe51c90f05199a5c. // // Solidity: event BridgeRelayed(bytes32 indexed transactionId, address indexed relayer, address indexed to, uint32 originChainId, address originToken, address destToken, uint256 originAmount, uint256 destAmount, uint256 chainGasAmount) func (_IFastBridge *IFastBridgeFilterer) WatchBridgeRelayed(opts *bind.WatchOpts, sink chan<- *IFastBridgeBridgeRelayed, transactionId [][32]byte, relayer []common.Address, to []common.Address) (event.Subscription, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var relayerRule []interface{} for _, relayerItem := range relayer { relayerRule = append(relayerRule, relayerItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _IFastBridge.contract.WatchLogs(opts, "BridgeRelayed", transactionIdRule, relayerRule, 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(IFastBridgeBridgeRelayed) if err := _IFastBridge.contract.UnpackLog(event, "BridgeRelayed", 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 } // ParseBridgeRelayed is a log parse operation binding the contract event 0xf8ae392d784b1ea5e8881bfa586d81abf07ef4f1e2fc75f7fe51c90f05199a5c. // // Solidity: event BridgeRelayed(bytes32 indexed transactionId, address indexed relayer, address indexed to, uint32 originChainId, address originToken, address destToken, uint256 originAmount, uint256 destAmount, uint256 chainGasAmount) func (_IFastBridge *IFastBridgeFilterer) ParseBridgeRelayed(log types.Log) (*IFastBridgeBridgeRelayed, error) { event := new(IFastBridgeBridgeRelayed) if err := _IFastBridge.contract.UnpackLog(event, "BridgeRelayed", log); err != nil { return nil, err } event.Raw = log return event, nil } // IFastBridgeBridgeRequestedIterator is returned from FilterBridgeRequested and is used to iterate over the raw logs and unpacked data for BridgeRequested events raised by the IFastBridge contract. type IFastBridgeBridgeRequestedIterator struct { Event *IFastBridgeBridgeRequested // 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 *IFastBridgeBridgeRequestedIterator) 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(IFastBridgeBridgeRequested) 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(IFastBridgeBridgeRequested) 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 *IFastBridgeBridgeRequestedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IFastBridgeBridgeRequestedIterator) Close() error { it.sub.Unsubscribe() return nil } // IFastBridgeBridgeRequested represents a BridgeRequested event raised by the IFastBridge contract. type IFastBridgeBridgeRequested struct { TransactionId [32]byte Sender common.Address Request []byte DestChainId uint32 OriginToken common.Address DestToken common.Address OriginAmount *big.Int DestAmount *big.Int SendChainGas bool Raw types.Log // Blockchain specific contextual infos } // FilterBridgeRequested is a free log retrieval operation binding the contract event 0x120ea0364f36cdac7983bcfdd55270ca09d7f9b314a2ebc425a3b01ab1d6403a. // // Solidity: event BridgeRequested(bytes32 indexed transactionId, address indexed sender, bytes request, uint32 destChainId, address originToken, address destToken, uint256 originAmount, uint256 destAmount, bool sendChainGas) func (_IFastBridge *IFastBridgeFilterer) FilterBridgeRequested(opts *bind.FilterOpts, transactionId [][32]byte, sender []common.Address) (*IFastBridgeBridgeRequestedIterator, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _IFastBridge.contract.FilterLogs(opts, "BridgeRequested", transactionIdRule, senderRule) if err != nil { return nil, err } return &IFastBridgeBridgeRequestedIterator{contract: _IFastBridge.contract, event: "BridgeRequested", logs: logs, sub: sub}, nil } // WatchBridgeRequested is a free log subscription operation binding the contract event 0x120ea0364f36cdac7983bcfdd55270ca09d7f9b314a2ebc425a3b01ab1d6403a. // // Solidity: event BridgeRequested(bytes32 indexed transactionId, address indexed sender, bytes request, uint32 destChainId, address originToken, address destToken, uint256 originAmount, uint256 destAmount, bool sendChainGas) func (_IFastBridge *IFastBridgeFilterer) WatchBridgeRequested(opts *bind.WatchOpts, sink chan<- *IFastBridgeBridgeRequested, transactionId [][32]byte, sender []common.Address) (event.Subscription, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _IFastBridge.contract.WatchLogs(opts, "BridgeRequested", transactionIdRule, senderRule) 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(IFastBridgeBridgeRequested) if err := _IFastBridge.contract.UnpackLog(event, "BridgeRequested", 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 } // ParseBridgeRequested is a log parse operation binding the contract event 0x120ea0364f36cdac7983bcfdd55270ca09d7f9b314a2ebc425a3b01ab1d6403a. // // Solidity: event BridgeRequested(bytes32 indexed transactionId, address indexed sender, bytes request, uint32 destChainId, address originToken, address destToken, uint256 originAmount, uint256 destAmount, bool sendChainGas) func (_IFastBridge *IFastBridgeFilterer) ParseBridgeRequested(log types.Log) (*IFastBridgeBridgeRequested, error) { event := new(IFastBridgeBridgeRequested) if err := _IFastBridge.contract.UnpackLog(event, "BridgeRequested", log); err != nil { return nil, err } event.Raw = log return event, nil } // IMulticallTargetMetaData contains all meta data concerning the IMulticallTarget contract. var IMulticallTargetMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"},{\"internalType\":\"bool\",\"name\":\"ignoreReverts\",\"type\":\"bool\"}],\"name\":\"multicallNoResults\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"},{\"internalType\":\"bool\",\"name\":\"ignoreReverts\",\"type\":\"bool\"}],\"name\":\"multicallWithResults\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"structIMulticallTarget.Result[]\",\"name\":\"results\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "3f61331d": "multicallNoResults(bytes[],bool)", "385c1d2f": "multicallWithResults(bytes[],bool)", }, } // IMulticallTargetABI is the input ABI used to generate the binding from. // Deprecated: Use IMulticallTargetMetaData.ABI instead. var IMulticallTargetABI = IMulticallTargetMetaData.ABI // Deprecated: Use IMulticallTargetMetaData.Sigs instead. // IMulticallTargetFuncSigs maps the 4-byte function signature to its string representation. var IMulticallTargetFuncSigs = IMulticallTargetMetaData.Sigs // IMulticallTarget is an auto generated Go binding around an Ethereum contract. type IMulticallTarget struct { IMulticallTargetCaller // Read-only binding to the contract IMulticallTargetTransactor // Write-only binding to the contract IMulticallTargetFilterer // Log filterer for contract events } // IMulticallTargetCaller is an auto generated read-only Go binding around an Ethereum contract. type IMulticallTargetCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IMulticallTargetTransactor is an auto generated write-only Go binding around an Ethereum contract. type IMulticallTargetTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IMulticallTargetFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type IMulticallTargetFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IMulticallTargetSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type IMulticallTargetSession struct { Contract *IMulticallTarget // 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 } // IMulticallTargetCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type IMulticallTargetCallerSession struct { Contract *IMulticallTargetCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IMulticallTargetTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type IMulticallTargetTransactorSession struct { Contract *IMulticallTargetTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IMulticallTargetRaw is an auto generated low-level Go binding around an Ethereum contract. type IMulticallTargetRaw struct { Contract *IMulticallTarget // Generic contract binding to access the raw methods on } // IMulticallTargetCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type IMulticallTargetCallerRaw struct { Contract *IMulticallTargetCaller // Generic read-only contract binding to access the raw methods on } // IMulticallTargetTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type IMulticallTargetTransactorRaw struct { Contract *IMulticallTargetTransactor // Generic write-only contract binding to access the raw methods on } // NewIMulticallTarget creates a new instance of IMulticallTarget, bound to a specific deployed contract. func NewIMulticallTarget(address common.Address, backend bind.ContractBackend) (*IMulticallTarget, error) { contract, err := bindIMulticallTarget(address, backend, backend, backend) if err != nil { return nil, err } return &IMulticallTarget{IMulticallTargetCaller: IMulticallTargetCaller{contract: contract}, IMulticallTargetTransactor: IMulticallTargetTransactor{contract: contract}, IMulticallTargetFilterer: IMulticallTargetFilterer{contract: contract}}, nil } // NewIMulticallTargetCaller creates a new read-only instance of IMulticallTarget, bound to a specific deployed contract. func NewIMulticallTargetCaller(address common.Address, caller bind.ContractCaller) (*IMulticallTargetCaller, error) { contract, err := bindIMulticallTarget(address, caller, nil, nil) if err != nil { return nil, err } return &IMulticallTargetCaller{contract: contract}, nil } // NewIMulticallTargetTransactor creates a new write-only instance of IMulticallTarget, bound to a specific deployed contract. func NewIMulticallTargetTransactor(address common.Address, transactor bind.ContractTransactor) (*IMulticallTargetTransactor, error) { contract, err := bindIMulticallTarget(address, nil, transactor, nil) if err != nil { return nil, err } return &IMulticallTargetTransactor{contract: contract}, nil } // NewIMulticallTargetFilterer creates a new log filterer instance of IMulticallTarget, bound to a specific deployed contract. func NewIMulticallTargetFilterer(address common.Address, filterer bind.ContractFilterer) (*IMulticallTargetFilterer, error) { contract, err := bindIMulticallTarget(address, nil, nil, filterer) if err != nil { return nil, err } return &IMulticallTargetFilterer{contract: contract}, nil } // bindIMulticallTarget binds a generic wrapper to an already deployed contract. func bindIMulticallTarget(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := IMulticallTargetMetaData.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 (_IMulticallTarget *IMulticallTargetRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IMulticallTarget.Contract.IMulticallTargetCaller.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 (_IMulticallTarget *IMulticallTargetRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IMulticallTarget.Contract.IMulticallTargetTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IMulticallTarget *IMulticallTargetRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IMulticallTarget.Contract.IMulticallTargetTransactor.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 (_IMulticallTarget *IMulticallTargetCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _IMulticallTarget.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 (_IMulticallTarget *IMulticallTargetTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IMulticallTarget.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IMulticallTarget *IMulticallTargetTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IMulticallTarget.Contract.contract.Transact(opts, method, params...) } // MulticallNoResults is a paid mutator transaction binding the contract method 0x3f61331d. // // Solidity: function multicallNoResults(bytes[] data, bool ignoreReverts) returns() func (_IMulticallTarget *IMulticallTargetTransactor) MulticallNoResults(opts *bind.TransactOpts, data [][]byte, ignoreReverts bool) (*types.Transaction, error) { return _IMulticallTarget.contract.Transact(opts, "multicallNoResults", data, ignoreReverts) } // MulticallNoResults is a paid mutator transaction binding the contract method 0x3f61331d. // // Solidity: function multicallNoResults(bytes[] data, bool ignoreReverts) returns() func (_IMulticallTarget *IMulticallTargetSession) MulticallNoResults(data [][]byte, ignoreReverts bool) (*types.Transaction, error) { return _IMulticallTarget.Contract.MulticallNoResults(&_IMulticallTarget.TransactOpts, data, ignoreReverts) } // MulticallNoResults is a paid mutator transaction binding the contract method 0x3f61331d. // // Solidity: function multicallNoResults(bytes[] data, bool ignoreReverts) returns() func (_IMulticallTarget *IMulticallTargetTransactorSession) MulticallNoResults(data [][]byte, ignoreReverts bool) (*types.Transaction, error) { return _IMulticallTarget.Contract.MulticallNoResults(&_IMulticallTarget.TransactOpts, data, ignoreReverts) } // MulticallWithResults is a paid mutator transaction binding the contract method 0x385c1d2f. // // Solidity: function multicallWithResults(bytes[] data, bool ignoreReverts) returns((bool,bytes)[] results) func (_IMulticallTarget *IMulticallTargetTransactor) MulticallWithResults(opts *bind.TransactOpts, data [][]byte, ignoreReverts bool) (*types.Transaction, error) { return _IMulticallTarget.contract.Transact(opts, "multicallWithResults", data, ignoreReverts) } // MulticallWithResults is a paid mutator transaction binding the contract method 0x385c1d2f. // // Solidity: function multicallWithResults(bytes[] data, bool ignoreReverts) returns((bool,bytes)[] results) func (_IMulticallTarget *IMulticallTargetSession) MulticallWithResults(data [][]byte, ignoreReverts bool) (*types.Transaction, error) { return _IMulticallTarget.Contract.MulticallWithResults(&_IMulticallTarget.TransactOpts, data, ignoreReverts) } // MulticallWithResults is a paid mutator transaction binding the contract method 0x385c1d2f. // // Solidity: function multicallWithResults(bytes[] data, bool ignoreReverts) returns((bool,bytes)[] results) func (_IMulticallTarget *IMulticallTargetTransactorSession) MulticallWithResults(data [][]byte, ignoreReverts bool) (*types.Transaction, error) { return _IMulticallTarget.Contract.MulticallWithResults(&_IMulticallTarget.TransactOpts, data, ignoreReverts) } // MulticallTargetMetaData contains all meta data concerning the MulticallTarget contract. var MulticallTargetMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"name\":\"MulticallTarget__UndeterminedRevert\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"},{\"internalType\":\"bool\",\"name\":\"ignoreReverts\",\"type\":\"bool\"}],\"name\":\"multicallNoResults\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"data\",\"type\":\"bytes[]\"},{\"internalType\":\"bool\",\"name\":\"ignoreReverts\",\"type\":\"bool\"}],\"name\":\"multicallWithResults\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"structIMulticallTarget.Result[]\",\"name\":\"results\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", Sigs: map[string]string{ "3f61331d": "multicallNoResults(bytes[],bool)", "385c1d2f": "multicallWithResults(bytes[],bool)", }, } // MulticallTargetABI is the input ABI used to generate the binding from. // Deprecated: Use MulticallTargetMetaData.ABI instead. var MulticallTargetABI = MulticallTargetMetaData.ABI // Deprecated: Use MulticallTargetMetaData.Sigs instead. // MulticallTargetFuncSigs maps the 4-byte function signature to its string representation. var MulticallTargetFuncSigs = MulticallTargetMetaData.Sigs // MulticallTarget is an auto generated Go binding around an Ethereum contract. type MulticallTarget struct { MulticallTargetCaller // Read-only binding to the contract MulticallTargetTransactor // Write-only binding to the contract MulticallTargetFilterer // Log filterer for contract events } // MulticallTargetCaller is an auto generated read-only Go binding around an Ethereum contract. type MulticallTargetCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MulticallTargetTransactor is an auto generated write-only Go binding around an Ethereum contract. type MulticallTargetTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MulticallTargetFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type MulticallTargetFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MulticallTargetSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type MulticallTargetSession struct { Contract *MulticallTarget // 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 } // MulticallTargetCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type MulticallTargetCallerSession struct { Contract *MulticallTargetCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // MulticallTargetTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type MulticallTargetTransactorSession struct { Contract *MulticallTargetTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // MulticallTargetRaw is an auto generated low-level Go binding around an Ethereum contract. type MulticallTargetRaw struct { Contract *MulticallTarget // Generic contract binding to access the raw methods on } // MulticallTargetCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type MulticallTargetCallerRaw struct { Contract *MulticallTargetCaller // Generic read-only contract binding to access the raw methods on } // MulticallTargetTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type MulticallTargetTransactorRaw struct { Contract *MulticallTargetTransactor // Generic write-only contract binding to access the raw methods on } // NewMulticallTarget creates a new instance of MulticallTarget, bound to a specific deployed contract. func NewMulticallTarget(address common.Address, backend bind.ContractBackend) (*MulticallTarget, error) { contract, err := bindMulticallTarget(address, backend, backend, backend) if err != nil { return nil, err } return &MulticallTarget{MulticallTargetCaller: MulticallTargetCaller{contract: contract}, MulticallTargetTransactor: MulticallTargetTransactor{contract: contract}, MulticallTargetFilterer: MulticallTargetFilterer{contract: contract}}, nil } // NewMulticallTargetCaller creates a new read-only instance of MulticallTarget, bound to a specific deployed contract. func NewMulticallTargetCaller(address common.Address, caller bind.ContractCaller) (*MulticallTargetCaller, error) { contract, err := bindMulticallTarget(address, caller, nil, nil) if err != nil { return nil, err } return &MulticallTargetCaller{contract: contract}, nil } // NewMulticallTargetTransactor creates a new write-only instance of MulticallTarget, bound to a specific deployed contract. func NewMulticallTargetTransactor(address common.Address, transactor bind.ContractTransactor) (*MulticallTargetTransactor, error) { contract, err := bindMulticallTarget(address, nil, transactor, nil) if err != nil { return nil, err } return &MulticallTargetTransactor{contract: contract}, nil } // NewMulticallTargetFilterer creates a new log filterer instance of MulticallTarget, bound to a specific deployed contract. func NewMulticallTargetFilterer(address common.Address, filterer bind.ContractFilterer) (*MulticallTargetFilterer, error) { contract, err := bindMulticallTarget(address, nil, nil, filterer) if err != nil { return nil, err } return &MulticallTargetFilterer{contract: contract}, nil } // bindMulticallTarget binds a generic wrapper to an already deployed contract. func bindMulticallTarget(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := MulticallTargetMetaData.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 (_MulticallTarget *MulticallTargetRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _MulticallTarget.Contract.MulticallTargetCaller.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 (_MulticallTarget *MulticallTargetRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _MulticallTarget.Contract.MulticallTargetTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_MulticallTarget *MulticallTargetRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _MulticallTarget.Contract.MulticallTargetTransactor.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 (_MulticallTarget *MulticallTargetCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _MulticallTarget.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 (_MulticallTarget *MulticallTargetTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _MulticallTarget.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_MulticallTarget *MulticallTargetTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _MulticallTarget.Contract.contract.Transact(opts, method, params...) } // MulticallNoResults is a paid mutator transaction binding the contract method 0x3f61331d. // // Solidity: function multicallNoResults(bytes[] data, bool ignoreReverts) returns() func (_MulticallTarget *MulticallTargetTransactor) MulticallNoResults(opts *bind.TransactOpts, data [][]byte, ignoreReverts bool) (*types.Transaction, error) { return _MulticallTarget.contract.Transact(opts, "multicallNoResults", data, ignoreReverts) } // MulticallNoResults is a paid mutator transaction binding the contract method 0x3f61331d. // // Solidity: function multicallNoResults(bytes[] data, bool ignoreReverts) returns() func (_MulticallTarget *MulticallTargetSession) MulticallNoResults(data [][]byte, ignoreReverts bool) (*types.Transaction, error) { return _MulticallTarget.Contract.MulticallNoResults(&_MulticallTarget.TransactOpts, data, ignoreReverts) } // MulticallNoResults is a paid mutator transaction binding the contract method 0x3f61331d. // // Solidity: function multicallNoResults(bytes[] data, bool ignoreReverts) returns() func (_MulticallTarget *MulticallTargetTransactorSession) MulticallNoResults(data [][]byte, ignoreReverts bool) (*types.Transaction, error) { return _MulticallTarget.Contract.MulticallNoResults(&_MulticallTarget.TransactOpts, data, ignoreReverts) } // MulticallWithResults is a paid mutator transaction binding the contract method 0x385c1d2f. // // Solidity: function multicallWithResults(bytes[] data, bool ignoreReverts) returns((bool,bytes)[] results) func (_MulticallTarget *MulticallTargetTransactor) MulticallWithResults(opts *bind.TransactOpts, data [][]byte, ignoreReverts bool) (*types.Transaction, error) { return _MulticallTarget.contract.Transact(opts, "multicallWithResults", data, ignoreReverts) } // MulticallWithResults is a paid mutator transaction binding the contract method 0x385c1d2f. // // Solidity: function multicallWithResults(bytes[] data, bool ignoreReverts) returns((bool,bytes)[] results) func (_MulticallTarget *MulticallTargetSession) MulticallWithResults(data [][]byte, ignoreReverts bool) (*types.Transaction, error) { return _MulticallTarget.Contract.MulticallWithResults(&_MulticallTarget.TransactOpts, data, ignoreReverts) } // MulticallWithResults is a paid mutator transaction binding the contract method 0x385c1d2f. // // Solidity: function multicallWithResults(bytes[] data, bool ignoreReverts) returns((bool,bytes)[] results) func (_MulticallTarget *MulticallTargetTransactorSession) MulticallWithResults(data [][]byte, ignoreReverts bool) (*types.Transaction, error) { return _MulticallTarget.Contract.MulticallWithResults(&_MulticallTarget.TransactOpts, data, ignoreReverts) } // SafeERC20MetaData contains all meta data concerning the SafeERC20 contract. var SafeERC20MetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requestedDecrease\",\"type\":\"uint256\"}],\"name\":\"SafeERC20FailedDecreaseAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"}]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122072296557e9fe0116523aae93024d7137ec14a115eeb13c1ba425d4f796a3249564736f6c63430008140033", } // SafeERC20ABI is the input ABI used to generate the binding from. // Deprecated: Use SafeERC20MetaData.ABI instead. var SafeERC20ABI = SafeERC20MetaData.ABI // SafeERC20Bin is the compiled bytecode used for deploying new contracts. // Deprecated: Use SafeERC20MetaData.Bin instead. var SafeERC20Bin = SafeERC20MetaData.Bin // DeploySafeERC20 deploys a new Ethereum contract, binding an instance of SafeERC20 to it. func DeploySafeERC20(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SafeERC20, error) { parsed, err := SafeERC20MetaData.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(SafeERC20Bin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &SafeERC20{SafeERC20Caller: SafeERC20Caller{contract: contract}, SafeERC20Transactor: SafeERC20Transactor{contract: contract}, SafeERC20Filterer: SafeERC20Filterer{contract: contract}}, nil } // SafeERC20 is an auto generated Go binding around an Ethereum contract. type SafeERC20 struct { SafeERC20Caller // Read-only binding to the contract SafeERC20Transactor // Write-only binding to the contract SafeERC20Filterer // Log filterer for contract events } // SafeERC20Caller is an auto generated read-only Go binding around an Ethereum contract. type SafeERC20Caller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // SafeERC20Transactor is an auto generated write-only Go binding around an Ethereum contract. type SafeERC20Transactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // SafeERC20Filterer is an auto generated log filtering Go binding around an Ethereum contract events. type SafeERC20Filterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // SafeERC20Session is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type SafeERC20Session struct { Contract *SafeERC20 // 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 } // SafeERC20CallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type SafeERC20CallerSession struct { Contract *SafeERC20Caller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // SafeERC20TransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type SafeERC20TransactorSession struct { Contract *SafeERC20Transactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // SafeERC20Raw is an auto generated low-level Go binding around an Ethereum contract. type SafeERC20Raw struct { Contract *SafeERC20 // Generic contract binding to access the raw methods on } // SafeERC20CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type SafeERC20CallerRaw struct { Contract *SafeERC20Caller // Generic read-only contract binding to access the raw methods on } // SafeERC20TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type SafeERC20TransactorRaw struct { Contract *SafeERC20Transactor // Generic write-only contract binding to access the raw methods on } // NewSafeERC20 creates a new instance of SafeERC20, bound to a specific deployed contract. func NewSafeERC20(address common.Address, backend bind.ContractBackend) (*SafeERC20, error) { contract, err := bindSafeERC20(address, backend, backend, backend) if err != nil { return nil, err } return &SafeERC20{SafeERC20Caller: SafeERC20Caller{contract: contract}, SafeERC20Transactor: SafeERC20Transactor{contract: contract}, SafeERC20Filterer: SafeERC20Filterer{contract: contract}}, nil } // NewSafeERC20Caller creates a new read-only instance of SafeERC20, bound to a specific deployed contract. func NewSafeERC20Caller(address common.Address, caller bind.ContractCaller) (*SafeERC20Caller, error) { contract, err := bindSafeERC20(address, caller, nil, nil) if err != nil { return nil, err } return &SafeERC20Caller{contract: contract}, nil } // NewSafeERC20Transactor creates a new write-only instance of SafeERC20, bound to a specific deployed contract. func NewSafeERC20Transactor(address common.Address, transactor bind.ContractTransactor) (*SafeERC20Transactor, error) { contract, err := bindSafeERC20(address, nil, transactor, nil) if err != nil { return nil, err } return &SafeERC20Transactor{contract: contract}, nil } // NewSafeERC20Filterer creates a new log filterer instance of SafeERC20, bound to a specific deployed contract. func NewSafeERC20Filterer(address common.Address, filterer bind.ContractFilterer) (*SafeERC20Filterer, error) { contract, err := bindSafeERC20(address, nil, nil, filterer) if err != nil { return nil, err } return &SafeERC20Filterer{contract: contract}, nil } // bindSafeERC20 binds a generic wrapper to an already deployed contract. func bindSafeERC20(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := SafeERC20MetaData.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 (_SafeERC20 *SafeERC20Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _SafeERC20.Contract.SafeERC20Caller.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 (_SafeERC20 *SafeERC20Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _SafeERC20.Contract.SafeERC20Transactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_SafeERC20 *SafeERC20Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _SafeERC20.Contract.SafeERC20Transactor.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 (_SafeERC20 *SafeERC20CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _SafeERC20.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 (_SafeERC20 *SafeERC20TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _SafeERC20.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_SafeERC20 *SafeERC20TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _SafeERC20.Contract.contract.Transact(opts, method, params...) } // UniversalTokenLibMetaData contains all meta data concerning the UniversalTokenLib contract. var UniversalTokenLibMetaData = &bind.MetaData{ ABI: "[]", Bin: "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e5375ee75d6006a83a7863ac52c9939f6efb1760b9c0b8403dbabad63465ff9064736f6c63430008140033", } // UniversalTokenLibABI is the input ABI used to generate the binding from. // Deprecated: Use UniversalTokenLibMetaData.ABI instead. var UniversalTokenLibABI = UniversalTokenLibMetaData.ABI // UniversalTokenLibBin is the compiled bytecode used for deploying new contracts. // Deprecated: Use UniversalTokenLibMetaData.Bin instead. var UniversalTokenLibBin = UniversalTokenLibMetaData.Bin // DeployUniversalTokenLib deploys a new Ethereum contract, binding an instance of UniversalTokenLib to it. func DeployUniversalTokenLib(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *UniversalTokenLib, error) { parsed, err := UniversalTokenLibMetaData.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(UniversalTokenLibBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &UniversalTokenLib{UniversalTokenLibCaller: UniversalTokenLibCaller{contract: contract}, UniversalTokenLibTransactor: UniversalTokenLibTransactor{contract: contract}, UniversalTokenLibFilterer: UniversalTokenLibFilterer{contract: contract}}, nil } // UniversalTokenLib is an auto generated Go binding around an Ethereum contract. type UniversalTokenLib struct { UniversalTokenLibCaller // Read-only binding to the contract UniversalTokenLibTransactor // Write-only binding to the contract UniversalTokenLibFilterer // Log filterer for contract events } // UniversalTokenLibCaller is an auto generated read-only Go binding around an Ethereum contract. type UniversalTokenLibCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // UniversalTokenLibTransactor is an auto generated write-only Go binding around an Ethereum contract. type UniversalTokenLibTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // UniversalTokenLibFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type UniversalTokenLibFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // UniversalTokenLibSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type UniversalTokenLibSession struct { Contract *UniversalTokenLib // 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 } // UniversalTokenLibCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type UniversalTokenLibCallerSession struct { Contract *UniversalTokenLibCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // UniversalTokenLibTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type UniversalTokenLibTransactorSession struct { Contract *UniversalTokenLibTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // UniversalTokenLibRaw is an auto generated low-level Go binding around an Ethereum contract. type UniversalTokenLibRaw struct { Contract *UniversalTokenLib // Generic contract binding to access the raw methods on } // UniversalTokenLibCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type UniversalTokenLibCallerRaw struct { Contract *UniversalTokenLibCaller // Generic read-only contract binding to access the raw methods on } // UniversalTokenLibTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type UniversalTokenLibTransactorRaw struct { Contract *UniversalTokenLibTransactor // Generic write-only contract binding to access the raw methods on } // NewUniversalTokenLib creates a new instance of UniversalTokenLib, bound to a specific deployed contract. func NewUniversalTokenLib(address common.Address, backend bind.ContractBackend) (*UniversalTokenLib, error) { contract, err := bindUniversalTokenLib(address, backend, backend, backend) if err != nil { return nil, err } return &UniversalTokenLib{UniversalTokenLibCaller: UniversalTokenLibCaller{contract: contract}, UniversalTokenLibTransactor: UniversalTokenLibTransactor{contract: contract}, UniversalTokenLibFilterer: UniversalTokenLibFilterer{contract: contract}}, nil } // NewUniversalTokenLibCaller creates a new read-only instance of UniversalTokenLib, bound to a specific deployed contract. func NewUniversalTokenLibCaller(address common.Address, caller bind.ContractCaller) (*UniversalTokenLibCaller, error) { contract, err := bindUniversalTokenLib(address, caller, nil, nil) if err != nil { return nil, err } return &UniversalTokenLibCaller{contract: contract}, nil } // NewUniversalTokenLibTransactor creates a new write-only instance of UniversalTokenLib, bound to a specific deployed contract. func NewUniversalTokenLibTransactor(address common.Address, transactor bind.ContractTransactor) (*UniversalTokenLibTransactor, error) { contract, err := bindUniversalTokenLib(address, nil, transactor, nil) if err != nil { return nil, err } return &UniversalTokenLibTransactor{contract: contract}, nil } // NewUniversalTokenLibFilterer creates a new log filterer instance of UniversalTokenLib, bound to a specific deployed contract. func NewUniversalTokenLibFilterer(address common.Address, filterer bind.ContractFilterer) (*UniversalTokenLibFilterer, error) { contract, err := bindUniversalTokenLib(address, nil, nil, filterer) if err != nil { return nil, err } return &UniversalTokenLibFilterer{contract: contract}, nil } // bindUniversalTokenLib binds a generic wrapper to an already deployed contract. func bindUniversalTokenLib(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := UniversalTokenLibMetaData.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 (_UniversalTokenLib *UniversalTokenLibRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _UniversalTokenLib.Contract.UniversalTokenLibCaller.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 (_UniversalTokenLib *UniversalTokenLibRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _UniversalTokenLib.Contract.UniversalTokenLibTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_UniversalTokenLib *UniversalTokenLibRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _UniversalTokenLib.Contract.UniversalTokenLibTransactor.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 (_UniversalTokenLib *UniversalTokenLibCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _UniversalTokenLib.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 (_UniversalTokenLib *UniversalTokenLibTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _UniversalTokenLib.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_UniversalTokenLib *UniversalTokenLibTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _UniversalTokenLib.Contract.contract.Transact(opts, method, params...) }