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.

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