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.

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