You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1725 lines
93 KiB

  1. // Code generated - DO NOT EDIT.
  2. // This file is a generated binding and any manual changes will be lost.
  3. package WithdrawalDelayer
  4. import (
  5. "math/big"
  6. "strings"
  7. ethereum "github.com/ethereum/go-ethereum"
  8. "github.com/ethereum/go-ethereum/accounts/abi"
  9. "github.com/ethereum/go-ethereum/accounts/abi/bind"
  10. "github.com/ethereum/go-ethereum/common"
  11. "github.com/ethereum/go-ethereum/core/types"
  12. "github.com/ethereum/go-ethereum/event"
  13. )
  14. // Reference imports to suppress errors if they are not otherwise used.
  15. var (
  16. _ = big.NewInt
  17. _ = strings.NewReader
  18. _ = ethereum.NotFound
  19. _ = bind.Bind
  20. _ = common.Big1
  21. _ = types.BloomLookup
  22. _ = event.NewSubscription
  23. )
  24. // WithdrawalDelayerABI is the input ABI used to generate the binding from.
  25. const WithdrawalDelayerABI = "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint192\",\"name\":\"amount\",\"type\":\"uint192\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"depositTimestamp\",\"type\":\"uint64\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EmergencyModeEnabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"EscapeHatchWithdrawal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newEmergencyCouncil\",\"type\":\"address\"}],\"name\":\"NewEmergencyCouncil\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newHermezGovernanceAddress\",\"type\":\"address\"}],\"name\":\"NewHermezGovernanceAddress\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"withdrawalDelay\",\"type\":\"uint64\"}],\"name\":\"NewWithdrawalDelay\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint192\",\"name\":\"amount\",\"type\":\"uint192\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"MAX_EMERGENCY_MODE_TIME\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_WITHDRAWAL_DELAY\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_newWithdrawalDelay\",\"type\":\"uint64\"}],\"name\":\"changeWithdrawalDelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimEmergencyCouncil\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimGovernance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint192\",\"name\":\"_amount\",\"type\":\"uint192\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"addresspayable\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"depositInfo\",\"outputs\":[{\"internalType\":\"uint192\",\"name\":\"\",\"type\":\"uint192\"},{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"deposits\",\"outputs\":[{\"internalType\":\"uint192\",\"name\":\"amount\",\"type\":\"uint192\"},{\"internalType\":\"uint64\",\"name\":\"depositTimestamp\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enableEmergencyMode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"escapeHatchWithdrawal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getEmergencyCouncil\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getEmergencyModeStartingTime\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getHermezGovernanceAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWithdrawalDelay\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hermezRollupAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isEmergencyMode\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingEmergencyCouncil\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingGovernance\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"addresspayable\",\"name\":\"newEmergencyCouncil\",\"type\":\"address\"}],\"name\":\"transferEmergencyCouncil\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newGovernance\",\"type\":\"address\"}],\"name\":\"transferGovernance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"addresspayable\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"withdrawal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_initialWithdrawalDelay\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"_initialHermezRollup\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_initialHermezGovernanceAddress\",\"type\":\"address\"},{\"internalType\":\"addresspayable\",\"name\":\"_initialEmergencyCouncil\",\"type\":\"address\"}],\"name\":\"withdrawalDelayerInitializer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]"
  26. // WithdrawalDelayerBin is the compiled bytecode used for deploying new contracts.
  27. var WithdrawalDelayerBin = "0x608060405234801561001057600080fd5b50611cf5806100206000396000f3fe6080604052600436106101355760003560e01c80637fd6b102116100ab578063ca79033f1161006f578063ca79033f146103ee578063cfc0b64114610403578063d38bfff414610443578063db2a1a8114610476578063de35f282146104a9578063f39c38a0146104e457610135565b80637fd6b1021461033b57806399ef11c51461037e578063a238f9df14610393578063b4b8e39d146103c4578063c5b1c7d0146103d957610135565b80633d4dff7b116100fd5780633d4dff7b1461021857806342cb72161461026d578063493b0170146102c15780635d36b190146102fc578063668cdd671461031157806367fa24031461032657610135565b8063031609401461013a5780630b21d430146101745780630e670af5146101a55780630fd266d7146101da57806320a194b8146101ef575b600080fd5b34801561014657600080fd5b5061014f6104f9565b604080516fffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561018057600080fd5b50610189610508565b604080516001600160a01b039092168252519081900360200190f35b3480156101b157600080fd5b506101d8600480360360208110156101c857600080fd5b50356001600160401b0316610517565b005b3480156101e657600080fd5b5061018961061b565b3480156101fb57600080fd5b5061020461062a565b604080519115158252519081900360200190f35b34801561022457600080fd5b506102426004803603602081101561023b57600080fd5b503561063a565b604080516001600160c01b0390931683526001600160401b0390911660208301528051918290030190f35b34801561027957600080fd5b506101d86004803603608081101561029057600080fd5b506001600160401b03813516906001600160a01b036020820135811691604081013582169160609091013516610667565b3480156102cd57600080fd5b50610242600480360360408110156102e457600080fd5b506001600160a01b0381358116916020013516610776565b34801561030857600080fd5b506101d8610807565b34801561031d57600080fd5b5061014f6108b1565b34801561033257600080fd5b506101896108c7565b34801561034757600080fd5b506101d86004803603606081101561035e57600080fd5b506001600160a01b038135811691602081013590911690604001356108d6565b34801561038a57600080fd5b50610189610af9565b34801561039f57600080fd5b506103a8610b08565b604080516001600160401b039092168252519081900360200190f35b3480156103d057600080fd5b506103a8610b0f565b3480156103e557600080fd5b506101d8610b16565b3480156103fa57600080fd5b506101d8610c12565b6101d86004803603606081101561041957600080fd5b5080356001600160a01b0390811691602081013590911690604001356001600160c01b0316610cbc565b34801561044f57600080fd5b506101d86004803603602081101561046657600080fd5b50356001600160a01b031661106e565b34801561048257600080fd5b506101d86004803603602081101561049957600080fd5b50356001600160a01b03166110d9565b3480156104b557600080fd5b506101d8600480360360408110156104cc57600080fd5b506001600160a01b0381358116916020013516611144565b3480156104f057600080fd5b5061018961139e565b6065546001600160401b031690565b6066546001600160a01b031690565b6066546001600160a01b031633148061053a5750606a546001600160a01b031633145b6105755760405162461bcd60e51b8152600401808060200182810382526043815260200180611a146043913960600191505060405180910390fd5b621275006001600160401b03821611156105c05760405162461bcd60e51b8152600401808060200182810382526046815260200180611bb76046913960600191505060405180910390fd5b6065805467ffffffffffffffff19166001600160401b03838116919091179182905560408051929091168252517f6b3670ab51e04a9da086741e5fd1eb36ffaf1d661a15330c528e1f3e0c8722d7916020908290030190a150565b606a546001600160a01b031681565b606954600160a01b900460ff1690565b606b602052600090815260409020546001600160c01b03811690600160c01b90046001600160401b031682565b600054610100900460ff168061068057506106806113ad565b8061068e575060005460ff16155b6106c95760405162461bcd60e51b815260040180806020018281038252602e815260200180611ac1602e913960400191505060405180910390fd5b600054610100900460ff161580156106f4576000805460ff1961ff0019909116610100171660011790555b6106fc6113b3565b6065805467ffffffffffffffff19166001600160401b038716179055606a80546001600160a01b03199081166001600160a01b0387811691909117909255606680548216868416179055606980549091169184169190911760ff60a01b19169055801561076f576000805461ff00191690555b5050505050565b6000806107816117b3565b505060408051606094851b6001600160601b03199081166020808401919091529490951b909416603485015280518085036028018152604885018083528151918501919091206000908152606b9094529281902060888501909152546001600160c01b03811692839052600160c01b90046001600160401b031660689093018390525091565b6067546001600160a01b031633146108505760405162461bcd60e51b815260040180806020018281038252603b8152602001806119a3603b913960400191505060405180910390fd5b60678054606680546001600160a01b038084166001600160a01b03199283161792839055921690925560408051929091168252517f3bf02437d5cd40067085d9dac2c3cdcbef0a449d98a259a40d9c24380aca81bf916020908290030190a1565b606554600160401b90046001600160401b031690565b6068546001600160a01b031681565b60335460ff1661092d576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6033805460ff19169055606954600160a01b900460ff1661097f5760405162461bcd60e51b81526004018080602001828103825260348152602001806118ca6034913960400191505060405180910390fd5b6069546001600160a01b03163314806109a257506066546001600160a01b031633145b6109dd5760405162461bcd60e51b8152600401808060200182810382526039815260200180611b206039913960400191505060405180910390fd5b6069546001600160a01b031633148015610a0857506066546069546001600160a01b03908116911614155b15610a6a576065546001600160401b03600160401b909104811662eff100018116429091161015610a6a5760405162461bcd60e51b815260040180806020018281038252604481526020018061192d6044913960600191505060405180910390fd5b6001600160a01b038216610a8757610a828382611462565b610a92565b610a928284836114f7565b816001600160a01b0316836001600160a01b0316336001600160a01b03167fde200220117ba95c9a6c4a1a13bb06b0b7be90faa85c8fb4576630119f891693846040518082815260200191505060405180910390a450506033805460ff1916600117905550565b6069546001600160a01b031690565b6212750081565b62eff10081565b6066546001600160a01b03163314610b5f5760405162461bcd60e51b8152600401808060200182810382526037815260200180611c326037913960400191505060405180910390fd5b606954600160a01b900460ff1615610ba85760405162461bcd60e51b81526004018080602001828103825260378152602001806118936037913960400191505060405180910390fd5b6069805460ff60a01b1916600160a01b179055606580546001600160401b034216600160401b026fffffffffffffffff0000000000000000199091161790556040517f2064d51aa5a8bd67928c7675e267e05c67ad5adf7c9098d0a602d01f36fda9c590600090a1565b6068546001600160a01b03163314610c5b5760405162461bcd60e51b81526004018080602001828103825260418152602001806117f36041913960600191505060405180910390fd5b60688054606980546001600160a01b038084166001600160a01b03199283161792839055921690925560408051929091168252517fcc267667d474ef34ee2de2d060e7c8b2c7295cefa22e57fd7049e22b5fdb5396916020908290030190a1565b60335460ff16610d13576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6033805460ff19169055606a546001600160a01b03163314610d665760405162461bcd60e51b8152600401808060200182810382526027815260200180611a9a6027913960400191505060405180910390fd5b3415610dfe576001600160a01b03821615610db25760405162461bcd60e51b815260040180806020018281038252602f8152602001806118fe602f913960400191505060405180910390fd5b34816001600160c01b031614610df95760405162461bcd60e51b81526004018080602001828103825260288152602001806117cb6028913960400191505060405180910390fd5b611051565b606a5460408051636eb1769f60e11b81526001600160a01b03928316600482015230602482015290516001600160c01b0384169285169163dd62ed3e916044808301926020929190829003018186803b158015610e5a57600080fd5b505afa158015610e6e573d6000803e3d6000fd5b505050506040513d6020811015610e8457600080fd5b50511015610ec35760405162461bcd60e51b8152600401808060200182810382526030815260200180611c696030913960400191505060405180910390fd5b60006060836001600160a01b031660405180606001604052806025815260200161186e602591398051602091820120606a54604080516001600160a01b0390921660248301523060448301526001600160c01b038816606480840191909152815180840390910181526084909201815292810180516001600160e01b03166001600160e01b031990931692909217825291518251909182918083835b60208310610f7e5780518252601f199092019160209182019101610f5f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610fe0576040519150601f19603f3d011682016040523d82523d6000602084013e610fe5565b606091505b5091509150818015611013575080511580611013575080806020019051602081101561101057600080fd5b50515b61104e5760405162461bcd60e51b8152600401808060200182810382526031815260200180611aef6031913960400191505060405180910390fd5b50505b61105c838383611674565b50506033805460ff1916600117905550565b6066546001600160a01b031633146110b75760405162461bcd60e51b81526004018080602001828103825260368152602001806119de6036913960400191505060405180910390fd5b606780546001600160a01b0319166001600160a01b0392909216919091179055565b6069546001600160a01b031633146111225760405162461bcd60e51b8152600401808060200182810382526043815260200180611a576043913960600191505060405180910390fd5b606880546001600160a01b0319166001600160a01b0392909216919091179055565b60335460ff1661119b576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6033805460ff19169055606954600160a01b900460ff16156111ee5760405162461bcd60e51b815260040180806020018281038252602a815260200180611b59602a913960400191505060405180910390fd5b60408051606084811b6001600160601b03199081166020808501919091529185901b16603483015282518083036028018152604890920183528151918101919091206000818152606b909252919020546001600160c01b0316806112835760405162461bcd60e51b8152600401808060200182810382526027815260200180611c996027913960400191505060405180910390fd5b6065546000838152606b60205260409020546001600160401b03918216600160c01b90910482160181164290911610156112ee5760405162461bcd60e51b8152600401808060200182810382526035815260200180611bfd6035913960400191505060405180910390fd5b6000828152606b60205260408120556001600160a01b0383166113235761131e84826001600160c01b0316611462565b611337565b6113378385836001600160c01b03166114f7565b836001600160a01b0316836001600160a01b03167f72608e45b52a95a12c2ac7f15ff53f92fc9572c9d84b6e6b5d7f0f7826cf32718360405180826001600160c01b0316815260200191505060405180910390a350506033805460ff191660011790555050565b6067546001600160a01b031681565b303b1590565b600054610100900460ff16806113cc57506113cc6113ad565b806113da575060005460ff16155b6114155760405162461bcd60e51b815260040180806020018281038252602e815260200180611ac1602e913960400191505060405180910390fd5b600054610100900460ff16158015611440576000805460ff1961ff0019909116610100171660011790555b6033805460ff19166001179055801561145f576000805461ff00191690555b50565b6040516000906001600160a01b0384169083908381818185875af1925050503d80600081146114ad576040519150601f19603f3d011682016040523d82523d6000602084013e6114b2565b606091505b50509050806114f25760405162461bcd60e51b81526004018080602001828103825260328152602001806119716032913960400191505060405180910390fd5b505050565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b1781529251815160009460609489169392918291908083835b602083106115a45780518252601f199092019160209182019101611585565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611606576040519150601f19603f3d011682016040523d82523d6000602084013e61160b565b606091505b5091509150818015611639575080511580611639575080806020019051602081101561163657600080fd5b50515b61076f5760405162461bcd60e51b815260040180806020018281038252603a815260200180611834603a913960400191505060405180910390fd5b60408051606085811b6001600160601b03199081166020808501919091529186901b16603483015282518083036028018152604890920183528151918101919091206000818152606b909252919020546001600160c01b0390811683810191821610156117125760405162461bcd60e51b8152600401808060200182810382526034815260200180611b836034913960400191505060405180910390fd5b6000828152606b602090815260409182902080546001600160401b03428116600160c01b9081026001600160c01b038089166001600160c01b03199095169490941784161793849055855192891683529092049091169181019190915281516001600160a01b0380881693908916927f41219b99485f78192a5b9b1be28c7d53c3a2bdbe7900ae40c79fae8d9d6108fd929081900390910190a35050505050565b60408051808201909152600080825260208201529056fe5769746864726177616c44656c617965723a3a6465706f7369743a2057524f4e475f414d4f554e545769746864726177616c44656c617965723a3a636c61696d456d657267656e6379436f756e63696c3a204f4e4c595f50454e44494e475f474f5645524e414e43455769746864726177616c44656c617965723a3a5f746f6b656e5769746864726177616c3a20544f4b454e5f5452414e534645525f4641494c45447472616e7366657246726f6d28616464726573732c616464726573732c75696e74323536295769746864726177616c44656c617965723a3a656e61626c65456d657267656e63794d6f64653a20414c52454144595f454e41424c45445769746864726177616c44656c617965723a3a65736361706548617463685769746864726177616c3a204f4e4c595f454d4f44455769746864726177616c44656c617965723a3a6465706f7369743a2057524f4e475f544f4b454e5f414444524553535769746864726177616c44656c617965723a3a65736361706548617463685769746864726177616c3a204e4f5f4d41585f454d455247454e43595f4d4f44455f54494d455769746864726177616c44656c617965723a3a5f6574685769746864726177616c3a205452414e534645525f4641494c45445769746864726177616c44656c617965723a3a636c61696d476f7665726e616e63653a204f4e4c595f50454e44494e475f474f5645524e414e43455769746864726177616c44656c617965723a3a7472616e73666572476f7665726e616e63653a204f4e4c595f474f5645524e414e43455769746864726177616c44656c617965723a3a6368616e67655769746864726177616c44656c61793a204f4e4c595f524f4c4c55505f4f525f474f5645524e414e43455769746864726177616c44656c617965723a3a7472616e73666572456d657267656e6379436f756e63696c3a204f4e4c595f454d455247454e43595f434f554e43494c5769746864726177616c44656c617965723a3a6465706f7369743a204f4e4c595f524f4c4c5550436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65645769746864726177616c44656c617965723a3a6465706f7369743a20544f4b454e5f5452414e534645525f4641494c45445769746864726177616c44656c617965723a3a65736361706548617463685769746864726177616c3a204f4e4c595f474f5645524e414e43455769746864726177616c44656c617965723a3a6465706f7369743a20454d455247454e43595f4d4f44455769746864726177616c44656c617965723a3a5f70726f636573734465706f7369743a204445504f5349545f4f564552464c4f575769746864726177616c44656c617965723a3a6368616e67655769746864726177616c44656c61793a20455843454544535f4d41585f5749544844524157414c5f44454c41595769746864726177616c44656c617965723a3a7769746864726177616c3a205749544844524157414c5f4e4f545f414c4c4f5745445769746864726177616c44656c617965723a3a656e61626c65456d657267656e63794d6f64653a204f4e4c595f474f5645524e414e43455769746864726177616c44656c617965723a3a6465706f7369743a204e4f545f454e4f5547485f414c4c4f57414e43455769746864726177616c44656c617965723a3a7769746864726177616c3a204e4f5f46554e4453a2646970667358221220e5a3370e58aedbb9299b84dab9f46ede78dea7760c7d54540ca28b4126cc4f0b64736f6c634300060c0033"
  28. // DeployWithdrawalDelayer deploys a new Ethereum contract, binding an instance of WithdrawalDelayer to it.
  29. func DeployWithdrawalDelayer(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *WithdrawalDelayer, error) {
  30. parsed, err := abi.JSON(strings.NewReader(WithdrawalDelayerABI))
  31. if err != nil {
  32. return common.Address{}, nil, nil, err
  33. }
  34. address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(WithdrawalDelayerBin), backend)
  35. if err != nil {
  36. return common.Address{}, nil, nil, err
  37. }
  38. return address, tx, &WithdrawalDelayer{WithdrawalDelayerCaller: WithdrawalDelayerCaller{contract: contract}, WithdrawalDelayerTransactor: WithdrawalDelayerTransactor{contract: contract}, WithdrawalDelayerFilterer: WithdrawalDelayerFilterer{contract: contract}}, nil
  39. }
  40. // WithdrawalDelayer is an auto generated Go binding around an Ethereum contract.
  41. type WithdrawalDelayer struct {
  42. WithdrawalDelayerCaller // Read-only binding to the contract
  43. WithdrawalDelayerTransactor // Write-only binding to the contract
  44. WithdrawalDelayerFilterer // Log filterer for contract events
  45. }
  46. // WithdrawalDelayerCaller is an auto generated read-only Go binding around an Ethereum contract.
  47. type WithdrawalDelayerCaller struct {
  48. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  49. }
  50. // WithdrawalDelayerTransactor is an auto generated write-only Go binding around an Ethereum contract.
  51. type WithdrawalDelayerTransactor struct {
  52. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  53. }
  54. // WithdrawalDelayerFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  55. type WithdrawalDelayerFilterer struct {
  56. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  57. }
  58. // WithdrawalDelayerSession is an auto generated Go binding around an Ethereum contract,
  59. // with pre-set call and transact options.
  60. type WithdrawalDelayerSession struct {
  61. Contract *WithdrawalDelayer // Generic contract binding to set the session for
  62. CallOpts bind.CallOpts // Call options to use throughout this session
  63. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  64. }
  65. // WithdrawalDelayerCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  66. // with pre-set call options.
  67. type WithdrawalDelayerCallerSession struct {
  68. Contract *WithdrawalDelayerCaller // Generic contract caller binding to set the session for
  69. CallOpts bind.CallOpts // Call options to use throughout this session
  70. }
  71. // WithdrawalDelayerTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  72. // with pre-set transact options.
  73. type WithdrawalDelayerTransactorSession struct {
  74. Contract *WithdrawalDelayerTransactor // Generic contract transactor binding to set the session for
  75. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  76. }
  77. // WithdrawalDelayerRaw is an auto generated low-level Go binding around an Ethereum contract.
  78. type WithdrawalDelayerRaw struct {
  79. Contract *WithdrawalDelayer // Generic contract binding to access the raw methods on
  80. }
  81. // WithdrawalDelayerCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  82. type WithdrawalDelayerCallerRaw struct {
  83. Contract *WithdrawalDelayerCaller // Generic read-only contract binding to access the raw methods on
  84. }
  85. // WithdrawalDelayerTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  86. type WithdrawalDelayerTransactorRaw struct {
  87. Contract *WithdrawalDelayerTransactor // Generic write-only contract binding to access the raw methods on
  88. }
  89. // NewWithdrawalDelayer creates a new instance of WithdrawalDelayer, bound to a specific deployed contract.
  90. func NewWithdrawalDelayer(address common.Address, backend bind.ContractBackend) (*WithdrawalDelayer, error) {
  91. contract, err := bindWithdrawalDelayer(address, backend, backend, backend)
  92. if err != nil {
  93. return nil, err
  94. }
  95. return &WithdrawalDelayer{WithdrawalDelayerCaller: WithdrawalDelayerCaller{contract: contract}, WithdrawalDelayerTransactor: WithdrawalDelayerTransactor{contract: contract}, WithdrawalDelayerFilterer: WithdrawalDelayerFilterer{contract: contract}}, nil
  96. }
  97. // NewWithdrawalDelayerCaller creates a new read-only instance of WithdrawalDelayer, bound to a specific deployed contract.
  98. func NewWithdrawalDelayerCaller(address common.Address, caller bind.ContractCaller) (*WithdrawalDelayerCaller, error) {
  99. contract, err := bindWithdrawalDelayer(address, caller, nil, nil)
  100. if err != nil {
  101. return nil, err
  102. }
  103. return &WithdrawalDelayerCaller{contract: contract}, nil
  104. }
  105. // NewWithdrawalDelayerTransactor creates a new write-only instance of WithdrawalDelayer, bound to a specific deployed contract.
  106. func NewWithdrawalDelayerTransactor(address common.Address, transactor bind.ContractTransactor) (*WithdrawalDelayerTransactor, error) {
  107. contract, err := bindWithdrawalDelayer(address, nil, transactor, nil)
  108. if err != nil {
  109. return nil, err
  110. }
  111. return &WithdrawalDelayerTransactor{contract: contract}, nil
  112. }
  113. // NewWithdrawalDelayerFilterer creates a new log filterer instance of WithdrawalDelayer, bound to a specific deployed contract.
  114. func NewWithdrawalDelayerFilterer(address common.Address, filterer bind.ContractFilterer) (*WithdrawalDelayerFilterer, error) {
  115. contract, err := bindWithdrawalDelayer(address, nil, nil, filterer)
  116. if err != nil {
  117. return nil, err
  118. }
  119. return &WithdrawalDelayerFilterer{contract: contract}, nil
  120. }
  121. // bindWithdrawalDelayer binds a generic wrapper to an already deployed contract.
  122. func bindWithdrawalDelayer(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  123. parsed, err := abi.JSON(strings.NewReader(WithdrawalDelayerABI))
  124. if err != nil {
  125. return nil, err
  126. }
  127. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  128. }
  129. // Call invokes the (constant) contract method with params as input values and
  130. // sets the output to result. The result type might be a single field for simple
  131. // returns, a slice of interfaces for anonymous returns and a struct for named
  132. // returns.
  133. func (_WithdrawalDelayer *WithdrawalDelayerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
  134. return _WithdrawalDelayer.Contract.WithdrawalDelayerCaller.contract.Call(opts, result, method, params...)
  135. }
  136. // Transfer initiates a plain transaction to move funds to the contract, calling
  137. // its default method if one is available.
  138. func (_WithdrawalDelayer *WithdrawalDelayerRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  139. return _WithdrawalDelayer.Contract.WithdrawalDelayerTransactor.contract.Transfer(opts)
  140. }
  141. // Transact invokes the (paid) contract method with params as input values.
  142. func (_WithdrawalDelayer *WithdrawalDelayerRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  143. return _WithdrawalDelayer.Contract.WithdrawalDelayerTransactor.contract.Transact(opts, method, params...)
  144. }
  145. // Call invokes the (constant) contract method with params as input values and
  146. // sets the output to result. The result type might be a single field for simple
  147. // returns, a slice of interfaces for anonymous returns and a struct for named
  148. // returns.
  149. func (_WithdrawalDelayer *WithdrawalDelayerCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
  150. return _WithdrawalDelayer.Contract.contract.Call(opts, result, method, params...)
  151. }
  152. // Transfer initiates a plain transaction to move funds to the contract, calling
  153. // its default method if one is available.
  154. func (_WithdrawalDelayer *WithdrawalDelayerTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  155. return _WithdrawalDelayer.Contract.contract.Transfer(opts)
  156. }
  157. // Transact invokes the (paid) contract method with params as input values.
  158. func (_WithdrawalDelayer *WithdrawalDelayerTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  159. return _WithdrawalDelayer.Contract.contract.Transact(opts, method, params...)
  160. }
  161. // MAXEMERGENCYMODETIME is a free data retrieval call binding the contract method 0xb4b8e39d.
  162. //
  163. // Solidity: function MAX_EMERGENCY_MODE_TIME() view returns(uint64)
  164. func (_WithdrawalDelayer *WithdrawalDelayerCaller) MAXEMERGENCYMODETIME(opts *bind.CallOpts) (uint64, error) {
  165. var (
  166. ret0 = new(uint64)
  167. )
  168. out := ret0
  169. err := _WithdrawalDelayer.contract.Call(opts, out, "MAX_EMERGENCY_MODE_TIME")
  170. return *ret0, err
  171. }
  172. // MAXEMERGENCYMODETIME is a free data retrieval call binding the contract method 0xb4b8e39d.
  173. //
  174. // Solidity: function MAX_EMERGENCY_MODE_TIME() view returns(uint64)
  175. func (_WithdrawalDelayer *WithdrawalDelayerSession) MAXEMERGENCYMODETIME() (uint64, error) {
  176. return _WithdrawalDelayer.Contract.MAXEMERGENCYMODETIME(&_WithdrawalDelayer.CallOpts)
  177. }
  178. // MAXEMERGENCYMODETIME is a free data retrieval call binding the contract method 0xb4b8e39d.
  179. //
  180. // Solidity: function MAX_EMERGENCY_MODE_TIME() view returns(uint64)
  181. func (_WithdrawalDelayer *WithdrawalDelayerCallerSession) MAXEMERGENCYMODETIME() (uint64, error) {
  182. return _WithdrawalDelayer.Contract.MAXEMERGENCYMODETIME(&_WithdrawalDelayer.CallOpts)
  183. }
  184. // MAXWITHDRAWALDELAY is a free data retrieval call binding the contract method 0xa238f9df.
  185. //
  186. // Solidity: function MAX_WITHDRAWAL_DELAY() view returns(uint64)
  187. func (_WithdrawalDelayer *WithdrawalDelayerCaller) MAXWITHDRAWALDELAY(opts *bind.CallOpts) (uint64, error) {
  188. var (
  189. ret0 = new(uint64)
  190. )
  191. out := ret0
  192. err := _WithdrawalDelayer.contract.Call(opts, out, "MAX_WITHDRAWAL_DELAY")
  193. return *ret0, err
  194. }
  195. // MAXWITHDRAWALDELAY is a free data retrieval call binding the contract method 0xa238f9df.
  196. //
  197. // Solidity: function MAX_WITHDRAWAL_DELAY() view returns(uint64)
  198. func (_WithdrawalDelayer *WithdrawalDelayerSession) MAXWITHDRAWALDELAY() (uint64, error) {
  199. return _WithdrawalDelayer.Contract.MAXWITHDRAWALDELAY(&_WithdrawalDelayer.CallOpts)
  200. }
  201. // MAXWITHDRAWALDELAY is a free data retrieval call binding the contract method 0xa238f9df.
  202. //
  203. // Solidity: function MAX_WITHDRAWAL_DELAY() view returns(uint64)
  204. func (_WithdrawalDelayer *WithdrawalDelayerCallerSession) MAXWITHDRAWALDELAY() (uint64, error) {
  205. return _WithdrawalDelayer.Contract.MAXWITHDRAWALDELAY(&_WithdrawalDelayer.CallOpts)
  206. }
  207. // DepositInfo is a free data retrieval call binding the contract method 0x493b0170.
  208. //
  209. // Solidity: function depositInfo(address _owner, address _token) view returns(uint192, uint64)
  210. func (_WithdrawalDelayer *WithdrawalDelayerCaller) DepositInfo(opts *bind.CallOpts, _owner common.Address, _token common.Address) (*big.Int, uint64, error) {
  211. var (
  212. ret0 = new(*big.Int)
  213. ret1 = new(uint64)
  214. )
  215. out := &[]interface{}{
  216. ret0,
  217. ret1,
  218. }
  219. err := _WithdrawalDelayer.contract.Call(opts, out, "depositInfo", _owner, _token)
  220. return *ret0, *ret1, err
  221. }
  222. // DepositInfo is a free data retrieval call binding the contract method 0x493b0170.
  223. //
  224. // Solidity: function depositInfo(address _owner, address _token) view returns(uint192, uint64)
  225. func (_WithdrawalDelayer *WithdrawalDelayerSession) DepositInfo(_owner common.Address, _token common.Address) (*big.Int, uint64, error) {
  226. return _WithdrawalDelayer.Contract.DepositInfo(&_WithdrawalDelayer.CallOpts, _owner, _token)
  227. }
  228. // DepositInfo is a free data retrieval call binding the contract method 0x493b0170.
  229. //
  230. // Solidity: function depositInfo(address _owner, address _token) view returns(uint192, uint64)
  231. func (_WithdrawalDelayer *WithdrawalDelayerCallerSession) DepositInfo(_owner common.Address, _token common.Address) (*big.Int, uint64, error) {
  232. return _WithdrawalDelayer.Contract.DepositInfo(&_WithdrawalDelayer.CallOpts, _owner, _token)
  233. }
  234. // Deposits is a free data retrieval call binding the contract method 0x3d4dff7b.
  235. //
  236. // Solidity: function deposits(bytes32 ) view returns(uint192 amount, uint64 depositTimestamp)
  237. func (_WithdrawalDelayer *WithdrawalDelayerCaller) Deposits(opts *bind.CallOpts, arg0 [32]byte) (struct {
  238. Amount *big.Int
  239. DepositTimestamp uint64
  240. }, error) {
  241. ret := new(struct {
  242. Amount *big.Int
  243. DepositTimestamp uint64
  244. })
  245. out := ret
  246. err := _WithdrawalDelayer.contract.Call(opts, out, "deposits", arg0)
  247. return *ret, err
  248. }
  249. // Deposits is a free data retrieval call binding the contract method 0x3d4dff7b.
  250. //
  251. // Solidity: function deposits(bytes32 ) view returns(uint192 amount, uint64 depositTimestamp)
  252. func (_WithdrawalDelayer *WithdrawalDelayerSession) Deposits(arg0 [32]byte) (struct {
  253. Amount *big.Int
  254. DepositTimestamp uint64
  255. }, error) {
  256. return _WithdrawalDelayer.Contract.Deposits(&_WithdrawalDelayer.CallOpts, arg0)
  257. }
  258. // Deposits is a free data retrieval call binding the contract method 0x3d4dff7b.
  259. //
  260. // Solidity: function deposits(bytes32 ) view returns(uint192 amount, uint64 depositTimestamp)
  261. func (_WithdrawalDelayer *WithdrawalDelayerCallerSession) Deposits(arg0 [32]byte) (struct {
  262. Amount *big.Int
  263. DepositTimestamp uint64
  264. }, error) {
  265. return _WithdrawalDelayer.Contract.Deposits(&_WithdrawalDelayer.CallOpts, arg0)
  266. }
  267. // GetEmergencyCouncil is a free data retrieval call binding the contract method 0x99ef11c5.
  268. //
  269. // Solidity: function getEmergencyCouncil() view returns(address)
  270. func (_WithdrawalDelayer *WithdrawalDelayerCaller) GetEmergencyCouncil(opts *bind.CallOpts) (common.Address, error) {
  271. var (
  272. ret0 = new(common.Address)
  273. )
  274. out := ret0
  275. err := _WithdrawalDelayer.contract.Call(opts, out, "getEmergencyCouncil")
  276. return *ret0, err
  277. }
  278. // GetEmergencyCouncil is a free data retrieval call binding the contract method 0x99ef11c5.
  279. //
  280. // Solidity: function getEmergencyCouncil() view returns(address)
  281. func (_WithdrawalDelayer *WithdrawalDelayerSession) GetEmergencyCouncil() (common.Address, error) {
  282. return _WithdrawalDelayer.Contract.GetEmergencyCouncil(&_WithdrawalDelayer.CallOpts)
  283. }
  284. // GetEmergencyCouncil is a free data retrieval call binding the contract method 0x99ef11c5.
  285. //
  286. // Solidity: function getEmergencyCouncil() view returns(address)
  287. func (_WithdrawalDelayer *WithdrawalDelayerCallerSession) GetEmergencyCouncil() (common.Address, error) {
  288. return _WithdrawalDelayer.Contract.GetEmergencyCouncil(&_WithdrawalDelayer.CallOpts)
  289. }
  290. // GetEmergencyModeStartingTime is a free data retrieval call binding the contract method 0x668cdd67.
  291. //
  292. // Solidity: function getEmergencyModeStartingTime() view returns(uint128)
  293. func (_WithdrawalDelayer *WithdrawalDelayerCaller) GetEmergencyModeStartingTime(opts *bind.CallOpts) (*big.Int, error) {
  294. var (
  295. ret0 = new(*big.Int)
  296. )
  297. out := ret0
  298. err := _WithdrawalDelayer.contract.Call(opts, out, "getEmergencyModeStartingTime")
  299. return *ret0, err
  300. }
  301. // GetEmergencyModeStartingTime is a free data retrieval call binding the contract method 0x668cdd67.
  302. //
  303. // Solidity: function getEmergencyModeStartingTime() view returns(uint128)
  304. func (_WithdrawalDelayer *WithdrawalDelayerSession) GetEmergencyModeStartingTime() (*big.Int, error) {
  305. return _WithdrawalDelayer.Contract.GetEmergencyModeStartingTime(&_WithdrawalDelayer.CallOpts)
  306. }
  307. // GetEmergencyModeStartingTime is a free data retrieval call binding the contract method 0x668cdd67.
  308. //
  309. // Solidity: function getEmergencyModeStartingTime() view returns(uint128)
  310. func (_WithdrawalDelayer *WithdrawalDelayerCallerSession) GetEmergencyModeStartingTime() (*big.Int, error) {
  311. return _WithdrawalDelayer.Contract.GetEmergencyModeStartingTime(&_WithdrawalDelayer.CallOpts)
  312. }
  313. // GetHermezGovernanceAddress is a free data retrieval call binding the contract method 0x0b21d430.
  314. //
  315. // Solidity: function getHermezGovernanceAddress() view returns(address)
  316. func (_WithdrawalDelayer *WithdrawalDelayerCaller) GetHermezGovernanceAddress(opts *bind.CallOpts) (common.Address, error) {
  317. var (
  318. ret0 = new(common.Address)
  319. )
  320. out := ret0
  321. err := _WithdrawalDelayer.contract.Call(opts, out, "getHermezGovernanceAddress")
  322. return *ret0, err
  323. }
  324. // GetHermezGovernanceAddress is a free data retrieval call binding the contract method 0x0b21d430.
  325. //
  326. // Solidity: function getHermezGovernanceAddress() view returns(address)
  327. func (_WithdrawalDelayer *WithdrawalDelayerSession) GetHermezGovernanceAddress() (common.Address, error) {
  328. return _WithdrawalDelayer.Contract.GetHermezGovernanceAddress(&_WithdrawalDelayer.CallOpts)
  329. }
  330. // GetHermezGovernanceAddress is a free data retrieval call binding the contract method 0x0b21d430.
  331. //
  332. // Solidity: function getHermezGovernanceAddress() view returns(address)
  333. func (_WithdrawalDelayer *WithdrawalDelayerCallerSession) GetHermezGovernanceAddress() (common.Address, error) {
  334. return _WithdrawalDelayer.Contract.GetHermezGovernanceAddress(&_WithdrawalDelayer.CallOpts)
  335. }
  336. // GetWithdrawalDelay is a free data retrieval call binding the contract method 0x03160940.
  337. //
  338. // Solidity: function getWithdrawalDelay() view returns(uint128)
  339. func (_WithdrawalDelayer *WithdrawalDelayerCaller) GetWithdrawalDelay(opts *bind.CallOpts) (*big.Int, error) {
  340. var (
  341. ret0 = new(*big.Int)
  342. )
  343. out := ret0
  344. err := _WithdrawalDelayer.contract.Call(opts, out, "getWithdrawalDelay")
  345. return *ret0, err
  346. }
  347. // GetWithdrawalDelay is a free data retrieval call binding the contract method 0x03160940.
  348. //
  349. // Solidity: function getWithdrawalDelay() view returns(uint128)
  350. func (_WithdrawalDelayer *WithdrawalDelayerSession) GetWithdrawalDelay() (*big.Int, error) {
  351. return _WithdrawalDelayer.Contract.GetWithdrawalDelay(&_WithdrawalDelayer.CallOpts)
  352. }
  353. // GetWithdrawalDelay is a free data retrieval call binding the contract method 0x03160940.
  354. //
  355. // Solidity: function getWithdrawalDelay() view returns(uint128)
  356. func (_WithdrawalDelayer *WithdrawalDelayerCallerSession) GetWithdrawalDelay() (*big.Int, error) {
  357. return _WithdrawalDelayer.Contract.GetWithdrawalDelay(&_WithdrawalDelayer.CallOpts)
  358. }
  359. // HermezRollupAddress is a free data retrieval call binding the contract method 0x0fd266d7.
  360. //
  361. // Solidity: function hermezRollupAddress() view returns(address)
  362. func (_WithdrawalDelayer *WithdrawalDelayerCaller) HermezRollupAddress(opts *bind.CallOpts) (common.Address, error) {
  363. var (
  364. ret0 = new(common.Address)
  365. )
  366. out := ret0
  367. err := _WithdrawalDelayer.contract.Call(opts, out, "hermezRollupAddress")
  368. return *ret0, err
  369. }
  370. // HermezRollupAddress is a free data retrieval call binding the contract method 0x0fd266d7.
  371. //
  372. // Solidity: function hermezRollupAddress() view returns(address)
  373. func (_WithdrawalDelayer *WithdrawalDelayerSession) HermezRollupAddress() (common.Address, error) {
  374. return _WithdrawalDelayer.Contract.HermezRollupAddress(&_WithdrawalDelayer.CallOpts)
  375. }
  376. // HermezRollupAddress is a free data retrieval call binding the contract method 0x0fd266d7.
  377. //
  378. // Solidity: function hermezRollupAddress() view returns(address)
  379. func (_WithdrawalDelayer *WithdrawalDelayerCallerSession) HermezRollupAddress() (common.Address, error) {
  380. return _WithdrawalDelayer.Contract.HermezRollupAddress(&_WithdrawalDelayer.CallOpts)
  381. }
  382. // IsEmergencyMode is a free data retrieval call binding the contract method 0x20a194b8.
  383. //
  384. // Solidity: function isEmergencyMode() view returns(bool)
  385. func (_WithdrawalDelayer *WithdrawalDelayerCaller) IsEmergencyMode(opts *bind.CallOpts) (bool, error) {
  386. var (
  387. ret0 = new(bool)
  388. )
  389. out := ret0
  390. err := _WithdrawalDelayer.contract.Call(opts, out, "isEmergencyMode")
  391. return *ret0, err
  392. }
  393. // IsEmergencyMode is a free data retrieval call binding the contract method 0x20a194b8.
  394. //
  395. // Solidity: function isEmergencyMode() view returns(bool)
  396. func (_WithdrawalDelayer *WithdrawalDelayerSession) IsEmergencyMode() (bool, error) {
  397. return _WithdrawalDelayer.Contract.IsEmergencyMode(&_WithdrawalDelayer.CallOpts)
  398. }
  399. // IsEmergencyMode is a free data retrieval call binding the contract method 0x20a194b8.
  400. //
  401. // Solidity: function isEmergencyMode() view returns(bool)
  402. func (_WithdrawalDelayer *WithdrawalDelayerCallerSession) IsEmergencyMode() (bool, error) {
  403. return _WithdrawalDelayer.Contract.IsEmergencyMode(&_WithdrawalDelayer.CallOpts)
  404. }
  405. // PendingEmergencyCouncil is a free data retrieval call binding the contract method 0x67fa2403.
  406. //
  407. // Solidity: function pendingEmergencyCouncil() view returns(address)
  408. func (_WithdrawalDelayer *WithdrawalDelayerCaller) PendingEmergencyCouncil(opts *bind.CallOpts) (common.Address, error) {
  409. var (
  410. ret0 = new(common.Address)
  411. )
  412. out := ret0
  413. err := _WithdrawalDelayer.contract.Call(opts, out, "pendingEmergencyCouncil")
  414. return *ret0, err
  415. }
  416. // PendingEmergencyCouncil is a free data retrieval call binding the contract method 0x67fa2403.
  417. //
  418. // Solidity: function pendingEmergencyCouncil() view returns(address)
  419. func (_WithdrawalDelayer *WithdrawalDelayerSession) PendingEmergencyCouncil() (common.Address, error) {
  420. return _WithdrawalDelayer.Contract.PendingEmergencyCouncil(&_WithdrawalDelayer.CallOpts)
  421. }
  422. // PendingEmergencyCouncil is a free data retrieval call binding the contract method 0x67fa2403.
  423. //
  424. // Solidity: function pendingEmergencyCouncil() view returns(address)
  425. func (_WithdrawalDelayer *WithdrawalDelayerCallerSession) PendingEmergencyCouncil() (common.Address, error) {
  426. return _WithdrawalDelayer.Contract.PendingEmergencyCouncil(&_WithdrawalDelayer.CallOpts)
  427. }
  428. // PendingGovernance is a free data retrieval call binding the contract method 0xf39c38a0.
  429. //
  430. // Solidity: function pendingGovernance() view returns(address)
  431. func (_WithdrawalDelayer *WithdrawalDelayerCaller) PendingGovernance(opts *bind.CallOpts) (common.Address, error) {
  432. var (
  433. ret0 = new(common.Address)
  434. )
  435. out := ret0
  436. err := _WithdrawalDelayer.contract.Call(opts, out, "pendingGovernance")
  437. return *ret0, err
  438. }
  439. // PendingGovernance is a free data retrieval call binding the contract method 0xf39c38a0.
  440. //
  441. // Solidity: function pendingGovernance() view returns(address)
  442. func (_WithdrawalDelayer *WithdrawalDelayerSession) PendingGovernance() (common.Address, error) {
  443. return _WithdrawalDelayer.Contract.PendingGovernance(&_WithdrawalDelayer.CallOpts)
  444. }
  445. // PendingGovernance is a free data retrieval call binding the contract method 0xf39c38a0.
  446. //
  447. // Solidity: function pendingGovernance() view returns(address)
  448. func (_WithdrawalDelayer *WithdrawalDelayerCallerSession) PendingGovernance() (common.Address, error) {
  449. return _WithdrawalDelayer.Contract.PendingGovernance(&_WithdrawalDelayer.CallOpts)
  450. }
  451. // ChangeWithdrawalDelay is a paid mutator transaction binding the contract method 0x0e670af5.
  452. //
  453. // Solidity: function changeWithdrawalDelay(uint64 _newWithdrawalDelay) returns()
  454. func (_WithdrawalDelayer *WithdrawalDelayerTransactor) ChangeWithdrawalDelay(opts *bind.TransactOpts, _newWithdrawalDelay uint64) (*types.Transaction, error) {
  455. return _WithdrawalDelayer.contract.Transact(opts, "changeWithdrawalDelay", _newWithdrawalDelay)
  456. }
  457. // ChangeWithdrawalDelay is a paid mutator transaction binding the contract method 0x0e670af5.
  458. //
  459. // Solidity: function changeWithdrawalDelay(uint64 _newWithdrawalDelay) returns()
  460. func (_WithdrawalDelayer *WithdrawalDelayerSession) ChangeWithdrawalDelay(_newWithdrawalDelay uint64) (*types.Transaction, error) {
  461. return _WithdrawalDelayer.Contract.ChangeWithdrawalDelay(&_WithdrawalDelayer.TransactOpts, _newWithdrawalDelay)
  462. }
  463. // ChangeWithdrawalDelay is a paid mutator transaction binding the contract method 0x0e670af5.
  464. //
  465. // Solidity: function changeWithdrawalDelay(uint64 _newWithdrawalDelay) returns()
  466. func (_WithdrawalDelayer *WithdrawalDelayerTransactorSession) ChangeWithdrawalDelay(_newWithdrawalDelay uint64) (*types.Transaction, error) {
  467. return _WithdrawalDelayer.Contract.ChangeWithdrawalDelay(&_WithdrawalDelayer.TransactOpts, _newWithdrawalDelay)
  468. }
  469. // ClaimEmergencyCouncil is a paid mutator transaction binding the contract method 0xca79033f.
  470. //
  471. // Solidity: function claimEmergencyCouncil() returns()
  472. func (_WithdrawalDelayer *WithdrawalDelayerTransactor) ClaimEmergencyCouncil(opts *bind.TransactOpts) (*types.Transaction, error) {
  473. return _WithdrawalDelayer.contract.Transact(opts, "claimEmergencyCouncil")
  474. }
  475. // ClaimEmergencyCouncil is a paid mutator transaction binding the contract method 0xca79033f.
  476. //
  477. // Solidity: function claimEmergencyCouncil() returns()
  478. func (_WithdrawalDelayer *WithdrawalDelayerSession) ClaimEmergencyCouncil() (*types.Transaction, error) {
  479. return _WithdrawalDelayer.Contract.ClaimEmergencyCouncil(&_WithdrawalDelayer.TransactOpts)
  480. }
  481. // ClaimEmergencyCouncil is a paid mutator transaction binding the contract method 0xca79033f.
  482. //
  483. // Solidity: function claimEmergencyCouncil() returns()
  484. func (_WithdrawalDelayer *WithdrawalDelayerTransactorSession) ClaimEmergencyCouncil() (*types.Transaction, error) {
  485. return _WithdrawalDelayer.Contract.ClaimEmergencyCouncil(&_WithdrawalDelayer.TransactOpts)
  486. }
  487. // ClaimGovernance is a paid mutator transaction binding the contract method 0x5d36b190.
  488. //
  489. // Solidity: function claimGovernance() returns()
  490. func (_WithdrawalDelayer *WithdrawalDelayerTransactor) ClaimGovernance(opts *bind.TransactOpts) (*types.Transaction, error) {
  491. return _WithdrawalDelayer.contract.Transact(opts, "claimGovernance")
  492. }
  493. // ClaimGovernance is a paid mutator transaction binding the contract method 0x5d36b190.
  494. //
  495. // Solidity: function claimGovernance() returns()
  496. func (_WithdrawalDelayer *WithdrawalDelayerSession) ClaimGovernance() (*types.Transaction, error) {
  497. return _WithdrawalDelayer.Contract.ClaimGovernance(&_WithdrawalDelayer.TransactOpts)
  498. }
  499. // ClaimGovernance is a paid mutator transaction binding the contract method 0x5d36b190.
  500. //
  501. // Solidity: function claimGovernance() returns()
  502. func (_WithdrawalDelayer *WithdrawalDelayerTransactorSession) ClaimGovernance() (*types.Transaction, error) {
  503. return _WithdrawalDelayer.Contract.ClaimGovernance(&_WithdrawalDelayer.TransactOpts)
  504. }
  505. // Deposit is a paid mutator transaction binding the contract method 0xcfc0b641.
  506. //
  507. // Solidity: function deposit(address _owner, address _token, uint192 _amount) payable returns()
  508. func (_WithdrawalDelayer *WithdrawalDelayerTransactor) Deposit(opts *bind.TransactOpts, _owner common.Address, _token common.Address, _amount *big.Int) (*types.Transaction, error) {
  509. return _WithdrawalDelayer.contract.Transact(opts, "deposit", _owner, _token, _amount)
  510. }
  511. // Deposit is a paid mutator transaction binding the contract method 0xcfc0b641.
  512. //
  513. // Solidity: function deposit(address _owner, address _token, uint192 _amount) payable returns()
  514. func (_WithdrawalDelayer *WithdrawalDelayerSession) Deposit(_owner common.Address, _token common.Address, _amount *big.Int) (*types.Transaction, error) {
  515. return _WithdrawalDelayer.Contract.Deposit(&_WithdrawalDelayer.TransactOpts, _owner, _token, _amount)
  516. }
  517. // Deposit is a paid mutator transaction binding the contract method 0xcfc0b641.
  518. //
  519. // Solidity: function deposit(address _owner, address _token, uint192 _amount) payable returns()
  520. func (_WithdrawalDelayer *WithdrawalDelayerTransactorSession) Deposit(_owner common.Address, _token common.Address, _amount *big.Int) (*types.Transaction, error) {
  521. return _WithdrawalDelayer.Contract.Deposit(&_WithdrawalDelayer.TransactOpts, _owner, _token, _amount)
  522. }
  523. // EnableEmergencyMode is a paid mutator transaction binding the contract method 0xc5b1c7d0.
  524. //
  525. // Solidity: function enableEmergencyMode() returns()
  526. func (_WithdrawalDelayer *WithdrawalDelayerTransactor) EnableEmergencyMode(opts *bind.TransactOpts) (*types.Transaction, error) {
  527. return _WithdrawalDelayer.contract.Transact(opts, "enableEmergencyMode")
  528. }
  529. // EnableEmergencyMode is a paid mutator transaction binding the contract method 0xc5b1c7d0.
  530. //
  531. // Solidity: function enableEmergencyMode() returns()
  532. func (_WithdrawalDelayer *WithdrawalDelayerSession) EnableEmergencyMode() (*types.Transaction, error) {
  533. return _WithdrawalDelayer.Contract.EnableEmergencyMode(&_WithdrawalDelayer.TransactOpts)
  534. }
  535. // EnableEmergencyMode is a paid mutator transaction binding the contract method 0xc5b1c7d0.
  536. //
  537. // Solidity: function enableEmergencyMode() returns()
  538. func (_WithdrawalDelayer *WithdrawalDelayerTransactorSession) EnableEmergencyMode() (*types.Transaction, error) {
  539. return _WithdrawalDelayer.Contract.EnableEmergencyMode(&_WithdrawalDelayer.TransactOpts)
  540. }
  541. // EscapeHatchWithdrawal is a paid mutator transaction binding the contract method 0x7fd6b102.
  542. //
  543. // Solidity: function escapeHatchWithdrawal(address _to, address _token, uint256 _amount) returns()
  544. func (_WithdrawalDelayer *WithdrawalDelayerTransactor) EscapeHatchWithdrawal(opts *bind.TransactOpts, _to common.Address, _token common.Address, _amount *big.Int) (*types.Transaction, error) {
  545. return _WithdrawalDelayer.contract.Transact(opts, "escapeHatchWithdrawal", _to, _token, _amount)
  546. }
  547. // EscapeHatchWithdrawal is a paid mutator transaction binding the contract method 0x7fd6b102.
  548. //
  549. // Solidity: function escapeHatchWithdrawal(address _to, address _token, uint256 _amount) returns()
  550. func (_WithdrawalDelayer *WithdrawalDelayerSession) EscapeHatchWithdrawal(_to common.Address, _token common.Address, _amount *big.Int) (*types.Transaction, error) {
  551. return _WithdrawalDelayer.Contract.EscapeHatchWithdrawal(&_WithdrawalDelayer.TransactOpts, _to, _token, _amount)
  552. }
  553. // EscapeHatchWithdrawal is a paid mutator transaction binding the contract method 0x7fd6b102.
  554. //
  555. // Solidity: function escapeHatchWithdrawal(address _to, address _token, uint256 _amount) returns()
  556. func (_WithdrawalDelayer *WithdrawalDelayerTransactorSession) EscapeHatchWithdrawal(_to common.Address, _token common.Address, _amount *big.Int) (*types.Transaction, error) {
  557. return _WithdrawalDelayer.Contract.EscapeHatchWithdrawal(&_WithdrawalDelayer.TransactOpts, _to, _token, _amount)
  558. }
  559. // TransferEmergencyCouncil is a paid mutator transaction binding the contract method 0xdb2a1a81.
  560. //
  561. // Solidity: function transferEmergencyCouncil(address newEmergencyCouncil) returns()
  562. func (_WithdrawalDelayer *WithdrawalDelayerTransactor) TransferEmergencyCouncil(opts *bind.TransactOpts, newEmergencyCouncil common.Address) (*types.Transaction, error) {
  563. return _WithdrawalDelayer.contract.Transact(opts, "transferEmergencyCouncil", newEmergencyCouncil)
  564. }
  565. // TransferEmergencyCouncil is a paid mutator transaction binding the contract method 0xdb2a1a81.
  566. //
  567. // Solidity: function transferEmergencyCouncil(address newEmergencyCouncil) returns()
  568. func (_WithdrawalDelayer *WithdrawalDelayerSession) TransferEmergencyCouncil(newEmergencyCouncil common.Address) (*types.Transaction, error) {
  569. return _WithdrawalDelayer.Contract.TransferEmergencyCouncil(&_WithdrawalDelayer.TransactOpts, newEmergencyCouncil)
  570. }
  571. // TransferEmergencyCouncil is a paid mutator transaction binding the contract method 0xdb2a1a81.
  572. //
  573. // Solidity: function transferEmergencyCouncil(address newEmergencyCouncil) returns()
  574. func (_WithdrawalDelayer *WithdrawalDelayerTransactorSession) TransferEmergencyCouncil(newEmergencyCouncil common.Address) (*types.Transaction, error) {
  575. return _WithdrawalDelayer.Contract.TransferEmergencyCouncil(&_WithdrawalDelayer.TransactOpts, newEmergencyCouncil)
  576. }
  577. // TransferGovernance is a paid mutator transaction binding the contract method 0xd38bfff4.
  578. //
  579. // Solidity: function transferGovernance(address newGovernance) returns()
  580. func (_WithdrawalDelayer *WithdrawalDelayerTransactor) TransferGovernance(opts *bind.TransactOpts, newGovernance common.Address) (*types.Transaction, error) {
  581. return _WithdrawalDelayer.contract.Transact(opts, "transferGovernance", newGovernance)
  582. }
  583. // TransferGovernance is a paid mutator transaction binding the contract method 0xd38bfff4.
  584. //
  585. // Solidity: function transferGovernance(address newGovernance) returns()
  586. func (_WithdrawalDelayer *WithdrawalDelayerSession) TransferGovernance(newGovernance common.Address) (*types.Transaction, error) {
  587. return _WithdrawalDelayer.Contract.TransferGovernance(&_WithdrawalDelayer.TransactOpts, newGovernance)
  588. }
  589. // TransferGovernance is a paid mutator transaction binding the contract method 0xd38bfff4.
  590. //
  591. // Solidity: function transferGovernance(address newGovernance) returns()
  592. func (_WithdrawalDelayer *WithdrawalDelayerTransactorSession) TransferGovernance(newGovernance common.Address) (*types.Transaction, error) {
  593. return _WithdrawalDelayer.Contract.TransferGovernance(&_WithdrawalDelayer.TransactOpts, newGovernance)
  594. }
  595. // Withdrawal is a paid mutator transaction binding the contract method 0xde35f282.
  596. //
  597. // Solidity: function withdrawal(address _owner, address _token) returns()
  598. func (_WithdrawalDelayer *WithdrawalDelayerTransactor) Withdrawal(opts *bind.TransactOpts, _owner common.Address, _token common.Address) (*types.Transaction, error) {
  599. return _WithdrawalDelayer.contract.Transact(opts, "withdrawal", _owner, _token)
  600. }
  601. // Withdrawal is a paid mutator transaction binding the contract method 0xde35f282.
  602. //
  603. // Solidity: function withdrawal(address _owner, address _token) returns()
  604. func (_WithdrawalDelayer *WithdrawalDelayerSession) Withdrawal(_owner common.Address, _token common.Address) (*types.Transaction, error) {
  605. return _WithdrawalDelayer.Contract.Withdrawal(&_WithdrawalDelayer.TransactOpts, _owner, _token)
  606. }
  607. // Withdrawal is a paid mutator transaction binding the contract method 0xde35f282.
  608. //
  609. // Solidity: function withdrawal(address _owner, address _token) returns()
  610. func (_WithdrawalDelayer *WithdrawalDelayerTransactorSession) Withdrawal(_owner common.Address, _token common.Address) (*types.Transaction, error) {
  611. return _WithdrawalDelayer.Contract.Withdrawal(&_WithdrawalDelayer.TransactOpts, _owner, _token)
  612. }
  613. // WithdrawalDelayerInitializer is a paid mutator transaction binding the contract method 0x42cb7216.
  614. //
  615. // Solidity: function withdrawalDelayerInitializer(uint64 _initialWithdrawalDelay, address _initialHermezRollup, address _initialHermezGovernanceAddress, address _initialEmergencyCouncil) returns()
  616. func (_WithdrawalDelayer *WithdrawalDelayerTransactor) WithdrawalDelayerInitializer(opts *bind.TransactOpts, _initialWithdrawalDelay uint64, _initialHermezRollup common.Address, _initialHermezGovernanceAddress common.Address, _initialEmergencyCouncil common.Address) (*types.Transaction, error) {
  617. return _WithdrawalDelayer.contract.Transact(opts, "withdrawalDelayerInitializer", _initialWithdrawalDelay, _initialHermezRollup, _initialHermezGovernanceAddress, _initialEmergencyCouncil)
  618. }
  619. // WithdrawalDelayerInitializer is a paid mutator transaction binding the contract method 0x42cb7216.
  620. //
  621. // Solidity: function withdrawalDelayerInitializer(uint64 _initialWithdrawalDelay, address _initialHermezRollup, address _initialHermezGovernanceAddress, address _initialEmergencyCouncil) returns()
  622. func (_WithdrawalDelayer *WithdrawalDelayerSession) WithdrawalDelayerInitializer(_initialWithdrawalDelay uint64, _initialHermezRollup common.Address, _initialHermezGovernanceAddress common.Address, _initialEmergencyCouncil common.Address) (*types.Transaction, error) {
  623. return _WithdrawalDelayer.Contract.WithdrawalDelayerInitializer(&_WithdrawalDelayer.TransactOpts, _initialWithdrawalDelay, _initialHermezRollup, _initialHermezGovernanceAddress, _initialEmergencyCouncil)
  624. }
  625. // WithdrawalDelayerInitializer is a paid mutator transaction binding the contract method 0x42cb7216.
  626. //
  627. // Solidity: function withdrawalDelayerInitializer(uint64 _initialWithdrawalDelay, address _initialHermezRollup, address _initialHermezGovernanceAddress, address _initialEmergencyCouncil) returns()
  628. func (_WithdrawalDelayer *WithdrawalDelayerTransactorSession) WithdrawalDelayerInitializer(_initialWithdrawalDelay uint64, _initialHermezRollup common.Address, _initialHermezGovernanceAddress common.Address, _initialEmergencyCouncil common.Address) (*types.Transaction, error) {
  629. return _WithdrawalDelayer.Contract.WithdrawalDelayerInitializer(&_WithdrawalDelayer.TransactOpts, _initialWithdrawalDelay, _initialHermezRollup, _initialHermezGovernanceAddress, _initialEmergencyCouncil)
  630. }
  631. // WithdrawalDelayerDepositIterator is returned from FilterDeposit and is used to iterate over the raw logs and unpacked data for Deposit events raised by the WithdrawalDelayer contract.
  632. type WithdrawalDelayerDepositIterator struct {
  633. Event *WithdrawalDelayerDeposit // Event containing the contract specifics and raw log
  634. contract *bind.BoundContract // Generic contract to use for unpacking event data
  635. event string // Event name to use for unpacking event data
  636. logs chan types.Log // Log channel receiving the found contract events
  637. sub ethereum.Subscription // Subscription for errors, completion and termination
  638. done bool // Whether the subscription completed delivering logs
  639. fail error // Occurred error to stop iteration
  640. }
  641. // Next advances the iterator to the subsequent event, returning whether there
  642. // are any more events found. In case of a retrieval or parsing error, false is
  643. // returned and Error() can be queried for the exact failure.
  644. func (it *WithdrawalDelayerDepositIterator) Next() bool {
  645. // If the iterator failed, stop iterating
  646. if it.fail != nil {
  647. return false
  648. }
  649. // If the iterator completed, deliver directly whatever's available
  650. if it.done {
  651. select {
  652. case log := <-it.logs:
  653. it.Event = new(WithdrawalDelayerDeposit)
  654. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  655. it.fail = err
  656. return false
  657. }
  658. it.Event.Raw = log
  659. return true
  660. default:
  661. return false
  662. }
  663. }
  664. // Iterator still in progress, wait for either a data or an error event
  665. select {
  666. case log := <-it.logs:
  667. it.Event = new(WithdrawalDelayerDeposit)
  668. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  669. it.fail = err
  670. return false
  671. }
  672. it.Event.Raw = log
  673. return true
  674. case err := <-it.sub.Err():
  675. it.done = true
  676. it.fail = err
  677. return it.Next()
  678. }
  679. }
  680. // Error returns any retrieval or parsing error occurred during filtering.
  681. func (it *WithdrawalDelayerDepositIterator) Error() error {
  682. return it.fail
  683. }
  684. // Close terminates the iteration process, releasing any pending underlying
  685. // resources.
  686. func (it *WithdrawalDelayerDepositIterator) Close() error {
  687. it.sub.Unsubscribe()
  688. return nil
  689. }
  690. // WithdrawalDelayerDeposit represents a Deposit event raised by the WithdrawalDelayer contract.
  691. type WithdrawalDelayerDeposit struct {
  692. Owner common.Address
  693. Token common.Address
  694. Amount *big.Int
  695. DepositTimestamp uint64
  696. Raw types.Log // Blockchain specific contextual infos
  697. }
  698. // FilterDeposit is a free log retrieval operation binding the contract event 0x41219b99485f78192a5b9b1be28c7d53c3a2bdbe7900ae40c79fae8d9d6108fd.
  699. //
  700. // Solidity: event Deposit(address indexed owner, address indexed token, uint192 amount, uint64 depositTimestamp)
  701. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) FilterDeposit(opts *bind.FilterOpts, owner []common.Address, token []common.Address) (*WithdrawalDelayerDepositIterator, error) {
  702. var ownerRule []interface{}
  703. for _, ownerItem := range owner {
  704. ownerRule = append(ownerRule, ownerItem)
  705. }
  706. var tokenRule []interface{}
  707. for _, tokenItem := range token {
  708. tokenRule = append(tokenRule, tokenItem)
  709. }
  710. logs, sub, err := _WithdrawalDelayer.contract.FilterLogs(opts, "Deposit", ownerRule, tokenRule)
  711. if err != nil {
  712. return nil, err
  713. }
  714. return &WithdrawalDelayerDepositIterator{contract: _WithdrawalDelayer.contract, event: "Deposit", logs: logs, sub: sub}, nil
  715. }
  716. // WatchDeposit is a free log subscription operation binding the contract event 0x41219b99485f78192a5b9b1be28c7d53c3a2bdbe7900ae40c79fae8d9d6108fd.
  717. //
  718. // Solidity: event Deposit(address indexed owner, address indexed token, uint192 amount, uint64 depositTimestamp)
  719. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) WatchDeposit(opts *bind.WatchOpts, sink chan<- *WithdrawalDelayerDeposit, owner []common.Address, token []common.Address) (event.Subscription, error) {
  720. var ownerRule []interface{}
  721. for _, ownerItem := range owner {
  722. ownerRule = append(ownerRule, ownerItem)
  723. }
  724. var tokenRule []interface{}
  725. for _, tokenItem := range token {
  726. tokenRule = append(tokenRule, tokenItem)
  727. }
  728. logs, sub, err := _WithdrawalDelayer.contract.WatchLogs(opts, "Deposit", ownerRule, tokenRule)
  729. if err != nil {
  730. return nil, err
  731. }
  732. return event.NewSubscription(func(quit <-chan struct{}) error {
  733. defer sub.Unsubscribe()
  734. for {
  735. select {
  736. case log := <-logs:
  737. // New log arrived, parse the event and forward to the user
  738. event := new(WithdrawalDelayerDeposit)
  739. if err := _WithdrawalDelayer.contract.UnpackLog(event, "Deposit", log); err != nil {
  740. return err
  741. }
  742. event.Raw = log
  743. select {
  744. case sink <- event:
  745. case err := <-sub.Err():
  746. return err
  747. case <-quit:
  748. return nil
  749. }
  750. case err := <-sub.Err():
  751. return err
  752. case <-quit:
  753. return nil
  754. }
  755. }
  756. }), nil
  757. }
  758. // ParseDeposit is a log parse operation binding the contract event 0x41219b99485f78192a5b9b1be28c7d53c3a2bdbe7900ae40c79fae8d9d6108fd.
  759. //
  760. // Solidity: event Deposit(address indexed owner, address indexed token, uint192 amount, uint64 depositTimestamp)
  761. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) ParseDeposit(log types.Log) (*WithdrawalDelayerDeposit, error) {
  762. event := new(WithdrawalDelayerDeposit)
  763. if err := _WithdrawalDelayer.contract.UnpackLog(event, "Deposit", log); err != nil {
  764. return nil, err
  765. }
  766. return event, nil
  767. }
  768. // WithdrawalDelayerEmergencyModeEnabledIterator is returned from FilterEmergencyModeEnabled and is used to iterate over the raw logs and unpacked data for EmergencyModeEnabled events raised by the WithdrawalDelayer contract.
  769. type WithdrawalDelayerEmergencyModeEnabledIterator struct {
  770. Event *WithdrawalDelayerEmergencyModeEnabled // Event containing the contract specifics and raw log
  771. contract *bind.BoundContract // Generic contract to use for unpacking event data
  772. event string // Event name to use for unpacking event data
  773. logs chan types.Log // Log channel receiving the found contract events
  774. sub ethereum.Subscription // Subscription for errors, completion and termination
  775. done bool // Whether the subscription completed delivering logs
  776. fail error // Occurred error to stop iteration
  777. }
  778. // Next advances the iterator to the subsequent event, returning whether there
  779. // are any more events found. In case of a retrieval or parsing error, false is
  780. // returned and Error() can be queried for the exact failure.
  781. func (it *WithdrawalDelayerEmergencyModeEnabledIterator) Next() bool {
  782. // If the iterator failed, stop iterating
  783. if it.fail != nil {
  784. return false
  785. }
  786. // If the iterator completed, deliver directly whatever's available
  787. if it.done {
  788. select {
  789. case log := <-it.logs:
  790. it.Event = new(WithdrawalDelayerEmergencyModeEnabled)
  791. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  792. it.fail = err
  793. return false
  794. }
  795. it.Event.Raw = log
  796. return true
  797. default:
  798. return false
  799. }
  800. }
  801. // Iterator still in progress, wait for either a data or an error event
  802. select {
  803. case log := <-it.logs:
  804. it.Event = new(WithdrawalDelayerEmergencyModeEnabled)
  805. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  806. it.fail = err
  807. return false
  808. }
  809. it.Event.Raw = log
  810. return true
  811. case err := <-it.sub.Err():
  812. it.done = true
  813. it.fail = err
  814. return it.Next()
  815. }
  816. }
  817. // Error returns any retrieval or parsing error occurred during filtering.
  818. func (it *WithdrawalDelayerEmergencyModeEnabledIterator) Error() error {
  819. return it.fail
  820. }
  821. // Close terminates the iteration process, releasing any pending underlying
  822. // resources.
  823. func (it *WithdrawalDelayerEmergencyModeEnabledIterator) Close() error {
  824. it.sub.Unsubscribe()
  825. return nil
  826. }
  827. // WithdrawalDelayerEmergencyModeEnabled represents a EmergencyModeEnabled event raised by the WithdrawalDelayer contract.
  828. type WithdrawalDelayerEmergencyModeEnabled struct {
  829. Raw types.Log // Blockchain specific contextual infos
  830. }
  831. // FilterEmergencyModeEnabled is a free log retrieval operation binding the contract event 0x2064d51aa5a8bd67928c7675e267e05c67ad5adf7c9098d0a602d01f36fda9c5.
  832. //
  833. // Solidity: event EmergencyModeEnabled()
  834. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) FilterEmergencyModeEnabled(opts *bind.FilterOpts) (*WithdrawalDelayerEmergencyModeEnabledIterator, error) {
  835. logs, sub, err := _WithdrawalDelayer.contract.FilterLogs(opts, "EmergencyModeEnabled")
  836. if err != nil {
  837. return nil, err
  838. }
  839. return &WithdrawalDelayerEmergencyModeEnabledIterator{contract: _WithdrawalDelayer.contract, event: "EmergencyModeEnabled", logs: logs, sub: sub}, nil
  840. }
  841. // WatchEmergencyModeEnabled is a free log subscription operation binding the contract event 0x2064d51aa5a8bd67928c7675e267e05c67ad5adf7c9098d0a602d01f36fda9c5.
  842. //
  843. // Solidity: event EmergencyModeEnabled()
  844. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) WatchEmergencyModeEnabled(opts *bind.WatchOpts, sink chan<- *WithdrawalDelayerEmergencyModeEnabled) (event.Subscription, error) {
  845. logs, sub, err := _WithdrawalDelayer.contract.WatchLogs(opts, "EmergencyModeEnabled")
  846. if err != nil {
  847. return nil, err
  848. }
  849. return event.NewSubscription(func(quit <-chan struct{}) error {
  850. defer sub.Unsubscribe()
  851. for {
  852. select {
  853. case log := <-logs:
  854. // New log arrived, parse the event and forward to the user
  855. event := new(WithdrawalDelayerEmergencyModeEnabled)
  856. if err := _WithdrawalDelayer.contract.UnpackLog(event, "EmergencyModeEnabled", log); err != nil {
  857. return err
  858. }
  859. event.Raw = log
  860. select {
  861. case sink <- event:
  862. case err := <-sub.Err():
  863. return err
  864. case <-quit:
  865. return nil
  866. }
  867. case err := <-sub.Err():
  868. return err
  869. case <-quit:
  870. return nil
  871. }
  872. }
  873. }), nil
  874. }
  875. // ParseEmergencyModeEnabled is a log parse operation binding the contract event 0x2064d51aa5a8bd67928c7675e267e05c67ad5adf7c9098d0a602d01f36fda9c5.
  876. //
  877. // Solidity: event EmergencyModeEnabled()
  878. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) ParseEmergencyModeEnabled(log types.Log) (*WithdrawalDelayerEmergencyModeEnabled, error) {
  879. event := new(WithdrawalDelayerEmergencyModeEnabled)
  880. if err := _WithdrawalDelayer.contract.UnpackLog(event, "EmergencyModeEnabled", log); err != nil {
  881. return nil, err
  882. }
  883. return event, nil
  884. }
  885. // WithdrawalDelayerEscapeHatchWithdrawalIterator is returned from FilterEscapeHatchWithdrawal and is used to iterate over the raw logs and unpacked data for EscapeHatchWithdrawal events raised by the WithdrawalDelayer contract.
  886. type WithdrawalDelayerEscapeHatchWithdrawalIterator struct {
  887. Event *WithdrawalDelayerEscapeHatchWithdrawal // Event containing the contract specifics and raw log
  888. contract *bind.BoundContract // Generic contract to use for unpacking event data
  889. event string // Event name to use for unpacking event data
  890. logs chan types.Log // Log channel receiving the found contract events
  891. sub ethereum.Subscription // Subscription for errors, completion and termination
  892. done bool // Whether the subscription completed delivering logs
  893. fail error // Occurred error to stop iteration
  894. }
  895. // Next advances the iterator to the subsequent event, returning whether there
  896. // are any more events found. In case of a retrieval or parsing error, false is
  897. // returned and Error() can be queried for the exact failure.
  898. func (it *WithdrawalDelayerEscapeHatchWithdrawalIterator) Next() bool {
  899. // If the iterator failed, stop iterating
  900. if it.fail != nil {
  901. return false
  902. }
  903. // If the iterator completed, deliver directly whatever's available
  904. if it.done {
  905. select {
  906. case log := <-it.logs:
  907. it.Event = new(WithdrawalDelayerEscapeHatchWithdrawal)
  908. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  909. it.fail = err
  910. return false
  911. }
  912. it.Event.Raw = log
  913. return true
  914. default:
  915. return false
  916. }
  917. }
  918. // Iterator still in progress, wait for either a data or an error event
  919. select {
  920. case log := <-it.logs:
  921. it.Event = new(WithdrawalDelayerEscapeHatchWithdrawal)
  922. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  923. it.fail = err
  924. return false
  925. }
  926. it.Event.Raw = log
  927. return true
  928. case err := <-it.sub.Err():
  929. it.done = true
  930. it.fail = err
  931. return it.Next()
  932. }
  933. }
  934. // Error returns any retrieval or parsing error occurred during filtering.
  935. func (it *WithdrawalDelayerEscapeHatchWithdrawalIterator) Error() error {
  936. return it.fail
  937. }
  938. // Close terminates the iteration process, releasing any pending underlying
  939. // resources.
  940. func (it *WithdrawalDelayerEscapeHatchWithdrawalIterator) Close() error {
  941. it.sub.Unsubscribe()
  942. return nil
  943. }
  944. // WithdrawalDelayerEscapeHatchWithdrawal represents a EscapeHatchWithdrawal event raised by the WithdrawalDelayer contract.
  945. type WithdrawalDelayerEscapeHatchWithdrawal struct {
  946. Who common.Address
  947. To common.Address
  948. Token common.Address
  949. Amount *big.Int
  950. Raw types.Log // Blockchain specific contextual infos
  951. }
  952. // FilterEscapeHatchWithdrawal is a free log retrieval operation binding the contract event 0xde200220117ba95c9a6c4a1a13bb06b0b7be90faa85c8fb4576630119f891693.
  953. //
  954. // Solidity: event EscapeHatchWithdrawal(address indexed who, address indexed to, address indexed token, uint256 amount)
  955. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) FilterEscapeHatchWithdrawal(opts *bind.FilterOpts, who []common.Address, to []common.Address, token []common.Address) (*WithdrawalDelayerEscapeHatchWithdrawalIterator, error) {
  956. var whoRule []interface{}
  957. for _, whoItem := range who {
  958. whoRule = append(whoRule, whoItem)
  959. }
  960. var toRule []interface{}
  961. for _, toItem := range to {
  962. toRule = append(toRule, toItem)
  963. }
  964. var tokenRule []interface{}
  965. for _, tokenItem := range token {
  966. tokenRule = append(tokenRule, tokenItem)
  967. }
  968. logs, sub, err := _WithdrawalDelayer.contract.FilterLogs(opts, "EscapeHatchWithdrawal", whoRule, toRule, tokenRule)
  969. if err != nil {
  970. return nil, err
  971. }
  972. return &WithdrawalDelayerEscapeHatchWithdrawalIterator{contract: _WithdrawalDelayer.contract, event: "EscapeHatchWithdrawal", logs: logs, sub: sub}, nil
  973. }
  974. // WatchEscapeHatchWithdrawal is a free log subscription operation binding the contract event 0xde200220117ba95c9a6c4a1a13bb06b0b7be90faa85c8fb4576630119f891693.
  975. //
  976. // Solidity: event EscapeHatchWithdrawal(address indexed who, address indexed to, address indexed token, uint256 amount)
  977. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) WatchEscapeHatchWithdrawal(opts *bind.WatchOpts, sink chan<- *WithdrawalDelayerEscapeHatchWithdrawal, who []common.Address, to []common.Address, token []common.Address) (event.Subscription, error) {
  978. var whoRule []interface{}
  979. for _, whoItem := range who {
  980. whoRule = append(whoRule, whoItem)
  981. }
  982. var toRule []interface{}
  983. for _, toItem := range to {
  984. toRule = append(toRule, toItem)
  985. }
  986. var tokenRule []interface{}
  987. for _, tokenItem := range token {
  988. tokenRule = append(tokenRule, tokenItem)
  989. }
  990. logs, sub, err := _WithdrawalDelayer.contract.WatchLogs(opts, "EscapeHatchWithdrawal", whoRule, toRule, tokenRule)
  991. if err != nil {
  992. return nil, err
  993. }
  994. return event.NewSubscription(func(quit <-chan struct{}) error {
  995. defer sub.Unsubscribe()
  996. for {
  997. select {
  998. case log := <-logs:
  999. // New log arrived, parse the event and forward to the user
  1000. event := new(WithdrawalDelayerEscapeHatchWithdrawal)
  1001. if err := _WithdrawalDelayer.contract.UnpackLog(event, "EscapeHatchWithdrawal", log); err != nil {
  1002. return err
  1003. }
  1004. event.Raw = log
  1005. select {
  1006. case sink <- event:
  1007. case err := <-sub.Err():
  1008. return err
  1009. case <-quit:
  1010. return nil
  1011. }
  1012. case err := <-sub.Err():
  1013. return err
  1014. case <-quit:
  1015. return nil
  1016. }
  1017. }
  1018. }), nil
  1019. }
  1020. // ParseEscapeHatchWithdrawal is a log parse operation binding the contract event 0xde200220117ba95c9a6c4a1a13bb06b0b7be90faa85c8fb4576630119f891693.
  1021. //
  1022. // Solidity: event EscapeHatchWithdrawal(address indexed who, address indexed to, address indexed token, uint256 amount)
  1023. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) ParseEscapeHatchWithdrawal(log types.Log) (*WithdrawalDelayerEscapeHatchWithdrawal, error) {
  1024. event := new(WithdrawalDelayerEscapeHatchWithdrawal)
  1025. if err := _WithdrawalDelayer.contract.UnpackLog(event, "EscapeHatchWithdrawal", log); err != nil {
  1026. return nil, err
  1027. }
  1028. return event, nil
  1029. }
  1030. // WithdrawalDelayerNewEmergencyCouncilIterator is returned from FilterNewEmergencyCouncil and is used to iterate over the raw logs and unpacked data for NewEmergencyCouncil events raised by the WithdrawalDelayer contract.
  1031. type WithdrawalDelayerNewEmergencyCouncilIterator struct {
  1032. Event *WithdrawalDelayerNewEmergencyCouncil // Event containing the contract specifics and raw log
  1033. contract *bind.BoundContract // Generic contract to use for unpacking event data
  1034. event string // Event name to use for unpacking event data
  1035. logs chan types.Log // Log channel receiving the found contract events
  1036. sub ethereum.Subscription // Subscription for errors, completion and termination
  1037. done bool // Whether the subscription completed delivering logs
  1038. fail error // Occurred error to stop iteration
  1039. }
  1040. // Next advances the iterator to the subsequent event, returning whether there
  1041. // are any more events found. In case of a retrieval or parsing error, false is
  1042. // returned and Error() can be queried for the exact failure.
  1043. func (it *WithdrawalDelayerNewEmergencyCouncilIterator) Next() bool {
  1044. // If the iterator failed, stop iterating
  1045. if it.fail != nil {
  1046. return false
  1047. }
  1048. // If the iterator completed, deliver directly whatever's available
  1049. if it.done {
  1050. select {
  1051. case log := <-it.logs:
  1052. it.Event = new(WithdrawalDelayerNewEmergencyCouncil)
  1053. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1054. it.fail = err
  1055. return false
  1056. }
  1057. it.Event.Raw = log
  1058. return true
  1059. default:
  1060. return false
  1061. }
  1062. }
  1063. // Iterator still in progress, wait for either a data or an error event
  1064. select {
  1065. case log := <-it.logs:
  1066. it.Event = new(WithdrawalDelayerNewEmergencyCouncil)
  1067. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1068. it.fail = err
  1069. return false
  1070. }
  1071. it.Event.Raw = log
  1072. return true
  1073. case err := <-it.sub.Err():
  1074. it.done = true
  1075. it.fail = err
  1076. return it.Next()
  1077. }
  1078. }
  1079. // Error returns any retrieval or parsing error occurred during filtering.
  1080. func (it *WithdrawalDelayerNewEmergencyCouncilIterator) Error() error {
  1081. return it.fail
  1082. }
  1083. // Close terminates the iteration process, releasing any pending underlying
  1084. // resources.
  1085. func (it *WithdrawalDelayerNewEmergencyCouncilIterator) Close() error {
  1086. it.sub.Unsubscribe()
  1087. return nil
  1088. }
  1089. // WithdrawalDelayerNewEmergencyCouncil represents a NewEmergencyCouncil event raised by the WithdrawalDelayer contract.
  1090. type WithdrawalDelayerNewEmergencyCouncil struct {
  1091. NewEmergencyCouncil common.Address
  1092. Raw types.Log // Blockchain specific contextual infos
  1093. }
  1094. // FilterNewEmergencyCouncil is a free log retrieval operation binding the contract event 0xcc267667d474ef34ee2de2d060e7c8b2c7295cefa22e57fd7049e22b5fdb5396.
  1095. //
  1096. // Solidity: event NewEmergencyCouncil(address newEmergencyCouncil)
  1097. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) FilterNewEmergencyCouncil(opts *bind.FilterOpts) (*WithdrawalDelayerNewEmergencyCouncilIterator, error) {
  1098. logs, sub, err := _WithdrawalDelayer.contract.FilterLogs(opts, "NewEmergencyCouncil")
  1099. if err != nil {
  1100. return nil, err
  1101. }
  1102. return &WithdrawalDelayerNewEmergencyCouncilIterator{contract: _WithdrawalDelayer.contract, event: "NewEmergencyCouncil", logs: logs, sub: sub}, nil
  1103. }
  1104. // WatchNewEmergencyCouncil is a free log subscription operation binding the contract event 0xcc267667d474ef34ee2de2d060e7c8b2c7295cefa22e57fd7049e22b5fdb5396.
  1105. //
  1106. // Solidity: event NewEmergencyCouncil(address newEmergencyCouncil)
  1107. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) WatchNewEmergencyCouncil(opts *bind.WatchOpts, sink chan<- *WithdrawalDelayerNewEmergencyCouncil) (event.Subscription, error) {
  1108. logs, sub, err := _WithdrawalDelayer.contract.WatchLogs(opts, "NewEmergencyCouncil")
  1109. if err != nil {
  1110. return nil, err
  1111. }
  1112. return event.NewSubscription(func(quit <-chan struct{}) error {
  1113. defer sub.Unsubscribe()
  1114. for {
  1115. select {
  1116. case log := <-logs:
  1117. // New log arrived, parse the event and forward to the user
  1118. event := new(WithdrawalDelayerNewEmergencyCouncil)
  1119. if err := _WithdrawalDelayer.contract.UnpackLog(event, "NewEmergencyCouncil", log); err != nil {
  1120. return err
  1121. }
  1122. event.Raw = log
  1123. select {
  1124. case sink <- event:
  1125. case err := <-sub.Err():
  1126. return err
  1127. case <-quit:
  1128. return nil
  1129. }
  1130. case err := <-sub.Err():
  1131. return err
  1132. case <-quit:
  1133. return nil
  1134. }
  1135. }
  1136. }), nil
  1137. }
  1138. // ParseNewEmergencyCouncil is a log parse operation binding the contract event 0xcc267667d474ef34ee2de2d060e7c8b2c7295cefa22e57fd7049e22b5fdb5396.
  1139. //
  1140. // Solidity: event NewEmergencyCouncil(address newEmergencyCouncil)
  1141. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) ParseNewEmergencyCouncil(log types.Log) (*WithdrawalDelayerNewEmergencyCouncil, error) {
  1142. event := new(WithdrawalDelayerNewEmergencyCouncil)
  1143. if err := _WithdrawalDelayer.contract.UnpackLog(event, "NewEmergencyCouncil", log); err != nil {
  1144. return nil, err
  1145. }
  1146. return event, nil
  1147. }
  1148. // WithdrawalDelayerNewHermezGovernanceAddressIterator is returned from FilterNewHermezGovernanceAddress and is used to iterate over the raw logs and unpacked data for NewHermezGovernanceAddress events raised by the WithdrawalDelayer contract.
  1149. type WithdrawalDelayerNewHermezGovernanceAddressIterator struct {
  1150. Event *WithdrawalDelayerNewHermezGovernanceAddress // Event containing the contract specifics and raw log
  1151. contract *bind.BoundContract // Generic contract to use for unpacking event data
  1152. event string // Event name to use for unpacking event data
  1153. logs chan types.Log // Log channel receiving the found contract events
  1154. sub ethereum.Subscription // Subscription for errors, completion and termination
  1155. done bool // Whether the subscription completed delivering logs
  1156. fail error // Occurred error to stop iteration
  1157. }
  1158. // Next advances the iterator to the subsequent event, returning whether there
  1159. // are any more events found. In case of a retrieval or parsing error, false is
  1160. // returned and Error() can be queried for the exact failure.
  1161. func (it *WithdrawalDelayerNewHermezGovernanceAddressIterator) Next() bool {
  1162. // If the iterator failed, stop iterating
  1163. if it.fail != nil {
  1164. return false
  1165. }
  1166. // If the iterator completed, deliver directly whatever's available
  1167. if it.done {
  1168. select {
  1169. case log := <-it.logs:
  1170. it.Event = new(WithdrawalDelayerNewHermezGovernanceAddress)
  1171. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1172. it.fail = err
  1173. return false
  1174. }
  1175. it.Event.Raw = log
  1176. return true
  1177. default:
  1178. return false
  1179. }
  1180. }
  1181. // Iterator still in progress, wait for either a data or an error event
  1182. select {
  1183. case log := <-it.logs:
  1184. it.Event = new(WithdrawalDelayerNewHermezGovernanceAddress)
  1185. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1186. it.fail = err
  1187. return false
  1188. }
  1189. it.Event.Raw = log
  1190. return true
  1191. case err := <-it.sub.Err():
  1192. it.done = true
  1193. it.fail = err
  1194. return it.Next()
  1195. }
  1196. }
  1197. // Error returns any retrieval or parsing error occurred during filtering.
  1198. func (it *WithdrawalDelayerNewHermezGovernanceAddressIterator) Error() error {
  1199. return it.fail
  1200. }
  1201. // Close terminates the iteration process, releasing any pending underlying
  1202. // resources.
  1203. func (it *WithdrawalDelayerNewHermezGovernanceAddressIterator) Close() error {
  1204. it.sub.Unsubscribe()
  1205. return nil
  1206. }
  1207. // WithdrawalDelayerNewHermezGovernanceAddress represents a NewHermezGovernanceAddress event raised by the WithdrawalDelayer contract.
  1208. type WithdrawalDelayerNewHermezGovernanceAddress struct {
  1209. NewHermezGovernanceAddress common.Address
  1210. Raw types.Log // Blockchain specific contextual infos
  1211. }
  1212. // FilterNewHermezGovernanceAddress is a free log retrieval operation binding the contract event 0x3bf02437d5cd40067085d9dac2c3cdcbef0a449d98a259a40d9c24380aca81bf.
  1213. //
  1214. // Solidity: event NewHermezGovernanceAddress(address newHermezGovernanceAddress)
  1215. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) FilterNewHermezGovernanceAddress(opts *bind.FilterOpts) (*WithdrawalDelayerNewHermezGovernanceAddressIterator, error) {
  1216. logs, sub, err := _WithdrawalDelayer.contract.FilterLogs(opts, "NewHermezGovernanceAddress")
  1217. if err != nil {
  1218. return nil, err
  1219. }
  1220. return &WithdrawalDelayerNewHermezGovernanceAddressIterator{contract: _WithdrawalDelayer.contract, event: "NewHermezGovernanceAddress", logs: logs, sub: sub}, nil
  1221. }
  1222. // WatchNewHermezGovernanceAddress is a free log subscription operation binding the contract event 0x3bf02437d5cd40067085d9dac2c3cdcbef0a449d98a259a40d9c24380aca81bf.
  1223. //
  1224. // Solidity: event NewHermezGovernanceAddress(address newHermezGovernanceAddress)
  1225. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) WatchNewHermezGovernanceAddress(opts *bind.WatchOpts, sink chan<- *WithdrawalDelayerNewHermezGovernanceAddress) (event.Subscription, error) {
  1226. logs, sub, err := _WithdrawalDelayer.contract.WatchLogs(opts, "NewHermezGovernanceAddress")
  1227. if err != nil {
  1228. return nil, err
  1229. }
  1230. return event.NewSubscription(func(quit <-chan struct{}) error {
  1231. defer sub.Unsubscribe()
  1232. for {
  1233. select {
  1234. case log := <-logs:
  1235. // New log arrived, parse the event and forward to the user
  1236. event := new(WithdrawalDelayerNewHermezGovernanceAddress)
  1237. if err := _WithdrawalDelayer.contract.UnpackLog(event, "NewHermezGovernanceAddress", log); err != nil {
  1238. return err
  1239. }
  1240. event.Raw = log
  1241. select {
  1242. case sink <- event:
  1243. case err := <-sub.Err():
  1244. return err
  1245. case <-quit:
  1246. return nil
  1247. }
  1248. case err := <-sub.Err():
  1249. return err
  1250. case <-quit:
  1251. return nil
  1252. }
  1253. }
  1254. }), nil
  1255. }
  1256. // ParseNewHermezGovernanceAddress is a log parse operation binding the contract event 0x3bf02437d5cd40067085d9dac2c3cdcbef0a449d98a259a40d9c24380aca81bf.
  1257. //
  1258. // Solidity: event NewHermezGovernanceAddress(address newHermezGovernanceAddress)
  1259. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) ParseNewHermezGovernanceAddress(log types.Log) (*WithdrawalDelayerNewHermezGovernanceAddress, error) {
  1260. event := new(WithdrawalDelayerNewHermezGovernanceAddress)
  1261. if err := _WithdrawalDelayer.contract.UnpackLog(event, "NewHermezGovernanceAddress", log); err != nil {
  1262. return nil, err
  1263. }
  1264. return event, nil
  1265. }
  1266. // WithdrawalDelayerNewWithdrawalDelayIterator is returned from FilterNewWithdrawalDelay and is used to iterate over the raw logs and unpacked data for NewWithdrawalDelay events raised by the WithdrawalDelayer contract.
  1267. type WithdrawalDelayerNewWithdrawalDelayIterator struct {
  1268. Event *WithdrawalDelayerNewWithdrawalDelay // Event containing the contract specifics and raw log
  1269. contract *bind.BoundContract // Generic contract to use for unpacking event data
  1270. event string // Event name to use for unpacking event data
  1271. logs chan types.Log // Log channel receiving the found contract events
  1272. sub ethereum.Subscription // Subscription for errors, completion and termination
  1273. done bool // Whether the subscription completed delivering logs
  1274. fail error // Occurred error to stop iteration
  1275. }
  1276. // Next advances the iterator to the subsequent event, returning whether there
  1277. // are any more events found. In case of a retrieval or parsing error, false is
  1278. // returned and Error() can be queried for the exact failure.
  1279. func (it *WithdrawalDelayerNewWithdrawalDelayIterator) Next() bool {
  1280. // If the iterator failed, stop iterating
  1281. if it.fail != nil {
  1282. return false
  1283. }
  1284. // If the iterator completed, deliver directly whatever's available
  1285. if it.done {
  1286. select {
  1287. case log := <-it.logs:
  1288. it.Event = new(WithdrawalDelayerNewWithdrawalDelay)
  1289. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1290. it.fail = err
  1291. return false
  1292. }
  1293. it.Event.Raw = log
  1294. return true
  1295. default:
  1296. return false
  1297. }
  1298. }
  1299. // Iterator still in progress, wait for either a data or an error event
  1300. select {
  1301. case log := <-it.logs:
  1302. it.Event = new(WithdrawalDelayerNewWithdrawalDelay)
  1303. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1304. it.fail = err
  1305. return false
  1306. }
  1307. it.Event.Raw = log
  1308. return true
  1309. case err := <-it.sub.Err():
  1310. it.done = true
  1311. it.fail = err
  1312. return it.Next()
  1313. }
  1314. }
  1315. // Error returns any retrieval or parsing error occurred during filtering.
  1316. func (it *WithdrawalDelayerNewWithdrawalDelayIterator) Error() error {
  1317. return it.fail
  1318. }
  1319. // Close terminates the iteration process, releasing any pending underlying
  1320. // resources.
  1321. func (it *WithdrawalDelayerNewWithdrawalDelayIterator) Close() error {
  1322. it.sub.Unsubscribe()
  1323. return nil
  1324. }
  1325. // WithdrawalDelayerNewWithdrawalDelay represents a NewWithdrawalDelay event raised by the WithdrawalDelayer contract.
  1326. type WithdrawalDelayerNewWithdrawalDelay struct {
  1327. WithdrawalDelay uint64
  1328. Raw types.Log // Blockchain specific contextual infos
  1329. }
  1330. // FilterNewWithdrawalDelay is a free log retrieval operation binding the contract event 0x6b3670ab51e04a9da086741e5fd1eb36ffaf1d661a15330c528e1f3e0c8722d7.
  1331. //
  1332. // Solidity: event NewWithdrawalDelay(uint64 withdrawalDelay)
  1333. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) FilterNewWithdrawalDelay(opts *bind.FilterOpts) (*WithdrawalDelayerNewWithdrawalDelayIterator, error) {
  1334. logs, sub, err := _WithdrawalDelayer.contract.FilterLogs(opts, "NewWithdrawalDelay")
  1335. if err != nil {
  1336. return nil, err
  1337. }
  1338. return &WithdrawalDelayerNewWithdrawalDelayIterator{contract: _WithdrawalDelayer.contract, event: "NewWithdrawalDelay", logs: logs, sub: sub}, nil
  1339. }
  1340. // WatchNewWithdrawalDelay is a free log subscription operation binding the contract event 0x6b3670ab51e04a9da086741e5fd1eb36ffaf1d661a15330c528e1f3e0c8722d7.
  1341. //
  1342. // Solidity: event NewWithdrawalDelay(uint64 withdrawalDelay)
  1343. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) WatchNewWithdrawalDelay(opts *bind.WatchOpts, sink chan<- *WithdrawalDelayerNewWithdrawalDelay) (event.Subscription, error) {
  1344. logs, sub, err := _WithdrawalDelayer.contract.WatchLogs(opts, "NewWithdrawalDelay")
  1345. if err != nil {
  1346. return nil, err
  1347. }
  1348. return event.NewSubscription(func(quit <-chan struct{}) error {
  1349. defer sub.Unsubscribe()
  1350. for {
  1351. select {
  1352. case log := <-logs:
  1353. // New log arrived, parse the event and forward to the user
  1354. event := new(WithdrawalDelayerNewWithdrawalDelay)
  1355. if err := _WithdrawalDelayer.contract.UnpackLog(event, "NewWithdrawalDelay", log); err != nil {
  1356. return err
  1357. }
  1358. event.Raw = log
  1359. select {
  1360. case sink <- event:
  1361. case err := <-sub.Err():
  1362. return err
  1363. case <-quit:
  1364. return nil
  1365. }
  1366. case err := <-sub.Err():
  1367. return err
  1368. case <-quit:
  1369. return nil
  1370. }
  1371. }
  1372. }), nil
  1373. }
  1374. // ParseNewWithdrawalDelay is a log parse operation binding the contract event 0x6b3670ab51e04a9da086741e5fd1eb36ffaf1d661a15330c528e1f3e0c8722d7.
  1375. //
  1376. // Solidity: event NewWithdrawalDelay(uint64 withdrawalDelay)
  1377. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) ParseNewWithdrawalDelay(log types.Log) (*WithdrawalDelayerNewWithdrawalDelay, error) {
  1378. event := new(WithdrawalDelayerNewWithdrawalDelay)
  1379. if err := _WithdrawalDelayer.contract.UnpackLog(event, "NewWithdrawalDelay", log); err != nil {
  1380. return nil, err
  1381. }
  1382. return event, nil
  1383. }
  1384. // WithdrawalDelayerWithdrawIterator is returned from FilterWithdraw and is used to iterate over the raw logs and unpacked data for Withdraw events raised by the WithdrawalDelayer contract.
  1385. type WithdrawalDelayerWithdrawIterator struct {
  1386. Event *WithdrawalDelayerWithdraw // Event containing the contract specifics and raw log
  1387. contract *bind.BoundContract // Generic contract to use for unpacking event data
  1388. event string // Event name to use for unpacking event data
  1389. logs chan types.Log // Log channel receiving the found contract events
  1390. sub ethereum.Subscription // Subscription for errors, completion and termination
  1391. done bool // Whether the subscription completed delivering logs
  1392. fail error // Occurred error to stop iteration
  1393. }
  1394. // Next advances the iterator to the subsequent event, returning whether there
  1395. // are any more events found. In case of a retrieval or parsing error, false is
  1396. // returned and Error() can be queried for the exact failure.
  1397. func (it *WithdrawalDelayerWithdrawIterator) Next() bool {
  1398. // If the iterator failed, stop iterating
  1399. if it.fail != nil {
  1400. return false
  1401. }
  1402. // If the iterator completed, deliver directly whatever's available
  1403. if it.done {
  1404. select {
  1405. case log := <-it.logs:
  1406. it.Event = new(WithdrawalDelayerWithdraw)
  1407. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1408. it.fail = err
  1409. return false
  1410. }
  1411. it.Event.Raw = log
  1412. return true
  1413. default:
  1414. return false
  1415. }
  1416. }
  1417. // Iterator still in progress, wait for either a data or an error event
  1418. select {
  1419. case log := <-it.logs:
  1420. it.Event = new(WithdrawalDelayerWithdraw)
  1421. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1422. it.fail = err
  1423. return false
  1424. }
  1425. it.Event.Raw = log
  1426. return true
  1427. case err := <-it.sub.Err():
  1428. it.done = true
  1429. it.fail = err
  1430. return it.Next()
  1431. }
  1432. }
  1433. // Error returns any retrieval or parsing error occurred during filtering.
  1434. func (it *WithdrawalDelayerWithdrawIterator) Error() error {
  1435. return it.fail
  1436. }
  1437. // Close terminates the iteration process, releasing any pending underlying
  1438. // resources.
  1439. func (it *WithdrawalDelayerWithdrawIterator) Close() error {
  1440. it.sub.Unsubscribe()
  1441. return nil
  1442. }
  1443. // WithdrawalDelayerWithdraw represents a Withdraw event raised by the WithdrawalDelayer contract.
  1444. type WithdrawalDelayerWithdraw struct {
  1445. Token common.Address
  1446. Owner common.Address
  1447. Amount *big.Int
  1448. Raw types.Log // Blockchain specific contextual infos
  1449. }
  1450. // FilterWithdraw is a free log retrieval operation binding the contract event 0x72608e45b52a95a12c2ac7f15ff53f92fc9572c9d84b6e6b5d7f0f7826cf3271.
  1451. //
  1452. // Solidity: event Withdraw(address indexed token, address indexed owner, uint192 amount)
  1453. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) FilterWithdraw(opts *bind.FilterOpts, token []common.Address, owner []common.Address) (*WithdrawalDelayerWithdrawIterator, error) {
  1454. var tokenRule []interface{}
  1455. for _, tokenItem := range token {
  1456. tokenRule = append(tokenRule, tokenItem)
  1457. }
  1458. var ownerRule []interface{}
  1459. for _, ownerItem := range owner {
  1460. ownerRule = append(ownerRule, ownerItem)
  1461. }
  1462. logs, sub, err := _WithdrawalDelayer.contract.FilterLogs(opts, "Withdraw", tokenRule, ownerRule)
  1463. if err != nil {
  1464. return nil, err
  1465. }
  1466. return &WithdrawalDelayerWithdrawIterator{contract: _WithdrawalDelayer.contract, event: "Withdraw", logs: logs, sub: sub}, nil
  1467. }
  1468. // WatchWithdraw is a free log subscription operation binding the contract event 0x72608e45b52a95a12c2ac7f15ff53f92fc9572c9d84b6e6b5d7f0f7826cf3271.
  1469. //
  1470. // Solidity: event Withdraw(address indexed token, address indexed owner, uint192 amount)
  1471. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) WatchWithdraw(opts *bind.WatchOpts, sink chan<- *WithdrawalDelayerWithdraw, token []common.Address, owner []common.Address) (event.Subscription, error) {
  1472. var tokenRule []interface{}
  1473. for _, tokenItem := range token {
  1474. tokenRule = append(tokenRule, tokenItem)
  1475. }
  1476. var ownerRule []interface{}
  1477. for _, ownerItem := range owner {
  1478. ownerRule = append(ownerRule, ownerItem)
  1479. }
  1480. logs, sub, err := _WithdrawalDelayer.contract.WatchLogs(opts, "Withdraw", tokenRule, ownerRule)
  1481. if err != nil {
  1482. return nil, err
  1483. }
  1484. return event.NewSubscription(func(quit <-chan struct{}) error {
  1485. defer sub.Unsubscribe()
  1486. for {
  1487. select {
  1488. case log := <-logs:
  1489. // New log arrived, parse the event and forward to the user
  1490. event := new(WithdrawalDelayerWithdraw)
  1491. if err := _WithdrawalDelayer.contract.UnpackLog(event, "Withdraw", log); err != nil {
  1492. return err
  1493. }
  1494. event.Raw = log
  1495. select {
  1496. case sink <- event:
  1497. case err := <-sub.Err():
  1498. return err
  1499. case <-quit:
  1500. return nil
  1501. }
  1502. case err := <-sub.Err():
  1503. return err
  1504. case <-quit:
  1505. return nil
  1506. }
  1507. }
  1508. }), nil
  1509. }
  1510. // ParseWithdraw is a log parse operation binding the contract event 0x72608e45b52a95a12c2ac7f15ff53f92fc9572c9d84b6e6b5d7f0f7826cf3271.
  1511. //
  1512. // Solidity: event Withdraw(address indexed token, address indexed owner, uint192 amount)
  1513. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) ParseWithdraw(log types.Log) (*WithdrawalDelayerWithdraw, error) {
  1514. event := new(WithdrawalDelayerWithdraw)
  1515. if err := _WithdrawalDelayer.contract.UnpackLog(event, "Withdraw", log); err != nil {
  1516. return nil, err
  1517. }
  1518. return event, nil
  1519. }