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.

1811 lines
95 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\":\"newHermezGovernanceDAOAddress\",\"type\":\"address\"}],\"name\":\"NewHermezGovernanceDAOAddress\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newHermezKeeperAddress\",\"type\":\"address\"}],\"name\":\"NewHermezKeeperAddress\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newWhiteHackGroupAddress\",\"type\":\"address\"}],\"name\":\"NewWhiteHackGroupAddress\",\"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\":[{\"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\":\"getEmergencyModeStartingTime\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getHermezGovernanceDAOAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getHermezKeeperAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWhiteHackGroupAddress\",\"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\":[{\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"}],\"name\":\"setHermezGovernanceDAOAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"}],\"name\":\"setHermezKeeperAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"addresspayable\",\"name\":\"newAddress\",\"type\":\"address\"}],\"name\":\"setWhiteHackGroupAddress\",\"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\":\"_initialHermezKeeperAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_initialHermezGovernanceDAOAddress\",\"type\":\"address\"},{\"internalType\":\"addresspayable\",\"name\":\"_initialWhiteHackGroupAddress\",\"type\":\"address\"}],\"name\":\"withdrawalDelayerInitializer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]"
  26. // WithdrawalDelayerBin is the compiled bytecode used for deploying new contracts.
  27. var WithdrawalDelayerBin = "0x608060405234801561001057600080fd5b50611956806100206000396000f3fe60806040526004361061011f5760003560e01c8063668cdd67116100a0578063b4b8e39d11610064578063b4b8e39d14610405578063c5b1c7d01461041a578063cfc0b6411461042f578063d82b217c1461046f578063de35f282146104a25761011f565b8063668cdd67146103345780637fd6b10214610349578063a238f9df1461038c578063acfd6ea8146103bd578063ae7efbbd146103f05761011f565b8063305887f9116100e7578063305887f91461022057806336e566ed146102355780633d4dff7b1461028f578063493b0170146102e4578063580fc6111461031f5761011f565b806303160940146101245780630a4db01b1461015e5780630e670af5146101935780630fd266d7146101c657806320a194b8146101f7575b600080fd5b34801561013057600080fd5b506101396104dd565b604080516fffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561016a57600080fd5b506101916004803603602081101561018157600080fd5b50356001600160a01b03166104ec565b005b34801561019f57600080fd5b50610191600480360360208110156101b657600080fd5b50356001600160401b0316610598565b3480156101d257600080fd5b506101db6106c8565b604080516001600160a01b039092168252519081900360200190f35b34801561020357600080fd5b5061020c6106d7565b604080519115158252519081900360200190f35b34801561022c57600080fd5b506101db6106e7565b34801561024157600080fd5b50610191600480360360a081101561025857600080fd5b506001600160401b03813516906001600160a01b0360208201358116916040810135821691606082013581169160800135166106f6565b34801561029b57600080fd5b506102b9600480360360208110156102b257600080fd5b5035610812565b604080516001600160c01b0390931683526001600160401b0390911660208301528051918290030190f35b3480156102f057600080fd5b506102b96004803603604081101561030757600080fd5b506001600160a01b038135811691602001351661083f565b34801561032b57600080fd5b506101db6108d0565b34801561034057600080fd5b506101396108df565b34801561035557600080fd5b506101916004803603606081101561036c57600080fd5b506001600160a01b038135811691602081013590911690604001356108f5565b34801561039857600080fd5b506103a1610b33565b604080516001600160401b039092168252519081900360200190f35b3480156103c957600080fd5b50610191600480360360208110156103e057600080fd5b50356001600160a01b0316610b3a565b3480156103fc57600080fd5b506101db610bf3565b34801561041157600080fd5b506103a1610c02565b34801561042657600080fd5b50610191610c09565b6101916004803603606081101561044557600080fd5b5080356001600160a01b0390811691602081013590911690604001356001600160c01b0316610d31565b34801561047b57600080fd5b506101916004803603602081101561049257600080fd5b50356001600160a01b0316611149565b3480156104ae57600080fd5b50610191600480360360408110156104c557600080fd5b506001600160a01b0381358116916020013516611202565b6065546001600160401b031690565b6067546001600160a01b0316331461053e576040805162461bcd60e51b815260206004820152601060248201526f4f6e6c7920574847206164647265737360801b604482015290519081900360640190fd5b606780546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f284ca073b8bdde2195ae98779277678773a99d7739e5f0477dc19a03fc689011916020908290030190a150565b6068546001600160a01b03163314806105bb57506069546001600160a01b031633145b61060c576040805162461bcd60e51b815260206004820152601c60248201527f4f6e6c79206865726d657a206b6565706572206f7220726f6c6c757000000000604482015290519081900360640190fd5b621275006001600160401b038216111561066d576040805162461bcd60e51b815260206004820152601c60248201527f45786365656473204d41585f5749544844524157414c5f44454c415900000000604482015290519081900360640190fd5b6065805467ffffffffffffffff19166001600160401b03838116919091179182905560408051929091168252517f6b3670ab51e04a9da086741e5fd1eb36ffaf1d661a15330c528e1f3e0c8722d7916020908290030190a150565b6069546001600160a01b031681565b606854600160a01b900460ff1690565b6068546001600160a01b031690565b600054610100900460ff168061070f575061070f611486565b8061071d575060005460ff16155b6107585760405162461bcd60e51b815260040180806020018281038252602e8152602001806118f3602e913960400191505060405180910390fd5b600054610100900460ff16158015610783576000805460ff1961ff0019909116610100171660011790555b61078b61148c565b6065805467ffffffffffffffff19166001600160401b038816179055606980546001600160a01b03199081166001600160a01b0388811691909117909255606880546066805484168886161790556067805484168786161790559091169186169190911760ff60a01b19169055801561080a576000805461ff00191690555b505050505050565b606a602052600090815260409020546001600160c01b03811690600160c01b90046001600160401b031682565b60008061084a6118b6565b505060408051606094851b6001600160601b03199081166020808401919091529490951b909416603485015280518085036028018152604885018083528151918501919091206000908152606a9094529281902060888501909152546001600160c01b03811692839052600160c01b90046001600160401b031660689093018390525091565b6066546001600160a01b031690565b606554600160401b90046001600160401b031690565b60335460ff1661094c576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6033805460ff19169055606854600160a01b900460ff166109aa576040805162461bcd60e51b81526020600482015260136024820152724f6e6c7920456d657267656e6379204d6f646560681b604482015290519081900360640190fd5b6067546001600160a01b03163314806109cd57506066546001600160a01b031633145b610a1e576040805162461bcd60e51b815260206004820152601960248201527f4f6e6c7920476f7665726e616e636544414f206f722057484700000000000000604482015290519081900360640190fd5b6067546001600160a01b0316331415610aa4576065546001600160401b03600160401b909104811662eff100018116429091161015610aa4576040805162461bcd60e51b815260206004820152601a60248201527f4e4f204d41585f454d455247454e43595f4d4f44455f54494d45000000000000604482015290519081900360640190fd5b6001600160a01b038216610ac157610abc838261153b565b610acc565b610acc8284836115dc565b816001600160a01b0316836001600160a01b0316336001600160a01b03167fde200220117ba95c9a6c4a1a13bb06b0b7be90faa85c8fb4576630119f891693846040518082815260200191505060405180910390a450506033805460ff1916600117905550565b6212750081565b6066546001600160a01b03163314610b99576040805162461bcd60e51b815260206004820152601a60248201527f4f6e6c79204865726d657a20476f7665726e616e63652044414f000000000000604482015290519081900360640190fd5b606680546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f03683be8debd93f8f5ff23dd03419bfcb9b8287a1868b0f130d858f03c3a08a1916020908290030190a150565b6067546001600160a01b031690565b62eff10081565b6068546001600160a01b03163314610c68576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c79206865726d657a4b6565706572416464726573730000000000000000604482015290519081900360640190fd5b606854600160a01b900460ff1615610cc7576040805162461bcd60e51b815260206004820152601e60248201527f456d657267656e6379206d6f646520616c726561647920656e61626c65640000604482015290519081900360640190fd5b6068805460ff60a01b1916600160a01b179055606580546001600160401b034216600160401b026fffffffffffffffff0000000000000000199091161790556040517f2064d51aa5a8bd67928c7675e267e05c67ad5adf7c9098d0a602d01f36fda9c590600090a1565b60335460ff16610d88576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6033805460ff191690556069546001600160a01b03163314610df1576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c79206865726d657a526f6c6c7570416464726573730000000000000000604482015290519081900360640190fd5b3415610eb5576001600160a01b03821615610e53576040805162461bcd60e51b815260206004820152601d60248201527f4554482073686f756c6420626520746865203078302061646472657373000000604482015290519081900360640190fd5b34816001600160c01b031614610eb0576040805162461bcd60e51b815260206004820152601e60248201527f446966666572656e7420616d6f756e7420616e64206d73672e76616c75650000604482015290519081900360640190fd5b61112c565b60695460408051636eb1769f60e11b81526001600160a01b03928316600482015230602482015290516001600160c01b0384169285169163dd62ed3e916044808301926020929190829003018186803b158015610f1157600080fd5b505afa158015610f25573d6000803e3d6000fd5b505050506040513d6020811015610f3b57600080fd5b50511015610f90576040805162461bcd60e51b815260206004820152601d60248201527f446f65736e2774206861766520656e6f75676820616c6c6f77616e6365000000604482015290519081900360640190fd5b60006060836001600160a01b03166040518060600160405280602581526020016118ce602591398051602091820120606954604080516001600160a01b0390921660248301523060448301526001600160c01b038816606480840191909152815180840390910181526084909201815292810180516001600160e01b03166001600160e01b031990931692909217825291518251909182918083835b6020831061104b5780518252601f19909201916020918201910161102c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146110ad576040519150601f19603f3d011682016040523d82523d6000602084013e6110b2565b606091505b50915091508180156110e05750805115806110e057508080602001905160208110156110dd57600080fd5b50515b611129576040805162461bcd60e51b8152602060048201526015602482015274151bdad95b88151c985b9cd9995c8811985a5b1959605a1b604482015290519081900360640190fd5b50505b61113783838361176e565b50506033805460ff1916600117905550565b6068546001600160a01b031633146111a8576040805162461bcd60e51b815260206004820152601a60248201527f4f6e6c79204865726d657a204b65657065722041646472657373000000000000604482015290519081900360640190fd5b606880546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517fc1e9be84fce652abec6a6944f7ec5bbb40de18caa44c285b05a0de7e3ad9d016916020908290030190a150565b60335460ff16611259576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6033805460ff19169055606854600160a01b900460ff16156112b3576040805162461bcd60e51b815260206004820152600e60248201526d456d657267656e6379206d6f646560901b604482015290519081900360640190fd5b60408051606084811b6001600160601b03199081166020808501919091529185901b16603483015282518083036028018152604890920183528151918101919091206000818152606a909252919020546001600160c01b031680611355576040805162461bcd60e51b81526020600482015260146024820152734e6f2066756e647320746f20776974686472617760601b604482015290519081900360640190fd5b6065546000838152606a60205260409020546001600160401b03918216600160c01b90910482160181164290911610156113d6576040805162461bcd60e51b815260206004820152601a60248201527f5769746864726177616c206e6f7420616c6c6f77656420796574000000000000604482015290519081900360640190fd5b6000828152606a60205260408120556001600160a01b03831661140b5761140684826001600160c01b031661153b565b61141f565b61141f8385836001600160c01b03166115dc565b836001600160a01b0316836001600160a01b03167f72608e45b52a95a12c2ac7f15ff53f92fc9572c9d84b6e6b5d7f0f7826cf32718360405180826001600160c01b0316815260200191505060405180910390a350506033805460ff191660011790555050565b303b1590565b600054610100900460ff16806114a557506114a5611486565b806114b3575060005460ff16155b6114ee5760405162461bcd60e51b815260040180806020018281038252602e8152602001806118f3602e913960400191505060405180910390fd5b600054610100900460ff16158015611519576000805460ff1961ff0019909116610100171660011790555b6033805460ff191660011790558015611538576000805461ff00191690555b50565b6040516000906001600160a01b0384169083908381818185875af1925050503d8060008114611586576040519150601f19603f3d011682016040523d82523d6000602084013e61158b565b606091505b50509050806115d7576040805162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b604482015290519081900360640190fd5b505050565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b1781529251815160009460609489169392918291908083835b602083106116895780518252601f19909201916020918201910161166a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146116eb576040519150601f19603f3d011682016040523d82523d6000602084013e6116f0565b606091505b509150915081801561171e57508051158061171e575080806020019051602081101561171b57600080fd5b50515b611767576040805162461bcd60e51b8152602060048201526015602482015274151bdad95b88151c985b9cd9995c8811985a5b1959605a1b604482015290519081900360640190fd5b5050505050565b60408051606085811b6001600160601b03199081166020808501919091529186901b16603483015282518083036028018152604890920183528151918101919091206000818152606a909252919020546001600160c01b039081168381019182161015611815576040805162461bcd60e51b815260206004820152601060248201526f4465706f736974206f766572666c6f7760801b604482015290519081900360640190fd5b6000828152606a602090815260409182902080546001600160401b03428116600160c01b9081026001600160c01b038089166001600160c01b03199095169490941784161793849055855192891683529092049091169181019190915281516001600160a01b0380881693908916927f41219b99485f78192a5b9b1be28c7d53c3a2bdbe7900ae40c79fae8d9d6108fd929081900390910190a35050505050565b60408051808201909152600080825260208201529056fe7472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a2646970667358221220632d6e9cb12d40d2d73a2a867ad3e7eae9b7cf7d97c44f2cbd4d2e1922db561b64736f6c634300060c0033"
  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. // GetEmergencyModeStartingTime is a free data retrieval call binding the contract method 0x668cdd67.
  268. //
  269. // Solidity: function getEmergencyModeStartingTime() view returns(uint128)
  270. func (_WithdrawalDelayer *WithdrawalDelayerCaller) GetEmergencyModeStartingTime(opts *bind.CallOpts) (*big.Int, error) {
  271. var (
  272. ret0 = new(*big.Int)
  273. )
  274. out := ret0
  275. err := _WithdrawalDelayer.contract.Call(opts, out, "getEmergencyModeStartingTime")
  276. return *ret0, err
  277. }
  278. // GetEmergencyModeStartingTime is a free data retrieval call binding the contract method 0x668cdd67.
  279. //
  280. // Solidity: function getEmergencyModeStartingTime() view returns(uint128)
  281. func (_WithdrawalDelayer *WithdrawalDelayerSession) GetEmergencyModeStartingTime() (*big.Int, error) {
  282. return _WithdrawalDelayer.Contract.GetEmergencyModeStartingTime(&_WithdrawalDelayer.CallOpts)
  283. }
  284. // GetEmergencyModeStartingTime is a free data retrieval call binding the contract method 0x668cdd67.
  285. //
  286. // Solidity: function getEmergencyModeStartingTime() view returns(uint128)
  287. func (_WithdrawalDelayer *WithdrawalDelayerCallerSession) GetEmergencyModeStartingTime() (*big.Int, error) {
  288. return _WithdrawalDelayer.Contract.GetEmergencyModeStartingTime(&_WithdrawalDelayer.CallOpts)
  289. }
  290. // GetHermezGovernanceDAOAddress is a free data retrieval call binding the contract method 0x580fc611.
  291. //
  292. // Solidity: function getHermezGovernanceDAOAddress() view returns(address)
  293. func (_WithdrawalDelayer *WithdrawalDelayerCaller) GetHermezGovernanceDAOAddress(opts *bind.CallOpts) (common.Address, error) {
  294. var (
  295. ret0 = new(common.Address)
  296. )
  297. out := ret0
  298. err := _WithdrawalDelayer.contract.Call(opts, out, "getHermezGovernanceDAOAddress")
  299. return *ret0, err
  300. }
  301. // GetHermezGovernanceDAOAddress is a free data retrieval call binding the contract method 0x580fc611.
  302. //
  303. // Solidity: function getHermezGovernanceDAOAddress() view returns(address)
  304. func (_WithdrawalDelayer *WithdrawalDelayerSession) GetHermezGovernanceDAOAddress() (common.Address, error) {
  305. return _WithdrawalDelayer.Contract.GetHermezGovernanceDAOAddress(&_WithdrawalDelayer.CallOpts)
  306. }
  307. // GetHermezGovernanceDAOAddress is a free data retrieval call binding the contract method 0x580fc611.
  308. //
  309. // Solidity: function getHermezGovernanceDAOAddress() view returns(address)
  310. func (_WithdrawalDelayer *WithdrawalDelayerCallerSession) GetHermezGovernanceDAOAddress() (common.Address, error) {
  311. return _WithdrawalDelayer.Contract.GetHermezGovernanceDAOAddress(&_WithdrawalDelayer.CallOpts)
  312. }
  313. // GetHermezKeeperAddress is a free data retrieval call binding the contract method 0x305887f9.
  314. //
  315. // Solidity: function getHermezKeeperAddress() view returns(address)
  316. func (_WithdrawalDelayer *WithdrawalDelayerCaller) GetHermezKeeperAddress(opts *bind.CallOpts) (common.Address, error) {
  317. var (
  318. ret0 = new(common.Address)
  319. )
  320. out := ret0
  321. err := _WithdrawalDelayer.contract.Call(opts, out, "getHermezKeeperAddress")
  322. return *ret0, err
  323. }
  324. // GetHermezKeeperAddress is a free data retrieval call binding the contract method 0x305887f9.
  325. //
  326. // Solidity: function getHermezKeeperAddress() view returns(address)
  327. func (_WithdrawalDelayer *WithdrawalDelayerSession) GetHermezKeeperAddress() (common.Address, error) {
  328. return _WithdrawalDelayer.Contract.GetHermezKeeperAddress(&_WithdrawalDelayer.CallOpts)
  329. }
  330. // GetHermezKeeperAddress is a free data retrieval call binding the contract method 0x305887f9.
  331. //
  332. // Solidity: function getHermezKeeperAddress() view returns(address)
  333. func (_WithdrawalDelayer *WithdrawalDelayerCallerSession) GetHermezKeeperAddress() (common.Address, error) {
  334. return _WithdrawalDelayer.Contract.GetHermezKeeperAddress(&_WithdrawalDelayer.CallOpts)
  335. }
  336. // GetWhiteHackGroupAddress is a free data retrieval call binding the contract method 0xae7efbbd.
  337. //
  338. // Solidity: function getWhiteHackGroupAddress() view returns(address)
  339. func (_WithdrawalDelayer *WithdrawalDelayerCaller) GetWhiteHackGroupAddress(opts *bind.CallOpts) (common.Address, error) {
  340. var (
  341. ret0 = new(common.Address)
  342. )
  343. out := ret0
  344. err := _WithdrawalDelayer.contract.Call(opts, out, "getWhiteHackGroupAddress")
  345. return *ret0, err
  346. }
  347. // GetWhiteHackGroupAddress is a free data retrieval call binding the contract method 0xae7efbbd.
  348. //
  349. // Solidity: function getWhiteHackGroupAddress() view returns(address)
  350. func (_WithdrawalDelayer *WithdrawalDelayerSession) GetWhiteHackGroupAddress() (common.Address, error) {
  351. return _WithdrawalDelayer.Contract.GetWhiteHackGroupAddress(&_WithdrawalDelayer.CallOpts)
  352. }
  353. // GetWhiteHackGroupAddress is a free data retrieval call binding the contract method 0xae7efbbd.
  354. //
  355. // Solidity: function getWhiteHackGroupAddress() view returns(address)
  356. func (_WithdrawalDelayer *WithdrawalDelayerCallerSession) GetWhiteHackGroupAddress() (common.Address, error) {
  357. return _WithdrawalDelayer.Contract.GetWhiteHackGroupAddress(&_WithdrawalDelayer.CallOpts)
  358. }
  359. // GetWithdrawalDelay is a free data retrieval call binding the contract method 0x03160940.
  360. //
  361. // Solidity: function getWithdrawalDelay() view returns(uint128)
  362. func (_WithdrawalDelayer *WithdrawalDelayerCaller) GetWithdrawalDelay(opts *bind.CallOpts) (*big.Int, error) {
  363. var (
  364. ret0 = new(*big.Int)
  365. )
  366. out := ret0
  367. err := _WithdrawalDelayer.contract.Call(opts, out, "getWithdrawalDelay")
  368. return *ret0, err
  369. }
  370. // GetWithdrawalDelay is a free data retrieval call binding the contract method 0x03160940.
  371. //
  372. // Solidity: function getWithdrawalDelay() view returns(uint128)
  373. func (_WithdrawalDelayer *WithdrawalDelayerSession) GetWithdrawalDelay() (*big.Int, error) {
  374. return _WithdrawalDelayer.Contract.GetWithdrawalDelay(&_WithdrawalDelayer.CallOpts)
  375. }
  376. // GetWithdrawalDelay is a free data retrieval call binding the contract method 0x03160940.
  377. //
  378. // Solidity: function getWithdrawalDelay() view returns(uint128)
  379. func (_WithdrawalDelayer *WithdrawalDelayerCallerSession) GetWithdrawalDelay() (*big.Int, error) {
  380. return _WithdrawalDelayer.Contract.GetWithdrawalDelay(&_WithdrawalDelayer.CallOpts)
  381. }
  382. // HermezRollupAddress is a free data retrieval call binding the contract method 0x0fd266d7.
  383. //
  384. // Solidity: function hermezRollupAddress() view returns(address)
  385. func (_WithdrawalDelayer *WithdrawalDelayerCaller) HermezRollupAddress(opts *bind.CallOpts) (common.Address, error) {
  386. var (
  387. ret0 = new(common.Address)
  388. )
  389. out := ret0
  390. err := _WithdrawalDelayer.contract.Call(opts, out, "hermezRollupAddress")
  391. return *ret0, err
  392. }
  393. // HermezRollupAddress is a free data retrieval call binding the contract method 0x0fd266d7.
  394. //
  395. // Solidity: function hermezRollupAddress() view returns(address)
  396. func (_WithdrawalDelayer *WithdrawalDelayerSession) HermezRollupAddress() (common.Address, error) {
  397. return _WithdrawalDelayer.Contract.HermezRollupAddress(&_WithdrawalDelayer.CallOpts)
  398. }
  399. // HermezRollupAddress is a free data retrieval call binding the contract method 0x0fd266d7.
  400. //
  401. // Solidity: function hermezRollupAddress() view returns(address)
  402. func (_WithdrawalDelayer *WithdrawalDelayerCallerSession) HermezRollupAddress() (common.Address, error) {
  403. return _WithdrawalDelayer.Contract.HermezRollupAddress(&_WithdrawalDelayer.CallOpts)
  404. }
  405. // IsEmergencyMode is a free data retrieval call binding the contract method 0x20a194b8.
  406. //
  407. // Solidity: function isEmergencyMode() view returns(bool)
  408. func (_WithdrawalDelayer *WithdrawalDelayerCaller) IsEmergencyMode(opts *bind.CallOpts) (bool, error) {
  409. var (
  410. ret0 = new(bool)
  411. )
  412. out := ret0
  413. err := _WithdrawalDelayer.contract.Call(opts, out, "isEmergencyMode")
  414. return *ret0, err
  415. }
  416. // IsEmergencyMode is a free data retrieval call binding the contract method 0x20a194b8.
  417. //
  418. // Solidity: function isEmergencyMode() view returns(bool)
  419. func (_WithdrawalDelayer *WithdrawalDelayerSession) IsEmergencyMode() (bool, error) {
  420. return _WithdrawalDelayer.Contract.IsEmergencyMode(&_WithdrawalDelayer.CallOpts)
  421. }
  422. // IsEmergencyMode is a free data retrieval call binding the contract method 0x20a194b8.
  423. //
  424. // Solidity: function isEmergencyMode() view returns(bool)
  425. func (_WithdrawalDelayer *WithdrawalDelayerCallerSession) IsEmergencyMode() (bool, error) {
  426. return _WithdrawalDelayer.Contract.IsEmergencyMode(&_WithdrawalDelayer.CallOpts)
  427. }
  428. // ChangeWithdrawalDelay is a paid mutator transaction binding the contract method 0x0e670af5.
  429. //
  430. // Solidity: function changeWithdrawalDelay(uint64 _newWithdrawalDelay) returns()
  431. func (_WithdrawalDelayer *WithdrawalDelayerTransactor) ChangeWithdrawalDelay(opts *bind.TransactOpts, _newWithdrawalDelay uint64) (*types.Transaction, error) {
  432. return _WithdrawalDelayer.contract.Transact(opts, "changeWithdrawalDelay", _newWithdrawalDelay)
  433. }
  434. // ChangeWithdrawalDelay is a paid mutator transaction binding the contract method 0x0e670af5.
  435. //
  436. // Solidity: function changeWithdrawalDelay(uint64 _newWithdrawalDelay) returns()
  437. func (_WithdrawalDelayer *WithdrawalDelayerSession) ChangeWithdrawalDelay(_newWithdrawalDelay uint64) (*types.Transaction, error) {
  438. return _WithdrawalDelayer.Contract.ChangeWithdrawalDelay(&_WithdrawalDelayer.TransactOpts, _newWithdrawalDelay)
  439. }
  440. // ChangeWithdrawalDelay is a paid mutator transaction binding the contract method 0x0e670af5.
  441. //
  442. // Solidity: function changeWithdrawalDelay(uint64 _newWithdrawalDelay) returns()
  443. func (_WithdrawalDelayer *WithdrawalDelayerTransactorSession) ChangeWithdrawalDelay(_newWithdrawalDelay uint64) (*types.Transaction, error) {
  444. return _WithdrawalDelayer.Contract.ChangeWithdrawalDelay(&_WithdrawalDelayer.TransactOpts, _newWithdrawalDelay)
  445. }
  446. // Deposit is a paid mutator transaction binding the contract method 0xcfc0b641.
  447. //
  448. // Solidity: function deposit(address _owner, address _token, uint192 _amount) payable returns()
  449. func (_WithdrawalDelayer *WithdrawalDelayerTransactor) Deposit(opts *bind.TransactOpts, _owner common.Address, _token common.Address, _amount *big.Int) (*types.Transaction, error) {
  450. return _WithdrawalDelayer.contract.Transact(opts, "deposit", _owner, _token, _amount)
  451. }
  452. // Deposit is a paid mutator transaction binding the contract method 0xcfc0b641.
  453. //
  454. // Solidity: function deposit(address _owner, address _token, uint192 _amount) payable returns()
  455. func (_WithdrawalDelayer *WithdrawalDelayerSession) Deposit(_owner common.Address, _token common.Address, _amount *big.Int) (*types.Transaction, error) {
  456. return _WithdrawalDelayer.Contract.Deposit(&_WithdrawalDelayer.TransactOpts, _owner, _token, _amount)
  457. }
  458. // Deposit is a paid mutator transaction binding the contract method 0xcfc0b641.
  459. //
  460. // Solidity: function deposit(address _owner, address _token, uint192 _amount) payable returns()
  461. func (_WithdrawalDelayer *WithdrawalDelayerTransactorSession) Deposit(_owner common.Address, _token common.Address, _amount *big.Int) (*types.Transaction, error) {
  462. return _WithdrawalDelayer.Contract.Deposit(&_WithdrawalDelayer.TransactOpts, _owner, _token, _amount)
  463. }
  464. // EnableEmergencyMode is a paid mutator transaction binding the contract method 0xc5b1c7d0.
  465. //
  466. // Solidity: function enableEmergencyMode() returns()
  467. func (_WithdrawalDelayer *WithdrawalDelayerTransactor) EnableEmergencyMode(opts *bind.TransactOpts) (*types.Transaction, error) {
  468. return _WithdrawalDelayer.contract.Transact(opts, "enableEmergencyMode")
  469. }
  470. // EnableEmergencyMode is a paid mutator transaction binding the contract method 0xc5b1c7d0.
  471. //
  472. // Solidity: function enableEmergencyMode() returns()
  473. func (_WithdrawalDelayer *WithdrawalDelayerSession) EnableEmergencyMode() (*types.Transaction, error) {
  474. return _WithdrawalDelayer.Contract.EnableEmergencyMode(&_WithdrawalDelayer.TransactOpts)
  475. }
  476. // EnableEmergencyMode is a paid mutator transaction binding the contract method 0xc5b1c7d0.
  477. //
  478. // Solidity: function enableEmergencyMode() returns()
  479. func (_WithdrawalDelayer *WithdrawalDelayerTransactorSession) EnableEmergencyMode() (*types.Transaction, error) {
  480. return _WithdrawalDelayer.Contract.EnableEmergencyMode(&_WithdrawalDelayer.TransactOpts)
  481. }
  482. // EscapeHatchWithdrawal is a paid mutator transaction binding the contract method 0x7fd6b102.
  483. //
  484. // Solidity: function escapeHatchWithdrawal(address _to, address _token, uint256 _amount) returns()
  485. func (_WithdrawalDelayer *WithdrawalDelayerTransactor) EscapeHatchWithdrawal(opts *bind.TransactOpts, _to common.Address, _token common.Address, _amount *big.Int) (*types.Transaction, error) {
  486. return _WithdrawalDelayer.contract.Transact(opts, "escapeHatchWithdrawal", _to, _token, _amount)
  487. }
  488. // EscapeHatchWithdrawal is a paid mutator transaction binding the contract method 0x7fd6b102.
  489. //
  490. // Solidity: function escapeHatchWithdrawal(address _to, address _token, uint256 _amount) returns()
  491. func (_WithdrawalDelayer *WithdrawalDelayerSession) EscapeHatchWithdrawal(_to common.Address, _token common.Address, _amount *big.Int) (*types.Transaction, error) {
  492. return _WithdrawalDelayer.Contract.EscapeHatchWithdrawal(&_WithdrawalDelayer.TransactOpts, _to, _token, _amount)
  493. }
  494. // EscapeHatchWithdrawal is a paid mutator transaction binding the contract method 0x7fd6b102.
  495. //
  496. // Solidity: function escapeHatchWithdrawal(address _to, address _token, uint256 _amount) returns()
  497. func (_WithdrawalDelayer *WithdrawalDelayerTransactorSession) EscapeHatchWithdrawal(_to common.Address, _token common.Address, _amount *big.Int) (*types.Transaction, error) {
  498. return _WithdrawalDelayer.Contract.EscapeHatchWithdrawal(&_WithdrawalDelayer.TransactOpts, _to, _token, _amount)
  499. }
  500. // SetHermezGovernanceDAOAddress is a paid mutator transaction binding the contract method 0xacfd6ea8.
  501. //
  502. // Solidity: function setHermezGovernanceDAOAddress(address newAddress) returns()
  503. func (_WithdrawalDelayer *WithdrawalDelayerTransactor) SetHermezGovernanceDAOAddress(opts *bind.TransactOpts, newAddress common.Address) (*types.Transaction, error) {
  504. return _WithdrawalDelayer.contract.Transact(opts, "setHermezGovernanceDAOAddress", newAddress)
  505. }
  506. // SetHermezGovernanceDAOAddress is a paid mutator transaction binding the contract method 0xacfd6ea8.
  507. //
  508. // Solidity: function setHermezGovernanceDAOAddress(address newAddress) returns()
  509. func (_WithdrawalDelayer *WithdrawalDelayerSession) SetHermezGovernanceDAOAddress(newAddress common.Address) (*types.Transaction, error) {
  510. return _WithdrawalDelayer.Contract.SetHermezGovernanceDAOAddress(&_WithdrawalDelayer.TransactOpts, newAddress)
  511. }
  512. // SetHermezGovernanceDAOAddress is a paid mutator transaction binding the contract method 0xacfd6ea8.
  513. //
  514. // Solidity: function setHermezGovernanceDAOAddress(address newAddress) returns()
  515. func (_WithdrawalDelayer *WithdrawalDelayerTransactorSession) SetHermezGovernanceDAOAddress(newAddress common.Address) (*types.Transaction, error) {
  516. return _WithdrawalDelayer.Contract.SetHermezGovernanceDAOAddress(&_WithdrawalDelayer.TransactOpts, newAddress)
  517. }
  518. // SetHermezKeeperAddress is a paid mutator transaction binding the contract method 0xd82b217c.
  519. //
  520. // Solidity: function setHermezKeeperAddress(address newAddress) returns()
  521. func (_WithdrawalDelayer *WithdrawalDelayerTransactor) SetHermezKeeperAddress(opts *bind.TransactOpts, newAddress common.Address) (*types.Transaction, error) {
  522. return _WithdrawalDelayer.contract.Transact(opts, "setHermezKeeperAddress", newAddress)
  523. }
  524. // SetHermezKeeperAddress is a paid mutator transaction binding the contract method 0xd82b217c.
  525. //
  526. // Solidity: function setHermezKeeperAddress(address newAddress) returns()
  527. func (_WithdrawalDelayer *WithdrawalDelayerSession) SetHermezKeeperAddress(newAddress common.Address) (*types.Transaction, error) {
  528. return _WithdrawalDelayer.Contract.SetHermezKeeperAddress(&_WithdrawalDelayer.TransactOpts, newAddress)
  529. }
  530. // SetHermezKeeperAddress is a paid mutator transaction binding the contract method 0xd82b217c.
  531. //
  532. // Solidity: function setHermezKeeperAddress(address newAddress) returns()
  533. func (_WithdrawalDelayer *WithdrawalDelayerTransactorSession) SetHermezKeeperAddress(newAddress common.Address) (*types.Transaction, error) {
  534. return _WithdrawalDelayer.Contract.SetHermezKeeperAddress(&_WithdrawalDelayer.TransactOpts, newAddress)
  535. }
  536. // SetWhiteHackGroupAddress is a paid mutator transaction binding the contract method 0x0a4db01b.
  537. //
  538. // Solidity: function setWhiteHackGroupAddress(address newAddress) returns()
  539. func (_WithdrawalDelayer *WithdrawalDelayerTransactor) SetWhiteHackGroupAddress(opts *bind.TransactOpts, newAddress common.Address) (*types.Transaction, error) {
  540. return _WithdrawalDelayer.contract.Transact(opts, "setWhiteHackGroupAddress", newAddress)
  541. }
  542. // SetWhiteHackGroupAddress is a paid mutator transaction binding the contract method 0x0a4db01b.
  543. //
  544. // Solidity: function setWhiteHackGroupAddress(address newAddress) returns()
  545. func (_WithdrawalDelayer *WithdrawalDelayerSession) SetWhiteHackGroupAddress(newAddress common.Address) (*types.Transaction, error) {
  546. return _WithdrawalDelayer.Contract.SetWhiteHackGroupAddress(&_WithdrawalDelayer.TransactOpts, newAddress)
  547. }
  548. // SetWhiteHackGroupAddress is a paid mutator transaction binding the contract method 0x0a4db01b.
  549. //
  550. // Solidity: function setWhiteHackGroupAddress(address newAddress) returns()
  551. func (_WithdrawalDelayer *WithdrawalDelayerTransactorSession) SetWhiteHackGroupAddress(newAddress common.Address) (*types.Transaction, error) {
  552. return _WithdrawalDelayer.Contract.SetWhiteHackGroupAddress(&_WithdrawalDelayer.TransactOpts, newAddress)
  553. }
  554. // Withdrawal is a paid mutator transaction binding the contract method 0xde35f282.
  555. //
  556. // Solidity: function withdrawal(address _owner, address _token) returns()
  557. func (_WithdrawalDelayer *WithdrawalDelayerTransactor) Withdrawal(opts *bind.TransactOpts, _owner common.Address, _token common.Address) (*types.Transaction, error) {
  558. return _WithdrawalDelayer.contract.Transact(opts, "withdrawal", _owner, _token)
  559. }
  560. // Withdrawal is a paid mutator transaction binding the contract method 0xde35f282.
  561. //
  562. // Solidity: function withdrawal(address _owner, address _token) returns()
  563. func (_WithdrawalDelayer *WithdrawalDelayerSession) Withdrawal(_owner common.Address, _token common.Address) (*types.Transaction, error) {
  564. return _WithdrawalDelayer.Contract.Withdrawal(&_WithdrawalDelayer.TransactOpts, _owner, _token)
  565. }
  566. // Withdrawal is a paid mutator transaction binding the contract method 0xde35f282.
  567. //
  568. // Solidity: function withdrawal(address _owner, address _token) returns()
  569. func (_WithdrawalDelayer *WithdrawalDelayerTransactorSession) Withdrawal(_owner common.Address, _token common.Address) (*types.Transaction, error) {
  570. return _WithdrawalDelayer.Contract.Withdrawal(&_WithdrawalDelayer.TransactOpts, _owner, _token)
  571. }
  572. // WithdrawalDelayerInitializer is a paid mutator transaction binding the contract method 0x36e566ed.
  573. //
  574. // Solidity: function withdrawalDelayerInitializer(uint64 _initialWithdrawalDelay, address _initialHermezRollup, address _initialHermezKeeperAddress, address _initialHermezGovernanceDAOAddress, address _initialWhiteHackGroupAddress) returns()
  575. func (_WithdrawalDelayer *WithdrawalDelayerTransactor) WithdrawalDelayerInitializer(opts *bind.TransactOpts, _initialWithdrawalDelay uint64, _initialHermezRollup common.Address, _initialHermezKeeperAddress common.Address, _initialHermezGovernanceDAOAddress common.Address, _initialWhiteHackGroupAddress common.Address) (*types.Transaction, error) {
  576. return _WithdrawalDelayer.contract.Transact(opts, "withdrawalDelayerInitializer", _initialWithdrawalDelay, _initialHermezRollup, _initialHermezKeeperAddress, _initialHermezGovernanceDAOAddress, _initialWhiteHackGroupAddress)
  577. }
  578. // WithdrawalDelayerInitializer is a paid mutator transaction binding the contract method 0x36e566ed.
  579. //
  580. // Solidity: function withdrawalDelayerInitializer(uint64 _initialWithdrawalDelay, address _initialHermezRollup, address _initialHermezKeeperAddress, address _initialHermezGovernanceDAOAddress, address _initialWhiteHackGroupAddress) returns()
  581. func (_WithdrawalDelayer *WithdrawalDelayerSession) WithdrawalDelayerInitializer(_initialWithdrawalDelay uint64, _initialHermezRollup common.Address, _initialHermezKeeperAddress common.Address, _initialHermezGovernanceDAOAddress common.Address, _initialWhiteHackGroupAddress common.Address) (*types.Transaction, error) {
  582. return _WithdrawalDelayer.Contract.WithdrawalDelayerInitializer(&_WithdrawalDelayer.TransactOpts, _initialWithdrawalDelay, _initialHermezRollup, _initialHermezKeeperAddress, _initialHermezGovernanceDAOAddress, _initialWhiteHackGroupAddress)
  583. }
  584. // WithdrawalDelayerInitializer is a paid mutator transaction binding the contract method 0x36e566ed.
  585. //
  586. // Solidity: function withdrawalDelayerInitializer(uint64 _initialWithdrawalDelay, address _initialHermezRollup, address _initialHermezKeeperAddress, address _initialHermezGovernanceDAOAddress, address _initialWhiteHackGroupAddress) returns()
  587. func (_WithdrawalDelayer *WithdrawalDelayerTransactorSession) WithdrawalDelayerInitializer(_initialWithdrawalDelay uint64, _initialHermezRollup common.Address, _initialHermezKeeperAddress common.Address, _initialHermezGovernanceDAOAddress common.Address, _initialWhiteHackGroupAddress common.Address) (*types.Transaction, error) {
  588. return _WithdrawalDelayer.Contract.WithdrawalDelayerInitializer(&_WithdrawalDelayer.TransactOpts, _initialWithdrawalDelay, _initialHermezRollup, _initialHermezKeeperAddress, _initialHermezGovernanceDAOAddress, _initialWhiteHackGroupAddress)
  589. }
  590. // 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.
  591. type WithdrawalDelayerDepositIterator struct {
  592. Event *WithdrawalDelayerDeposit // Event containing the contract specifics and raw log
  593. contract *bind.BoundContract // Generic contract to use for unpacking event data
  594. event string // Event name to use for unpacking event data
  595. logs chan types.Log // Log channel receiving the found contract events
  596. sub ethereum.Subscription // Subscription for errors, completion and termination
  597. done bool // Whether the subscription completed delivering logs
  598. fail error // Occurred error to stop iteration
  599. }
  600. // Next advances the iterator to the subsequent event, returning whether there
  601. // are any more events found. In case of a retrieval or parsing error, false is
  602. // returned and Error() can be queried for the exact failure.
  603. func (it *WithdrawalDelayerDepositIterator) Next() bool {
  604. // If the iterator failed, stop iterating
  605. if it.fail != nil {
  606. return false
  607. }
  608. // If the iterator completed, deliver directly whatever's available
  609. if it.done {
  610. select {
  611. case log := <-it.logs:
  612. it.Event = new(WithdrawalDelayerDeposit)
  613. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  614. it.fail = err
  615. return false
  616. }
  617. it.Event.Raw = log
  618. return true
  619. default:
  620. return false
  621. }
  622. }
  623. // Iterator still in progress, wait for either a data or an error event
  624. select {
  625. case log := <-it.logs:
  626. it.Event = new(WithdrawalDelayerDeposit)
  627. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  628. it.fail = err
  629. return false
  630. }
  631. it.Event.Raw = log
  632. return true
  633. case err := <-it.sub.Err():
  634. it.done = true
  635. it.fail = err
  636. return it.Next()
  637. }
  638. }
  639. // Error returns any retrieval or parsing error occurred during filtering.
  640. func (it *WithdrawalDelayerDepositIterator) Error() error {
  641. return it.fail
  642. }
  643. // Close terminates the iteration process, releasing any pending underlying
  644. // resources.
  645. func (it *WithdrawalDelayerDepositIterator) Close() error {
  646. it.sub.Unsubscribe()
  647. return nil
  648. }
  649. // WithdrawalDelayerDeposit represents a Deposit event raised by the WithdrawalDelayer contract.
  650. type WithdrawalDelayerDeposit struct {
  651. Owner common.Address
  652. Token common.Address
  653. Amount *big.Int
  654. DepositTimestamp uint64
  655. Raw types.Log // Blockchain specific contextual infos
  656. }
  657. // FilterDeposit is a free log retrieval operation binding the contract event 0x41219b99485f78192a5b9b1be28c7d53c3a2bdbe7900ae40c79fae8d9d6108fd.
  658. //
  659. // Solidity: event Deposit(address indexed owner, address indexed token, uint192 amount, uint64 depositTimestamp)
  660. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) FilterDeposit(opts *bind.FilterOpts, owner []common.Address, token []common.Address) (*WithdrawalDelayerDepositIterator, error) {
  661. var ownerRule []interface{}
  662. for _, ownerItem := range owner {
  663. ownerRule = append(ownerRule, ownerItem)
  664. }
  665. var tokenRule []interface{}
  666. for _, tokenItem := range token {
  667. tokenRule = append(tokenRule, tokenItem)
  668. }
  669. logs, sub, err := _WithdrawalDelayer.contract.FilterLogs(opts, "Deposit", ownerRule, tokenRule)
  670. if err != nil {
  671. return nil, err
  672. }
  673. return &WithdrawalDelayerDepositIterator{contract: _WithdrawalDelayer.contract, event: "Deposit", logs: logs, sub: sub}, nil
  674. }
  675. // WatchDeposit is a free log subscription operation binding the contract event 0x41219b99485f78192a5b9b1be28c7d53c3a2bdbe7900ae40c79fae8d9d6108fd.
  676. //
  677. // Solidity: event Deposit(address indexed owner, address indexed token, uint192 amount, uint64 depositTimestamp)
  678. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) WatchDeposit(opts *bind.WatchOpts, sink chan<- *WithdrawalDelayerDeposit, owner []common.Address, token []common.Address) (event.Subscription, error) {
  679. var ownerRule []interface{}
  680. for _, ownerItem := range owner {
  681. ownerRule = append(ownerRule, ownerItem)
  682. }
  683. var tokenRule []interface{}
  684. for _, tokenItem := range token {
  685. tokenRule = append(tokenRule, tokenItem)
  686. }
  687. logs, sub, err := _WithdrawalDelayer.contract.WatchLogs(opts, "Deposit", ownerRule, tokenRule)
  688. if err != nil {
  689. return nil, err
  690. }
  691. return event.NewSubscription(func(quit <-chan struct{}) error {
  692. defer sub.Unsubscribe()
  693. for {
  694. select {
  695. case log := <-logs:
  696. // New log arrived, parse the event and forward to the user
  697. event := new(WithdrawalDelayerDeposit)
  698. if err := _WithdrawalDelayer.contract.UnpackLog(event, "Deposit", log); err != nil {
  699. return err
  700. }
  701. event.Raw = log
  702. select {
  703. case sink <- event:
  704. case err := <-sub.Err():
  705. return err
  706. case <-quit:
  707. return nil
  708. }
  709. case err := <-sub.Err():
  710. return err
  711. case <-quit:
  712. return nil
  713. }
  714. }
  715. }), nil
  716. }
  717. // ParseDeposit is a log parse operation binding the contract event 0x41219b99485f78192a5b9b1be28c7d53c3a2bdbe7900ae40c79fae8d9d6108fd.
  718. //
  719. // Solidity: event Deposit(address indexed owner, address indexed token, uint192 amount, uint64 depositTimestamp)
  720. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) ParseDeposit(log types.Log) (*WithdrawalDelayerDeposit, error) {
  721. event := new(WithdrawalDelayerDeposit)
  722. if err := _WithdrawalDelayer.contract.UnpackLog(event, "Deposit", log); err != nil {
  723. return nil, err
  724. }
  725. return event, nil
  726. }
  727. // 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.
  728. type WithdrawalDelayerEmergencyModeEnabledIterator struct {
  729. Event *WithdrawalDelayerEmergencyModeEnabled // Event containing the contract specifics and raw log
  730. contract *bind.BoundContract // Generic contract to use for unpacking event data
  731. event string // Event name to use for unpacking event data
  732. logs chan types.Log // Log channel receiving the found contract events
  733. sub ethereum.Subscription // Subscription for errors, completion and termination
  734. done bool // Whether the subscription completed delivering logs
  735. fail error // Occurred error to stop iteration
  736. }
  737. // Next advances the iterator to the subsequent event, returning whether there
  738. // are any more events found. In case of a retrieval or parsing error, false is
  739. // returned and Error() can be queried for the exact failure.
  740. func (it *WithdrawalDelayerEmergencyModeEnabledIterator) Next() bool {
  741. // If the iterator failed, stop iterating
  742. if it.fail != nil {
  743. return false
  744. }
  745. // If the iterator completed, deliver directly whatever's available
  746. if it.done {
  747. select {
  748. case log := <-it.logs:
  749. it.Event = new(WithdrawalDelayerEmergencyModeEnabled)
  750. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  751. it.fail = err
  752. return false
  753. }
  754. it.Event.Raw = log
  755. return true
  756. default:
  757. return false
  758. }
  759. }
  760. // Iterator still in progress, wait for either a data or an error event
  761. select {
  762. case log := <-it.logs:
  763. it.Event = new(WithdrawalDelayerEmergencyModeEnabled)
  764. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  765. it.fail = err
  766. return false
  767. }
  768. it.Event.Raw = log
  769. return true
  770. case err := <-it.sub.Err():
  771. it.done = true
  772. it.fail = err
  773. return it.Next()
  774. }
  775. }
  776. // Error returns any retrieval or parsing error occurred during filtering.
  777. func (it *WithdrawalDelayerEmergencyModeEnabledIterator) Error() error {
  778. return it.fail
  779. }
  780. // Close terminates the iteration process, releasing any pending underlying
  781. // resources.
  782. func (it *WithdrawalDelayerEmergencyModeEnabledIterator) Close() error {
  783. it.sub.Unsubscribe()
  784. return nil
  785. }
  786. // WithdrawalDelayerEmergencyModeEnabled represents a EmergencyModeEnabled event raised by the WithdrawalDelayer contract.
  787. type WithdrawalDelayerEmergencyModeEnabled struct {
  788. Raw types.Log // Blockchain specific contextual infos
  789. }
  790. // FilterEmergencyModeEnabled is a free log retrieval operation binding the contract event 0x2064d51aa5a8bd67928c7675e267e05c67ad5adf7c9098d0a602d01f36fda9c5.
  791. //
  792. // Solidity: event EmergencyModeEnabled()
  793. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) FilterEmergencyModeEnabled(opts *bind.FilterOpts) (*WithdrawalDelayerEmergencyModeEnabledIterator, error) {
  794. logs, sub, err := _WithdrawalDelayer.contract.FilterLogs(opts, "EmergencyModeEnabled")
  795. if err != nil {
  796. return nil, err
  797. }
  798. return &WithdrawalDelayerEmergencyModeEnabledIterator{contract: _WithdrawalDelayer.contract, event: "EmergencyModeEnabled", logs: logs, sub: sub}, nil
  799. }
  800. // WatchEmergencyModeEnabled is a free log subscription operation binding the contract event 0x2064d51aa5a8bd67928c7675e267e05c67ad5adf7c9098d0a602d01f36fda9c5.
  801. //
  802. // Solidity: event EmergencyModeEnabled()
  803. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) WatchEmergencyModeEnabled(opts *bind.WatchOpts, sink chan<- *WithdrawalDelayerEmergencyModeEnabled) (event.Subscription, error) {
  804. logs, sub, err := _WithdrawalDelayer.contract.WatchLogs(opts, "EmergencyModeEnabled")
  805. if err != nil {
  806. return nil, err
  807. }
  808. return event.NewSubscription(func(quit <-chan struct{}) error {
  809. defer sub.Unsubscribe()
  810. for {
  811. select {
  812. case log := <-logs:
  813. // New log arrived, parse the event and forward to the user
  814. event := new(WithdrawalDelayerEmergencyModeEnabled)
  815. if err := _WithdrawalDelayer.contract.UnpackLog(event, "EmergencyModeEnabled", log); err != nil {
  816. return err
  817. }
  818. event.Raw = log
  819. select {
  820. case sink <- event:
  821. case err := <-sub.Err():
  822. return err
  823. case <-quit:
  824. return nil
  825. }
  826. case err := <-sub.Err():
  827. return err
  828. case <-quit:
  829. return nil
  830. }
  831. }
  832. }), nil
  833. }
  834. // ParseEmergencyModeEnabled is a log parse operation binding the contract event 0x2064d51aa5a8bd67928c7675e267e05c67ad5adf7c9098d0a602d01f36fda9c5.
  835. //
  836. // Solidity: event EmergencyModeEnabled()
  837. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) ParseEmergencyModeEnabled(log types.Log) (*WithdrawalDelayerEmergencyModeEnabled, error) {
  838. event := new(WithdrawalDelayerEmergencyModeEnabled)
  839. if err := _WithdrawalDelayer.contract.UnpackLog(event, "EmergencyModeEnabled", log); err != nil {
  840. return nil, err
  841. }
  842. return event, nil
  843. }
  844. // 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.
  845. type WithdrawalDelayerEscapeHatchWithdrawalIterator struct {
  846. Event *WithdrawalDelayerEscapeHatchWithdrawal // Event containing the contract specifics and raw log
  847. contract *bind.BoundContract // Generic contract to use for unpacking event data
  848. event string // Event name to use for unpacking event data
  849. logs chan types.Log // Log channel receiving the found contract events
  850. sub ethereum.Subscription // Subscription for errors, completion and termination
  851. done bool // Whether the subscription completed delivering logs
  852. fail error // Occurred error to stop iteration
  853. }
  854. // Next advances the iterator to the subsequent event, returning whether there
  855. // are any more events found. In case of a retrieval or parsing error, false is
  856. // returned and Error() can be queried for the exact failure.
  857. func (it *WithdrawalDelayerEscapeHatchWithdrawalIterator) Next() bool {
  858. // If the iterator failed, stop iterating
  859. if it.fail != nil {
  860. return false
  861. }
  862. // If the iterator completed, deliver directly whatever's available
  863. if it.done {
  864. select {
  865. case log := <-it.logs:
  866. it.Event = new(WithdrawalDelayerEscapeHatchWithdrawal)
  867. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  868. it.fail = err
  869. return false
  870. }
  871. it.Event.Raw = log
  872. return true
  873. default:
  874. return false
  875. }
  876. }
  877. // Iterator still in progress, wait for either a data or an error event
  878. select {
  879. case log := <-it.logs:
  880. it.Event = new(WithdrawalDelayerEscapeHatchWithdrawal)
  881. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  882. it.fail = err
  883. return false
  884. }
  885. it.Event.Raw = log
  886. return true
  887. case err := <-it.sub.Err():
  888. it.done = true
  889. it.fail = err
  890. return it.Next()
  891. }
  892. }
  893. // Error returns any retrieval or parsing error occurred during filtering.
  894. func (it *WithdrawalDelayerEscapeHatchWithdrawalIterator) Error() error {
  895. return it.fail
  896. }
  897. // Close terminates the iteration process, releasing any pending underlying
  898. // resources.
  899. func (it *WithdrawalDelayerEscapeHatchWithdrawalIterator) Close() error {
  900. it.sub.Unsubscribe()
  901. return nil
  902. }
  903. // WithdrawalDelayerEscapeHatchWithdrawal represents a EscapeHatchWithdrawal event raised by the WithdrawalDelayer contract.
  904. type WithdrawalDelayerEscapeHatchWithdrawal struct {
  905. Who common.Address
  906. To common.Address
  907. Token common.Address
  908. Amount *big.Int
  909. Raw types.Log // Blockchain specific contextual infos
  910. }
  911. // FilterEscapeHatchWithdrawal is a free log retrieval operation binding the contract event 0xde200220117ba95c9a6c4a1a13bb06b0b7be90faa85c8fb4576630119f891693.
  912. //
  913. // Solidity: event EscapeHatchWithdrawal(address indexed who, address indexed to, address indexed token, uint256 amount)
  914. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) FilterEscapeHatchWithdrawal(opts *bind.FilterOpts, who []common.Address, to []common.Address, token []common.Address) (*WithdrawalDelayerEscapeHatchWithdrawalIterator, error) {
  915. var whoRule []interface{}
  916. for _, whoItem := range who {
  917. whoRule = append(whoRule, whoItem)
  918. }
  919. var toRule []interface{}
  920. for _, toItem := range to {
  921. toRule = append(toRule, toItem)
  922. }
  923. var tokenRule []interface{}
  924. for _, tokenItem := range token {
  925. tokenRule = append(tokenRule, tokenItem)
  926. }
  927. logs, sub, err := _WithdrawalDelayer.contract.FilterLogs(opts, "EscapeHatchWithdrawal", whoRule, toRule, tokenRule)
  928. if err != nil {
  929. return nil, err
  930. }
  931. return &WithdrawalDelayerEscapeHatchWithdrawalIterator{contract: _WithdrawalDelayer.contract, event: "EscapeHatchWithdrawal", logs: logs, sub: sub}, nil
  932. }
  933. // WatchEscapeHatchWithdrawal is a free log subscription operation binding the contract event 0xde200220117ba95c9a6c4a1a13bb06b0b7be90faa85c8fb4576630119f891693.
  934. //
  935. // Solidity: event EscapeHatchWithdrawal(address indexed who, address indexed to, address indexed token, uint256 amount)
  936. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) WatchEscapeHatchWithdrawal(opts *bind.WatchOpts, sink chan<- *WithdrawalDelayerEscapeHatchWithdrawal, who []common.Address, to []common.Address, token []common.Address) (event.Subscription, error) {
  937. var whoRule []interface{}
  938. for _, whoItem := range who {
  939. whoRule = append(whoRule, whoItem)
  940. }
  941. var toRule []interface{}
  942. for _, toItem := range to {
  943. toRule = append(toRule, toItem)
  944. }
  945. var tokenRule []interface{}
  946. for _, tokenItem := range token {
  947. tokenRule = append(tokenRule, tokenItem)
  948. }
  949. logs, sub, err := _WithdrawalDelayer.contract.WatchLogs(opts, "EscapeHatchWithdrawal", whoRule, toRule, tokenRule)
  950. if err != nil {
  951. return nil, err
  952. }
  953. return event.NewSubscription(func(quit <-chan struct{}) error {
  954. defer sub.Unsubscribe()
  955. for {
  956. select {
  957. case log := <-logs:
  958. // New log arrived, parse the event and forward to the user
  959. event := new(WithdrawalDelayerEscapeHatchWithdrawal)
  960. if err := _WithdrawalDelayer.contract.UnpackLog(event, "EscapeHatchWithdrawal", log); err != nil {
  961. return err
  962. }
  963. event.Raw = log
  964. select {
  965. case sink <- event:
  966. case err := <-sub.Err():
  967. return err
  968. case <-quit:
  969. return nil
  970. }
  971. case err := <-sub.Err():
  972. return err
  973. case <-quit:
  974. return nil
  975. }
  976. }
  977. }), nil
  978. }
  979. // ParseEscapeHatchWithdrawal is a log parse operation binding the contract event 0xde200220117ba95c9a6c4a1a13bb06b0b7be90faa85c8fb4576630119f891693.
  980. //
  981. // Solidity: event EscapeHatchWithdrawal(address indexed who, address indexed to, address indexed token, uint256 amount)
  982. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) ParseEscapeHatchWithdrawal(log types.Log) (*WithdrawalDelayerEscapeHatchWithdrawal, error) {
  983. event := new(WithdrawalDelayerEscapeHatchWithdrawal)
  984. if err := _WithdrawalDelayer.contract.UnpackLog(event, "EscapeHatchWithdrawal", log); err != nil {
  985. return nil, err
  986. }
  987. return event, nil
  988. }
  989. // WithdrawalDelayerNewHermezGovernanceDAOAddressIterator is returned from FilterNewHermezGovernanceDAOAddress and is used to iterate over the raw logs and unpacked data for NewHermezGovernanceDAOAddress events raised by the WithdrawalDelayer contract.
  990. type WithdrawalDelayerNewHermezGovernanceDAOAddressIterator struct {
  991. Event *WithdrawalDelayerNewHermezGovernanceDAOAddress // Event containing the contract specifics and raw log
  992. contract *bind.BoundContract // Generic contract to use for unpacking event data
  993. event string // Event name to use for unpacking event data
  994. logs chan types.Log // Log channel receiving the found contract events
  995. sub ethereum.Subscription // Subscription for errors, completion and termination
  996. done bool // Whether the subscription completed delivering logs
  997. fail error // Occurred error to stop iteration
  998. }
  999. // Next advances the iterator to the subsequent event, returning whether there
  1000. // are any more events found. In case of a retrieval or parsing error, false is
  1001. // returned and Error() can be queried for the exact failure.
  1002. func (it *WithdrawalDelayerNewHermezGovernanceDAOAddressIterator) Next() bool {
  1003. // If the iterator failed, stop iterating
  1004. if it.fail != nil {
  1005. return false
  1006. }
  1007. // If the iterator completed, deliver directly whatever's available
  1008. if it.done {
  1009. select {
  1010. case log := <-it.logs:
  1011. it.Event = new(WithdrawalDelayerNewHermezGovernanceDAOAddress)
  1012. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1013. it.fail = err
  1014. return false
  1015. }
  1016. it.Event.Raw = log
  1017. return true
  1018. default:
  1019. return false
  1020. }
  1021. }
  1022. // Iterator still in progress, wait for either a data or an error event
  1023. select {
  1024. case log := <-it.logs:
  1025. it.Event = new(WithdrawalDelayerNewHermezGovernanceDAOAddress)
  1026. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1027. it.fail = err
  1028. return false
  1029. }
  1030. it.Event.Raw = log
  1031. return true
  1032. case err := <-it.sub.Err():
  1033. it.done = true
  1034. it.fail = err
  1035. return it.Next()
  1036. }
  1037. }
  1038. // Error returns any retrieval or parsing error occurred during filtering.
  1039. func (it *WithdrawalDelayerNewHermezGovernanceDAOAddressIterator) Error() error {
  1040. return it.fail
  1041. }
  1042. // Close terminates the iteration process, releasing any pending underlying
  1043. // resources.
  1044. func (it *WithdrawalDelayerNewHermezGovernanceDAOAddressIterator) Close() error {
  1045. it.sub.Unsubscribe()
  1046. return nil
  1047. }
  1048. // WithdrawalDelayerNewHermezGovernanceDAOAddress represents a NewHermezGovernanceDAOAddress event raised by the WithdrawalDelayer contract.
  1049. type WithdrawalDelayerNewHermezGovernanceDAOAddress struct {
  1050. NewHermezGovernanceDAOAddress common.Address
  1051. Raw types.Log // Blockchain specific contextual infos
  1052. }
  1053. // FilterNewHermezGovernanceDAOAddress is a free log retrieval operation binding the contract event 0x03683be8debd93f8f5ff23dd03419bfcb9b8287a1868b0f130d858f03c3a08a1.
  1054. //
  1055. // Solidity: event NewHermezGovernanceDAOAddress(address newHermezGovernanceDAOAddress)
  1056. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) FilterNewHermezGovernanceDAOAddress(opts *bind.FilterOpts) (*WithdrawalDelayerNewHermezGovernanceDAOAddressIterator, error) {
  1057. logs, sub, err := _WithdrawalDelayer.contract.FilterLogs(opts, "NewHermezGovernanceDAOAddress")
  1058. if err != nil {
  1059. return nil, err
  1060. }
  1061. return &WithdrawalDelayerNewHermezGovernanceDAOAddressIterator{contract: _WithdrawalDelayer.contract, event: "NewHermezGovernanceDAOAddress", logs: logs, sub: sub}, nil
  1062. }
  1063. // WatchNewHermezGovernanceDAOAddress is a free log subscription operation binding the contract event 0x03683be8debd93f8f5ff23dd03419bfcb9b8287a1868b0f130d858f03c3a08a1.
  1064. //
  1065. // Solidity: event NewHermezGovernanceDAOAddress(address newHermezGovernanceDAOAddress)
  1066. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) WatchNewHermezGovernanceDAOAddress(opts *bind.WatchOpts, sink chan<- *WithdrawalDelayerNewHermezGovernanceDAOAddress) (event.Subscription, error) {
  1067. logs, sub, err := _WithdrawalDelayer.contract.WatchLogs(opts, "NewHermezGovernanceDAOAddress")
  1068. if err != nil {
  1069. return nil, err
  1070. }
  1071. return event.NewSubscription(func(quit <-chan struct{}) error {
  1072. defer sub.Unsubscribe()
  1073. for {
  1074. select {
  1075. case log := <-logs:
  1076. // New log arrived, parse the event and forward to the user
  1077. event := new(WithdrawalDelayerNewHermezGovernanceDAOAddress)
  1078. if err := _WithdrawalDelayer.contract.UnpackLog(event, "NewHermezGovernanceDAOAddress", log); err != nil {
  1079. return err
  1080. }
  1081. event.Raw = log
  1082. select {
  1083. case sink <- event:
  1084. case err := <-sub.Err():
  1085. return err
  1086. case <-quit:
  1087. return nil
  1088. }
  1089. case err := <-sub.Err():
  1090. return err
  1091. case <-quit:
  1092. return nil
  1093. }
  1094. }
  1095. }), nil
  1096. }
  1097. // ParseNewHermezGovernanceDAOAddress is a log parse operation binding the contract event 0x03683be8debd93f8f5ff23dd03419bfcb9b8287a1868b0f130d858f03c3a08a1.
  1098. //
  1099. // Solidity: event NewHermezGovernanceDAOAddress(address newHermezGovernanceDAOAddress)
  1100. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) ParseNewHermezGovernanceDAOAddress(log types.Log) (*WithdrawalDelayerNewHermezGovernanceDAOAddress, error) {
  1101. event := new(WithdrawalDelayerNewHermezGovernanceDAOAddress)
  1102. if err := _WithdrawalDelayer.contract.UnpackLog(event, "NewHermezGovernanceDAOAddress", log); err != nil {
  1103. return nil, err
  1104. }
  1105. return event, nil
  1106. }
  1107. // WithdrawalDelayerNewHermezKeeperAddressIterator is returned from FilterNewHermezKeeperAddress and is used to iterate over the raw logs and unpacked data for NewHermezKeeperAddress events raised by the WithdrawalDelayer contract.
  1108. type WithdrawalDelayerNewHermezKeeperAddressIterator struct {
  1109. Event *WithdrawalDelayerNewHermezKeeperAddress // Event containing the contract specifics and raw log
  1110. contract *bind.BoundContract // Generic contract to use for unpacking event data
  1111. event string // Event name to use for unpacking event data
  1112. logs chan types.Log // Log channel receiving the found contract events
  1113. sub ethereum.Subscription // Subscription for errors, completion and termination
  1114. done bool // Whether the subscription completed delivering logs
  1115. fail error // Occurred error to stop iteration
  1116. }
  1117. // Next advances the iterator to the subsequent event, returning whether there
  1118. // are any more events found. In case of a retrieval or parsing error, false is
  1119. // returned and Error() can be queried for the exact failure.
  1120. func (it *WithdrawalDelayerNewHermezKeeperAddressIterator) Next() bool {
  1121. // If the iterator failed, stop iterating
  1122. if it.fail != nil {
  1123. return false
  1124. }
  1125. // If the iterator completed, deliver directly whatever's available
  1126. if it.done {
  1127. select {
  1128. case log := <-it.logs:
  1129. it.Event = new(WithdrawalDelayerNewHermezKeeperAddress)
  1130. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1131. it.fail = err
  1132. return false
  1133. }
  1134. it.Event.Raw = log
  1135. return true
  1136. default:
  1137. return false
  1138. }
  1139. }
  1140. // Iterator still in progress, wait for either a data or an error event
  1141. select {
  1142. case log := <-it.logs:
  1143. it.Event = new(WithdrawalDelayerNewHermezKeeperAddress)
  1144. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1145. it.fail = err
  1146. return false
  1147. }
  1148. it.Event.Raw = log
  1149. return true
  1150. case err := <-it.sub.Err():
  1151. it.done = true
  1152. it.fail = err
  1153. return it.Next()
  1154. }
  1155. }
  1156. // Error returns any retrieval or parsing error occurred during filtering.
  1157. func (it *WithdrawalDelayerNewHermezKeeperAddressIterator) Error() error {
  1158. return it.fail
  1159. }
  1160. // Close terminates the iteration process, releasing any pending underlying
  1161. // resources.
  1162. func (it *WithdrawalDelayerNewHermezKeeperAddressIterator) Close() error {
  1163. it.sub.Unsubscribe()
  1164. return nil
  1165. }
  1166. // WithdrawalDelayerNewHermezKeeperAddress represents a NewHermezKeeperAddress event raised by the WithdrawalDelayer contract.
  1167. type WithdrawalDelayerNewHermezKeeperAddress struct {
  1168. NewHermezKeeperAddress common.Address
  1169. Raw types.Log // Blockchain specific contextual infos
  1170. }
  1171. // FilterNewHermezKeeperAddress is a free log retrieval operation binding the contract event 0xc1e9be84fce652abec6a6944f7ec5bbb40de18caa44c285b05a0de7e3ad9d016.
  1172. //
  1173. // Solidity: event NewHermezKeeperAddress(address newHermezKeeperAddress)
  1174. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) FilterNewHermezKeeperAddress(opts *bind.FilterOpts) (*WithdrawalDelayerNewHermezKeeperAddressIterator, error) {
  1175. logs, sub, err := _WithdrawalDelayer.contract.FilterLogs(opts, "NewHermezKeeperAddress")
  1176. if err != nil {
  1177. return nil, err
  1178. }
  1179. return &WithdrawalDelayerNewHermezKeeperAddressIterator{contract: _WithdrawalDelayer.contract, event: "NewHermezKeeperAddress", logs: logs, sub: sub}, nil
  1180. }
  1181. // WatchNewHermezKeeperAddress is a free log subscription operation binding the contract event 0xc1e9be84fce652abec6a6944f7ec5bbb40de18caa44c285b05a0de7e3ad9d016.
  1182. //
  1183. // Solidity: event NewHermezKeeperAddress(address newHermezKeeperAddress)
  1184. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) WatchNewHermezKeeperAddress(opts *bind.WatchOpts, sink chan<- *WithdrawalDelayerNewHermezKeeperAddress) (event.Subscription, error) {
  1185. logs, sub, err := _WithdrawalDelayer.contract.WatchLogs(opts, "NewHermezKeeperAddress")
  1186. if err != nil {
  1187. return nil, err
  1188. }
  1189. return event.NewSubscription(func(quit <-chan struct{}) error {
  1190. defer sub.Unsubscribe()
  1191. for {
  1192. select {
  1193. case log := <-logs:
  1194. // New log arrived, parse the event and forward to the user
  1195. event := new(WithdrawalDelayerNewHermezKeeperAddress)
  1196. if err := _WithdrawalDelayer.contract.UnpackLog(event, "NewHermezKeeperAddress", log); err != nil {
  1197. return err
  1198. }
  1199. event.Raw = log
  1200. select {
  1201. case sink <- event:
  1202. case err := <-sub.Err():
  1203. return err
  1204. case <-quit:
  1205. return nil
  1206. }
  1207. case err := <-sub.Err():
  1208. return err
  1209. case <-quit:
  1210. return nil
  1211. }
  1212. }
  1213. }), nil
  1214. }
  1215. // ParseNewHermezKeeperAddress is a log parse operation binding the contract event 0xc1e9be84fce652abec6a6944f7ec5bbb40de18caa44c285b05a0de7e3ad9d016.
  1216. //
  1217. // Solidity: event NewHermezKeeperAddress(address newHermezKeeperAddress)
  1218. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) ParseNewHermezKeeperAddress(log types.Log) (*WithdrawalDelayerNewHermezKeeperAddress, error) {
  1219. event := new(WithdrawalDelayerNewHermezKeeperAddress)
  1220. if err := _WithdrawalDelayer.contract.UnpackLog(event, "NewHermezKeeperAddress", log); err != nil {
  1221. return nil, err
  1222. }
  1223. return event, nil
  1224. }
  1225. // WithdrawalDelayerNewWhiteHackGroupAddressIterator is returned from FilterNewWhiteHackGroupAddress and is used to iterate over the raw logs and unpacked data for NewWhiteHackGroupAddress events raised by the WithdrawalDelayer contract.
  1226. type WithdrawalDelayerNewWhiteHackGroupAddressIterator struct {
  1227. Event *WithdrawalDelayerNewWhiteHackGroupAddress // Event containing the contract specifics and raw log
  1228. contract *bind.BoundContract // Generic contract to use for unpacking event data
  1229. event string // Event name to use for unpacking event data
  1230. logs chan types.Log // Log channel receiving the found contract events
  1231. sub ethereum.Subscription // Subscription for errors, completion and termination
  1232. done bool // Whether the subscription completed delivering logs
  1233. fail error // Occurred error to stop iteration
  1234. }
  1235. // Next advances the iterator to the subsequent event, returning whether there
  1236. // are any more events found. In case of a retrieval or parsing error, false is
  1237. // returned and Error() can be queried for the exact failure.
  1238. func (it *WithdrawalDelayerNewWhiteHackGroupAddressIterator) Next() bool {
  1239. // If the iterator failed, stop iterating
  1240. if it.fail != nil {
  1241. return false
  1242. }
  1243. // If the iterator completed, deliver directly whatever's available
  1244. if it.done {
  1245. select {
  1246. case log := <-it.logs:
  1247. it.Event = new(WithdrawalDelayerNewWhiteHackGroupAddress)
  1248. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1249. it.fail = err
  1250. return false
  1251. }
  1252. it.Event.Raw = log
  1253. return true
  1254. default:
  1255. return false
  1256. }
  1257. }
  1258. // Iterator still in progress, wait for either a data or an error event
  1259. select {
  1260. case log := <-it.logs:
  1261. it.Event = new(WithdrawalDelayerNewWhiteHackGroupAddress)
  1262. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1263. it.fail = err
  1264. return false
  1265. }
  1266. it.Event.Raw = log
  1267. return true
  1268. case err := <-it.sub.Err():
  1269. it.done = true
  1270. it.fail = err
  1271. return it.Next()
  1272. }
  1273. }
  1274. // Error returns any retrieval or parsing error occurred during filtering.
  1275. func (it *WithdrawalDelayerNewWhiteHackGroupAddressIterator) Error() error {
  1276. return it.fail
  1277. }
  1278. // Close terminates the iteration process, releasing any pending underlying
  1279. // resources.
  1280. func (it *WithdrawalDelayerNewWhiteHackGroupAddressIterator) Close() error {
  1281. it.sub.Unsubscribe()
  1282. return nil
  1283. }
  1284. // WithdrawalDelayerNewWhiteHackGroupAddress represents a NewWhiteHackGroupAddress event raised by the WithdrawalDelayer contract.
  1285. type WithdrawalDelayerNewWhiteHackGroupAddress struct {
  1286. NewWhiteHackGroupAddress common.Address
  1287. Raw types.Log // Blockchain specific contextual infos
  1288. }
  1289. // FilterNewWhiteHackGroupAddress is a free log retrieval operation binding the contract event 0x284ca073b8bdde2195ae98779277678773a99d7739e5f0477dc19a03fc689011.
  1290. //
  1291. // Solidity: event NewWhiteHackGroupAddress(address newWhiteHackGroupAddress)
  1292. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) FilterNewWhiteHackGroupAddress(opts *bind.FilterOpts) (*WithdrawalDelayerNewWhiteHackGroupAddressIterator, error) {
  1293. logs, sub, err := _WithdrawalDelayer.contract.FilterLogs(opts, "NewWhiteHackGroupAddress")
  1294. if err != nil {
  1295. return nil, err
  1296. }
  1297. return &WithdrawalDelayerNewWhiteHackGroupAddressIterator{contract: _WithdrawalDelayer.contract, event: "NewWhiteHackGroupAddress", logs: logs, sub: sub}, nil
  1298. }
  1299. // WatchNewWhiteHackGroupAddress is a free log subscription operation binding the contract event 0x284ca073b8bdde2195ae98779277678773a99d7739e5f0477dc19a03fc689011.
  1300. //
  1301. // Solidity: event NewWhiteHackGroupAddress(address newWhiteHackGroupAddress)
  1302. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) WatchNewWhiteHackGroupAddress(opts *bind.WatchOpts, sink chan<- *WithdrawalDelayerNewWhiteHackGroupAddress) (event.Subscription, error) {
  1303. logs, sub, err := _WithdrawalDelayer.contract.WatchLogs(opts, "NewWhiteHackGroupAddress")
  1304. if err != nil {
  1305. return nil, err
  1306. }
  1307. return event.NewSubscription(func(quit <-chan struct{}) error {
  1308. defer sub.Unsubscribe()
  1309. for {
  1310. select {
  1311. case log := <-logs:
  1312. // New log arrived, parse the event and forward to the user
  1313. event := new(WithdrawalDelayerNewWhiteHackGroupAddress)
  1314. if err := _WithdrawalDelayer.contract.UnpackLog(event, "NewWhiteHackGroupAddress", log); err != nil {
  1315. return err
  1316. }
  1317. event.Raw = log
  1318. select {
  1319. case sink <- event:
  1320. case err := <-sub.Err():
  1321. return err
  1322. case <-quit:
  1323. return nil
  1324. }
  1325. case err := <-sub.Err():
  1326. return err
  1327. case <-quit:
  1328. return nil
  1329. }
  1330. }
  1331. }), nil
  1332. }
  1333. // ParseNewWhiteHackGroupAddress is a log parse operation binding the contract event 0x284ca073b8bdde2195ae98779277678773a99d7739e5f0477dc19a03fc689011.
  1334. //
  1335. // Solidity: event NewWhiteHackGroupAddress(address newWhiteHackGroupAddress)
  1336. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) ParseNewWhiteHackGroupAddress(log types.Log) (*WithdrawalDelayerNewWhiteHackGroupAddress, error) {
  1337. event := new(WithdrawalDelayerNewWhiteHackGroupAddress)
  1338. if err := _WithdrawalDelayer.contract.UnpackLog(event, "NewWhiteHackGroupAddress", log); err != nil {
  1339. return nil, err
  1340. }
  1341. return event, nil
  1342. }
  1343. // 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.
  1344. type WithdrawalDelayerNewWithdrawalDelayIterator struct {
  1345. Event *WithdrawalDelayerNewWithdrawalDelay // Event containing the contract specifics and raw log
  1346. contract *bind.BoundContract // Generic contract to use for unpacking event data
  1347. event string // Event name to use for unpacking event data
  1348. logs chan types.Log // Log channel receiving the found contract events
  1349. sub ethereum.Subscription // Subscription for errors, completion and termination
  1350. done bool // Whether the subscription completed delivering logs
  1351. fail error // Occurred error to stop iteration
  1352. }
  1353. // Next advances the iterator to the subsequent event, returning whether there
  1354. // are any more events found. In case of a retrieval or parsing error, false is
  1355. // returned and Error() can be queried for the exact failure.
  1356. func (it *WithdrawalDelayerNewWithdrawalDelayIterator) Next() bool {
  1357. // If the iterator failed, stop iterating
  1358. if it.fail != nil {
  1359. return false
  1360. }
  1361. // If the iterator completed, deliver directly whatever's available
  1362. if it.done {
  1363. select {
  1364. case log := <-it.logs:
  1365. it.Event = new(WithdrawalDelayerNewWithdrawalDelay)
  1366. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1367. it.fail = err
  1368. return false
  1369. }
  1370. it.Event.Raw = log
  1371. return true
  1372. default:
  1373. return false
  1374. }
  1375. }
  1376. // Iterator still in progress, wait for either a data or an error event
  1377. select {
  1378. case log := <-it.logs:
  1379. it.Event = new(WithdrawalDelayerNewWithdrawalDelay)
  1380. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1381. it.fail = err
  1382. return false
  1383. }
  1384. it.Event.Raw = log
  1385. return true
  1386. case err := <-it.sub.Err():
  1387. it.done = true
  1388. it.fail = err
  1389. return it.Next()
  1390. }
  1391. }
  1392. // Error returns any retrieval or parsing error occurred during filtering.
  1393. func (it *WithdrawalDelayerNewWithdrawalDelayIterator) Error() error {
  1394. return it.fail
  1395. }
  1396. // Close terminates the iteration process, releasing any pending underlying
  1397. // resources.
  1398. func (it *WithdrawalDelayerNewWithdrawalDelayIterator) Close() error {
  1399. it.sub.Unsubscribe()
  1400. return nil
  1401. }
  1402. // WithdrawalDelayerNewWithdrawalDelay represents a NewWithdrawalDelay event raised by the WithdrawalDelayer contract.
  1403. type WithdrawalDelayerNewWithdrawalDelay struct {
  1404. WithdrawalDelay uint64
  1405. Raw types.Log // Blockchain specific contextual infos
  1406. }
  1407. // FilterNewWithdrawalDelay is a free log retrieval operation binding the contract event 0x6b3670ab51e04a9da086741e5fd1eb36ffaf1d661a15330c528e1f3e0c8722d7.
  1408. //
  1409. // Solidity: event NewWithdrawalDelay(uint64 withdrawalDelay)
  1410. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) FilterNewWithdrawalDelay(opts *bind.FilterOpts) (*WithdrawalDelayerNewWithdrawalDelayIterator, error) {
  1411. logs, sub, err := _WithdrawalDelayer.contract.FilterLogs(opts, "NewWithdrawalDelay")
  1412. if err != nil {
  1413. return nil, err
  1414. }
  1415. return &WithdrawalDelayerNewWithdrawalDelayIterator{contract: _WithdrawalDelayer.contract, event: "NewWithdrawalDelay", logs: logs, sub: sub}, nil
  1416. }
  1417. // WatchNewWithdrawalDelay is a free log subscription operation binding the contract event 0x6b3670ab51e04a9da086741e5fd1eb36ffaf1d661a15330c528e1f3e0c8722d7.
  1418. //
  1419. // Solidity: event NewWithdrawalDelay(uint64 withdrawalDelay)
  1420. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) WatchNewWithdrawalDelay(opts *bind.WatchOpts, sink chan<- *WithdrawalDelayerNewWithdrawalDelay) (event.Subscription, error) {
  1421. logs, sub, err := _WithdrawalDelayer.contract.WatchLogs(opts, "NewWithdrawalDelay")
  1422. if err != nil {
  1423. return nil, err
  1424. }
  1425. return event.NewSubscription(func(quit <-chan struct{}) error {
  1426. defer sub.Unsubscribe()
  1427. for {
  1428. select {
  1429. case log := <-logs:
  1430. // New log arrived, parse the event and forward to the user
  1431. event := new(WithdrawalDelayerNewWithdrawalDelay)
  1432. if err := _WithdrawalDelayer.contract.UnpackLog(event, "NewWithdrawalDelay", log); err != nil {
  1433. return err
  1434. }
  1435. event.Raw = log
  1436. select {
  1437. case sink <- event:
  1438. case err := <-sub.Err():
  1439. return err
  1440. case <-quit:
  1441. return nil
  1442. }
  1443. case err := <-sub.Err():
  1444. return err
  1445. case <-quit:
  1446. return nil
  1447. }
  1448. }
  1449. }), nil
  1450. }
  1451. // ParseNewWithdrawalDelay is a log parse operation binding the contract event 0x6b3670ab51e04a9da086741e5fd1eb36ffaf1d661a15330c528e1f3e0c8722d7.
  1452. //
  1453. // Solidity: event NewWithdrawalDelay(uint64 withdrawalDelay)
  1454. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) ParseNewWithdrawalDelay(log types.Log) (*WithdrawalDelayerNewWithdrawalDelay, error) {
  1455. event := new(WithdrawalDelayerNewWithdrawalDelay)
  1456. if err := _WithdrawalDelayer.contract.UnpackLog(event, "NewWithdrawalDelay", log); err != nil {
  1457. return nil, err
  1458. }
  1459. return event, nil
  1460. }
  1461. // 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.
  1462. type WithdrawalDelayerWithdrawIterator struct {
  1463. Event *WithdrawalDelayerWithdraw // Event containing the contract specifics and raw log
  1464. contract *bind.BoundContract // Generic contract to use for unpacking event data
  1465. event string // Event name to use for unpacking event data
  1466. logs chan types.Log // Log channel receiving the found contract events
  1467. sub ethereum.Subscription // Subscription for errors, completion and termination
  1468. done bool // Whether the subscription completed delivering logs
  1469. fail error // Occurred error to stop iteration
  1470. }
  1471. // Next advances the iterator to the subsequent event, returning whether there
  1472. // are any more events found. In case of a retrieval or parsing error, false is
  1473. // returned and Error() can be queried for the exact failure.
  1474. func (it *WithdrawalDelayerWithdrawIterator) Next() bool {
  1475. // If the iterator failed, stop iterating
  1476. if it.fail != nil {
  1477. return false
  1478. }
  1479. // If the iterator completed, deliver directly whatever's available
  1480. if it.done {
  1481. select {
  1482. case log := <-it.logs:
  1483. it.Event = new(WithdrawalDelayerWithdraw)
  1484. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1485. it.fail = err
  1486. return false
  1487. }
  1488. it.Event.Raw = log
  1489. return true
  1490. default:
  1491. return false
  1492. }
  1493. }
  1494. // Iterator still in progress, wait for either a data or an error event
  1495. select {
  1496. case log := <-it.logs:
  1497. it.Event = new(WithdrawalDelayerWithdraw)
  1498. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1499. it.fail = err
  1500. return false
  1501. }
  1502. it.Event.Raw = log
  1503. return true
  1504. case err := <-it.sub.Err():
  1505. it.done = true
  1506. it.fail = err
  1507. return it.Next()
  1508. }
  1509. }
  1510. // Error returns any retrieval or parsing error occurred during filtering.
  1511. func (it *WithdrawalDelayerWithdrawIterator) Error() error {
  1512. return it.fail
  1513. }
  1514. // Close terminates the iteration process, releasing any pending underlying
  1515. // resources.
  1516. func (it *WithdrawalDelayerWithdrawIterator) Close() error {
  1517. it.sub.Unsubscribe()
  1518. return nil
  1519. }
  1520. // WithdrawalDelayerWithdraw represents a Withdraw event raised by the WithdrawalDelayer contract.
  1521. type WithdrawalDelayerWithdraw struct {
  1522. Token common.Address
  1523. Owner common.Address
  1524. Amount *big.Int
  1525. Raw types.Log // Blockchain specific contextual infos
  1526. }
  1527. // FilterWithdraw is a free log retrieval operation binding the contract event 0x72608e45b52a95a12c2ac7f15ff53f92fc9572c9d84b6e6b5d7f0f7826cf3271.
  1528. //
  1529. // Solidity: event Withdraw(address indexed token, address indexed owner, uint192 amount)
  1530. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) FilterWithdraw(opts *bind.FilterOpts, token []common.Address, owner []common.Address) (*WithdrawalDelayerWithdrawIterator, error) {
  1531. var tokenRule []interface{}
  1532. for _, tokenItem := range token {
  1533. tokenRule = append(tokenRule, tokenItem)
  1534. }
  1535. var ownerRule []interface{}
  1536. for _, ownerItem := range owner {
  1537. ownerRule = append(ownerRule, ownerItem)
  1538. }
  1539. logs, sub, err := _WithdrawalDelayer.contract.FilterLogs(opts, "Withdraw", tokenRule, ownerRule)
  1540. if err != nil {
  1541. return nil, err
  1542. }
  1543. return &WithdrawalDelayerWithdrawIterator{contract: _WithdrawalDelayer.contract, event: "Withdraw", logs: logs, sub: sub}, nil
  1544. }
  1545. // WatchWithdraw is a free log subscription operation binding the contract event 0x72608e45b52a95a12c2ac7f15ff53f92fc9572c9d84b6e6b5d7f0f7826cf3271.
  1546. //
  1547. // Solidity: event Withdraw(address indexed token, address indexed owner, uint192 amount)
  1548. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) WatchWithdraw(opts *bind.WatchOpts, sink chan<- *WithdrawalDelayerWithdraw, token []common.Address, owner []common.Address) (event.Subscription, error) {
  1549. var tokenRule []interface{}
  1550. for _, tokenItem := range token {
  1551. tokenRule = append(tokenRule, tokenItem)
  1552. }
  1553. var ownerRule []interface{}
  1554. for _, ownerItem := range owner {
  1555. ownerRule = append(ownerRule, ownerItem)
  1556. }
  1557. logs, sub, err := _WithdrawalDelayer.contract.WatchLogs(opts, "Withdraw", tokenRule, ownerRule)
  1558. if err != nil {
  1559. return nil, err
  1560. }
  1561. return event.NewSubscription(func(quit <-chan struct{}) error {
  1562. defer sub.Unsubscribe()
  1563. for {
  1564. select {
  1565. case log := <-logs:
  1566. // New log arrived, parse the event and forward to the user
  1567. event := new(WithdrawalDelayerWithdraw)
  1568. if err := _WithdrawalDelayer.contract.UnpackLog(event, "Withdraw", log); err != nil {
  1569. return err
  1570. }
  1571. event.Raw = log
  1572. select {
  1573. case sink <- event:
  1574. case err := <-sub.Err():
  1575. return err
  1576. case <-quit:
  1577. return nil
  1578. }
  1579. case err := <-sub.Err():
  1580. return err
  1581. case <-quit:
  1582. return nil
  1583. }
  1584. }
  1585. }), nil
  1586. }
  1587. // ParseWithdraw is a log parse operation binding the contract event 0x72608e45b52a95a12c2ac7f15ff53f92fc9572c9d84b6e6b5d7f0f7826cf3271.
  1588. //
  1589. // Solidity: event Withdraw(address indexed token, address indexed owner, uint192 amount)
  1590. func (_WithdrawalDelayer *WithdrawalDelayerFilterer) ParseWithdraw(log types.Log) (*WithdrawalDelayerWithdraw, error) {
  1591. event := new(WithdrawalDelayerWithdraw)
  1592. if err := _WithdrawalDelayer.contract.UnpackLog(event, "Withdraw", log); err != nil {
  1593. return nil, err
  1594. }
  1595. return event, nil
  1596. }