github.com/status-im/status-go@v1.1.0/contracts/hop/l1Contracts/l1Erc20Bridge/l1Erc20Bridge.go (about) 1 // Code generated - DO NOT EDIT. 2 // This file is a generated binding and any manual changes will be lost. 3 4 package hopL1Erc20Bridge 5 6 import ( 7 "errors" 8 "math/big" 9 "strings" 10 11 ethereum "github.com/ethereum/go-ethereum" 12 "github.com/ethereum/go-ethereum/accounts/abi" 13 "github.com/ethereum/go-ethereum/accounts/abi/bind" 14 "github.com/ethereum/go-ethereum/common" 15 "github.com/ethereum/go-ethereum/core/types" 16 "github.com/ethereum/go-ethereum/event" 17 ) 18 19 // Reference imports to suppress errors if they are not otherwise used. 20 var ( 21 _ = errors.New 22 _ = big.NewInt 23 _ = strings.NewReader 24 _ = ethereum.NotFound 25 _ = bind.Bind 26 _ = common.Big1 27 _ = types.BloomLookup 28 _ = event.NewSubscription 29 _ = abi.ConvertType 30 ) 31 32 // BridgeTransferRoot is an auto generated low-level Go binding around an user-defined struct. 33 type BridgeTransferRoot struct { 34 Total *big.Int 35 AmountWithdrawn *big.Int 36 CreatedAt *big.Int 37 } 38 39 // HopL1Erc20BridgeMetaData contains all meta data concerning the HopL1Erc20Bridge contract. 40 var HopL1Erc20BridgeMetaData = &bind.MetaData{ 41 ABI: "[{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"_l1CanonicalToken\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"bonders\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"_governance\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newBonder\",\"type\":\"address\"}],\"name\":\"BonderAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousBonder\",\"type\":\"address\"}],\"name\":\"BonderRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"transferRootId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"rootHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"originalAmount\",\"type\":\"uint256\"}],\"name\":\"ChallengeResolved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"bonder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"rootHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalBondsSettled\",\"type\":\"uint256\"}],\"name\":\"MultipleWithdrawalsSettled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Stake\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"transferRootId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"rootHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"originalAmount\",\"type\":\"uint256\"}],\"name\":\"TransferBondChallenged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TransferRootBonded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"originChainId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"destinationChainId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"rootHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"}],\"name\":\"TransferRootConfirmed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"rootHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"}],\"name\":\"TransferRootSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"relayerFee\",\"type\":\"uint256\"}],\"name\":\"TransferSentToL2\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Unstake\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"bonder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"transferId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"rootHash\",\"type\":\"bytes32\"}],\"name\":\"WithdrawalBondSettled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"transferId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"WithdrawalBonded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"transferId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"transferNonce\",\"type\":\"bytes32\"}],\"name\":\"Withdrew\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CHALLENGE_AMOUNT_DIVISOR\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TIME_SLOT_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"bonder\",\"type\":\"address\"}],\"name\":\"addBonder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"rootHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"destinationChainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"}],\"name\":\"bondTransferRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"transferNonce\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"bonderFee\",\"type\":\"uint256\"}],\"name\":\"bondWithdrawal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"chainBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"challengePeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"challengeResolutionPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"rootHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"originalAmount\",\"type\":\"uint256\"}],\"name\":\"challengeTransferBond\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"originChainId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"rootHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"destinationChainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rootCommittedAt\",\"type\":\"uint256\"}],\"name\":\"confirmTransferRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"crossDomainMessengerWrappers\",\"outputs\":[{\"internalType\":\"contractIMessengerWrapper\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"getBondForTransferAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"bonder\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"transferId\",\"type\":\"bytes32\"}],\"name\":\"getBondedWithdrawalAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"getChallengeAmountForTransferAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"bonder\",\"type\":\"address\"}],\"name\":\"getCredit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"bonder\",\"type\":\"address\"}],\"name\":\"getDebitAndAdditionalDebit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"maybeBonder\",\"type\":\"address\"}],\"name\":\"getIsBonder\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"bonder\",\"type\":\"address\"}],\"name\":\"getRawDebit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"time\",\"type\":\"uint256\"}],\"name\":\"getTimeSlot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"transferNonce\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"bonderFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"getTransferId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"rootHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"}],\"name\":\"getTransferRoot\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"total\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountWithdrawn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdAt\",\"type\":\"uint256\"}],\"internalType\":\"structBridge.TransferRoot\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"rootHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"}],\"name\":\"getTransferRootId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"governance\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"isChainIdPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"transferId\",\"type\":\"bytes32\"}],\"name\":\"isTransferIdSpent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l1CanonicalToken\",\"outputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minTransferRootBondDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"bonder\",\"type\":\"address\"}],\"name\":\"removeBonder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"rootHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"originalAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"rescueTransferRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"rootHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"originalAmount\",\"type\":\"uint256\"}],\"name\":\"resolveChallenge\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"relayerFee\",\"type\":\"uint256\"}],\"name\":\"sendToL2\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isPaused\",\"type\":\"bool\"}],\"name\":\"setChainIdDepositsPaused\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_challengePeriod\",\"type\":\"uint256\"}],\"name\":\"setChallengePeriod\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_challengeResolutionPeriod\",\"type\":\"uint256\"}],\"name\":\"setChallengeResolutionPeriod\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"contractIMessengerWrapper\",\"name\":\"_crossDomainMessengerWrapper\",\"type\":\"address\"}],\"name\":\"setCrossDomainMessengerWrapper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newGovernance\",\"type\":\"address\"}],\"name\":\"setGovernance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_minTransferRootBondDelay\",\"type\":\"uint256\"}],\"name\":\"setMinTransferRootBondDelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"bonder\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"transferId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"rootHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"transferRootTotalAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"transferIdTreeIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"siblings\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256\",\"name\":\"totalLeaves\",\"type\":\"uint256\"}],\"name\":\"settleBondedWithdrawal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"bonder\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"transferIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"}],\"name\":\"settleBondedWithdrawals\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"bonder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"timeSlotToAmountBonded\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"transferBonds\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"bonder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"createdAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"challengeStartTime\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"challenger\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"challengeResolved\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"transferRootCommittedAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"transferNonce\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"bonderFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"rootHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"transferRootTotalAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"transferIdTreeIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"siblings\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256\",\"name\":\"totalLeaves\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", 42 } 43 44 // HopL1Erc20BridgeABI is the input ABI used to generate the binding from. 45 // Deprecated: Use HopL1Erc20BridgeMetaData.ABI instead. 46 var HopL1Erc20BridgeABI = HopL1Erc20BridgeMetaData.ABI 47 48 // HopL1Erc20Bridge is an auto generated Go binding around an Ethereum contract. 49 type HopL1Erc20Bridge struct { 50 HopL1Erc20BridgeCaller // Read-only binding to the contract 51 HopL1Erc20BridgeTransactor // Write-only binding to the contract 52 HopL1Erc20BridgeFilterer // Log filterer for contract events 53 } 54 55 // HopL1Erc20BridgeCaller is an auto generated read-only Go binding around an Ethereum contract. 56 type HopL1Erc20BridgeCaller struct { 57 contract *bind.BoundContract // Generic contract wrapper for the low level calls 58 } 59 60 // HopL1Erc20BridgeTransactor is an auto generated write-only Go binding around an Ethereum contract. 61 type HopL1Erc20BridgeTransactor struct { 62 contract *bind.BoundContract // Generic contract wrapper for the low level calls 63 } 64 65 // HopL1Erc20BridgeFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 66 type HopL1Erc20BridgeFilterer struct { 67 contract *bind.BoundContract // Generic contract wrapper for the low level calls 68 } 69 70 // HopL1Erc20BridgeSession is an auto generated Go binding around an Ethereum contract, 71 // with pre-set call and transact options. 72 type HopL1Erc20BridgeSession struct { 73 Contract *HopL1Erc20Bridge // Generic contract binding to set the session for 74 CallOpts bind.CallOpts // Call options to use throughout this session 75 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 76 } 77 78 // HopL1Erc20BridgeCallerSession is an auto generated read-only Go binding around an Ethereum contract, 79 // with pre-set call options. 80 type HopL1Erc20BridgeCallerSession struct { 81 Contract *HopL1Erc20BridgeCaller // Generic contract caller binding to set the session for 82 CallOpts bind.CallOpts // Call options to use throughout this session 83 } 84 85 // HopL1Erc20BridgeTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 86 // with pre-set transact options. 87 type HopL1Erc20BridgeTransactorSession struct { 88 Contract *HopL1Erc20BridgeTransactor // Generic contract transactor binding to set the session for 89 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 90 } 91 92 // HopL1Erc20BridgeRaw is an auto generated low-level Go binding around an Ethereum contract. 93 type HopL1Erc20BridgeRaw struct { 94 Contract *HopL1Erc20Bridge // Generic contract binding to access the raw methods on 95 } 96 97 // HopL1Erc20BridgeCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 98 type HopL1Erc20BridgeCallerRaw struct { 99 Contract *HopL1Erc20BridgeCaller // Generic read-only contract binding to access the raw methods on 100 } 101 102 // HopL1Erc20BridgeTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 103 type HopL1Erc20BridgeTransactorRaw struct { 104 Contract *HopL1Erc20BridgeTransactor // Generic write-only contract binding to access the raw methods on 105 } 106 107 // NewHopL1Erc20Bridge creates a new instance of HopL1Erc20Bridge, bound to a specific deployed contract. 108 func NewHopL1Erc20Bridge(address common.Address, backend bind.ContractBackend) (*HopL1Erc20Bridge, error) { 109 contract, err := bindHopL1Erc20Bridge(address, backend, backend, backend) 110 if err != nil { 111 return nil, err 112 } 113 return &HopL1Erc20Bridge{HopL1Erc20BridgeCaller: HopL1Erc20BridgeCaller{contract: contract}, HopL1Erc20BridgeTransactor: HopL1Erc20BridgeTransactor{contract: contract}, HopL1Erc20BridgeFilterer: HopL1Erc20BridgeFilterer{contract: contract}}, nil 114 } 115 116 // NewHopL1Erc20BridgeCaller creates a new read-only instance of HopL1Erc20Bridge, bound to a specific deployed contract. 117 func NewHopL1Erc20BridgeCaller(address common.Address, caller bind.ContractCaller) (*HopL1Erc20BridgeCaller, error) { 118 contract, err := bindHopL1Erc20Bridge(address, caller, nil, nil) 119 if err != nil { 120 return nil, err 121 } 122 return &HopL1Erc20BridgeCaller{contract: contract}, nil 123 } 124 125 // NewHopL1Erc20BridgeTransactor creates a new write-only instance of HopL1Erc20Bridge, bound to a specific deployed contract. 126 func NewHopL1Erc20BridgeTransactor(address common.Address, transactor bind.ContractTransactor) (*HopL1Erc20BridgeTransactor, error) { 127 contract, err := bindHopL1Erc20Bridge(address, nil, transactor, nil) 128 if err != nil { 129 return nil, err 130 } 131 return &HopL1Erc20BridgeTransactor{contract: contract}, nil 132 } 133 134 // NewHopL1Erc20BridgeFilterer creates a new log filterer instance of HopL1Erc20Bridge, bound to a specific deployed contract. 135 func NewHopL1Erc20BridgeFilterer(address common.Address, filterer bind.ContractFilterer) (*HopL1Erc20BridgeFilterer, error) { 136 contract, err := bindHopL1Erc20Bridge(address, nil, nil, filterer) 137 if err != nil { 138 return nil, err 139 } 140 return &HopL1Erc20BridgeFilterer{contract: contract}, nil 141 } 142 143 // bindHopL1Erc20Bridge binds a generic wrapper to an already deployed contract. 144 func bindHopL1Erc20Bridge(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 145 parsed, err := HopL1Erc20BridgeMetaData.GetAbi() 146 if err != nil { 147 return nil, err 148 } 149 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 150 } 151 152 // Call invokes the (constant) contract method with params as input values and 153 // sets the output to result. The result type might be a single field for simple 154 // returns, a slice of interfaces for anonymous returns and a struct for named 155 // returns. 156 func (_HopL1Erc20Bridge *HopL1Erc20BridgeRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 157 return _HopL1Erc20Bridge.Contract.HopL1Erc20BridgeCaller.contract.Call(opts, result, method, params...) 158 } 159 160 // Transfer initiates a plain transaction to move funds to the contract, calling 161 // its default method if one is available. 162 func (_HopL1Erc20Bridge *HopL1Erc20BridgeRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 163 return _HopL1Erc20Bridge.Contract.HopL1Erc20BridgeTransactor.contract.Transfer(opts) 164 } 165 166 // Transact invokes the (paid) contract method with params as input values. 167 func (_HopL1Erc20Bridge *HopL1Erc20BridgeRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 168 return _HopL1Erc20Bridge.Contract.HopL1Erc20BridgeTransactor.contract.Transact(opts, method, params...) 169 } 170 171 // Call invokes the (constant) contract method with params as input values and 172 // sets the output to result. The result type might be a single field for simple 173 // returns, a slice of interfaces for anonymous returns and a struct for named 174 // returns. 175 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 176 return _HopL1Erc20Bridge.Contract.contract.Call(opts, result, method, params...) 177 } 178 179 // Transfer initiates a plain transaction to move funds to the contract, calling 180 // its default method if one is available. 181 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 182 return _HopL1Erc20Bridge.Contract.contract.Transfer(opts) 183 } 184 185 // Transact invokes the (paid) contract method with params as input values. 186 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 187 return _HopL1Erc20Bridge.Contract.contract.Transact(opts, method, params...) 188 } 189 190 // CHALLENGEAMOUNTDIVISOR is a free data retrieval call binding the contract method 0x98c4f76d. 191 // 192 // Solidity: function CHALLENGE_AMOUNT_DIVISOR() view returns(uint256) 193 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) CHALLENGEAMOUNTDIVISOR(opts *bind.CallOpts) (*big.Int, error) { 194 var out []interface{} 195 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "CHALLENGE_AMOUNT_DIVISOR") 196 197 if err != nil { 198 return *new(*big.Int), err 199 } 200 201 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 202 203 return out0, err 204 205 } 206 207 // CHALLENGEAMOUNTDIVISOR is a free data retrieval call binding the contract method 0x98c4f76d. 208 // 209 // Solidity: function CHALLENGE_AMOUNT_DIVISOR() view returns(uint256) 210 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) CHALLENGEAMOUNTDIVISOR() (*big.Int, error) { 211 return _HopL1Erc20Bridge.Contract.CHALLENGEAMOUNTDIVISOR(&_HopL1Erc20Bridge.CallOpts) 212 } 213 214 // CHALLENGEAMOUNTDIVISOR is a free data retrieval call binding the contract method 0x98c4f76d. 215 // 216 // Solidity: function CHALLENGE_AMOUNT_DIVISOR() view returns(uint256) 217 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) CHALLENGEAMOUNTDIVISOR() (*big.Int, error) { 218 return _HopL1Erc20Bridge.Contract.CHALLENGEAMOUNTDIVISOR(&_HopL1Erc20Bridge.CallOpts) 219 } 220 221 // TIMESLOTSIZE is a free data retrieval call binding the contract method 0x4de8c6e6. 222 // 223 // Solidity: function TIME_SLOT_SIZE() view returns(uint256) 224 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) TIMESLOTSIZE(opts *bind.CallOpts) (*big.Int, error) { 225 var out []interface{} 226 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "TIME_SLOT_SIZE") 227 228 if err != nil { 229 return *new(*big.Int), err 230 } 231 232 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 233 234 return out0, err 235 236 } 237 238 // TIMESLOTSIZE is a free data retrieval call binding the contract method 0x4de8c6e6. 239 // 240 // Solidity: function TIME_SLOT_SIZE() view returns(uint256) 241 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) TIMESLOTSIZE() (*big.Int, error) { 242 return _HopL1Erc20Bridge.Contract.TIMESLOTSIZE(&_HopL1Erc20Bridge.CallOpts) 243 } 244 245 // TIMESLOTSIZE is a free data retrieval call binding the contract method 0x4de8c6e6. 246 // 247 // Solidity: function TIME_SLOT_SIZE() view returns(uint256) 248 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) TIMESLOTSIZE() (*big.Int, error) { 249 return _HopL1Erc20Bridge.Contract.TIMESLOTSIZE(&_HopL1Erc20Bridge.CallOpts) 250 } 251 252 // ChainBalance is a free data retrieval call binding the contract method 0xfc110b67. 253 // 254 // Solidity: function chainBalance(uint256 ) view returns(uint256) 255 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) ChainBalance(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error) { 256 var out []interface{} 257 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "chainBalance", arg0) 258 259 if err != nil { 260 return *new(*big.Int), err 261 } 262 263 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 264 265 return out0, err 266 267 } 268 269 // ChainBalance is a free data retrieval call binding the contract method 0xfc110b67. 270 // 271 // Solidity: function chainBalance(uint256 ) view returns(uint256) 272 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) ChainBalance(arg0 *big.Int) (*big.Int, error) { 273 return _HopL1Erc20Bridge.Contract.ChainBalance(&_HopL1Erc20Bridge.CallOpts, arg0) 274 } 275 276 // ChainBalance is a free data retrieval call binding the contract method 0xfc110b67. 277 // 278 // Solidity: function chainBalance(uint256 ) view returns(uint256) 279 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) ChainBalance(arg0 *big.Int) (*big.Int, error) { 280 return _HopL1Erc20Bridge.Contract.ChainBalance(&_HopL1Erc20Bridge.CallOpts, arg0) 281 } 282 283 // ChallengePeriod is a free data retrieval call binding the contract method 0xf3f480d9. 284 // 285 // Solidity: function challengePeriod() view returns(uint256) 286 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) ChallengePeriod(opts *bind.CallOpts) (*big.Int, error) { 287 var out []interface{} 288 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "challengePeriod") 289 290 if err != nil { 291 return *new(*big.Int), err 292 } 293 294 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 295 296 return out0, err 297 298 } 299 300 // ChallengePeriod is a free data retrieval call binding the contract method 0xf3f480d9. 301 // 302 // Solidity: function challengePeriod() view returns(uint256) 303 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) ChallengePeriod() (*big.Int, error) { 304 return _HopL1Erc20Bridge.Contract.ChallengePeriod(&_HopL1Erc20Bridge.CallOpts) 305 } 306 307 // ChallengePeriod is a free data retrieval call binding the contract method 0xf3f480d9. 308 // 309 // Solidity: function challengePeriod() view returns(uint256) 310 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) ChallengePeriod() (*big.Int, error) { 311 return _HopL1Erc20Bridge.Contract.ChallengePeriod(&_HopL1Erc20Bridge.CallOpts) 312 } 313 314 // ChallengeResolutionPeriod is a free data retrieval call binding the contract method 0x767631d5. 315 // 316 // Solidity: function challengeResolutionPeriod() view returns(uint256) 317 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) ChallengeResolutionPeriod(opts *bind.CallOpts) (*big.Int, error) { 318 var out []interface{} 319 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "challengeResolutionPeriod") 320 321 if err != nil { 322 return *new(*big.Int), err 323 } 324 325 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 326 327 return out0, err 328 329 } 330 331 // ChallengeResolutionPeriod is a free data retrieval call binding the contract method 0x767631d5. 332 // 333 // Solidity: function challengeResolutionPeriod() view returns(uint256) 334 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) ChallengeResolutionPeriod() (*big.Int, error) { 335 return _HopL1Erc20Bridge.Contract.ChallengeResolutionPeriod(&_HopL1Erc20Bridge.CallOpts) 336 } 337 338 // ChallengeResolutionPeriod is a free data retrieval call binding the contract method 0x767631d5. 339 // 340 // Solidity: function challengeResolutionPeriod() view returns(uint256) 341 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) ChallengeResolutionPeriod() (*big.Int, error) { 342 return _HopL1Erc20Bridge.Contract.ChallengeResolutionPeriod(&_HopL1Erc20Bridge.CallOpts) 343 } 344 345 // CrossDomainMessengerWrappers is a free data retrieval call binding the contract method 0xa35962f3. 346 // 347 // Solidity: function crossDomainMessengerWrappers(uint256 ) view returns(address) 348 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) CrossDomainMessengerWrappers(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) { 349 var out []interface{} 350 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "crossDomainMessengerWrappers", arg0) 351 352 if err != nil { 353 return *new(common.Address), err 354 } 355 356 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 357 358 return out0, err 359 360 } 361 362 // CrossDomainMessengerWrappers is a free data retrieval call binding the contract method 0xa35962f3. 363 // 364 // Solidity: function crossDomainMessengerWrappers(uint256 ) view returns(address) 365 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) CrossDomainMessengerWrappers(arg0 *big.Int) (common.Address, error) { 366 return _HopL1Erc20Bridge.Contract.CrossDomainMessengerWrappers(&_HopL1Erc20Bridge.CallOpts, arg0) 367 } 368 369 // CrossDomainMessengerWrappers is a free data retrieval call binding the contract method 0xa35962f3. 370 // 371 // Solidity: function crossDomainMessengerWrappers(uint256 ) view returns(address) 372 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) CrossDomainMessengerWrappers(arg0 *big.Int) (common.Address, error) { 373 return _HopL1Erc20Bridge.Contract.CrossDomainMessengerWrappers(&_HopL1Erc20Bridge.CallOpts, arg0) 374 } 375 376 // GetBondForTransferAmount is a free data retrieval call binding the contract method 0xe19be150. 377 // 378 // Solidity: function getBondForTransferAmount(uint256 amount) pure returns(uint256) 379 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) GetBondForTransferAmount(opts *bind.CallOpts, amount *big.Int) (*big.Int, error) { 380 var out []interface{} 381 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "getBondForTransferAmount", amount) 382 383 if err != nil { 384 return *new(*big.Int), err 385 } 386 387 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 388 389 return out0, err 390 391 } 392 393 // GetBondForTransferAmount is a free data retrieval call binding the contract method 0xe19be150. 394 // 395 // Solidity: function getBondForTransferAmount(uint256 amount) pure returns(uint256) 396 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) GetBondForTransferAmount(amount *big.Int) (*big.Int, error) { 397 return _HopL1Erc20Bridge.Contract.GetBondForTransferAmount(&_HopL1Erc20Bridge.CallOpts, amount) 398 } 399 400 // GetBondForTransferAmount is a free data retrieval call binding the contract method 0xe19be150. 401 // 402 // Solidity: function getBondForTransferAmount(uint256 amount) pure returns(uint256) 403 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) GetBondForTransferAmount(amount *big.Int) (*big.Int, error) { 404 return _HopL1Erc20Bridge.Contract.GetBondForTransferAmount(&_HopL1Erc20Bridge.CallOpts, amount) 405 } 406 407 // GetBondedWithdrawalAmount is a free data retrieval call binding the contract method 0x302830ab. 408 // 409 // Solidity: function getBondedWithdrawalAmount(address bonder, bytes32 transferId) view returns(uint256) 410 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) GetBondedWithdrawalAmount(opts *bind.CallOpts, bonder common.Address, transferId [32]byte) (*big.Int, error) { 411 var out []interface{} 412 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "getBondedWithdrawalAmount", bonder, transferId) 413 414 if err != nil { 415 return *new(*big.Int), err 416 } 417 418 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 419 420 return out0, err 421 422 } 423 424 // GetBondedWithdrawalAmount is a free data retrieval call binding the contract method 0x302830ab. 425 // 426 // Solidity: function getBondedWithdrawalAmount(address bonder, bytes32 transferId) view returns(uint256) 427 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) GetBondedWithdrawalAmount(bonder common.Address, transferId [32]byte) (*big.Int, error) { 428 return _HopL1Erc20Bridge.Contract.GetBondedWithdrawalAmount(&_HopL1Erc20Bridge.CallOpts, bonder, transferId) 429 } 430 431 // GetBondedWithdrawalAmount is a free data retrieval call binding the contract method 0x302830ab. 432 // 433 // Solidity: function getBondedWithdrawalAmount(address bonder, bytes32 transferId) view returns(uint256) 434 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) GetBondedWithdrawalAmount(bonder common.Address, transferId [32]byte) (*big.Int, error) { 435 return _HopL1Erc20Bridge.Contract.GetBondedWithdrawalAmount(&_HopL1Erc20Bridge.CallOpts, bonder, transferId) 436 } 437 438 // GetChainId is a free data retrieval call binding the contract method 0x3408e470. 439 // 440 // Solidity: function getChainId() view returns(uint256 chainId) 441 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) GetChainId(opts *bind.CallOpts) (*big.Int, error) { 442 var out []interface{} 443 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "getChainId") 444 445 if err != nil { 446 return *new(*big.Int), err 447 } 448 449 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 450 451 return out0, err 452 453 } 454 455 // GetChainId is a free data retrieval call binding the contract method 0x3408e470. 456 // 457 // Solidity: function getChainId() view returns(uint256 chainId) 458 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) GetChainId() (*big.Int, error) { 459 return _HopL1Erc20Bridge.Contract.GetChainId(&_HopL1Erc20Bridge.CallOpts) 460 } 461 462 // GetChainId is a free data retrieval call binding the contract method 0x3408e470. 463 // 464 // Solidity: function getChainId() view returns(uint256 chainId) 465 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) GetChainId() (*big.Int, error) { 466 return _HopL1Erc20Bridge.Contract.GetChainId(&_HopL1Erc20Bridge.CallOpts) 467 } 468 469 // GetChallengeAmountForTransferAmount is a free data retrieval call binding the contract method 0xa239f5ee. 470 // 471 // Solidity: function getChallengeAmountForTransferAmount(uint256 amount) pure returns(uint256) 472 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) GetChallengeAmountForTransferAmount(opts *bind.CallOpts, amount *big.Int) (*big.Int, error) { 473 var out []interface{} 474 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "getChallengeAmountForTransferAmount", amount) 475 476 if err != nil { 477 return *new(*big.Int), err 478 } 479 480 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 481 482 return out0, err 483 484 } 485 486 // GetChallengeAmountForTransferAmount is a free data retrieval call binding the contract method 0xa239f5ee. 487 // 488 // Solidity: function getChallengeAmountForTransferAmount(uint256 amount) pure returns(uint256) 489 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) GetChallengeAmountForTransferAmount(amount *big.Int) (*big.Int, error) { 490 return _HopL1Erc20Bridge.Contract.GetChallengeAmountForTransferAmount(&_HopL1Erc20Bridge.CallOpts, amount) 491 } 492 493 // GetChallengeAmountForTransferAmount is a free data retrieval call binding the contract method 0xa239f5ee. 494 // 495 // Solidity: function getChallengeAmountForTransferAmount(uint256 amount) pure returns(uint256) 496 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) GetChallengeAmountForTransferAmount(amount *big.Int) (*big.Int, error) { 497 return _HopL1Erc20Bridge.Contract.GetChallengeAmountForTransferAmount(&_HopL1Erc20Bridge.CallOpts, amount) 498 } 499 500 // GetCredit is a free data retrieval call binding the contract method 0x57344e6f. 501 // 502 // Solidity: function getCredit(address bonder) view returns(uint256) 503 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) GetCredit(opts *bind.CallOpts, bonder common.Address) (*big.Int, error) { 504 var out []interface{} 505 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "getCredit", bonder) 506 507 if err != nil { 508 return *new(*big.Int), err 509 } 510 511 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 512 513 return out0, err 514 515 } 516 517 // GetCredit is a free data retrieval call binding the contract method 0x57344e6f. 518 // 519 // Solidity: function getCredit(address bonder) view returns(uint256) 520 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) GetCredit(bonder common.Address) (*big.Int, error) { 521 return _HopL1Erc20Bridge.Contract.GetCredit(&_HopL1Erc20Bridge.CallOpts, bonder) 522 } 523 524 // GetCredit is a free data retrieval call binding the contract method 0x57344e6f. 525 // 526 // Solidity: function getCredit(address bonder) view returns(uint256) 527 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) GetCredit(bonder common.Address) (*big.Int, error) { 528 return _HopL1Erc20Bridge.Contract.GetCredit(&_HopL1Erc20Bridge.CallOpts, bonder) 529 } 530 531 // GetDebitAndAdditionalDebit is a free data retrieval call binding the contract method 0xffa9286c. 532 // 533 // Solidity: function getDebitAndAdditionalDebit(address bonder) view returns(uint256) 534 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) GetDebitAndAdditionalDebit(opts *bind.CallOpts, bonder common.Address) (*big.Int, error) { 535 var out []interface{} 536 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "getDebitAndAdditionalDebit", bonder) 537 538 if err != nil { 539 return *new(*big.Int), err 540 } 541 542 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 543 544 return out0, err 545 546 } 547 548 // GetDebitAndAdditionalDebit is a free data retrieval call binding the contract method 0xffa9286c. 549 // 550 // Solidity: function getDebitAndAdditionalDebit(address bonder) view returns(uint256) 551 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) GetDebitAndAdditionalDebit(bonder common.Address) (*big.Int, error) { 552 return _HopL1Erc20Bridge.Contract.GetDebitAndAdditionalDebit(&_HopL1Erc20Bridge.CallOpts, bonder) 553 } 554 555 // GetDebitAndAdditionalDebit is a free data retrieval call binding the contract method 0xffa9286c. 556 // 557 // Solidity: function getDebitAndAdditionalDebit(address bonder) view returns(uint256) 558 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) GetDebitAndAdditionalDebit(bonder common.Address) (*big.Int, error) { 559 return _HopL1Erc20Bridge.Contract.GetDebitAndAdditionalDebit(&_HopL1Erc20Bridge.CallOpts, bonder) 560 } 561 562 // GetIsBonder is a free data retrieval call binding the contract method 0xd5ef7551. 563 // 564 // Solidity: function getIsBonder(address maybeBonder) view returns(bool) 565 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) GetIsBonder(opts *bind.CallOpts, maybeBonder common.Address) (bool, error) { 566 var out []interface{} 567 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "getIsBonder", maybeBonder) 568 569 if err != nil { 570 return *new(bool), err 571 } 572 573 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 574 575 return out0, err 576 577 } 578 579 // GetIsBonder is a free data retrieval call binding the contract method 0xd5ef7551. 580 // 581 // Solidity: function getIsBonder(address maybeBonder) view returns(bool) 582 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) GetIsBonder(maybeBonder common.Address) (bool, error) { 583 return _HopL1Erc20Bridge.Contract.GetIsBonder(&_HopL1Erc20Bridge.CallOpts, maybeBonder) 584 } 585 586 // GetIsBonder is a free data retrieval call binding the contract method 0xd5ef7551. 587 // 588 // Solidity: function getIsBonder(address maybeBonder) view returns(bool) 589 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) GetIsBonder(maybeBonder common.Address) (bool, error) { 590 return _HopL1Erc20Bridge.Contract.GetIsBonder(&_HopL1Erc20Bridge.CallOpts, maybeBonder) 591 } 592 593 // GetRawDebit is a free data retrieval call binding the contract method 0x13948c76. 594 // 595 // Solidity: function getRawDebit(address bonder) view returns(uint256) 596 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) GetRawDebit(opts *bind.CallOpts, bonder common.Address) (*big.Int, error) { 597 var out []interface{} 598 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "getRawDebit", bonder) 599 600 if err != nil { 601 return *new(*big.Int), err 602 } 603 604 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 605 606 return out0, err 607 608 } 609 610 // GetRawDebit is a free data retrieval call binding the contract method 0x13948c76. 611 // 612 // Solidity: function getRawDebit(address bonder) view returns(uint256) 613 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) GetRawDebit(bonder common.Address) (*big.Int, error) { 614 return _HopL1Erc20Bridge.Contract.GetRawDebit(&_HopL1Erc20Bridge.CallOpts, bonder) 615 } 616 617 // GetRawDebit is a free data retrieval call binding the contract method 0x13948c76. 618 // 619 // Solidity: function getRawDebit(address bonder) view returns(uint256) 620 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) GetRawDebit(bonder common.Address) (*big.Int, error) { 621 return _HopL1Erc20Bridge.Contract.GetRawDebit(&_HopL1Erc20Bridge.CallOpts, bonder) 622 } 623 624 // GetTimeSlot is a free data retrieval call binding the contract method 0x2b85dcc9. 625 // 626 // Solidity: function getTimeSlot(uint256 time) pure returns(uint256) 627 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) GetTimeSlot(opts *bind.CallOpts, time *big.Int) (*big.Int, error) { 628 var out []interface{} 629 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "getTimeSlot", time) 630 631 if err != nil { 632 return *new(*big.Int), err 633 } 634 635 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 636 637 return out0, err 638 639 } 640 641 // GetTimeSlot is a free data retrieval call binding the contract method 0x2b85dcc9. 642 // 643 // Solidity: function getTimeSlot(uint256 time) pure returns(uint256) 644 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) GetTimeSlot(time *big.Int) (*big.Int, error) { 645 return _HopL1Erc20Bridge.Contract.GetTimeSlot(&_HopL1Erc20Bridge.CallOpts, time) 646 } 647 648 // GetTimeSlot is a free data retrieval call binding the contract method 0x2b85dcc9. 649 // 650 // Solidity: function getTimeSlot(uint256 time) pure returns(uint256) 651 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) GetTimeSlot(time *big.Int) (*big.Int, error) { 652 return _HopL1Erc20Bridge.Contract.GetTimeSlot(&_HopL1Erc20Bridge.CallOpts, time) 653 } 654 655 // GetTransferId is a free data retrieval call binding the contract method 0xaf215f94. 656 // 657 // Solidity: function getTransferId(uint256 chainId, address recipient, uint256 amount, bytes32 transferNonce, uint256 bonderFee, uint256 amountOutMin, uint256 deadline) pure returns(bytes32) 658 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) GetTransferId(opts *bind.CallOpts, chainId *big.Int, recipient common.Address, amount *big.Int, transferNonce [32]byte, bonderFee *big.Int, amountOutMin *big.Int, deadline *big.Int) ([32]byte, error) { 659 var out []interface{} 660 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "getTransferId", chainId, recipient, amount, transferNonce, bonderFee, amountOutMin, deadline) 661 662 if err != nil { 663 return *new([32]byte), err 664 } 665 666 out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) 667 668 return out0, err 669 670 } 671 672 // GetTransferId is a free data retrieval call binding the contract method 0xaf215f94. 673 // 674 // Solidity: function getTransferId(uint256 chainId, address recipient, uint256 amount, bytes32 transferNonce, uint256 bonderFee, uint256 amountOutMin, uint256 deadline) pure returns(bytes32) 675 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) GetTransferId(chainId *big.Int, recipient common.Address, amount *big.Int, transferNonce [32]byte, bonderFee *big.Int, amountOutMin *big.Int, deadline *big.Int) ([32]byte, error) { 676 return _HopL1Erc20Bridge.Contract.GetTransferId(&_HopL1Erc20Bridge.CallOpts, chainId, recipient, amount, transferNonce, bonderFee, amountOutMin, deadline) 677 } 678 679 // GetTransferId is a free data retrieval call binding the contract method 0xaf215f94. 680 // 681 // Solidity: function getTransferId(uint256 chainId, address recipient, uint256 amount, bytes32 transferNonce, uint256 bonderFee, uint256 amountOutMin, uint256 deadline) pure returns(bytes32) 682 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) GetTransferId(chainId *big.Int, recipient common.Address, amount *big.Int, transferNonce [32]byte, bonderFee *big.Int, amountOutMin *big.Int, deadline *big.Int) ([32]byte, error) { 683 return _HopL1Erc20Bridge.Contract.GetTransferId(&_HopL1Erc20Bridge.CallOpts, chainId, recipient, amount, transferNonce, bonderFee, amountOutMin, deadline) 684 } 685 686 // GetTransferRoot is a free data retrieval call binding the contract method 0xce803b4f. 687 // 688 // Solidity: function getTransferRoot(bytes32 rootHash, uint256 totalAmount) view returns((uint256,uint256,uint256)) 689 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) GetTransferRoot(opts *bind.CallOpts, rootHash [32]byte, totalAmount *big.Int) (BridgeTransferRoot, error) { 690 var out []interface{} 691 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "getTransferRoot", rootHash, totalAmount) 692 693 if err != nil { 694 return *new(BridgeTransferRoot), err 695 } 696 697 out0 := *abi.ConvertType(out[0], new(BridgeTransferRoot)).(*BridgeTransferRoot) 698 699 return out0, err 700 701 } 702 703 // GetTransferRoot is a free data retrieval call binding the contract method 0xce803b4f. 704 // 705 // Solidity: function getTransferRoot(bytes32 rootHash, uint256 totalAmount) view returns((uint256,uint256,uint256)) 706 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) GetTransferRoot(rootHash [32]byte, totalAmount *big.Int) (BridgeTransferRoot, error) { 707 return _HopL1Erc20Bridge.Contract.GetTransferRoot(&_HopL1Erc20Bridge.CallOpts, rootHash, totalAmount) 708 } 709 710 // GetTransferRoot is a free data retrieval call binding the contract method 0xce803b4f. 711 // 712 // Solidity: function getTransferRoot(bytes32 rootHash, uint256 totalAmount) view returns((uint256,uint256,uint256)) 713 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) GetTransferRoot(rootHash [32]byte, totalAmount *big.Int) (BridgeTransferRoot, error) { 714 return _HopL1Erc20Bridge.Contract.GetTransferRoot(&_HopL1Erc20Bridge.CallOpts, rootHash, totalAmount) 715 } 716 717 // GetTransferRootId is a free data retrieval call binding the contract method 0x960a7afa. 718 // 719 // Solidity: function getTransferRootId(bytes32 rootHash, uint256 totalAmount) pure returns(bytes32) 720 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) GetTransferRootId(opts *bind.CallOpts, rootHash [32]byte, totalAmount *big.Int) ([32]byte, error) { 721 var out []interface{} 722 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "getTransferRootId", rootHash, totalAmount) 723 724 if err != nil { 725 return *new([32]byte), err 726 } 727 728 out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) 729 730 return out0, err 731 732 } 733 734 // GetTransferRootId is a free data retrieval call binding the contract method 0x960a7afa. 735 // 736 // Solidity: function getTransferRootId(bytes32 rootHash, uint256 totalAmount) pure returns(bytes32) 737 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) GetTransferRootId(rootHash [32]byte, totalAmount *big.Int) ([32]byte, error) { 738 return _HopL1Erc20Bridge.Contract.GetTransferRootId(&_HopL1Erc20Bridge.CallOpts, rootHash, totalAmount) 739 } 740 741 // GetTransferRootId is a free data retrieval call binding the contract method 0x960a7afa. 742 // 743 // Solidity: function getTransferRootId(bytes32 rootHash, uint256 totalAmount) pure returns(bytes32) 744 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) GetTransferRootId(rootHash [32]byte, totalAmount *big.Int) ([32]byte, error) { 745 return _HopL1Erc20Bridge.Contract.GetTransferRootId(&_HopL1Erc20Bridge.CallOpts, rootHash, totalAmount) 746 } 747 748 // Governance is a free data retrieval call binding the contract method 0x5aa6e675. 749 // 750 // Solidity: function governance() view returns(address) 751 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) Governance(opts *bind.CallOpts) (common.Address, error) { 752 var out []interface{} 753 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "governance") 754 755 if err != nil { 756 return *new(common.Address), err 757 } 758 759 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 760 761 return out0, err 762 763 } 764 765 // Governance is a free data retrieval call binding the contract method 0x5aa6e675. 766 // 767 // Solidity: function governance() view returns(address) 768 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) Governance() (common.Address, error) { 769 return _HopL1Erc20Bridge.Contract.Governance(&_HopL1Erc20Bridge.CallOpts) 770 } 771 772 // Governance is a free data retrieval call binding the contract method 0x5aa6e675. 773 // 774 // Solidity: function governance() view returns(address) 775 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) Governance() (common.Address, error) { 776 return _HopL1Erc20Bridge.Contract.Governance(&_HopL1Erc20Bridge.CallOpts) 777 } 778 779 // IsChainIdPaused is a free data retrieval call binding the contract method 0xfa2a69a3. 780 // 781 // Solidity: function isChainIdPaused(uint256 ) view returns(bool) 782 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) IsChainIdPaused(opts *bind.CallOpts, arg0 *big.Int) (bool, error) { 783 var out []interface{} 784 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "isChainIdPaused", arg0) 785 786 if err != nil { 787 return *new(bool), err 788 } 789 790 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 791 792 return out0, err 793 794 } 795 796 // IsChainIdPaused is a free data retrieval call binding the contract method 0xfa2a69a3. 797 // 798 // Solidity: function isChainIdPaused(uint256 ) view returns(bool) 799 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) IsChainIdPaused(arg0 *big.Int) (bool, error) { 800 return _HopL1Erc20Bridge.Contract.IsChainIdPaused(&_HopL1Erc20Bridge.CallOpts, arg0) 801 } 802 803 // IsChainIdPaused is a free data retrieval call binding the contract method 0xfa2a69a3. 804 // 805 // Solidity: function isChainIdPaused(uint256 ) view returns(bool) 806 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) IsChainIdPaused(arg0 *big.Int) (bool, error) { 807 return _HopL1Erc20Bridge.Contract.IsChainIdPaused(&_HopL1Erc20Bridge.CallOpts, arg0) 808 } 809 810 // IsTransferIdSpent is a free data retrieval call binding the contract method 0x3a7af631. 811 // 812 // Solidity: function isTransferIdSpent(bytes32 transferId) view returns(bool) 813 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) IsTransferIdSpent(opts *bind.CallOpts, transferId [32]byte) (bool, error) { 814 var out []interface{} 815 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "isTransferIdSpent", transferId) 816 817 if err != nil { 818 return *new(bool), err 819 } 820 821 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 822 823 return out0, err 824 825 } 826 827 // IsTransferIdSpent is a free data retrieval call binding the contract method 0x3a7af631. 828 // 829 // Solidity: function isTransferIdSpent(bytes32 transferId) view returns(bool) 830 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) IsTransferIdSpent(transferId [32]byte) (bool, error) { 831 return _HopL1Erc20Bridge.Contract.IsTransferIdSpent(&_HopL1Erc20Bridge.CallOpts, transferId) 832 } 833 834 // IsTransferIdSpent is a free data retrieval call binding the contract method 0x3a7af631. 835 // 836 // Solidity: function isTransferIdSpent(bytes32 transferId) view returns(bool) 837 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) IsTransferIdSpent(transferId [32]byte) (bool, error) { 838 return _HopL1Erc20Bridge.Contract.IsTransferIdSpent(&_HopL1Erc20Bridge.CallOpts, transferId) 839 } 840 841 // L1CanonicalToken is a free data retrieval call binding the contract method 0xb7a0bda6. 842 // 843 // Solidity: function l1CanonicalToken() view returns(address) 844 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) L1CanonicalToken(opts *bind.CallOpts) (common.Address, error) { 845 var out []interface{} 846 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "l1CanonicalToken") 847 848 if err != nil { 849 return *new(common.Address), err 850 } 851 852 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 853 854 return out0, err 855 856 } 857 858 // L1CanonicalToken is a free data retrieval call binding the contract method 0xb7a0bda6. 859 // 860 // Solidity: function l1CanonicalToken() view returns(address) 861 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) L1CanonicalToken() (common.Address, error) { 862 return _HopL1Erc20Bridge.Contract.L1CanonicalToken(&_HopL1Erc20Bridge.CallOpts) 863 } 864 865 // L1CanonicalToken is a free data retrieval call binding the contract method 0xb7a0bda6. 866 // 867 // Solidity: function l1CanonicalToken() view returns(address) 868 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) L1CanonicalToken() (common.Address, error) { 869 return _HopL1Erc20Bridge.Contract.L1CanonicalToken(&_HopL1Erc20Bridge.CallOpts) 870 } 871 872 // MinTransferRootBondDelay is a free data retrieval call binding the contract method 0x6cff06a7. 873 // 874 // Solidity: function minTransferRootBondDelay() view returns(uint256) 875 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) MinTransferRootBondDelay(opts *bind.CallOpts) (*big.Int, error) { 876 var out []interface{} 877 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "minTransferRootBondDelay") 878 879 if err != nil { 880 return *new(*big.Int), err 881 } 882 883 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 884 885 return out0, err 886 887 } 888 889 // MinTransferRootBondDelay is a free data retrieval call binding the contract method 0x6cff06a7. 890 // 891 // Solidity: function minTransferRootBondDelay() view returns(uint256) 892 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) MinTransferRootBondDelay() (*big.Int, error) { 893 return _HopL1Erc20Bridge.Contract.MinTransferRootBondDelay(&_HopL1Erc20Bridge.CallOpts) 894 } 895 896 // MinTransferRootBondDelay is a free data retrieval call binding the contract method 0x6cff06a7. 897 // 898 // Solidity: function minTransferRootBondDelay() view returns(uint256) 899 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) MinTransferRootBondDelay() (*big.Int, error) { 900 return _HopL1Erc20Bridge.Contract.MinTransferRootBondDelay(&_HopL1Erc20Bridge.CallOpts) 901 } 902 903 // TimeSlotToAmountBonded is a free data retrieval call binding the contract method 0x7398d282. 904 // 905 // Solidity: function timeSlotToAmountBonded(uint256 , address ) view returns(uint256) 906 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) TimeSlotToAmountBonded(opts *bind.CallOpts, arg0 *big.Int, arg1 common.Address) (*big.Int, error) { 907 var out []interface{} 908 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "timeSlotToAmountBonded", arg0, arg1) 909 910 if err != nil { 911 return *new(*big.Int), err 912 } 913 914 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 915 916 return out0, err 917 918 } 919 920 // TimeSlotToAmountBonded is a free data retrieval call binding the contract method 0x7398d282. 921 // 922 // Solidity: function timeSlotToAmountBonded(uint256 , address ) view returns(uint256) 923 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) TimeSlotToAmountBonded(arg0 *big.Int, arg1 common.Address) (*big.Int, error) { 924 return _HopL1Erc20Bridge.Contract.TimeSlotToAmountBonded(&_HopL1Erc20Bridge.CallOpts, arg0, arg1) 925 } 926 927 // TimeSlotToAmountBonded is a free data retrieval call binding the contract method 0x7398d282. 928 // 929 // Solidity: function timeSlotToAmountBonded(uint256 , address ) view returns(uint256) 930 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) TimeSlotToAmountBonded(arg0 *big.Int, arg1 common.Address) (*big.Int, error) { 931 return _HopL1Erc20Bridge.Contract.TimeSlotToAmountBonded(&_HopL1Erc20Bridge.CallOpts, arg0, arg1) 932 } 933 934 // TransferBonds is a free data retrieval call binding the contract method 0x5a7e1083. 935 // 936 // Solidity: function transferBonds(bytes32 ) view returns(address bonder, uint256 createdAt, uint256 totalAmount, uint256 challengeStartTime, address challenger, bool challengeResolved) 937 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) TransferBonds(opts *bind.CallOpts, arg0 [32]byte) (struct { 938 Bonder common.Address 939 CreatedAt *big.Int 940 TotalAmount *big.Int 941 ChallengeStartTime *big.Int 942 Challenger common.Address 943 ChallengeResolved bool 944 }, error) { 945 var out []interface{} 946 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "transferBonds", arg0) 947 948 outstruct := new(struct { 949 Bonder common.Address 950 CreatedAt *big.Int 951 TotalAmount *big.Int 952 ChallengeStartTime *big.Int 953 Challenger common.Address 954 ChallengeResolved bool 955 }) 956 if err != nil { 957 return *outstruct, err 958 } 959 960 outstruct.Bonder = *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 961 outstruct.CreatedAt = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) 962 outstruct.TotalAmount = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int) 963 outstruct.ChallengeStartTime = *abi.ConvertType(out[3], new(*big.Int)).(**big.Int) 964 outstruct.Challenger = *abi.ConvertType(out[4], new(common.Address)).(*common.Address) 965 outstruct.ChallengeResolved = *abi.ConvertType(out[5], new(bool)).(*bool) 966 967 return *outstruct, err 968 969 } 970 971 // TransferBonds is a free data retrieval call binding the contract method 0x5a7e1083. 972 // 973 // Solidity: function transferBonds(bytes32 ) view returns(address bonder, uint256 createdAt, uint256 totalAmount, uint256 challengeStartTime, address challenger, bool challengeResolved) 974 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) TransferBonds(arg0 [32]byte) (struct { 975 Bonder common.Address 976 CreatedAt *big.Int 977 TotalAmount *big.Int 978 ChallengeStartTime *big.Int 979 Challenger common.Address 980 ChallengeResolved bool 981 }, error) { 982 return _HopL1Erc20Bridge.Contract.TransferBonds(&_HopL1Erc20Bridge.CallOpts, arg0) 983 } 984 985 // TransferBonds is a free data retrieval call binding the contract method 0x5a7e1083. 986 // 987 // Solidity: function transferBonds(bytes32 ) view returns(address bonder, uint256 createdAt, uint256 totalAmount, uint256 challengeStartTime, address challenger, bool challengeResolved) 988 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) TransferBonds(arg0 [32]byte) (struct { 989 Bonder common.Address 990 CreatedAt *big.Int 991 TotalAmount *big.Int 992 ChallengeStartTime *big.Int 993 Challenger common.Address 994 ChallengeResolved bool 995 }, error) { 996 return _HopL1Erc20Bridge.Contract.TransferBonds(&_HopL1Erc20Bridge.CallOpts, arg0) 997 } 998 999 // TransferRootCommittedAt is a free data retrieval call binding the contract method 0x4612f40c. 1000 // 1001 // Solidity: function transferRootCommittedAt(bytes32 ) view returns(uint256) 1002 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCaller) TransferRootCommittedAt(opts *bind.CallOpts, arg0 [32]byte) (*big.Int, error) { 1003 var out []interface{} 1004 err := _HopL1Erc20Bridge.contract.Call(opts, &out, "transferRootCommittedAt", arg0) 1005 1006 if err != nil { 1007 return *new(*big.Int), err 1008 } 1009 1010 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1011 1012 return out0, err 1013 1014 } 1015 1016 // TransferRootCommittedAt is a free data retrieval call binding the contract method 0x4612f40c. 1017 // 1018 // Solidity: function transferRootCommittedAt(bytes32 ) view returns(uint256) 1019 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) TransferRootCommittedAt(arg0 [32]byte) (*big.Int, error) { 1020 return _HopL1Erc20Bridge.Contract.TransferRootCommittedAt(&_HopL1Erc20Bridge.CallOpts, arg0) 1021 } 1022 1023 // TransferRootCommittedAt is a free data retrieval call binding the contract method 0x4612f40c. 1024 // 1025 // Solidity: function transferRootCommittedAt(bytes32 ) view returns(uint256) 1026 func (_HopL1Erc20Bridge *HopL1Erc20BridgeCallerSession) TransferRootCommittedAt(arg0 [32]byte) (*big.Int, error) { 1027 return _HopL1Erc20Bridge.Contract.TransferRootCommittedAt(&_HopL1Erc20Bridge.CallOpts, arg0) 1028 } 1029 1030 // AddBonder is a paid mutator transaction binding the contract method 0x5325937f. 1031 // 1032 // Solidity: function addBonder(address bonder) returns() 1033 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactor) AddBonder(opts *bind.TransactOpts, bonder common.Address) (*types.Transaction, error) { 1034 return _HopL1Erc20Bridge.contract.Transact(opts, "addBonder", bonder) 1035 } 1036 1037 // AddBonder is a paid mutator transaction binding the contract method 0x5325937f. 1038 // 1039 // Solidity: function addBonder(address bonder) returns() 1040 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) AddBonder(bonder common.Address) (*types.Transaction, error) { 1041 return _HopL1Erc20Bridge.Contract.AddBonder(&_HopL1Erc20Bridge.TransactOpts, bonder) 1042 } 1043 1044 // AddBonder is a paid mutator transaction binding the contract method 0x5325937f. 1045 // 1046 // Solidity: function addBonder(address bonder) returns() 1047 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactorSession) AddBonder(bonder common.Address) (*types.Transaction, error) { 1048 return _HopL1Erc20Bridge.Contract.AddBonder(&_HopL1Erc20Bridge.TransactOpts, bonder) 1049 } 1050 1051 // BondTransferRoot is a paid mutator transaction binding the contract method 0x8d8798bf. 1052 // 1053 // Solidity: function bondTransferRoot(bytes32 rootHash, uint256 destinationChainId, uint256 totalAmount) returns() 1054 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactor) BondTransferRoot(opts *bind.TransactOpts, rootHash [32]byte, destinationChainId *big.Int, totalAmount *big.Int) (*types.Transaction, error) { 1055 return _HopL1Erc20Bridge.contract.Transact(opts, "bondTransferRoot", rootHash, destinationChainId, totalAmount) 1056 } 1057 1058 // BondTransferRoot is a paid mutator transaction binding the contract method 0x8d8798bf. 1059 // 1060 // Solidity: function bondTransferRoot(bytes32 rootHash, uint256 destinationChainId, uint256 totalAmount) returns() 1061 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) BondTransferRoot(rootHash [32]byte, destinationChainId *big.Int, totalAmount *big.Int) (*types.Transaction, error) { 1062 return _HopL1Erc20Bridge.Contract.BondTransferRoot(&_HopL1Erc20Bridge.TransactOpts, rootHash, destinationChainId, totalAmount) 1063 } 1064 1065 // BondTransferRoot is a paid mutator transaction binding the contract method 0x8d8798bf. 1066 // 1067 // Solidity: function bondTransferRoot(bytes32 rootHash, uint256 destinationChainId, uint256 totalAmount) returns() 1068 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactorSession) BondTransferRoot(rootHash [32]byte, destinationChainId *big.Int, totalAmount *big.Int) (*types.Transaction, error) { 1069 return _HopL1Erc20Bridge.Contract.BondTransferRoot(&_HopL1Erc20Bridge.TransactOpts, rootHash, destinationChainId, totalAmount) 1070 } 1071 1072 // BondWithdrawal is a paid mutator transaction binding the contract method 0x23c452cd. 1073 // 1074 // Solidity: function bondWithdrawal(address recipient, uint256 amount, bytes32 transferNonce, uint256 bonderFee) returns() 1075 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactor) BondWithdrawal(opts *bind.TransactOpts, recipient common.Address, amount *big.Int, transferNonce [32]byte, bonderFee *big.Int) (*types.Transaction, error) { 1076 return _HopL1Erc20Bridge.contract.Transact(opts, "bondWithdrawal", recipient, amount, transferNonce, bonderFee) 1077 } 1078 1079 // BondWithdrawal is a paid mutator transaction binding the contract method 0x23c452cd. 1080 // 1081 // Solidity: function bondWithdrawal(address recipient, uint256 amount, bytes32 transferNonce, uint256 bonderFee) returns() 1082 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) BondWithdrawal(recipient common.Address, amount *big.Int, transferNonce [32]byte, bonderFee *big.Int) (*types.Transaction, error) { 1083 return _HopL1Erc20Bridge.Contract.BondWithdrawal(&_HopL1Erc20Bridge.TransactOpts, recipient, amount, transferNonce, bonderFee) 1084 } 1085 1086 // BondWithdrawal is a paid mutator transaction binding the contract method 0x23c452cd. 1087 // 1088 // Solidity: function bondWithdrawal(address recipient, uint256 amount, bytes32 transferNonce, uint256 bonderFee) returns() 1089 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactorSession) BondWithdrawal(recipient common.Address, amount *big.Int, transferNonce [32]byte, bonderFee *big.Int) (*types.Transaction, error) { 1090 return _HopL1Erc20Bridge.Contract.BondWithdrawal(&_HopL1Erc20Bridge.TransactOpts, recipient, amount, transferNonce, bonderFee) 1091 } 1092 1093 // ChallengeTransferBond is a paid mutator transaction binding the contract method 0xbacc68af. 1094 // 1095 // Solidity: function challengeTransferBond(bytes32 rootHash, uint256 originalAmount) payable returns() 1096 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactor) ChallengeTransferBond(opts *bind.TransactOpts, rootHash [32]byte, originalAmount *big.Int) (*types.Transaction, error) { 1097 return _HopL1Erc20Bridge.contract.Transact(opts, "challengeTransferBond", rootHash, originalAmount) 1098 } 1099 1100 // ChallengeTransferBond is a paid mutator transaction binding the contract method 0xbacc68af. 1101 // 1102 // Solidity: function challengeTransferBond(bytes32 rootHash, uint256 originalAmount) payable returns() 1103 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) ChallengeTransferBond(rootHash [32]byte, originalAmount *big.Int) (*types.Transaction, error) { 1104 return _HopL1Erc20Bridge.Contract.ChallengeTransferBond(&_HopL1Erc20Bridge.TransactOpts, rootHash, originalAmount) 1105 } 1106 1107 // ChallengeTransferBond is a paid mutator transaction binding the contract method 0xbacc68af. 1108 // 1109 // Solidity: function challengeTransferBond(bytes32 rootHash, uint256 originalAmount) payable returns() 1110 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactorSession) ChallengeTransferBond(rootHash [32]byte, originalAmount *big.Int) (*types.Transaction, error) { 1111 return _HopL1Erc20Bridge.Contract.ChallengeTransferBond(&_HopL1Erc20Bridge.TransactOpts, rootHash, originalAmount) 1112 } 1113 1114 // ConfirmTransferRoot is a paid mutator transaction binding the contract method 0xef6ebe5e. 1115 // 1116 // Solidity: function confirmTransferRoot(uint256 originChainId, bytes32 rootHash, uint256 destinationChainId, uint256 totalAmount, uint256 rootCommittedAt) returns() 1117 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactor) ConfirmTransferRoot(opts *bind.TransactOpts, originChainId *big.Int, rootHash [32]byte, destinationChainId *big.Int, totalAmount *big.Int, rootCommittedAt *big.Int) (*types.Transaction, error) { 1118 return _HopL1Erc20Bridge.contract.Transact(opts, "confirmTransferRoot", originChainId, rootHash, destinationChainId, totalAmount, rootCommittedAt) 1119 } 1120 1121 // ConfirmTransferRoot is a paid mutator transaction binding the contract method 0xef6ebe5e. 1122 // 1123 // Solidity: function confirmTransferRoot(uint256 originChainId, bytes32 rootHash, uint256 destinationChainId, uint256 totalAmount, uint256 rootCommittedAt) returns() 1124 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) ConfirmTransferRoot(originChainId *big.Int, rootHash [32]byte, destinationChainId *big.Int, totalAmount *big.Int, rootCommittedAt *big.Int) (*types.Transaction, error) { 1125 return _HopL1Erc20Bridge.Contract.ConfirmTransferRoot(&_HopL1Erc20Bridge.TransactOpts, originChainId, rootHash, destinationChainId, totalAmount, rootCommittedAt) 1126 } 1127 1128 // ConfirmTransferRoot is a paid mutator transaction binding the contract method 0xef6ebe5e. 1129 // 1130 // Solidity: function confirmTransferRoot(uint256 originChainId, bytes32 rootHash, uint256 destinationChainId, uint256 totalAmount, uint256 rootCommittedAt) returns() 1131 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactorSession) ConfirmTransferRoot(originChainId *big.Int, rootHash [32]byte, destinationChainId *big.Int, totalAmount *big.Int, rootCommittedAt *big.Int) (*types.Transaction, error) { 1132 return _HopL1Erc20Bridge.Contract.ConfirmTransferRoot(&_HopL1Erc20Bridge.TransactOpts, originChainId, rootHash, destinationChainId, totalAmount, rootCommittedAt) 1133 } 1134 1135 // RemoveBonder is a paid mutator transaction binding the contract method 0x04e6c2c0. 1136 // 1137 // Solidity: function removeBonder(address bonder) returns() 1138 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactor) RemoveBonder(opts *bind.TransactOpts, bonder common.Address) (*types.Transaction, error) { 1139 return _HopL1Erc20Bridge.contract.Transact(opts, "removeBonder", bonder) 1140 } 1141 1142 // RemoveBonder is a paid mutator transaction binding the contract method 0x04e6c2c0. 1143 // 1144 // Solidity: function removeBonder(address bonder) returns() 1145 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) RemoveBonder(bonder common.Address) (*types.Transaction, error) { 1146 return _HopL1Erc20Bridge.Contract.RemoveBonder(&_HopL1Erc20Bridge.TransactOpts, bonder) 1147 } 1148 1149 // RemoveBonder is a paid mutator transaction binding the contract method 0x04e6c2c0. 1150 // 1151 // Solidity: function removeBonder(address bonder) returns() 1152 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactorSession) RemoveBonder(bonder common.Address) (*types.Transaction, error) { 1153 return _HopL1Erc20Bridge.Contract.RemoveBonder(&_HopL1Erc20Bridge.TransactOpts, bonder) 1154 } 1155 1156 // RescueTransferRoot is a paid mutator transaction binding the contract method 0xcbd1642e. 1157 // 1158 // Solidity: function rescueTransferRoot(bytes32 rootHash, uint256 originalAmount, address recipient) returns() 1159 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactor) RescueTransferRoot(opts *bind.TransactOpts, rootHash [32]byte, originalAmount *big.Int, recipient common.Address) (*types.Transaction, error) { 1160 return _HopL1Erc20Bridge.contract.Transact(opts, "rescueTransferRoot", rootHash, originalAmount, recipient) 1161 } 1162 1163 // RescueTransferRoot is a paid mutator transaction binding the contract method 0xcbd1642e. 1164 // 1165 // Solidity: function rescueTransferRoot(bytes32 rootHash, uint256 originalAmount, address recipient) returns() 1166 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) RescueTransferRoot(rootHash [32]byte, originalAmount *big.Int, recipient common.Address) (*types.Transaction, error) { 1167 return _HopL1Erc20Bridge.Contract.RescueTransferRoot(&_HopL1Erc20Bridge.TransactOpts, rootHash, originalAmount, recipient) 1168 } 1169 1170 // RescueTransferRoot is a paid mutator transaction binding the contract method 0xcbd1642e. 1171 // 1172 // Solidity: function rescueTransferRoot(bytes32 rootHash, uint256 originalAmount, address recipient) returns() 1173 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactorSession) RescueTransferRoot(rootHash [32]byte, originalAmount *big.Int, recipient common.Address) (*types.Transaction, error) { 1174 return _HopL1Erc20Bridge.Contract.RescueTransferRoot(&_HopL1Erc20Bridge.TransactOpts, rootHash, originalAmount, recipient) 1175 } 1176 1177 // ResolveChallenge is a paid mutator transaction binding the contract method 0x45ca9fc9. 1178 // 1179 // Solidity: function resolveChallenge(bytes32 rootHash, uint256 originalAmount) returns() 1180 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactor) ResolveChallenge(opts *bind.TransactOpts, rootHash [32]byte, originalAmount *big.Int) (*types.Transaction, error) { 1181 return _HopL1Erc20Bridge.contract.Transact(opts, "resolveChallenge", rootHash, originalAmount) 1182 } 1183 1184 // ResolveChallenge is a paid mutator transaction binding the contract method 0x45ca9fc9. 1185 // 1186 // Solidity: function resolveChallenge(bytes32 rootHash, uint256 originalAmount) returns() 1187 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) ResolveChallenge(rootHash [32]byte, originalAmount *big.Int) (*types.Transaction, error) { 1188 return _HopL1Erc20Bridge.Contract.ResolveChallenge(&_HopL1Erc20Bridge.TransactOpts, rootHash, originalAmount) 1189 } 1190 1191 // ResolveChallenge is a paid mutator transaction binding the contract method 0x45ca9fc9. 1192 // 1193 // Solidity: function resolveChallenge(bytes32 rootHash, uint256 originalAmount) returns() 1194 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactorSession) ResolveChallenge(rootHash [32]byte, originalAmount *big.Int) (*types.Transaction, error) { 1195 return _HopL1Erc20Bridge.Contract.ResolveChallenge(&_HopL1Erc20Bridge.TransactOpts, rootHash, originalAmount) 1196 } 1197 1198 // SendToL2 is a paid mutator transaction binding the contract method 0xdeace8f5. 1199 // 1200 // Solidity: function sendToL2(uint256 chainId, address recipient, uint256 amount, uint256 amountOutMin, uint256 deadline, address relayer, uint256 relayerFee) payable returns() 1201 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactor) SendToL2(opts *bind.TransactOpts, chainId *big.Int, recipient common.Address, amount *big.Int, amountOutMin *big.Int, deadline *big.Int, relayer common.Address, relayerFee *big.Int) (*types.Transaction, error) { 1202 return _HopL1Erc20Bridge.contract.Transact(opts, "sendToL2", chainId, recipient, amount, amountOutMin, deadline, relayer, relayerFee) 1203 } 1204 1205 // SendToL2 is a paid mutator transaction binding the contract method 0xdeace8f5. 1206 // 1207 // Solidity: function sendToL2(uint256 chainId, address recipient, uint256 amount, uint256 amountOutMin, uint256 deadline, address relayer, uint256 relayerFee) payable returns() 1208 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) SendToL2(chainId *big.Int, recipient common.Address, amount *big.Int, amountOutMin *big.Int, deadline *big.Int, relayer common.Address, relayerFee *big.Int) (*types.Transaction, error) { 1209 return _HopL1Erc20Bridge.Contract.SendToL2(&_HopL1Erc20Bridge.TransactOpts, chainId, recipient, amount, amountOutMin, deadline, relayer, relayerFee) 1210 } 1211 1212 // SendToL2 is a paid mutator transaction binding the contract method 0xdeace8f5. 1213 // 1214 // Solidity: function sendToL2(uint256 chainId, address recipient, uint256 amount, uint256 amountOutMin, uint256 deadline, address relayer, uint256 relayerFee) payable returns() 1215 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactorSession) SendToL2(chainId *big.Int, recipient common.Address, amount *big.Int, amountOutMin *big.Int, deadline *big.Int, relayer common.Address, relayerFee *big.Int) (*types.Transaction, error) { 1216 return _HopL1Erc20Bridge.Contract.SendToL2(&_HopL1Erc20Bridge.TransactOpts, chainId, recipient, amount, amountOutMin, deadline, relayer, relayerFee) 1217 } 1218 1219 // SetChainIdDepositsPaused is a paid mutator transaction binding the contract method 0x14942024. 1220 // 1221 // Solidity: function setChainIdDepositsPaused(uint256 chainId, bool isPaused) returns() 1222 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactor) SetChainIdDepositsPaused(opts *bind.TransactOpts, chainId *big.Int, isPaused bool) (*types.Transaction, error) { 1223 return _HopL1Erc20Bridge.contract.Transact(opts, "setChainIdDepositsPaused", chainId, isPaused) 1224 } 1225 1226 // SetChainIdDepositsPaused is a paid mutator transaction binding the contract method 0x14942024. 1227 // 1228 // Solidity: function setChainIdDepositsPaused(uint256 chainId, bool isPaused) returns() 1229 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) SetChainIdDepositsPaused(chainId *big.Int, isPaused bool) (*types.Transaction, error) { 1230 return _HopL1Erc20Bridge.Contract.SetChainIdDepositsPaused(&_HopL1Erc20Bridge.TransactOpts, chainId, isPaused) 1231 } 1232 1233 // SetChainIdDepositsPaused is a paid mutator transaction binding the contract method 0x14942024. 1234 // 1235 // Solidity: function setChainIdDepositsPaused(uint256 chainId, bool isPaused) returns() 1236 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactorSession) SetChainIdDepositsPaused(chainId *big.Int, isPaused bool) (*types.Transaction, error) { 1237 return _HopL1Erc20Bridge.Contract.SetChainIdDepositsPaused(&_HopL1Erc20Bridge.TransactOpts, chainId, isPaused) 1238 } 1239 1240 // SetChallengePeriod is a paid mutator transaction binding the contract method 0x5d475fdd. 1241 // 1242 // Solidity: function setChallengePeriod(uint256 _challengePeriod) returns() 1243 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactor) SetChallengePeriod(opts *bind.TransactOpts, _challengePeriod *big.Int) (*types.Transaction, error) { 1244 return _HopL1Erc20Bridge.contract.Transact(opts, "setChallengePeriod", _challengePeriod) 1245 } 1246 1247 // SetChallengePeriod is a paid mutator transaction binding the contract method 0x5d475fdd. 1248 // 1249 // Solidity: function setChallengePeriod(uint256 _challengePeriod) returns() 1250 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) SetChallengePeriod(_challengePeriod *big.Int) (*types.Transaction, error) { 1251 return _HopL1Erc20Bridge.Contract.SetChallengePeriod(&_HopL1Erc20Bridge.TransactOpts, _challengePeriod) 1252 } 1253 1254 // SetChallengePeriod is a paid mutator transaction binding the contract method 0x5d475fdd. 1255 // 1256 // Solidity: function setChallengePeriod(uint256 _challengePeriod) returns() 1257 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactorSession) SetChallengePeriod(_challengePeriod *big.Int) (*types.Transaction, error) { 1258 return _HopL1Erc20Bridge.Contract.SetChallengePeriod(&_HopL1Erc20Bridge.TransactOpts, _challengePeriod) 1259 } 1260 1261 // SetChallengeResolutionPeriod is a paid mutator transaction binding the contract method 0xeecd57e6. 1262 // 1263 // Solidity: function setChallengeResolutionPeriod(uint256 _challengeResolutionPeriod) returns() 1264 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactor) SetChallengeResolutionPeriod(opts *bind.TransactOpts, _challengeResolutionPeriod *big.Int) (*types.Transaction, error) { 1265 return _HopL1Erc20Bridge.contract.Transact(opts, "setChallengeResolutionPeriod", _challengeResolutionPeriod) 1266 } 1267 1268 // SetChallengeResolutionPeriod is a paid mutator transaction binding the contract method 0xeecd57e6. 1269 // 1270 // Solidity: function setChallengeResolutionPeriod(uint256 _challengeResolutionPeriod) returns() 1271 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) SetChallengeResolutionPeriod(_challengeResolutionPeriod *big.Int) (*types.Transaction, error) { 1272 return _HopL1Erc20Bridge.Contract.SetChallengeResolutionPeriod(&_HopL1Erc20Bridge.TransactOpts, _challengeResolutionPeriod) 1273 } 1274 1275 // SetChallengeResolutionPeriod is a paid mutator transaction binding the contract method 0xeecd57e6. 1276 // 1277 // Solidity: function setChallengeResolutionPeriod(uint256 _challengeResolutionPeriod) returns() 1278 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactorSession) SetChallengeResolutionPeriod(_challengeResolutionPeriod *big.Int) (*types.Transaction, error) { 1279 return _HopL1Erc20Bridge.Contract.SetChallengeResolutionPeriod(&_HopL1Erc20Bridge.TransactOpts, _challengeResolutionPeriod) 1280 } 1281 1282 // SetCrossDomainMessengerWrapper is a paid mutator transaction binding the contract method 0xd4448163. 1283 // 1284 // Solidity: function setCrossDomainMessengerWrapper(uint256 chainId, address _crossDomainMessengerWrapper) returns() 1285 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactor) SetCrossDomainMessengerWrapper(opts *bind.TransactOpts, chainId *big.Int, _crossDomainMessengerWrapper common.Address) (*types.Transaction, error) { 1286 return _HopL1Erc20Bridge.contract.Transact(opts, "setCrossDomainMessengerWrapper", chainId, _crossDomainMessengerWrapper) 1287 } 1288 1289 // SetCrossDomainMessengerWrapper is a paid mutator transaction binding the contract method 0xd4448163. 1290 // 1291 // Solidity: function setCrossDomainMessengerWrapper(uint256 chainId, address _crossDomainMessengerWrapper) returns() 1292 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) SetCrossDomainMessengerWrapper(chainId *big.Int, _crossDomainMessengerWrapper common.Address) (*types.Transaction, error) { 1293 return _HopL1Erc20Bridge.Contract.SetCrossDomainMessengerWrapper(&_HopL1Erc20Bridge.TransactOpts, chainId, _crossDomainMessengerWrapper) 1294 } 1295 1296 // SetCrossDomainMessengerWrapper is a paid mutator transaction binding the contract method 0xd4448163. 1297 // 1298 // Solidity: function setCrossDomainMessengerWrapper(uint256 chainId, address _crossDomainMessengerWrapper) returns() 1299 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactorSession) SetCrossDomainMessengerWrapper(chainId *big.Int, _crossDomainMessengerWrapper common.Address) (*types.Transaction, error) { 1300 return _HopL1Erc20Bridge.Contract.SetCrossDomainMessengerWrapper(&_HopL1Erc20Bridge.TransactOpts, chainId, _crossDomainMessengerWrapper) 1301 } 1302 1303 // SetGovernance is a paid mutator transaction binding the contract method 0xab033ea9. 1304 // 1305 // Solidity: function setGovernance(address _newGovernance) returns() 1306 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactor) SetGovernance(opts *bind.TransactOpts, _newGovernance common.Address) (*types.Transaction, error) { 1307 return _HopL1Erc20Bridge.contract.Transact(opts, "setGovernance", _newGovernance) 1308 } 1309 1310 // SetGovernance is a paid mutator transaction binding the contract method 0xab033ea9. 1311 // 1312 // Solidity: function setGovernance(address _newGovernance) returns() 1313 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) SetGovernance(_newGovernance common.Address) (*types.Transaction, error) { 1314 return _HopL1Erc20Bridge.Contract.SetGovernance(&_HopL1Erc20Bridge.TransactOpts, _newGovernance) 1315 } 1316 1317 // SetGovernance is a paid mutator transaction binding the contract method 0xab033ea9. 1318 // 1319 // Solidity: function setGovernance(address _newGovernance) returns() 1320 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactorSession) SetGovernance(_newGovernance common.Address) (*types.Transaction, error) { 1321 return _HopL1Erc20Bridge.Contract.SetGovernance(&_HopL1Erc20Bridge.TransactOpts, _newGovernance) 1322 } 1323 1324 // SetMinTransferRootBondDelay is a paid mutator transaction binding the contract method 0x39ada669. 1325 // 1326 // Solidity: function setMinTransferRootBondDelay(uint256 _minTransferRootBondDelay) returns() 1327 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactor) SetMinTransferRootBondDelay(opts *bind.TransactOpts, _minTransferRootBondDelay *big.Int) (*types.Transaction, error) { 1328 return _HopL1Erc20Bridge.contract.Transact(opts, "setMinTransferRootBondDelay", _minTransferRootBondDelay) 1329 } 1330 1331 // SetMinTransferRootBondDelay is a paid mutator transaction binding the contract method 0x39ada669. 1332 // 1333 // Solidity: function setMinTransferRootBondDelay(uint256 _minTransferRootBondDelay) returns() 1334 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) SetMinTransferRootBondDelay(_minTransferRootBondDelay *big.Int) (*types.Transaction, error) { 1335 return _HopL1Erc20Bridge.Contract.SetMinTransferRootBondDelay(&_HopL1Erc20Bridge.TransactOpts, _minTransferRootBondDelay) 1336 } 1337 1338 // SetMinTransferRootBondDelay is a paid mutator transaction binding the contract method 0x39ada669. 1339 // 1340 // Solidity: function setMinTransferRootBondDelay(uint256 _minTransferRootBondDelay) returns() 1341 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactorSession) SetMinTransferRootBondDelay(_minTransferRootBondDelay *big.Int) (*types.Transaction, error) { 1342 return _HopL1Erc20Bridge.Contract.SetMinTransferRootBondDelay(&_HopL1Erc20Bridge.TransactOpts, _minTransferRootBondDelay) 1343 } 1344 1345 // SettleBondedWithdrawal is a paid mutator transaction binding the contract method 0xc7525dd3. 1346 // 1347 // Solidity: function settleBondedWithdrawal(address bonder, bytes32 transferId, bytes32 rootHash, uint256 transferRootTotalAmount, uint256 transferIdTreeIndex, bytes32[] siblings, uint256 totalLeaves) returns() 1348 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactor) SettleBondedWithdrawal(opts *bind.TransactOpts, bonder common.Address, transferId [32]byte, rootHash [32]byte, transferRootTotalAmount *big.Int, transferIdTreeIndex *big.Int, siblings [][32]byte, totalLeaves *big.Int) (*types.Transaction, error) { 1349 return _HopL1Erc20Bridge.contract.Transact(opts, "settleBondedWithdrawal", bonder, transferId, rootHash, transferRootTotalAmount, transferIdTreeIndex, siblings, totalLeaves) 1350 } 1351 1352 // SettleBondedWithdrawal is a paid mutator transaction binding the contract method 0xc7525dd3. 1353 // 1354 // Solidity: function settleBondedWithdrawal(address bonder, bytes32 transferId, bytes32 rootHash, uint256 transferRootTotalAmount, uint256 transferIdTreeIndex, bytes32[] siblings, uint256 totalLeaves) returns() 1355 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) SettleBondedWithdrawal(bonder common.Address, transferId [32]byte, rootHash [32]byte, transferRootTotalAmount *big.Int, transferIdTreeIndex *big.Int, siblings [][32]byte, totalLeaves *big.Int) (*types.Transaction, error) { 1356 return _HopL1Erc20Bridge.Contract.SettleBondedWithdrawal(&_HopL1Erc20Bridge.TransactOpts, bonder, transferId, rootHash, transferRootTotalAmount, transferIdTreeIndex, siblings, totalLeaves) 1357 } 1358 1359 // SettleBondedWithdrawal is a paid mutator transaction binding the contract method 0xc7525dd3. 1360 // 1361 // Solidity: function settleBondedWithdrawal(address bonder, bytes32 transferId, bytes32 rootHash, uint256 transferRootTotalAmount, uint256 transferIdTreeIndex, bytes32[] siblings, uint256 totalLeaves) returns() 1362 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactorSession) SettleBondedWithdrawal(bonder common.Address, transferId [32]byte, rootHash [32]byte, transferRootTotalAmount *big.Int, transferIdTreeIndex *big.Int, siblings [][32]byte, totalLeaves *big.Int) (*types.Transaction, error) { 1363 return _HopL1Erc20Bridge.Contract.SettleBondedWithdrawal(&_HopL1Erc20Bridge.TransactOpts, bonder, transferId, rootHash, transferRootTotalAmount, transferIdTreeIndex, siblings, totalLeaves) 1364 } 1365 1366 // SettleBondedWithdrawals is a paid mutator transaction binding the contract method 0xb162717e. 1367 // 1368 // Solidity: function settleBondedWithdrawals(address bonder, bytes32[] transferIds, uint256 totalAmount) returns() 1369 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactor) SettleBondedWithdrawals(opts *bind.TransactOpts, bonder common.Address, transferIds [][32]byte, totalAmount *big.Int) (*types.Transaction, error) { 1370 return _HopL1Erc20Bridge.contract.Transact(opts, "settleBondedWithdrawals", bonder, transferIds, totalAmount) 1371 } 1372 1373 // SettleBondedWithdrawals is a paid mutator transaction binding the contract method 0xb162717e. 1374 // 1375 // Solidity: function settleBondedWithdrawals(address bonder, bytes32[] transferIds, uint256 totalAmount) returns() 1376 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) SettleBondedWithdrawals(bonder common.Address, transferIds [][32]byte, totalAmount *big.Int) (*types.Transaction, error) { 1377 return _HopL1Erc20Bridge.Contract.SettleBondedWithdrawals(&_HopL1Erc20Bridge.TransactOpts, bonder, transferIds, totalAmount) 1378 } 1379 1380 // SettleBondedWithdrawals is a paid mutator transaction binding the contract method 0xb162717e. 1381 // 1382 // Solidity: function settleBondedWithdrawals(address bonder, bytes32[] transferIds, uint256 totalAmount) returns() 1383 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactorSession) SettleBondedWithdrawals(bonder common.Address, transferIds [][32]byte, totalAmount *big.Int) (*types.Transaction, error) { 1384 return _HopL1Erc20Bridge.Contract.SettleBondedWithdrawals(&_HopL1Erc20Bridge.TransactOpts, bonder, transferIds, totalAmount) 1385 } 1386 1387 // Stake is a paid mutator transaction binding the contract method 0xadc9772e. 1388 // 1389 // Solidity: function stake(address bonder, uint256 amount) payable returns() 1390 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactor) Stake(opts *bind.TransactOpts, bonder common.Address, amount *big.Int) (*types.Transaction, error) { 1391 return _HopL1Erc20Bridge.contract.Transact(opts, "stake", bonder, amount) 1392 } 1393 1394 // Stake is a paid mutator transaction binding the contract method 0xadc9772e. 1395 // 1396 // Solidity: function stake(address bonder, uint256 amount) payable returns() 1397 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) Stake(bonder common.Address, amount *big.Int) (*types.Transaction, error) { 1398 return _HopL1Erc20Bridge.Contract.Stake(&_HopL1Erc20Bridge.TransactOpts, bonder, amount) 1399 } 1400 1401 // Stake is a paid mutator transaction binding the contract method 0xadc9772e. 1402 // 1403 // Solidity: function stake(address bonder, uint256 amount) payable returns() 1404 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactorSession) Stake(bonder common.Address, amount *big.Int) (*types.Transaction, error) { 1405 return _HopL1Erc20Bridge.Contract.Stake(&_HopL1Erc20Bridge.TransactOpts, bonder, amount) 1406 } 1407 1408 // Unstake is a paid mutator transaction binding the contract method 0x2e17de78. 1409 // 1410 // Solidity: function unstake(uint256 amount) returns() 1411 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactor) Unstake(opts *bind.TransactOpts, amount *big.Int) (*types.Transaction, error) { 1412 return _HopL1Erc20Bridge.contract.Transact(opts, "unstake", amount) 1413 } 1414 1415 // Unstake is a paid mutator transaction binding the contract method 0x2e17de78. 1416 // 1417 // Solidity: function unstake(uint256 amount) returns() 1418 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) Unstake(amount *big.Int) (*types.Transaction, error) { 1419 return _HopL1Erc20Bridge.Contract.Unstake(&_HopL1Erc20Bridge.TransactOpts, amount) 1420 } 1421 1422 // Unstake is a paid mutator transaction binding the contract method 0x2e17de78. 1423 // 1424 // Solidity: function unstake(uint256 amount) returns() 1425 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactorSession) Unstake(amount *big.Int) (*types.Transaction, error) { 1426 return _HopL1Erc20Bridge.Contract.Unstake(&_HopL1Erc20Bridge.TransactOpts, amount) 1427 } 1428 1429 // Withdraw is a paid mutator transaction binding the contract method 0x0f7aadb7. 1430 // 1431 // Solidity: function withdraw(address recipient, uint256 amount, bytes32 transferNonce, uint256 bonderFee, uint256 amountOutMin, uint256 deadline, bytes32 rootHash, uint256 transferRootTotalAmount, uint256 transferIdTreeIndex, bytes32[] siblings, uint256 totalLeaves) returns() 1432 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactor) Withdraw(opts *bind.TransactOpts, recipient common.Address, amount *big.Int, transferNonce [32]byte, bonderFee *big.Int, amountOutMin *big.Int, deadline *big.Int, rootHash [32]byte, transferRootTotalAmount *big.Int, transferIdTreeIndex *big.Int, siblings [][32]byte, totalLeaves *big.Int) (*types.Transaction, error) { 1433 return _HopL1Erc20Bridge.contract.Transact(opts, "withdraw", recipient, amount, transferNonce, bonderFee, amountOutMin, deadline, rootHash, transferRootTotalAmount, transferIdTreeIndex, siblings, totalLeaves) 1434 } 1435 1436 // Withdraw is a paid mutator transaction binding the contract method 0x0f7aadb7. 1437 // 1438 // Solidity: function withdraw(address recipient, uint256 amount, bytes32 transferNonce, uint256 bonderFee, uint256 amountOutMin, uint256 deadline, bytes32 rootHash, uint256 transferRootTotalAmount, uint256 transferIdTreeIndex, bytes32[] siblings, uint256 totalLeaves) returns() 1439 func (_HopL1Erc20Bridge *HopL1Erc20BridgeSession) Withdraw(recipient common.Address, amount *big.Int, transferNonce [32]byte, bonderFee *big.Int, amountOutMin *big.Int, deadline *big.Int, rootHash [32]byte, transferRootTotalAmount *big.Int, transferIdTreeIndex *big.Int, siblings [][32]byte, totalLeaves *big.Int) (*types.Transaction, error) { 1440 return _HopL1Erc20Bridge.Contract.Withdraw(&_HopL1Erc20Bridge.TransactOpts, recipient, amount, transferNonce, bonderFee, amountOutMin, deadline, rootHash, transferRootTotalAmount, transferIdTreeIndex, siblings, totalLeaves) 1441 } 1442 1443 // Withdraw is a paid mutator transaction binding the contract method 0x0f7aadb7. 1444 // 1445 // Solidity: function withdraw(address recipient, uint256 amount, bytes32 transferNonce, uint256 bonderFee, uint256 amountOutMin, uint256 deadline, bytes32 rootHash, uint256 transferRootTotalAmount, uint256 transferIdTreeIndex, bytes32[] siblings, uint256 totalLeaves) returns() 1446 func (_HopL1Erc20Bridge *HopL1Erc20BridgeTransactorSession) Withdraw(recipient common.Address, amount *big.Int, transferNonce [32]byte, bonderFee *big.Int, amountOutMin *big.Int, deadline *big.Int, rootHash [32]byte, transferRootTotalAmount *big.Int, transferIdTreeIndex *big.Int, siblings [][32]byte, totalLeaves *big.Int) (*types.Transaction, error) { 1447 return _HopL1Erc20Bridge.Contract.Withdraw(&_HopL1Erc20Bridge.TransactOpts, recipient, amount, transferNonce, bonderFee, amountOutMin, deadline, rootHash, transferRootTotalAmount, transferIdTreeIndex, siblings, totalLeaves) 1448 } 1449 1450 // HopL1Erc20BridgeBonderAddedIterator is returned from FilterBonderAdded and is used to iterate over the raw logs and unpacked data for BonderAdded events raised by the HopL1Erc20Bridge contract. 1451 type HopL1Erc20BridgeBonderAddedIterator struct { 1452 Event *HopL1Erc20BridgeBonderAdded // Event containing the contract specifics and raw log 1453 1454 contract *bind.BoundContract // Generic contract to use for unpacking event data 1455 event string // Event name to use for unpacking event data 1456 1457 logs chan types.Log // Log channel receiving the found contract events 1458 sub ethereum.Subscription // Subscription for errors, completion and termination 1459 done bool // Whether the subscription completed delivering logs 1460 fail error // Occurred error to stop iteration 1461 } 1462 1463 // Next advances the iterator to the subsequent event, returning whether there 1464 // are any more events found. In case of a retrieval or parsing error, false is 1465 // returned and Error() can be queried for the exact failure. 1466 func (it *HopL1Erc20BridgeBonderAddedIterator) Next() bool { 1467 // If the iterator failed, stop iterating 1468 if it.fail != nil { 1469 return false 1470 } 1471 // If the iterator completed, deliver directly whatever's available 1472 if it.done { 1473 select { 1474 case log := <-it.logs: 1475 it.Event = new(HopL1Erc20BridgeBonderAdded) 1476 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1477 it.fail = err 1478 return false 1479 } 1480 it.Event.Raw = log 1481 return true 1482 1483 default: 1484 return false 1485 } 1486 } 1487 // Iterator still in progress, wait for either a data or an error event 1488 select { 1489 case log := <-it.logs: 1490 it.Event = new(HopL1Erc20BridgeBonderAdded) 1491 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1492 it.fail = err 1493 return false 1494 } 1495 it.Event.Raw = log 1496 return true 1497 1498 case err := <-it.sub.Err(): 1499 it.done = true 1500 it.fail = err 1501 return it.Next() 1502 } 1503 } 1504 1505 // Error returns any retrieval or parsing error occurred during filtering. 1506 func (it *HopL1Erc20BridgeBonderAddedIterator) Error() error { 1507 return it.fail 1508 } 1509 1510 // Close terminates the iteration process, releasing any pending underlying 1511 // resources. 1512 func (it *HopL1Erc20BridgeBonderAddedIterator) Close() error { 1513 it.sub.Unsubscribe() 1514 return nil 1515 } 1516 1517 // HopL1Erc20BridgeBonderAdded represents a BonderAdded event raised by the HopL1Erc20Bridge contract. 1518 type HopL1Erc20BridgeBonderAdded struct { 1519 NewBonder common.Address 1520 Raw types.Log // Blockchain specific contextual infos 1521 } 1522 1523 // FilterBonderAdded is a free log retrieval operation binding the contract event 0x2cec73b7434d3b91198ad1a618f63e6a0761ce281af5ec9ec76606d948d03e23. 1524 // 1525 // Solidity: event BonderAdded(address indexed newBonder) 1526 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) FilterBonderAdded(opts *bind.FilterOpts, newBonder []common.Address) (*HopL1Erc20BridgeBonderAddedIterator, error) { 1527 1528 var newBonderRule []interface{} 1529 for _, newBonderItem := range newBonder { 1530 newBonderRule = append(newBonderRule, newBonderItem) 1531 } 1532 1533 logs, sub, err := _HopL1Erc20Bridge.contract.FilterLogs(opts, "BonderAdded", newBonderRule) 1534 if err != nil { 1535 return nil, err 1536 } 1537 return &HopL1Erc20BridgeBonderAddedIterator{contract: _HopL1Erc20Bridge.contract, event: "BonderAdded", logs: logs, sub: sub}, nil 1538 } 1539 1540 // WatchBonderAdded is a free log subscription operation binding the contract event 0x2cec73b7434d3b91198ad1a618f63e6a0761ce281af5ec9ec76606d948d03e23. 1541 // 1542 // Solidity: event BonderAdded(address indexed newBonder) 1543 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) WatchBonderAdded(opts *bind.WatchOpts, sink chan<- *HopL1Erc20BridgeBonderAdded, newBonder []common.Address) (event.Subscription, error) { 1544 1545 var newBonderRule []interface{} 1546 for _, newBonderItem := range newBonder { 1547 newBonderRule = append(newBonderRule, newBonderItem) 1548 } 1549 1550 logs, sub, err := _HopL1Erc20Bridge.contract.WatchLogs(opts, "BonderAdded", newBonderRule) 1551 if err != nil { 1552 return nil, err 1553 } 1554 return event.NewSubscription(func(quit <-chan struct{}) error { 1555 defer sub.Unsubscribe() 1556 for { 1557 select { 1558 case log := <-logs: 1559 // New log arrived, parse the event and forward to the user 1560 event := new(HopL1Erc20BridgeBonderAdded) 1561 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "BonderAdded", log); err != nil { 1562 return err 1563 } 1564 event.Raw = log 1565 1566 select { 1567 case sink <- event: 1568 case err := <-sub.Err(): 1569 return err 1570 case <-quit: 1571 return nil 1572 } 1573 case err := <-sub.Err(): 1574 return err 1575 case <-quit: 1576 return nil 1577 } 1578 } 1579 }), nil 1580 } 1581 1582 // ParseBonderAdded is a log parse operation binding the contract event 0x2cec73b7434d3b91198ad1a618f63e6a0761ce281af5ec9ec76606d948d03e23. 1583 // 1584 // Solidity: event BonderAdded(address indexed newBonder) 1585 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) ParseBonderAdded(log types.Log) (*HopL1Erc20BridgeBonderAdded, error) { 1586 event := new(HopL1Erc20BridgeBonderAdded) 1587 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "BonderAdded", log); err != nil { 1588 return nil, err 1589 } 1590 event.Raw = log 1591 return event, nil 1592 } 1593 1594 // HopL1Erc20BridgeBonderRemovedIterator is returned from FilterBonderRemoved and is used to iterate over the raw logs and unpacked data for BonderRemoved events raised by the HopL1Erc20Bridge contract. 1595 type HopL1Erc20BridgeBonderRemovedIterator struct { 1596 Event *HopL1Erc20BridgeBonderRemoved // Event containing the contract specifics and raw log 1597 1598 contract *bind.BoundContract // Generic contract to use for unpacking event data 1599 event string // Event name to use for unpacking event data 1600 1601 logs chan types.Log // Log channel receiving the found contract events 1602 sub ethereum.Subscription // Subscription for errors, completion and termination 1603 done bool // Whether the subscription completed delivering logs 1604 fail error // Occurred error to stop iteration 1605 } 1606 1607 // Next advances the iterator to the subsequent event, returning whether there 1608 // are any more events found. In case of a retrieval or parsing error, false is 1609 // returned and Error() can be queried for the exact failure. 1610 func (it *HopL1Erc20BridgeBonderRemovedIterator) Next() bool { 1611 // If the iterator failed, stop iterating 1612 if it.fail != nil { 1613 return false 1614 } 1615 // If the iterator completed, deliver directly whatever's available 1616 if it.done { 1617 select { 1618 case log := <-it.logs: 1619 it.Event = new(HopL1Erc20BridgeBonderRemoved) 1620 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1621 it.fail = err 1622 return false 1623 } 1624 it.Event.Raw = log 1625 return true 1626 1627 default: 1628 return false 1629 } 1630 } 1631 // Iterator still in progress, wait for either a data or an error event 1632 select { 1633 case log := <-it.logs: 1634 it.Event = new(HopL1Erc20BridgeBonderRemoved) 1635 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1636 it.fail = err 1637 return false 1638 } 1639 it.Event.Raw = log 1640 return true 1641 1642 case err := <-it.sub.Err(): 1643 it.done = true 1644 it.fail = err 1645 return it.Next() 1646 } 1647 } 1648 1649 // Error returns any retrieval or parsing error occurred during filtering. 1650 func (it *HopL1Erc20BridgeBonderRemovedIterator) Error() error { 1651 return it.fail 1652 } 1653 1654 // Close terminates the iteration process, releasing any pending underlying 1655 // resources. 1656 func (it *HopL1Erc20BridgeBonderRemovedIterator) Close() error { 1657 it.sub.Unsubscribe() 1658 return nil 1659 } 1660 1661 // HopL1Erc20BridgeBonderRemoved represents a BonderRemoved event raised by the HopL1Erc20Bridge contract. 1662 type HopL1Erc20BridgeBonderRemoved struct { 1663 PreviousBonder common.Address 1664 Raw types.Log // Blockchain specific contextual infos 1665 } 1666 1667 // FilterBonderRemoved is a free log retrieval operation binding the contract event 0x4234ba611d325b3ba434c4e1b037967b955b1274d4185ee9847b7491111a48ff. 1668 // 1669 // Solidity: event BonderRemoved(address indexed previousBonder) 1670 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) FilterBonderRemoved(opts *bind.FilterOpts, previousBonder []common.Address) (*HopL1Erc20BridgeBonderRemovedIterator, error) { 1671 1672 var previousBonderRule []interface{} 1673 for _, previousBonderItem := range previousBonder { 1674 previousBonderRule = append(previousBonderRule, previousBonderItem) 1675 } 1676 1677 logs, sub, err := _HopL1Erc20Bridge.contract.FilterLogs(opts, "BonderRemoved", previousBonderRule) 1678 if err != nil { 1679 return nil, err 1680 } 1681 return &HopL1Erc20BridgeBonderRemovedIterator{contract: _HopL1Erc20Bridge.contract, event: "BonderRemoved", logs: logs, sub: sub}, nil 1682 } 1683 1684 // WatchBonderRemoved is a free log subscription operation binding the contract event 0x4234ba611d325b3ba434c4e1b037967b955b1274d4185ee9847b7491111a48ff. 1685 // 1686 // Solidity: event BonderRemoved(address indexed previousBonder) 1687 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) WatchBonderRemoved(opts *bind.WatchOpts, sink chan<- *HopL1Erc20BridgeBonderRemoved, previousBonder []common.Address) (event.Subscription, error) { 1688 1689 var previousBonderRule []interface{} 1690 for _, previousBonderItem := range previousBonder { 1691 previousBonderRule = append(previousBonderRule, previousBonderItem) 1692 } 1693 1694 logs, sub, err := _HopL1Erc20Bridge.contract.WatchLogs(opts, "BonderRemoved", previousBonderRule) 1695 if err != nil { 1696 return nil, err 1697 } 1698 return event.NewSubscription(func(quit <-chan struct{}) error { 1699 defer sub.Unsubscribe() 1700 for { 1701 select { 1702 case log := <-logs: 1703 // New log arrived, parse the event and forward to the user 1704 event := new(HopL1Erc20BridgeBonderRemoved) 1705 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "BonderRemoved", log); err != nil { 1706 return err 1707 } 1708 event.Raw = log 1709 1710 select { 1711 case sink <- event: 1712 case err := <-sub.Err(): 1713 return err 1714 case <-quit: 1715 return nil 1716 } 1717 case err := <-sub.Err(): 1718 return err 1719 case <-quit: 1720 return nil 1721 } 1722 } 1723 }), nil 1724 } 1725 1726 // ParseBonderRemoved is a log parse operation binding the contract event 0x4234ba611d325b3ba434c4e1b037967b955b1274d4185ee9847b7491111a48ff. 1727 // 1728 // Solidity: event BonderRemoved(address indexed previousBonder) 1729 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) ParseBonderRemoved(log types.Log) (*HopL1Erc20BridgeBonderRemoved, error) { 1730 event := new(HopL1Erc20BridgeBonderRemoved) 1731 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "BonderRemoved", log); err != nil { 1732 return nil, err 1733 } 1734 event.Raw = log 1735 return event, nil 1736 } 1737 1738 // HopL1Erc20BridgeChallengeResolvedIterator is returned from FilterChallengeResolved and is used to iterate over the raw logs and unpacked data for ChallengeResolved events raised by the HopL1Erc20Bridge contract. 1739 type HopL1Erc20BridgeChallengeResolvedIterator struct { 1740 Event *HopL1Erc20BridgeChallengeResolved // Event containing the contract specifics and raw log 1741 1742 contract *bind.BoundContract // Generic contract to use for unpacking event data 1743 event string // Event name to use for unpacking event data 1744 1745 logs chan types.Log // Log channel receiving the found contract events 1746 sub ethereum.Subscription // Subscription for errors, completion and termination 1747 done bool // Whether the subscription completed delivering logs 1748 fail error // Occurred error to stop iteration 1749 } 1750 1751 // Next advances the iterator to the subsequent event, returning whether there 1752 // are any more events found. In case of a retrieval or parsing error, false is 1753 // returned and Error() can be queried for the exact failure. 1754 func (it *HopL1Erc20BridgeChallengeResolvedIterator) Next() bool { 1755 // If the iterator failed, stop iterating 1756 if it.fail != nil { 1757 return false 1758 } 1759 // If the iterator completed, deliver directly whatever's available 1760 if it.done { 1761 select { 1762 case log := <-it.logs: 1763 it.Event = new(HopL1Erc20BridgeChallengeResolved) 1764 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1765 it.fail = err 1766 return false 1767 } 1768 it.Event.Raw = log 1769 return true 1770 1771 default: 1772 return false 1773 } 1774 } 1775 // Iterator still in progress, wait for either a data or an error event 1776 select { 1777 case log := <-it.logs: 1778 it.Event = new(HopL1Erc20BridgeChallengeResolved) 1779 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1780 it.fail = err 1781 return false 1782 } 1783 it.Event.Raw = log 1784 return true 1785 1786 case err := <-it.sub.Err(): 1787 it.done = true 1788 it.fail = err 1789 return it.Next() 1790 } 1791 } 1792 1793 // Error returns any retrieval or parsing error occurred during filtering. 1794 func (it *HopL1Erc20BridgeChallengeResolvedIterator) Error() error { 1795 return it.fail 1796 } 1797 1798 // Close terminates the iteration process, releasing any pending underlying 1799 // resources. 1800 func (it *HopL1Erc20BridgeChallengeResolvedIterator) Close() error { 1801 it.sub.Unsubscribe() 1802 return nil 1803 } 1804 1805 // HopL1Erc20BridgeChallengeResolved represents a ChallengeResolved event raised by the HopL1Erc20Bridge contract. 1806 type HopL1Erc20BridgeChallengeResolved struct { 1807 TransferRootId [32]byte 1808 RootHash [32]byte 1809 OriginalAmount *big.Int 1810 Raw types.Log // Blockchain specific contextual infos 1811 } 1812 1813 // FilterChallengeResolved is a free log retrieval operation binding the contract event 0x4a99228a8a6d774d261be57ab0ed833bb1bae1f22bbbd3d4767b75ad03fdddf7. 1814 // 1815 // Solidity: event ChallengeResolved(bytes32 indexed transferRootId, bytes32 indexed rootHash, uint256 originalAmount) 1816 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) FilterChallengeResolved(opts *bind.FilterOpts, transferRootId [][32]byte, rootHash [][32]byte) (*HopL1Erc20BridgeChallengeResolvedIterator, error) { 1817 1818 var transferRootIdRule []interface{} 1819 for _, transferRootIdItem := range transferRootId { 1820 transferRootIdRule = append(transferRootIdRule, transferRootIdItem) 1821 } 1822 var rootHashRule []interface{} 1823 for _, rootHashItem := range rootHash { 1824 rootHashRule = append(rootHashRule, rootHashItem) 1825 } 1826 1827 logs, sub, err := _HopL1Erc20Bridge.contract.FilterLogs(opts, "ChallengeResolved", transferRootIdRule, rootHashRule) 1828 if err != nil { 1829 return nil, err 1830 } 1831 return &HopL1Erc20BridgeChallengeResolvedIterator{contract: _HopL1Erc20Bridge.contract, event: "ChallengeResolved", logs: logs, sub: sub}, nil 1832 } 1833 1834 // WatchChallengeResolved is a free log subscription operation binding the contract event 0x4a99228a8a6d774d261be57ab0ed833bb1bae1f22bbbd3d4767b75ad03fdddf7. 1835 // 1836 // Solidity: event ChallengeResolved(bytes32 indexed transferRootId, bytes32 indexed rootHash, uint256 originalAmount) 1837 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) WatchChallengeResolved(opts *bind.WatchOpts, sink chan<- *HopL1Erc20BridgeChallengeResolved, transferRootId [][32]byte, rootHash [][32]byte) (event.Subscription, error) { 1838 1839 var transferRootIdRule []interface{} 1840 for _, transferRootIdItem := range transferRootId { 1841 transferRootIdRule = append(transferRootIdRule, transferRootIdItem) 1842 } 1843 var rootHashRule []interface{} 1844 for _, rootHashItem := range rootHash { 1845 rootHashRule = append(rootHashRule, rootHashItem) 1846 } 1847 1848 logs, sub, err := _HopL1Erc20Bridge.contract.WatchLogs(opts, "ChallengeResolved", transferRootIdRule, rootHashRule) 1849 if err != nil { 1850 return nil, err 1851 } 1852 return event.NewSubscription(func(quit <-chan struct{}) error { 1853 defer sub.Unsubscribe() 1854 for { 1855 select { 1856 case log := <-logs: 1857 // New log arrived, parse the event and forward to the user 1858 event := new(HopL1Erc20BridgeChallengeResolved) 1859 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "ChallengeResolved", log); err != nil { 1860 return err 1861 } 1862 event.Raw = log 1863 1864 select { 1865 case sink <- event: 1866 case err := <-sub.Err(): 1867 return err 1868 case <-quit: 1869 return nil 1870 } 1871 case err := <-sub.Err(): 1872 return err 1873 case <-quit: 1874 return nil 1875 } 1876 } 1877 }), nil 1878 } 1879 1880 // ParseChallengeResolved is a log parse operation binding the contract event 0x4a99228a8a6d774d261be57ab0ed833bb1bae1f22bbbd3d4767b75ad03fdddf7. 1881 // 1882 // Solidity: event ChallengeResolved(bytes32 indexed transferRootId, bytes32 indexed rootHash, uint256 originalAmount) 1883 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) ParseChallengeResolved(log types.Log) (*HopL1Erc20BridgeChallengeResolved, error) { 1884 event := new(HopL1Erc20BridgeChallengeResolved) 1885 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "ChallengeResolved", log); err != nil { 1886 return nil, err 1887 } 1888 event.Raw = log 1889 return event, nil 1890 } 1891 1892 // HopL1Erc20BridgeMultipleWithdrawalsSettledIterator is returned from FilterMultipleWithdrawalsSettled and is used to iterate over the raw logs and unpacked data for MultipleWithdrawalsSettled events raised by the HopL1Erc20Bridge contract. 1893 type HopL1Erc20BridgeMultipleWithdrawalsSettledIterator struct { 1894 Event *HopL1Erc20BridgeMultipleWithdrawalsSettled // Event containing the contract specifics and raw log 1895 1896 contract *bind.BoundContract // Generic contract to use for unpacking event data 1897 event string // Event name to use for unpacking event data 1898 1899 logs chan types.Log // Log channel receiving the found contract events 1900 sub ethereum.Subscription // Subscription for errors, completion and termination 1901 done bool // Whether the subscription completed delivering logs 1902 fail error // Occurred error to stop iteration 1903 } 1904 1905 // Next advances the iterator to the subsequent event, returning whether there 1906 // are any more events found. In case of a retrieval or parsing error, false is 1907 // returned and Error() can be queried for the exact failure. 1908 func (it *HopL1Erc20BridgeMultipleWithdrawalsSettledIterator) Next() bool { 1909 // If the iterator failed, stop iterating 1910 if it.fail != nil { 1911 return false 1912 } 1913 // If the iterator completed, deliver directly whatever's available 1914 if it.done { 1915 select { 1916 case log := <-it.logs: 1917 it.Event = new(HopL1Erc20BridgeMultipleWithdrawalsSettled) 1918 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1919 it.fail = err 1920 return false 1921 } 1922 it.Event.Raw = log 1923 return true 1924 1925 default: 1926 return false 1927 } 1928 } 1929 // Iterator still in progress, wait for either a data or an error event 1930 select { 1931 case log := <-it.logs: 1932 it.Event = new(HopL1Erc20BridgeMultipleWithdrawalsSettled) 1933 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1934 it.fail = err 1935 return false 1936 } 1937 it.Event.Raw = log 1938 return true 1939 1940 case err := <-it.sub.Err(): 1941 it.done = true 1942 it.fail = err 1943 return it.Next() 1944 } 1945 } 1946 1947 // Error returns any retrieval or parsing error occurred during filtering. 1948 func (it *HopL1Erc20BridgeMultipleWithdrawalsSettledIterator) Error() error { 1949 return it.fail 1950 } 1951 1952 // Close terminates the iteration process, releasing any pending underlying 1953 // resources. 1954 func (it *HopL1Erc20BridgeMultipleWithdrawalsSettledIterator) Close() error { 1955 it.sub.Unsubscribe() 1956 return nil 1957 } 1958 1959 // HopL1Erc20BridgeMultipleWithdrawalsSettled represents a MultipleWithdrawalsSettled event raised by the HopL1Erc20Bridge contract. 1960 type HopL1Erc20BridgeMultipleWithdrawalsSettled struct { 1961 Bonder common.Address 1962 RootHash [32]byte 1963 TotalBondsSettled *big.Int 1964 Raw types.Log // Blockchain specific contextual infos 1965 } 1966 1967 // FilterMultipleWithdrawalsSettled is a free log retrieval operation binding the contract event 0x78e830d08be9d5f957414c84d685c061ecbd8467be98b42ebb64f0118b57d2ff. 1968 // 1969 // Solidity: event MultipleWithdrawalsSettled(address indexed bonder, bytes32 indexed rootHash, uint256 totalBondsSettled) 1970 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) FilterMultipleWithdrawalsSettled(opts *bind.FilterOpts, bonder []common.Address, rootHash [][32]byte) (*HopL1Erc20BridgeMultipleWithdrawalsSettledIterator, error) { 1971 1972 var bonderRule []interface{} 1973 for _, bonderItem := range bonder { 1974 bonderRule = append(bonderRule, bonderItem) 1975 } 1976 var rootHashRule []interface{} 1977 for _, rootHashItem := range rootHash { 1978 rootHashRule = append(rootHashRule, rootHashItem) 1979 } 1980 1981 logs, sub, err := _HopL1Erc20Bridge.contract.FilterLogs(opts, "MultipleWithdrawalsSettled", bonderRule, rootHashRule) 1982 if err != nil { 1983 return nil, err 1984 } 1985 return &HopL1Erc20BridgeMultipleWithdrawalsSettledIterator{contract: _HopL1Erc20Bridge.contract, event: "MultipleWithdrawalsSettled", logs: logs, sub: sub}, nil 1986 } 1987 1988 // WatchMultipleWithdrawalsSettled is a free log subscription operation binding the contract event 0x78e830d08be9d5f957414c84d685c061ecbd8467be98b42ebb64f0118b57d2ff. 1989 // 1990 // Solidity: event MultipleWithdrawalsSettled(address indexed bonder, bytes32 indexed rootHash, uint256 totalBondsSettled) 1991 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) WatchMultipleWithdrawalsSettled(opts *bind.WatchOpts, sink chan<- *HopL1Erc20BridgeMultipleWithdrawalsSettled, bonder []common.Address, rootHash [][32]byte) (event.Subscription, error) { 1992 1993 var bonderRule []interface{} 1994 for _, bonderItem := range bonder { 1995 bonderRule = append(bonderRule, bonderItem) 1996 } 1997 var rootHashRule []interface{} 1998 for _, rootHashItem := range rootHash { 1999 rootHashRule = append(rootHashRule, rootHashItem) 2000 } 2001 2002 logs, sub, err := _HopL1Erc20Bridge.contract.WatchLogs(opts, "MultipleWithdrawalsSettled", bonderRule, rootHashRule) 2003 if err != nil { 2004 return nil, err 2005 } 2006 return event.NewSubscription(func(quit <-chan struct{}) error { 2007 defer sub.Unsubscribe() 2008 for { 2009 select { 2010 case log := <-logs: 2011 // New log arrived, parse the event and forward to the user 2012 event := new(HopL1Erc20BridgeMultipleWithdrawalsSettled) 2013 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "MultipleWithdrawalsSettled", log); err != nil { 2014 return err 2015 } 2016 event.Raw = log 2017 2018 select { 2019 case sink <- event: 2020 case err := <-sub.Err(): 2021 return err 2022 case <-quit: 2023 return nil 2024 } 2025 case err := <-sub.Err(): 2026 return err 2027 case <-quit: 2028 return nil 2029 } 2030 } 2031 }), nil 2032 } 2033 2034 // ParseMultipleWithdrawalsSettled is a log parse operation binding the contract event 0x78e830d08be9d5f957414c84d685c061ecbd8467be98b42ebb64f0118b57d2ff. 2035 // 2036 // Solidity: event MultipleWithdrawalsSettled(address indexed bonder, bytes32 indexed rootHash, uint256 totalBondsSettled) 2037 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) ParseMultipleWithdrawalsSettled(log types.Log) (*HopL1Erc20BridgeMultipleWithdrawalsSettled, error) { 2038 event := new(HopL1Erc20BridgeMultipleWithdrawalsSettled) 2039 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "MultipleWithdrawalsSettled", log); err != nil { 2040 return nil, err 2041 } 2042 event.Raw = log 2043 return event, nil 2044 } 2045 2046 // HopL1Erc20BridgeStakeIterator is returned from FilterStake and is used to iterate over the raw logs and unpacked data for Stake events raised by the HopL1Erc20Bridge contract. 2047 type HopL1Erc20BridgeStakeIterator struct { 2048 Event *HopL1Erc20BridgeStake // Event containing the contract specifics and raw log 2049 2050 contract *bind.BoundContract // Generic contract to use for unpacking event data 2051 event string // Event name to use for unpacking event data 2052 2053 logs chan types.Log // Log channel receiving the found contract events 2054 sub ethereum.Subscription // Subscription for errors, completion and termination 2055 done bool // Whether the subscription completed delivering logs 2056 fail error // Occurred error to stop iteration 2057 } 2058 2059 // Next advances the iterator to the subsequent event, returning whether there 2060 // are any more events found. In case of a retrieval or parsing error, false is 2061 // returned and Error() can be queried for the exact failure. 2062 func (it *HopL1Erc20BridgeStakeIterator) Next() bool { 2063 // If the iterator failed, stop iterating 2064 if it.fail != nil { 2065 return false 2066 } 2067 // If the iterator completed, deliver directly whatever's available 2068 if it.done { 2069 select { 2070 case log := <-it.logs: 2071 it.Event = new(HopL1Erc20BridgeStake) 2072 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2073 it.fail = err 2074 return false 2075 } 2076 it.Event.Raw = log 2077 return true 2078 2079 default: 2080 return false 2081 } 2082 } 2083 // Iterator still in progress, wait for either a data or an error event 2084 select { 2085 case log := <-it.logs: 2086 it.Event = new(HopL1Erc20BridgeStake) 2087 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2088 it.fail = err 2089 return false 2090 } 2091 it.Event.Raw = log 2092 return true 2093 2094 case err := <-it.sub.Err(): 2095 it.done = true 2096 it.fail = err 2097 return it.Next() 2098 } 2099 } 2100 2101 // Error returns any retrieval or parsing error occurred during filtering. 2102 func (it *HopL1Erc20BridgeStakeIterator) Error() error { 2103 return it.fail 2104 } 2105 2106 // Close terminates the iteration process, releasing any pending underlying 2107 // resources. 2108 func (it *HopL1Erc20BridgeStakeIterator) Close() error { 2109 it.sub.Unsubscribe() 2110 return nil 2111 } 2112 2113 // HopL1Erc20BridgeStake represents a Stake event raised by the HopL1Erc20Bridge contract. 2114 type HopL1Erc20BridgeStake struct { 2115 Account common.Address 2116 Amount *big.Int 2117 Raw types.Log // Blockchain specific contextual infos 2118 } 2119 2120 // FilterStake is a free log retrieval operation binding the contract event 0xebedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a. 2121 // 2122 // Solidity: event Stake(address indexed account, uint256 amount) 2123 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) FilterStake(opts *bind.FilterOpts, account []common.Address) (*HopL1Erc20BridgeStakeIterator, error) { 2124 2125 var accountRule []interface{} 2126 for _, accountItem := range account { 2127 accountRule = append(accountRule, accountItem) 2128 } 2129 2130 logs, sub, err := _HopL1Erc20Bridge.contract.FilterLogs(opts, "Stake", accountRule) 2131 if err != nil { 2132 return nil, err 2133 } 2134 return &HopL1Erc20BridgeStakeIterator{contract: _HopL1Erc20Bridge.contract, event: "Stake", logs: logs, sub: sub}, nil 2135 } 2136 2137 // WatchStake is a free log subscription operation binding the contract event 0xebedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a. 2138 // 2139 // Solidity: event Stake(address indexed account, uint256 amount) 2140 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) WatchStake(opts *bind.WatchOpts, sink chan<- *HopL1Erc20BridgeStake, account []common.Address) (event.Subscription, error) { 2141 2142 var accountRule []interface{} 2143 for _, accountItem := range account { 2144 accountRule = append(accountRule, accountItem) 2145 } 2146 2147 logs, sub, err := _HopL1Erc20Bridge.contract.WatchLogs(opts, "Stake", accountRule) 2148 if err != nil { 2149 return nil, err 2150 } 2151 return event.NewSubscription(func(quit <-chan struct{}) error { 2152 defer sub.Unsubscribe() 2153 for { 2154 select { 2155 case log := <-logs: 2156 // New log arrived, parse the event and forward to the user 2157 event := new(HopL1Erc20BridgeStake) 2158 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "Stake", log); err != nil { 2159 return err 2160 } 2161 event.Raw = log 2162 2163 select { 2164 case sink <- event: 2165 case err := <-sub.Err(): 2166 return err 2167 case <-quit: 2168 return nil 2169 } 2170 case err := <-sub.Err(): 2171 return err 2172 case <-quit: 2173 return nil 2174 } 2175 } 2176 }), nil 2177 } 2178 2179 // ParseStake is a log parse operation binding the contract event 0xebedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a. 2180 // 2181 // Solidity: event Stake(address indexed account, uint256 amount) 2182 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) ParseStake(log types.Log) (*HopL1Erc20BridgeStake, error) { 2183 event := new(HopL1Erc20BridgeStake) 2184 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "Stake", log); err != nil { 2185 return nil, err 2186 } 2187 event.Raw = log 2188 return event, nil 2189 } 2190 2191 // HopL1Erc20BridgeTransferBondChallengedIterator is returned from FilterTransferBondChallenged and is used to iterate over the raw logs and unpacked data for TransferBondChallenged events raised by the HopL1Erc20Bridge contract. 2192 type HopL1Erc20BridgeTransferBondChallengedIterator struct { 2193 Event *HopL1Erc20BridgeTransferBondChallenged // Event containing the contract specifics and raw log 2194 2195 contract *bind.BoundContract // Generic contract to use for unpacking event data 2196 event string // Event name to use for unpacking event data 2197 2198 logs chan types.Log // Log channel receiving the found contract events 2199 sub ethereum.Subscription // Subscription for errors, completion and termination 2200 done bool // Whether the subscription completed delivering logs 2201 fail error // Occurred error to stop iteration 2202 } 2203 2204 // Next advances the iterator to the subsequent event, returning whether there 2205 // are any more events found. In case of a retrieval or parsing error, false is 2206 // returned and Error() can be queried for the exact failure. 2207 func (it *HopL1Erc20BridgeTransferBondChallengedIterator) Next() bool { 2208 // If the iterator failed, stop iterating 2209 if it.fail != nil { 2210 return false 2211 } 2212 // If the iterator completed, deliver directly whatever's available 2213 if it.done { 2214 select { 2215 case log := <-it.logs: 2216 it.Event = new(HopL1Erc20BridgeTransferBondChallenged) 2217 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2218 it.fail = err 2219 return false 2220 } 2221 it.Event.Raw = log 2222 return true 2223 2224 default: 2225 return false 2226 } 2227 } 2228 // Iterator still in progress, wait for either a data or an error event 2229 select { 2230 case log := <-it.logs: 2231 it.Event = new(HopL1Erc20BridgeTransferBondChallenged) 2232 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2233 it.fail = err 2234 return false 2235 } 2236 it.Event.Raw = log 2237 return true 2238 2239 case err := <-it.sub.Err(): 2240 it.done = true 2241 it.fail = err 2242 return it.Next() 2243 } 2244 } 2245 2246 // Error returns any retrieval or parsing error occurred during filtering. 2247 func (it *HopL1Erc20BridgeTransferBondChallengedIterator) Error() error { 2248 return it.fail 2249 } 2250 2251 // Close terminates the iteration process, releasing any pending underlying 2252 // resources. 2253 func (it *HopL1Erc20BridgeTransferBondChallengedIterator) Close() error { 2254 it.sub.Unsubscribe() 2255 return nil 2256 } 2257 2258 // HopL1Erc20BridgeTransferBondChallenged represents a TransferBondChallenged event raised by the HopL1Erc20Bridge contract. 2259 type HopL1Erc20BridgeTransferBondChallenged struct { 2260 TransferRootId [32]byte 2261 RootHash [32]byte 2262 OriginalAmount *big.Int 2263 Raw types.Log // Blockchain specific contextual infos 2264 } 2265 2266 // FilterTransferBondChallenged is a free log retrieval operation binding the contract event 0xec2697dcba539a0ac947cdf1f6d0b6314c065429eca8be2435859b10209d4c27. 2267 // 2268 // Solidity: event TransferBondChallenged(bytes32 indexed transferRootId, bytes32 indexed rootHash, uint256 originalAmount) 2269 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) FilterTransferBondChallenged(opts *bind.FilterOpts, transferRootId [][32]byte, rootHash [][32]byte) (*HopL1Erc20BridgeTransferBondChallengedIterator, error) { 2270 2271 var transferRootIdRule []interface{} 2272 for _, transferRootIdItem := range transferRootId { 2273 transferRootIdRule = append(transferRootIdRule, transferRootIdItem) 2274 } 2275 var rootHashRule []interface{} 2276 for _, rootHashItem := range rootHash { 2277 rootHashRule = append(rootHashRule, rootHashItem) 2278 } 2279 2280 logs, sub, err := _HopL1Erc20Bridge.contract.FilterLogs(opts, "TransferBondChallenged", transferRootIdRule, rootHashRule) 2281 if err != nil { 2282 return nil, err 2283 } 2284 return &HopL1Erc20BridgeTransferBondChallengedIterator{contract: _HopL1Erc20Bridge.contract, event: "TransferBondChallenged", logs: logs, sub: sub}, nil 2285 } 2286 2287 // WatchTransferBondChallenged is a free log subscription operation binding the contract event 0xec2697dcba539a0ac947cdf1f6d0b6314c065429eca8be2435859b10209d4c27. 2288 // 2289 // Solidity: event TransferBondChallenged(bytes32 indexed transferRootId, bytes32 indexed rootHash, uint256 originalAmount) 2290 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) WatchTransferBondChallenged(opts *bind.WatchOpts, sink chan<- *HopL1Erc20BridgeTransferBondChallenged, transferRootId [][32]byte, rootHash [][32]byte) (event.Subscription, error) { 2291 2292 var transferRootIdRule []interface{} 2293 for _, transferRootIdItem := range transferRootId { 2294 transferRootIdRule = append(transferRootIdRule, transferRootIdItem) 2295 } 2296 var rootHashRule []interface{} 2297 for _, rootHashItem := range rootHash { 2298 rootHashRule = append(rootHashRule, rootHashItem) 2299 } 2300 2301 logs, sub, err := _HopL1Erc20Bridge.contract.WatchLogs(opts, "TransferBondChallenged", transferRootIdRule, rootHashRule) 2302 if err != nil { 2303 return nil, err 2304 } 2305 return event.NewSubscription(func(quit <-chan struct{}) error { 2306 defer sub.Unsubscribe() 2307 for { 2308 select { 2309 case log := <-logs: 2310 // New log arrived, parse the event and forward to the user 2311 event := new(HopL1Erc20BridgeTransferBondChallenged) 2312 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "TransferBondChallenged", log); err != nil { 2313 return err 2314 } 2315 event.Raw = log 2316 2317 select { 2318 case sink <- event: 2319 case err := <-sub.Err(): 2320 return err 2321 case <-quit: 2322 return nil 2323 } 2324 case err := <-sub.Err(): 2325 return err 2326 case <-quit: 2327 return nil 2328 } 2329 } 2330 }), nil 2331 } 2332 2333 // ParseTransferBondChallenged is a log parse operation binding the contract event 0xec2697dcba539a0ac947cdf1f6d0b6314c065429eca8be2435859b10209d4c27. 2334 // 2335 // Solidity: event TransferBondChallenged(bytes32 indexed transferRootId, bytes32 indexed rootHash, uint256 originalAmount) 2336 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) ParseTransferBondChallenged(log types.Log) (*HopL1Erc20BridgeTransferBondChallenged, error) { 2337 event := new(HopL1Erc20BridgeTransferBondChallenged) 2338 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "TransferBondChallenged", log); err != nil { 2339 return nil, err 2340 } 2341 event.Raw = log 2342 return event, nil 2343 } 2344 2345 // HopL1Erc20BridgeTransferRootBondedIterator is returned from FilterTransferRootBonded and is used to iterate over the raw logs and unpacked data for TransferRootBonded events raised by the HopL1Erc20Bridge contract. 2346 type HopL1Erc20BridgeTransferRootBondedIterator struct { 2347 Event *HopL1Erc20BridgeTransferRootBonded // Event containing the contract specifics and raw log 2348 2349 contract *bind.BoundContract // Generic contract to use for unpacking event data 2350 event string // Event name to use for unpacking event data 2351 2352 logs chan types.Log // Log channel receiving the found contract events 2353 sub ethereum.Subscription // Subscription for errors, completion and termination 2354 done bool // Whether the subscription completed delivering logs 2355 fail error // Occurred error to stop iteration 2356 } 2357 2358 // Next advances the iterator to the subsequent event, returning whether there 2359 // are any more events found. In case of a retrieval or parsing error, false is 2360 // returned and Error() can be queried for the exact failure. 2361 func (it *HopL1Erc20BridgeTransferRootBondedIterator) Next() bool { 2362 // If the iterator failed, stop iterating 2363 if it.fail != nil { 2364 return false 2365 } 2366 // If the iterator completed, deliver directly whatever's available 2367 if it.done { 2368 select { 2369 case log := <-it.logs: 2370 it.Event = new(HopL1Erc20BridgeTransferRootBonded) 2371 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2372 it.fail = err 2373 return false 2374 } 2375 it.Event.Raw = log 2376 return true 2377 2378 default: 2379 return false 2380 } 2381 } 2382 // Iterator still in progress, wait for either a data or an error event 2383 select { 2384 case log := <-it.logs: 2385 it.Event = new(HopL1Erc20BridgeTransferRootBonded) 2386 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2387 it.fail = err 2388 return false 2389 } 2390 it.Event.Raw = log 2391 return true 2392 2393 case err := <-it.sub.Err(): 2394 it.done = true 2395 it.fail = err 2396 return it.Next() 2397 } 2398 } 2399 2400 // Error returns any retrieval or parsing error occurred during filtering. 2401 func (it *HopL1Erc20BridgeTransferRootBondedIterator) Error() error { 2402 return it.fail 2403 } 2404 2405 // Close terminates the iteration process, releasing any pending underlying 2406 // resources. 2407 func (it *HopL1Erc20BridgeTransferRootBondedIterator) Close() error { 2408 it.sub.Unsubscribe() 2409 return nil 2410 } 2411 2412 // HopL1Erc20BridgeTransferRootBonded represents a TransferRootBonded event raised by the HopL1Erc20Bridge contract. 2413 type HopL1Erc20BridgeTransferRootBonded struct { 2414 Root [32]byte 2415 Amount *big.Int 2416 Raw types.Log // Blockchain specific contextual infos 2417 } 2418 2419 // FilterTransferRootBonded is a free log retrieval operation binding the contract event 0xa57b3e1f3af9eca02201028629700658608222c365064584cfe65d9630ef4f7b. 2420 // 2421 // Solidity: event TransferRootBonded(bytes32 indexed root, uint256 amount) 2422 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) FilterTransferRootBonded(opts *bind.FilterOpts, root [][32]byte) (*HopL1Erc20BridgeTransferRootBondedIterator, error) { 2423 2424 var rootRule []interface{} 2425 for _, rootItem := range root { 2426 rootRule = append(rootRule, rootItem) 2427 } 2428 2429 logs, sub, err := _HopL1Erc20Bridge.contract.FilterLogs(opts, "TransferRootBonded", rootRule) 2430 if err != nil { 2431 return nil, err 2432 } 2433 return &HopL1Erc20BridgeTransferRootBondedIterator{contract: _HopL1Erc20Bridge.contract, event: "TransferRootBonded", logs: logs, sub: sub}, nil 2434 } 2435 2436 // WatchTransferRootBonded is a free log subscription operation binding the contract event 0xa57b3e1f3af9eca02201028629700658608222c365064584cfe65d9630ef4f7b. 2437 // 2438 // Solidity: event TransferRootBonded(bytes32 indexed root, uint256 amount) 2439 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) WatchTransferRootBonded(opts *bind.WatchOpts, sink chan<- *HopL1Erc20BridgeTransferRootBonded, root [][32]byte) (event.Subscription, error) { 2440 2441 var rootRule []interface{} 2442 for _, rootItem := range root { 2443 rootRule = append(rootRule, rootItem) 2444 } 2445 2446 logs, sub, err := _HopL1Erc20Bridge.contract.WatchLogs(opts, "TransferRootBonded", rootRule) 2447 if err != nil { 2448 return nil, err 2449 } 2450 return event.NewSubscription(func(quit <-chan struct{}) error { 2451 defer sub.Unsubscribe() 2452 for { 2453 select { 2454 case log := <-logs: 2455 // New log arrived, parse the event and forward to the user 2456 event := new(HopL1Erc20BridgeTransferRootBonded) 2457 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "TransferRootBonded", log); err != nil { 2458 return err 2459 } 2460 event.Raw = log 2461 2462 select { 2463 case sink <- event: 2464 case err := <-sub.Err(): 2465 return err 2466 case <-quit: 2467 return nil 2468 } 2469 case err := <-sub.Err(): 2470 return err 2471 case <-quit: 2472 return nil 2473 } 2474 } 2475 }), nil 2476 } 2477 2478 // ParseTransferRootBonded is a log parse operation binding the contract event 0xa57b3e1f3af9eca02201028629700658608222c365064584cfe65d9630ef4f7b. 2479 // 2480 // Solidity: event TransferRootBonded(bytes32 indexed root, uint256 amount) 2481 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) ParseTransferRootBonded(log types.Log) (*HopL1Erc20BridgeTransferRootBonded, error) { 2482 event := new(HopL1Erc20BridgeTransferRootBonded) 2483 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "TransferRootBonded", log); err != nil { 2484 return nil, err 2485 } 2486 event.Raw = log 2487 return event, nil 2488 } 2489 2490 // HopL1Erc20BridgeTransferRootConfirmedIterator is returned from FilterTransferRootConfirmed and is used to iterate over the raw logs and unpacked data for TransferRootConfirmed events raised by the HopL1Erc20Bridge contract. 2491 type HopL1Erc20BridgeTransferRootConfirmedIterator struct { 2492 Event *HopL1Erc20BridgeTransferRootConfirmed // Event containing the contract specifics and raw log 2493 2494 contract *bind.BoundContract // Generic contract to use for unpacking event data 2495 event string // Event name to use for unpacking event data 2496 2497 logs chan types.Log // Log channel receiving the found contract events 2498 sub ethereum.Subscription // Subscription for errors, completion and termination 2499 done bool // Whether the subscription completed delivering logs 2500 fail error // Occurred error to stop iteration 2501 } 2502 2503 // Next advances the iterator to the subsequent event, returning whether there 2504 // are any more events found. In case of a retrieval or parsing error, false is 2505 // returned and Error() can be queried for the exact failure. 2506 func (it *HopL1Erc20BridgeTransferRootConfirmedIterator) Next() bool { 2507 // If the iterator failed, stop iterating 2508 if it.fail != nil { 2509 return false 2510 } 2511 // If the iterator completed, deliver directly whatever's available 2512 if it.done { 2513 select { 2514 case log := <-it.logs: 2515 it.Event = new(HopL1Erc20BridgeTransferRootConfirmed) 2516 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2517 it.fail = err 2518 return false 2519 } 2520 it.Event.Raw = log 2521 return true 2522 2523 default: 2524 return false 2525 } 2526 } 2527 // Iterator still in progress, wait for either a data or an error event 2528 select { 2529 case log := <-it.logs: 2530 it.Event = new(HopL1Erc20BridgeTransferRootConfirmed) 2531 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2532 it.fail = err 2533 return false 2534 } 2535 it.Event.Raw = log 2536 return true 2537 2538 case err := <-it.sub.Err(): 2539 it.done = true 2540 it.fail = err 2541 return it.Next() 2542 } 2543 } 2544 2545 // Error returns any retrieval or parsing error occurred during filtering. 2546 func (it *HopL1Erc20BridgeTransferRootConfirmedIterator) Error() error { 2547 return it.fail 2548 } 2549 2550 // Close terminates the iteration process, releasing any pending underlying 2551 // resources. 2552 func (it *HopL1Erc20BridgeTransferRootConfirmedIterator) Close() error { 2553 it.sub.Unsubscribe() 2554 return nil 2555 } 2556 2557 // HopL1Erc20BridgeTransferRootConfirmed represents a TransferRootConfirmed event raised by the HopL1Erc20Bridge contract. 2558 type HopL1Erc20BridgeTransferRootConfirmed struct { 2559 OriginChainId *big.Int 2560 DestinationChainId *big.Int 2561 RootHash [32]byte 2562 TotalAmount *big.Int 2563 Raw types.Log // Blockchain specific contextual infos 2564 } 2565 2566 // FilterTransferRootConfirmed is a free log retrieval operation binding the contract event 0xfdfb0eefa96935b8a8c0edf528e125dc6f3934fdbbfce31b38967e8ff413dccd. 2567 // 2568 // Solidity: event TransferRootConfirmed(uint256 indexed originChainId, uint256 indexed destinationChainId, bytes32 indexed rootHash, uint256 totalAmount) 2569 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) FilterTransferRootConfirmed(opts *bind.FilterOpts, originChainId []*big.Int, destinationChainId []*big.Int, rootHash [][32]byte) (*HopL1Erc20BridgeTransferRootConfirmedIterator, error) { 2570 2571 var originChainIdRule []interface{} 2572 for _, originChainIdItem := range originChainId { 2573 originChainIdRule = append(originChainIdRule, originChainIdItem) 2574 } 2575 var destinationChainIdRule []interface{} 2576 for _, destinationChainIdItem := range destinationChainId { 2577 destinationChainIdRule = append(destinationChainIdRule, destinationChainIdItem) 2578 } 2579 var rootHashRule []interface{} 2580 for _, rootHashItem := range rootHash { 2581 rootHashRule = append(rootHashRule, rootHashItem) 2582 } 2583 2584 logs, sub, err := _HopL1Erc20Bridge.contract.FilterLogs(opts, "TransferRootConfirmed", originChainIdRule, destinationChainIdRule, rootHashRule) 2585 if err != nil { 2586 return nil, err 2587 } 2588 return &HopL1Erc20BridgeTransferRootConfirmedIterator{contract: _HopL1Erc20Bridge.contract, event: "TransferRootConfirmed", logs: logs, sub: sub}, nil 2589 } 2590 2591 // WatchTransferRootConfirmed is a free log subscription operation binding the contract event 0xfdfb0eefa96935b8a8c0edf528e125dc6f3934fdbbfce31b38967e8ff413dccd. 2592 // 2593 // Solidity: event TransferRootConfirmed(uint256 indexed originChainId, uint256 indexed destinationChainId, bytes32 indexed rootHash, uint256 totalAmount) 2594 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) WatchTransferRootConfirmed(opts *bind.WatchOpts, sink chan<- *HopL1Erc20BridgeTransferRootConfirmed, originChainId []*big.Int, destinationChainId []*big.Int, rootHash [][32]byte) (event.Subscription, error) { 2595 2596 var originChainIdRule []interface{} 2597 for _, originChainIdItem := range originChainId { 2598 originChainIdRule = append(originChainIdRule, originChainIdItem) 2599 } 2600 var destinationChainIdRule []interface{} 2601 for _, destinationChainIdItem := range destinationChainId { 2602 destinationChainIdRule = append(destinationChainIdRule, destinationChainIdItem) 2603 } 2604 var rootHashRule []interface{} 2605 for _, rootHashItem := range rootHash { 2606 rootHashRule = append(rootHashRule, rootHashItem) 2607 } 2608 2609 logs, sub, err := _HopL1Erc20Bridge.contract.WatchLogs(opts, "TransferRootConfirmed", originChainIdRule, destinationChainIdRule, rootHashRule) 2610 if err != nil { 2611 return nil, err 2612 } 2613 return event.NewSubscription(func(quit <-chan struct{}) error { 2614 defer sub.Unsubscribe() 2615 for { 2616 select { 2617 case log := <-logs: 2618 // New log arrived, parse the event and forward to the user 2619 event := new(HopL1Erc20BridgeTransferRootConfirmed) 2620 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "TransferRootConfirmed", log); err != nil { 2621 return err 2622 } 2623 event.Raw = log 2624 2625 select { 2626 case sink <- event: 2627 case err := <-sub.Err(): 2628 return err 2629 case <-quit: 2630 return nil 2631 } 2632 case err := <-sub.Err(): 2633 return err 2634 case <-quit: 2635 return nil 2636 } 2637 } 2638 }), nil 2639 } 2640 2641 // ParseTransferRootConfirmed is a log parse operation binding the contract event 0xfdfb0eefa96935b8a8c0edf528e125dc6f3934fdbbfce31b38967e8ff413dccd. 2642 // 2643 // Solidity: event TransferRootConfirmed(uint256 indexed originChainId, uint256 indexed destinationChainId, bytes32 indexed rootHash, uint256 totalAmount) 2644 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) ParseTransferRootConfirmed(log types.Log) (*HopL1Erc20BridgeTransferRootConfirmed, error) { 2645 event := new(HopL1Erc20BridgeTransferRootConfirmed) 2646 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "TransferRootConfirmed", log); err != nil { 2647 return nil, err 2648 } 2649 event.Raw = log 2650 return event, nil 2651 } 2652 2653 // HopL1Erc20BridgeTransferRootSetIterator is returned from FilterTransferRootSet and is used to iterate over the raw logs and unpacked data for TransferRootSet events raised by the HopL1Erc20Bridge contract. 2654 type HopL1Erc20BridgeTransferRootSetIterator struct { 2655 Event *HopL1Erc20BridgeTransferRootSet // Event containing the contract specifics and raw log 2656 2657 contract *bind.BoundContract // Generic contract to use for unpacking event data 2658 event string // Event name to use for unpacking event data 2659 2660 logs chan types.Log // Log channel receiving the found contract events 2661 sub ethereum.Subscription // Subscription for errors, completion and termination 2662 done bool // Whether the subscription completed delivering logs 2663 fail error // Occurred error to stop iteration 2664 } 2665 2666 // Next advances the iterator to the subsequent event, returning whether there 2667 // are any more events found. In case of a retrieval or parsing error, false is 2668 // returned and Error() can be queried for the exact failure. 2669 func (it *HopL1Erc20BridgeTransferRootSetIterator) Next() bool { 2670 // If the iterator failed, stop iterating 2671 if it.fail != nil { 2672 return false 2673 } 2674 // If the iterator completed, deliver directly whatever's available 2675 if it.done { 2676 select { 2677 case log := <-it.logs: 2678 it.Event = new(HopL1Erc20BridgeTransferRootSet) 2679 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2680 it.fail = err 2681 return false 2682 } 2683 it.Event.Raw = log 2684 return true 2685 2686 default: 2687 return false 2688 } 2689 } 2690 // Iterator still in progress, wait for either a data or an error event 2691 select { 2692 case log := <-it.logs: 2693 it.Event = new(HopL1Erc20BridgeTransferRootSet) 2694 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2695 it.fail = err 2696 return false 2697 } 2698 it.Event.Raw = log 2699 return true 2700 2701 case err := <-it.sub.Err(): 2702 it.done = true 2703 it.fail = err 2704 return it.Next() 2705 } 2706 } 2707 2708 // Error returns any retrieval or parsing error occurred during filtering. 2709 func (it *HopL1Erc20BridgeTransferRootSetIterator) Error() error { 2710 return it.fail 2711 } 2712 2713 // Close terminates the iteration process, releasing any pending underlying 2714 // resources. 2715 func (it *HopL1Erc20BridgeTransferRootSetIterator) Close() error { 2716 it.sub.Unsubscribe() 2717 return nil 2718 } 2719 2720 // HopL1Erc20BridgeTransferRootSet represents a TransferRootSet event raised by the HopL1Erc20Bridge contract. 2721 type HopL1Erc20BridgeTransferRootSet struct { 2722 RootHash [32]byte 2723 TotalAmount *big.Int 2724 Raw types.Log // Blockchain specific contextual infos 2725 } 2726 2727 // FilterTransferRootSet is a free log retrieval operation binding the contract event 0xb33d2162aead99dab59e77a7a67ea025b776bf8ca8079e132afdf9b23e03bd42. 2728 // 2729 // Solidity: event TransferRootSet(bytes32 indexed rootHash, uint256 totalAmount) 2730 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) FilterTransferRootSet(opts *bind.FilterOpts, rootHash [][32]byte) (*HopL1Erc20BridgeTransferRootSetIterator, error) { 2731 2732 var rootHashRule []interface{} 2733 for _, rootHashItem := range rootHash { 2734 rootHashRule = append(rootHashRule, rootHashItem) 2735 } 2736 2737 logs, sub, err := _HopL1Erc20Bridge.contract.FilterLogs(opts, "TransferRootSet", rootHashRule) 2738 if err != nil { 2739 return nil, err 2740 } 2741 return &HopL1Erc20BridgeTransferRootSetIterator{contract: _HopL1Erc20Bridge.contract, event: "TransferRootSet", logs: logs, sub: sub}, nil 2742 } 2743 2744 // WatchTransferRootSet is a free log subscription operation binding the contract event 0xb33d2162aead99dab59e77a7a67ea025b776bf8ca8079e132afdf9b23e03bd42. 2745 // 2746 // Solidity: event TransferRootSet(bytes32 indexed rootHash, uint256 totalAmount) 2747 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) WatchTransferRootSet(opts *bind.WatchOpts, sink chan<- *HopL1Erc20BridgeTransferRootSet, rootHash [][32]byte) (event.Subscription, error) { 2748 2749 var rootHashRule []interface{} 2750 for _, rootHashItem := range rootHash { 2751 rootHashRule = append(rootHashRule, rootHashItem) 2752 } 2753 2754 logs, sub, err := _HopL1Erc20Bridge.contract.WatchLogs(opts, "TransferRootSet", rootHashRule) 2755 if err != nil { 2756 return nil, err 2757 } 2758 return event.NewSubscription(func(quit <-chan struct{}) error { 2759 defer sub.Unsubscribe() 2760 for { 2761 select { 2762 case log := <-logs: 2763 // New log arrived, parse the event and forward to the user 2764 event := new(HopL1Erc20BridgeTransferRootSet) 2765 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "TransferRootSet", log); err != nil { 2766 return err 2767 } 2768 event.Raw = log 2769 2770 select { 2771 case sink <- event: 2772 case err := <-sub.Err(): 2773 return err 2774 case <-quit: 2775 return nil 2776 } 2777 case err := <-sub.Err(): 2778 return err 2779 case <-quit: 2780 return nil 2781 } 2782 } 2783 }), nil 2784 } 2785 2786 // ParseTransferRootSet is a log parse operation binding the contract event 0xb33d2162aead99dab59e77a7a67ea025b776bf8ca8079e132afdf9b23e03bd42. 2787 // 2788 // Solidity: event TransferRootSet(bytes32 indexed rootHash, uint256 totalAmount) 2789 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) ParseTransferRootSet(log types.Log) (*HopL1Erc20BridgeTransferRootSet, error) { 2790 event := new(HopL1Erc20BridgeTransferRootSet) 2791 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "TransferRootSet", log); err != nil { 2792 return nil, err 2793 } 2794 event.Raw = log 2795 return event, nil 2796 } 2797 2798 // HopL1Erc20BridgeTransferSentToL2Iterator is returned from FilterTransferSentToL2 and is used to iterate over the raw logs and unpacked data for TransferSentToL2 events raised by the HopL1Erc20Bridge contract. 2799 type HopL1Erc20BridgeTransferSentToL2Iterator struct { 2800 Event *HopL1Erc20BridgeTransferSentToL2 // Event containing the contract specifics and raw log 2801 2802 contract *bind.BoundContract // Generic contract to use for unpacking event data 2803 event string // Event name to use for unpacking event data 2804 2805 logs chan types.Log // Log channel receiving the found contract events 2806 sub ethereum.Subscription // Subscription for errors, completion and termination 2807 done bool // Whether the subscription completed delivering logs 2808 fail error // Occurred error to stop iteration 2809 } 2810 2811 // Next advances the iterator to the subsequent event, returning whether there 2812 // are any more events found. In case of a retrieval or parsing error, false is 2813 // returned and Error() can be queried for the exact failure. 2814 func (it *HopL1Erc20BridgeTransferSentToL2Iterator) Next() bool { 2815 // If the iterator failed, stop iterating 2816 if it.fail != nil { 2817 return false 2818 } 2819 // If the iterator completed, deliver directly whatever's available 2820 if it.done { 2821 select { 2822 case log := <-it.logs: 2823 it.Event = new(HopL1Erc20BridgeTransferSentToL2) 2824 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2825 it.fail = err 2826 return false 2827 } 2828 it.Event.Raw = log 2829 return true 2830 2831 default: 2832 return false 2833 } 2834 } 2835 // Iterator still in progress, wait for either a data or an error event 2836 select { 2837 case log := <-it.logs: 2838 it.Event = new(HopL1Erc20BridgeTransferSentToL2) 2839 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2840 it.fail = err 2841 return false 2842 } 2843 it.Event.Raw = log 2844 return true 2845 2846 case err := <-it.sub.Err(): 2847 it.done = true 2848 it.fail = err 2849 return it.Next() 2850 } 2851 } 2852 2853 // Error returns any retrieval or parsing error occurred during filtering. 2854 func (it *HopL1Erc20BridgeTransferSentToL2Iterator) Error() error { 2855 return it.fail 2856 } 2857 2858 // Close terminates the iteration process, releasing any pending underlying 2859 // resources. 2860 func (it *HopL1Erc20BridgeTransferSentToL2Iterator) Close() error { 2861 it.sub.Unsubscribe() 2862 return nil 2863 } 2864 2865 // HopL1Erc20BridgeTransferSentToL2 represents a TransferSentToL2 event raised by the HopL1Erc20Bridge contract. 2866 type HopL1Erc20BridgeTransferSentToL2 struct { 2867 ChainId *big.Int 2868 Recipient common.Address 2869 Amount *big.Int 2870 AmountOutMin *big.Int 2871 Deadline *big.Int 2872 Relayer common.Address 2873 RelayerFee *big.Int 2874 Raw types.Log // Blockchain specific contextual infos 2875 } 2876 2877 // FilterTransferSentToL2 is a free log retrieval operation binding the contract event 0x0a0607688c86ec1775abcdbab7b33a3a35a6c9cde677c9be880150c231cc6b0b. 2878 // 2879 // Solidity: event TransferSentToL2(uint256 indexed chainId, address indexed recipient, uint256 amount, uint256 amountOutMin, uint256 deadline, address indexed relayer, uint256 relayerFee) 2880 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) FilterTransferSentToL2(opts *bind.FilterOpts, chainId []*big.Int, recipient []common.Address, relayer []common.Address) (*HopL1Erc20BridgeTransferSentToL2Iterator, error) { 2881 2882 var chainIdRule []interface{} 2883 for _, chainIdItem := range chainId { 2884 chainIdRule = append(chainIdRule, chainIdItem) 2885 } 2886 var recipientRule []interface{} 2887 for _, recipientItem := range recipient { 2888 recipientRule = append(recipientRule, recipientItem) 2889 } 2890 2891 var relayerRule []interface{} 2892 for _, relayerItem := range relayer { 2893 relayerRule = append(relayerRule, relayerItem) 2894 } 2895 2896 logs, sub, err := _HopL1Erc20Bridge.contract.FilterLogs(opts, "TransferSentToL2", chainIdRule, recipientRule, relayerRule) 2897 if err != nil { 2898 return nil, err 2899 } 2900 return &HopL1Erc20BridgeTransferSentToL2Iterator{contract: _HopL1Erc20Bridge.contract, event: "TransferSentToL2", logs: logs, sub: sub}, nil 2901 } 2902 2903 // WatchTransferSentToL2 is a free log subscription operation binding the contract event 0x0a0607688c86ec1775abcdbab7b33a3a35a6c9cde677c9be880150c231cc6b0b. 2904 // 2905 // Solidity: event TransferSentToL2(uint256 indexed chainId, address indexed recipient, uint256 amount, uint256 amountOutMin, uint256 deadline, address indexed relayer, uint256 relayerFee) 2906 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) WatchTransferSentToL2(opts *bind.WatchOpts, sink chan<- *HopL1Erc20BridgeTransferSentToL2, chainId []*big.Int, recipient []common.Address, relayer []common.Address) (event.Subscription, error) { 2907 2908 var chainIdRule []interface{} 2909 for _, chainIdItem := range chainId { 2910 chainIdRule = append(chainIdRule, chainIdItem) 2911 } 2912 var recipientRule []interface{} 2913 for _, recipientItem := range recipient { 2914 recipientRule = append(recipientRule, recipientItem) 2915 } 2916 2917 var relayerRule []interface{} 2918 for _, relayerItem := range relayer { 2919 relayerRule = append(relayerRule, relayerItem) 2920 } 2921 2922 logs, sub, err := _HopL1Erc20Bridge.contract.WatchLogs(opts, "TransferSentToL2", chainIdRule, recipientRule, relayerRule) 2923 if err != nil { 2924 return nil, err 2925 } 2926 return event.NewSubscription(func(quit <-chan struct{}) error { 2927 defer sub.Unsubscribe() 2928 for { 2929 select { 2930 case log := <-logs: 2931 // New log arrived, parse the event and forward to the user 2932 event := new(HopL1Erc20BridgeTransferSentToL2) 2933 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "TransferSentToL2", log); err != nil { 2934 return err 2935 } 2936 event.Raw = log 2937 2938 select { 2939 case sink <- event: 2940 case err := <-sub.Err(): 2941 return err 2942 case <-quit: 2943 return nil 2944 } 2945 case err := <-sub.Err(): 2946 return err 2947 case <-quit: 2948 return nil 2949 } 2950 } 2951 }), nil 2952 } 2953 2954 // ParseTransferSentToL2 is a log parse operation binding the contract event 0x0a0607688c86ec1775abcdbab7b33a3a35a6c9cde677c9be880150c231cc6b0b. 2955 // 2956 // Solidity: event TransferSentToL2(uint256 indexed chainId, address indexed recipient, uint256 amount, uint256 amountOutMin, uint256 deadline, address indexed relayer, uint256 relayerFee) 2957 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) ParseTransferSentToL2(log types.Log) (*HopL1Erc20BridgeTransferSentToL2, error) { 2958 event := new(HopL1Erc20BridgeTransferSentToL2) 2959 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "TransferSentToL2", log); err != nil { 2960 return nil, err 2961 } 2962 event.Raw = log 2963 return event, nil 2964 } 2965 2966 // HopL1Erc20BridgeUnstakeIterator is returned from FilterUnstake and is used to iterate over the raw logs and unpacked data for Unstake events raised by the HopL1Erc20Bridge contract. 2967 type HopL1Erc20BridgeUnstakeIterator struct { 2968 Event *HopL1Erc20BridgeUnstake // Event containing the contract specifics and raw log 2969 2970 contract *bind.BoundContract // Generic contract to use for unpacking event data 2971 event string // Event name to use for unpacking event data 2972 2973 logs chan types.Log // Log channel receiving the found contract events 2974 sub ethereum.Subscription // Subscription for errors, completion and termination 2975 done bool // Whether the subscription completed delivering logs 2976 fail error // Occurred error to stop iteration 2977 } 2978 2979 // Next advances the iterator to the subsequent event, returning whether there 2980 // are any more events found. In case of a retrieval or parsing error, false is 2981 // returned and Error() can be queried for the exact failure. 2982 func (it *HopL1Erc20BridgeUnstakeIterator) Next() bool { 2983 // If the iterator failed, stop iterating 2984 if it.fail != nil { 2985 return false 2986 } 2987 // If the iterator completed, deliver directly whatever's available 2988 if it.done { 2989 select { 2990 case log := <-it.logs: 2991 it.Event = new(HopL1Erc20BridgeUnstake) 2992 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2993 it.fail = err 2994 return false 2995 } 2996 it.Event.Raw = log 2997 return true 2998 2999 default: 3000 return false 3001 } 3002 } 3003 // Iterator still in progress, wait for either a data or an error event 3004 select { 3005 case log := <-it.logs: 3006 it.Event = new(HopL1Erc20BridgeUnstake) 3007 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3008 it.fail = err 3009 return false 3010 } 3011 it.Event.Raw = log 3012 return true 3013 3014 case err := <-it.sub.Err(): 3015 it.done = true 3016 it.fail = err 3017 return it.Next() 3018 } 3019 } 3020 3021 // Error returns any retrieval or parsing error occurred during filtering. 3022 func (it *HopL1Erc20BridgeUnstakeIterator) Error() error { 3023 return it.fail 3024 } 3025 3026 // Close terminates the iteration process, releasing any pending underlying 3027 // resources. 3028 func (it *HopL1Erc20BridgeUnstakeIterator) Close() error { 3029 it.sub.Unsubscribe() 3030 return nil 3031 } 3032 3033 // HopL1Erc20BridgeUnstake represents a Unstake event raised by the HopL1Erc20Bridge contract. 3034 type HopL1Erc20BridgeUnstake struct { 3035 Account common.Address 3036 Amount *big.Int 3037 Raw types.Log // Blockchain specific contextual infos 3038 } 3039 3040 // FilterUnstake is a free log retrieval operation binding the contract event 0x85082129d87b2fe11527cb1b3b7a520aeb5aa6913f88a3d8757fe40d1db02fdd. 3041 // 3042 // Solidity: event Unstake(address indexed account, uint256 amount) 3043 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) FilterUnstake(opts *bind.FilterOpts, account []common.Address) (*HopL1Erc20BridgeUnstakeIterator, error) { 3044 3045 var accountRule []interface{} 3046 for _, accountItem := range account { 3047 accountRule = append(accountRule, accountItem) 3048 } 3049 3050 logs, sub, err := _HopL1Erc20Bridge.contract.FilterLogs(opts, "Unstake", accountRule) 3051 if err != nil { 3052 return nil, err 3053 } 3054 return &HopL1Erc20BridgeUnstakeIterator{contract: _HopL1Erc20Bridge.contract, event: "Unstake", logs: logs, sub: sub}, nil 3055 } 3056 3057 // WatchUnstake is a free log subscription operation binding the contract event 0x85082129d87b2fe11527cb1b3b7a520aeb5aa6913f88a3d8757fe40d1db02fdd. 3058 // 3059 // Solidity: event Unstake(address indexed account, uint256 amount) 3060 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) WatchUnstake(opts *bind.WatchOpts, sink chan<- *HopL1Erc20BridgeUnstake, account []common.Address) (event.Subscription, error) { 3061 3062 var accountRule []interface{} 3063 for _, accountItem := range account { 3064 accountRule = append(accountRule, accountItem) 3065 } 3066 3067 logs, sub, err := _HopL1Erc20Bridge.contract.WatchLogs(opts, "Unstake", accountRule) 3068 if err != nil { 3069 return nil, err 3070 } 3071 return event.NewSubscription(func(quit <-chan struct{}) error { 3072 defer sub.Unsubscribe() 3073 for { 3074 select { 3075 case log := <-logs: 3076 // New log arrived, parse the event and forward to the user 3077 event := new(HopL1Erc20BridgeUnstake) 3078 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "Unstake", log); err != nil { 3079 return err 3080 } 3081 event.Raw = log 3082 3083 select { 3084 case sink <- event: 3085 case err := <-sub.Err(): 3086 return err 3087 case <-quit: 3088 return nil 3089 } 3090 case err := <-sub.Err(): 3091 return err 3092 case <-quit: 3093 return nil 3094 } 3095 } 3096 }), nil 3097 } 3098 3099 // ParseUnstake is a log parse operation binding the contract event 0x85082129d87b2fe11527cb1b3b7a520aeb5aa6913f88a3d8757fe40d1db02fdd. 3100 // 3101 // Solidity: event Unstake(address indexed account, uint256 amount) 3102 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) ParseUnstake(log types.Log) (*HopL1Erc20BridgeUnstake, error) { 3103 event := new(HopL1Erc20BridgeUnstake) 3104 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "Unstake", log); err != nil { 3105 return nil, err 3106 } 3107 event.Raw = log 3108 return event, nil 3109 } 3110 3111 // HopL1Erc20BridgeWithdrawalBondSettledIterator is returned from FilterWithdrawalBondSettled and is used to iterate over the raw logs and unpacked data for WithdrawalBondSettled events raised by the HopL1Erc20Bridge contract. 3112 type HopL1Erc20BridgeWithdrawalBondSettledIterator struct { 3113 Event *HopL1Erc20BridgeWithdrawalBondSettled // Event containing the contract specifics and raw log 3114 3115 contract *bind.BoundContract // Generic contract to use for unpacking event data 3116 event string // Event name to use for unpacking event data 3117 3118 logs chan types.Log // Log channel receiving the found contract events 3119 sub ethereum.Subscription // Subscription for errors, completion and termination 3120 done bool // Whether the subscription completed delivering logs 3121 fail error // Occurred error to stop iteration 3122 } 3123 3124 // Next advances the iterator to the subsequent event, returning whether there 3125 // are any more events found. In case of a retrieval or parsing error, false is 3126 // returned and Error() can be queried for the exact failure. 3127 func (it *HopL1Erc20BridgeWithdrawalBondSettledIterator) Next() bool { 3128 // If the iterator failed, stop iterating 3129 if it.fail != nil { 3130 return false 3131 } 3132 // If the iterator completed, deliver directly whatever's available 3133 if it.done { 3134 select { 3135 case log := <-it.logs: 3136 it.Event = new(HopL1Erc20BridgeWithdrawalBondSettled) 3137 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3138 it.fail = err 3139 return false 3140 } 3141 it.Event.Raw = log 3142 return true 3143 3144 default: 3145 return false 3146 } 3147 } 3148 // Iterator still in progress, wait for either a data or an error event 3149 select { 3150 case log := <-it.logs: 3151 it.Event = new(HopL1Erc20BridgeWithdrawalBondSettled) 3152 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3153 it.fail = err 3154 return false 3155 } 3156 it.Event.Raw = log 3157 return true 3158 3159 case err := <-it.sub.Err(): 3160 it.done = true 3161 it.fail = err 3162 return it.Next() 3163 } 3164 } 3165 3166 // Error returns any retrieval or parsing error occurred during filtering. 3167 func (it *HopL1Erc20BridgeWithdrawalBondSettledIterator) Error() error { 3168 return it.fail 3169 } 3170 3171 // Close terminates the iteration process, releasing any pending underlying 3172 // resources. 3173 func (it *HopL1Erc20BridgeWithdrawalBondSettledIterator) Close() error { 3174 it.sub.Unsubscribe() 3175 return nil 3176 } 3177 3178 // HopL1Erc20BridgeWithdrawalBondSettled represents a WithdrawalBondSettled event raised by the HopL1Erc20Bridge contract. 3179 type HopL1Erc20BridgeWithdrawalBondSettled struct { 3180 Bonder common.Address 3181 TransferId [32]byte 3182 RootHash [32]byte 3183 Raw types.Log // Blockchain specific contextual infos 3184 } 3185 3186 // FilterWithdrawalBondSettled is a free log retrieval operation binding the contract event 0x84eb21b24c31b27a3bc67dde4a598aad06db6e9415cd66544492b9616996143c. 3187 // 3188 // Solidity: event WithdrawalBondSettled(address indexed bonder, bytes32 indexed transferId, bytes32 indexed rootHash) 3189 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) FilterWithdrawalBondSettled(opts *bind.FilterOpts, bonder []common.Address, transferId [][32]byte, rootHash [][32]byte) (*HopL1Erc20BridgeWithdrawalBondSettledIterator, error) { 3190 3191 var bonderRule []interface{} 3192 for _, bonderItem := range bonder { 3193 bonderRule = append(bonderRule, bonderItem) 3194 } 3195 var transferIdRule []interface{} 3196 for _, transferIdItem := range transferId { 3197 transferIdRule = append(transferIdRule, transferIdItem) 3198 } 3199 var rootHashRule []interface{} 3200 for _, rootHashItem := range rootHash { 3201 rootHashRule = append(rootHashRule, rootHashItem) 3202 } 3203 3204 logs, sub, err := _HopL1Erc20Bridge.contract.FilterLogs(opts, "WithdrawalBondSettled", bonderRule, transferIdRule, rootHashRule) 3205 if err != nil { 3206 return nil, err 3207 } 3208 return &HopL1Erc20BridgeWithdrawalBondSettledIterator{contract: _HopL1Erc20Bridge.contract, event: "WithdrawalBondSettled", logs: logs, sub: sub}, nil 3209 } 3210 3211 // WatchWithdrawalBondSettled is a free log subscription operation binding the contract event 0x84eb21b24c31b27a3bc67dde4a598aad06db6e9415cd66544492b9616996143c. 3212 // 3213 // Solidity: event WithdrawalBondSettled(address indexed bonder, bytes32 indexed transferId, bytes32 indexed rootHash) 3214 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) WatchWithdrawalBondSettled(opts *bind.WatchOpts, sink chan<- *HopL1Erc20BridgeWithdrawalBondSettled, bonder []common.Address, transferId [][32]byte, rootHash [][32]byte) (event.Subscription, error) { 3215 3216 var bonderRule []interface{} 3217 for _, bonderItem := range bonder { 3218 bonderRule = append(bonderRule, bonderItem) 3219 } 3220 var transferIdRule []interface{} 3221 for _, transferIdItem := range transferId { 3222 transferIdRule = append(transferIdRule, transferIdItem) 3223 } 3224 var rootHashRule []interface{} 3225 for _, rootHashItem := range rootHash { 3226 rootHashRule = append(rootHashRule, rootHashItem) 3227 } 3228 3229 logs, sub, err := _HopL1Erc20Bridge.contract.WatchLogs(opts, "WithdrawalBondSettled", bonderRule, transferIdRule, rootHashRule) 3230 if err != nil { 3231 return nil, err 3232 } 3233 return event.NewSubscription(func(quit <-chan struct{}) error { 3234 defer sub.Unsubscribe() 3235 for { 3236 select { 3237 case log := <-logs: 3238 // New log arrived, parse the event and forward to the user 3239 event := new(HopL1Erc20BridgeWithdrawalBondSettled) 3240 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "WithdrawalBondSettled", log); err != nil { 3241 return err 3242 } 3243 event.Raw = log 3244 3245 select { 3246 case sink <- event: 3247 case err := <-sub.Err(): 3248 return err 3249 case <-quit: 3250 return nil 3251 } 3252 case err := <-sub.Err(): 3253 return err 3254 case <-quit: 3255 return nil 3256 } 3257 } 3258 }), nil 3259 } 3260 3261 // ParseWithdrawalBondSettled is a log parse operation binding the contract event 0x84eb21b24c31b27a3bc67dde4a598aad06db6e9415cd66544492b9616996143c. 3262 // 3263 // Solidity: event WithdrawalBondSettled(address indexed bonder, bytes32 indexed transferId, bytes32 indexed rootHash) 3264 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) ParseWithdrawalBondSettled(log types.Log) (*HopL1Erc20BridgeWithdrawalBondSettled, error) { 3265 event := new(HopL1Erc20BridgeWithdrawalBondSettled) 3266 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "WithdrawalBondSettled", log); err != nil { 3267 return nil, err 3268 } 3269 event.Raw = log 3270 return event, nil 3271 } 3272 3273 // HopL1Erc20BridgeWithdrawalBondedIterator is returned from FilterWithdrawalBonded and is used to iterate over the raw logs and unpacked data for WithdrawalBonded events raised by the HopL1Erc20Bridge contract. 3274 type HopL1Erc20BridgeWithdrawalBondedIterator struct { 3275 Event *HopL1Erc20BridgeWithdrawalBonded // Event containing the contract specifics and raw log 3276 3277 contract *bind.BoundContract // Generic contract to use for unpacking event data 3278 event string // Event name to use for unpacking event data 3279 3280 logs chan types.Log // Log channel receiving the found contract events 3281 sub ethereum.Subscription // Subscription for errors, completion and termination 3282 done bool // Whether the subscription completed delivering logs 3283 fail error // Occurred error to stop iteration 3284 } 3285 3286 // Next advances the iterator to the subsequent event, returning whether there 3287 // are any more events found. In case of a retrieval or parsing error, false is 3288 // returned and Error() can be queried for the exact failure. 3289 func (it *HopL1Erc20BridgeWithdrawalBondedIterator) Next() bool { 3290 // If the iterator failed, stop iterating 3291 if it.fail != nil { 3292 return false 3293 } 3294 // If the iterator completed, deliver directly whatever's available 3295 if it.done { 3296 select { 3297 case log := <-it.logs: 3298 it.Event = new(HopL1Erc20BridgeWithdrawalBonded) 3299 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3300 it.fail = err 3301 return false 3302 } 3303 it.Event.Raw = log 3304 return true 3305 3306 default: 3307 return false 3308 } 3309 } 3310 // Iterator still in progress, wait for either a data or an error event 3311 select { 3312 case log := <-it.logs: 3313 it.Event = new(HopL1Erc20BridgeWithdrawalBonded) 3314 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3315 it.fail = err 3316 return false 3317 } 3318 it.Event.Raw = log 3319 return true 3320 3321 case err := <-it.sub.Err(): 3322 it.done = true 3323 it.fail = err 3324 return it.Next() 3325 } 3326 } 3327 3328 // Error returns any retrieval or parsing error occurred during filtering. 3329 func (it *HopL1Erc20BridgeWithdrawalBondedIterator) Error() error { 3330 return it.fail 3331 } 3332 3333 // Close terminates the iteration process, releasing any pending underlying 3334 // resources. 3335 func (it *HopL1Erc20BridgeWithdrawalBondedIterator) Close() error { 3336 it.sub.Unsubscribe() 3337 return nil 3338 } 3339 3340 // HopL1Erc20BridgeWithdrawalBonded represents a WithdrawalBonded event raised by the HopL1Erc20Bridge contract. 3341 type HopL1Erc20BridgeWithdrawalBonded struct { 3342 TransferId [32]byte 3343 Amount *big.Int 3344 Raw types.Log // Blockchain specific contextual infos 3345 } 3346 3347 // FilterWithdrawalBonded is a free log retrieval operation binding the contract event 0x0c3d250c7831051e78aa6a56679e590374c7c424415ffe4aa474491def2fe705. 3348 // 3349 // Solidity: event WithdrawalBonded(bytes32 indexed transferId, uint256 amount) 3350 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) FilterWithdrawalBonded(opts *bind.FilterOpts, transferId [][32]byte) (*HopL1Erc20BridgeWithdrawalBondedIterator, error) { 3351 3352 var transferIdRule []interface{} 3353 for _, transferIdItem := range transferId { 3354 transferIdRule = append(transferIdRule, transferIdItem) 3355 } 3356 3357 logs, sub, err := _HopL1Erc20Bridge.contract.FilterLogs(opts, "WithdrawalBonded", transferIdRule) 3358 if err != nil { 3359 return nil, err 3360 } 3361 return &HopL1Erc20BridgeWithdrawalBondedIterator{contract: _HopL1Erc20Bridge.contract, event: "WithdrawalBonded", logs: logs, sub: sub}, nil 3362 } 3363 3364 // WatchWithdrawalBonded is a free log subscription operation binding the contract event 0x0c3d250c7831051e78aa6a56679e590374c7c424415ffe4aa474491def2fe705. 3365 // 3366 // Solidity: event WithdrawalBonded(bytes32 indexed transferId, uint256 amount) 3367 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) WatchWithdrawalBonded(opts *bind.WatchOpts, sink chan<- *HopL1Erc20BridgeWithdrawalBonded, transferId [][32]byte) (event.Subscription, error) { 3368 3369 var transferIdRule []interface{} 3370 for _, transferIdItem := range transferId { 3371 transferIdRule = append(transferIdRule, transferIdItem) 3372 } 3373 3374 logs, sub, err := _HopL1Erc20Bridge.contract.WatchLogs(opts, "WithdrawalBonded", transferIdRule) 3375 if err != nil { 3376 return nil, err 3377 } 3378 return event.NewSubscription(func(quit <-chan struct{}) error { 3379 defer sub.Unsubscribe() 3380 for { 3381 select { 3382 case log := <-logs: 3383 // New log arrived, parse the event and forward to the user 3384 event := new(HopL1Erc20BridgeWithdrawalBonded) 3385 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "WithdrawalBonded", log); err != nil { 3386 return err 3387 } 3388 event.Raw = log 3389 3390 select { 3391 case sink <- event: 3392 case err := <-sub.Err(): 3393 return err 3394 case <-quit: 3395 return nil 3396 } 3397 case err := <-sub.Err(): 3398 return err 3399 case <-quit: 3400 return nil 3401 } 3402 } 3403 }), nil 3404 } 3405 3406 // ParseWithdrawalBonded is a log parse operation binding the contract event 0x0c3d250c7831051e78aa6a56679e590374c7c424415ffe4aa474491def2fe705. 3407 // 3408 // Solidity: event WithdrawalBonded(bytes32 indexed transferId, uint256 amount) 3409 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) ParseWithdrawalBonded(log types.Log) (*HopL1Erc20BridgeWithdrawalBonded, error) { 3410 event := new(HopL1Erc20BridgeWithdrawalBonded) 3411 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "WithdrawalBonded", log); err != nil { 3412 return nil, err 3413 } 3414 event.Raw = log 3415 return event, nil 3416 } 3417 3418 // HopL1Erc20BridgeWithdrewIterator is returned from FilterWithdrew and is used to iterate over the raw logs and unpacked data for Withdrew events raised by the HopL1Erc20Bridge contract. 3419 type HopL1Erc20BridgeWithdrewIterator struct { 3420 Event *HopL1Erc20BridgeWithdrew // Event containing the contract specifics and raw log 3421 3422 contract *bind.BoundContract // Generic contract to use for unpacking event data 3423 event string // Event name to use for unpacking event data 3424 3425 logs chan types.Log // Log channel receiving the found contract events 3426 sub ethereum.Subscription // Subscription for errors, completion and termination 3427 done bool // Whether the subscription completed delivering logs 3428 fail error // Occurred error to stop iteration 3429 } 3430 3431 // Next advances the iterator to the subsequent event, returning whether there 3432 // are any more events found. In case of a retrieval or parsing error, false is 3433 // returned and Error() can be queried for the exact failure. 3434 func (it *HopL1Erc20BridgeWithdrewIterator) Next() bool { 3435 // If the iterator failed, stop iterating 3436 if it.fail != nil { 3437 return false 3438 } 3439 // If the iterator completed, deliver directly whatever's available 3440 if it.done { 3441 select { 3442 case log := <-it.logs: 3443 it.Event = new(HopL1Erc20BridgeWithdrew) 3444 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3445 it.fail = err 3446 return false 3447 } 3448 it.Event.Raw = log 3449 return true 3450 3451 default: 3452 return false 3453 } 3454 } 3455 // Iterator still in progress, wait for either a data or an error event 3456 select { 3457 case log := <-it.logs: 3458 it.Event = new(HopL1Erc20BridgeWithdrew) 3459 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3460 it.fail = err 3461 return false 3462 } 3463 it.Event.Raw = log 3464 return true 3465 3466 case err := <-it.sub.Err(): 3467 it.done = true 3468 it.fail = err 3469 return it.Next() 3470 } 3471 } 3472 3473 // Error returns any retrieval or parsing error occurred during filtering. 3474 func (it *HopL1Erc20BridgeWithdrewIterator) Error() error { 3475 return it.fail 3476 } 3477 3478 // Close terminates the iteration process, releasing any pending underlying 3479 // resources. 3480 func (it *HopL1Erc20BridgeWithdrewIterator) Close() error { 3481 it.sub.Unsubscribe() 3482 return nil 3483 } 3484 3485 // HopL1Erc20BridgeWithdrew represents a Withdrew event raised by the HopL1Erc20Bridge contract. 3486 type HopL1Erc20BridgeWithdrew struct { 3487 TransferId [32]byte 3488 Recipient common.Address 3489 Amount *big.Int 3490 TransferNonce [32]byte 3491 Raw types.Log // Blockchain specific contextual infos 3492 } 3493 3494 // FilterWithdrew is a free log retrieval operation binding the contract event 0x9475cdbde5fc71fe2ccd413c82878ee54d061b9f74f9e2e1a03ff1178821502c. 3495 // 3496 // Solidity: event Withdrew(bytes32 indexed transferId, address indexed recipient, uint256 amount, bytes32 transferNonce) 3497 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) FilterWithdrew(opts *bind.FilterOpts, transferId [][32]byte, recipient []common.Address) (*HopL1Erc20BridgeWithdrewIterator, error) { 3498 3499 var transferIdRule []interface{} 3500 for _, transferIdItem := range transferId { 3501 transferIdRule = append(transferIdRule, transferIdItem) 3502 } 3503 var recipientRule []interface{} 3504 for _, recipientItem := range recipient { 3505 recipientRule = append(recipientRule, recipientItem) 3506 } 3507 3508 logs, sub, err := _HopL1Erc20Bridge.contract.FilterLogs(opts, "Withdrew", transferIdRule, recipientRule) 3509 if err != nil { 3510 return nil, err 3511 } 3512 return &HopL1Erc20BridgeWithdrewIterator{contract: _HopL1Erc20Bridge.contract, event: "Withdrew", logs: logs, sub: sub}, nil 3513 } 3514 3515 // WatchWithdrew is a free log subscription operation binding the contract event 0x9475cdbde5fc71fe2ccd413c82878ee54d061b9f74f9e2e1a03ff1178821502c. 3516 // 3517 // Solidity: event Withdrew(bytes32 indexed transferId, address indexed recipient, uint256 amount, bytes32 transferNonce) 3518 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) WatchWithdrew(opts *bind.WatchOpts, sink chan<- *HopL1Erc20BridgeWithdrew, transferId [][32]byte, recipient []common.Address) (event.Subscription, error) { 3519 3520 var transferIdRule []interface{} 3521 for _, transferIdItem := range transferId { 3522 transferIdRule = append(transferIdRule, transferIdItem) 3523 } 3524 var recipientRule []interface{} 3525 for _, recipientItem := range recipient { 3526 recipientRule = append(recipientRule, recipientItem) 3527 } 3528 3529 logs, sub, err := _HopL1Erc20Bridge.contract.WatchLogs(opts, "Withdrew", transferIdRule, recipientRule) 3530 if err != nil { 3531 return nil, err 3532 } 3533 return event.NewSubscription(func(quit <-chan struct{}) error { 3534 defer sub.Unsubscribe() 3535 for { 3536 select { 3537 case log := <-logs: 3538 // New log arrived, parse the event and forward to the user 3539 event := new(HopL1Erc20BridgeWithdrew) 3540 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "Withdrew", log); err != nil { 3541 return err 3542 } 3543 event.Raw = log 3544 3545 select { 3546 case sink <- event: 3547 case err := <-sub.Err(): 3548 return err 3549 case <-quit: 3550 return nil 3551 } 3552 case err := <-sub.Err(): 3553 return err 3554 case <-quit: 3555 return nil 3556 } 3557 } 3558 }), nil 3559 } 3560 3561 // ParseWithdrew is a log parse operation binding the contract event 0x9475cdbde5fc71fe2ccd413c82878ee54d061b9f74f9e2e1a03ff1178821502c. 3562 // 3563 // Solidity: event Withdrew(bytes32 indexed transferId, address indexed recipient, uint256 amount, bytes32 transferNonce) 3564 func (_HopL1Erc20Bridge *HopL1Erc20BridgeFilterer) ParseWithdrew(log types.Log) (*HopL1Erc20BridgeWithdrew, error) { 3565 event := new(HopL1Erc20BridgeWithdrew) 3566 if err := _HopL1Erc20Bridge.contract.UnpackLog(event, "Withdrew", log); err != nil { 3567 return nil, err 3568 } 3569 event.Raw = log 3570 return event, nil 3571 }