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.

2764 lines
166 KiB

  1. // Code generated - DO NOT EDIT.
  2. // This file is a generated binding and any manual changes will be lost.
  3. package Hermez
  4. import (
  5. "math/big"
  6. "strings"
  7. ethereum "github.com/ethereum/go-ethereum"
  8. "github.com/ethereum/go-ethereum/accounts/abi"
  9. "github.com/ethereum/go-ethereum/accounts/abi/bind"
  10. "github.com/ethereum/go-ethereum/common"
  11. "github.com/ethereum/go-ethereum/core/types"
  12. "github.com/ethereum/go-ethereum/event"
  13. )
  14. // Reference imports to suppress errors if they are not otherwise used.
  15. var (
  16. _ = big.NewInt
  17. _ = strings.NewReader
  18. _ = ethereum.NotFound
  19. _ = bind.Bind
  20. _ = common.Big1
  21. _ = types.BloomLookup
  22. _ = event.NewSubscription
  23. )
  24. // HermezABI is the input ABI used to generate the binding from.
  25. const HermezABI = "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"name\":\"AddToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"ForgeBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"L1UserTxEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"UpdateFeeAddToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"UpdateFeeL1UserTx\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"UpdateForgeL1Timeout\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"UpdateTokenHEZ\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"WithdrawEvent\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"EXIT_IDX\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FIRST_IDX\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"L1_COORDINATOR_BYTES\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"L1_USER_BYTES\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"L2_BYTES\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LAST_IDX\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_AMOUNT_DEPOSIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_AMOUNT_L2\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_L1_TX\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_L1_USER_TX\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_TOKENS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_WITHDRAWAL_DELAY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NO_LIMIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NUM_BUCKETS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RFIELD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"addToken\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"buckets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"ceilUSD\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockStamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"withdrawals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockWithdrawalRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxWithdrawals\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"circuitVerifiers\",\"outputs\":[{\"internalType\":\"contractVerifierInterface\",\"name\":\"verifierInt\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxTx\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"consensusContract\",\"outputs\":[{\"internalType\":\"contractConsensusInterface\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"babyPubKey\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"loadAmountF\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"tokenID\",\"type\":\"uint32\"}],\"name\":\"createAccountDeposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"accountCreationAuthSig\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"babyPubKey\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"loadAmountF\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"tokenID\",\"type\":\"uint32\"}],\"name\":\"createAccountDepositFromRelayer\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"babyPubKey\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"loadAmountF\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"amountF\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"tokenID\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"toIdx\",\"type\":\"uint32\"}],\"name\":\"createAccountDepositTransfer\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentIdx\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentToForgeL1TxsNum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"fromIdx\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"loadAmountF\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"tokenID\",\"type\":\"uint32\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"fromIdx\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"loadAmountF\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"amountF\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"tokenID\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"toIdx\",\"type\":\"uint32\"}],\"name\":\"depositTransfer\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"exitNullifierMap\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"exitRoots\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeAddToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeL1UserTx\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"fromIdx\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"amountF\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"tokenID\",\"type\":\"uint32\"}],\"name\":\"forceExit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"fromIdx\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"amountF\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"tokenID\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"toIdx\",\"type\":\"uint32\"}],\"name\":\"forceTransfer\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[2]\",\"name\":\"proofA\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2][2]\",\"name\":\"proofB\",\"type\":\"uint256[2][2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"proofC\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint32\",\"name\":\"newLastIdx\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"newStRoot\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"newExitRoot\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"compressedL1CoordinatorTx\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"l2TxsData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"feeIdxCoordinator\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"verifierIdx\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"l1Batch\",\"type\":\"bool\"}],\"name\":\"forgeBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"forgeL1Timeout\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBatch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"queue\",\"type\":\"uint256\"}],\"name\":\"getQueue\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenID\",\"type\":\"uint256\"}],\"name\":\"getTokenAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"governanceAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_verifiers\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_maxTxVerifiers\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"_tokenHEZ\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_governanceAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_safetyBot\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_consensusContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_withdrawalContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_poseidon2Elements\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_poseidon3Elements\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_poseidon4Elements\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_feeAddToken\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_forgeL1Timeout\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_feeL1UserTx\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"_withdrawalDelay\",\"type\":\"uint64\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastL1L2Batch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastL1TxBatch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastToForgeL1TxsNum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"mapL1TxQueue\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"l1TxQueue\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"totalL1TxFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"safeMode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"safetyBot\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stateRoot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenExchange\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenHEZ\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenList\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenMap\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[4][5]\",\"name\":\"arrayBuckets\",\"type\":\"uint256[4][5]\"}],\"name\":\"updateBucketsParameters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newFeeAddToken\",\"type\":\"uint256\"}],\"name\":\"updateFeeAddToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newFeeL1UserTx\",\"type\":\"uint256\"}],\"name\":\"updateFeeL1UserTx\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newForgeL1Timeout\",\"type\":\"uint256\"}],\"name\":\"updateForgeL1Timeout\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"addressArray\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"valueArray\",\"type\":\"uint256[]\"}],\"name\":\"updateTokenExchange\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newTokenHEZ\",\"type\":\"address\"}],\"name\":\"updateTokenHEZ\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newWithdrawalDelay\",\"type\":\"uint64\"}],\"name\":\"updateWithdrawalDelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"tokenID\",\"type\":\"uint32\"},{\"internalType\":\"uint192\",\"name\":\"balance\",\"type\":\"uint192\"},{\"internalType\":\"uint256\",\"name\":\"babyPubKey\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"numExitRoot\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"siblings\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"idx\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"instantWithdraw\",\"type\":\"bool\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawalContract\",\"outputs\":[{\"internalType\":\"contractWithdrawalDelayerInterface\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawalDelay\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]"
  26. // HermezBin is the compiled bytecode used for deploying new contracts.
  27. var HermezBin = "0x608060405234801561001057600080fd5b50614f3b806100206000396000f3fe6080604052600436106103965760003560e01c806384ef9ed4116101dc578063bded9bb811610102578063d7d207c0116100a0578063ef4a5c4a1161006f578063ef4a5c4a146111d9578063f47c84c51461120d578063f6fb49e414611222578063ffd3dcf91461124c57610396565b8063d7d207c0146110bf578063e617115014611178578063e760bffc146111af578063eadf0337146111c457610396565b8063c56ca84e116100dc578063c56ca84e14610e06578063c8464ed114610e1b578063cadedd8214610f69578063d48bfca71461109957610396565b8063bded9bb814610ce2578063be8e25db14610cf7578063c36e512414610dd357610396565b80639ead72221161017a578063a7ab696111610149578063a7ab696114610c71578063ab94317414610ca3578063abe3219c14610cb8578063ac3851cd14610ccd57610396565b80639ead722214610bd0578063a238f9df14610bfa578063a4b457ca14610c0f578063a60034fb14610c5c57610396565b806393f4d252116101b657806393f4d25214610b085780639588eca214610b1d5780639612518a14610b325780639b51fb0d14610b7b57610396565b806384ef9ed414610ac95780638e65ab4f14610ade578063931cc2d414610af357610396565b80634fc51559116102c15780635bfac41f1161025f578063795053d31161022e578063795053d314610a7557806379a135e314610a8a5780637e4e06d714610a9f57806381842c2c14610ab457610396565b80635bfac41f1461099057806367ccdf38146109a557806368e95e53146109cf5780636d78e57214610a6057610396565b806355ed3fd21161029b57806355ed3fd214610788578063568bc1c51461092157806358de75c4146109665780635adb5bcd1461097b57610396565b80634fc515591461073457806350263f8c1461074957806351ff68b01461077357610396565b806330501fcb116103395780633787f591116103085780633787f591146106245780633ec0b07c1461066157806345d1c25b1461070a5780634d09f3fd1461071f57610396565b806330501fcb14610562578063314e5eda1461059557806335aa27aa146105bf578063363e2a22146105ed57610396565b80630cc4e8dc116103755780630cc4e8dc146104a85780630dd94b96146104d957806314fc04191461050c5780632bf41a2f1461053857610396565b80624aca6e1461039b57806308220e0f146103e25780630be8fffc14610409575b600080fd5b3480156103a757600080fd5b506103ce600480360360208110156103be57600080fd5b50356001600160a01b0316611261565b604080519115158252519081900360200190f35b3480156103ee57600080fd5b506103f7611276565b60408051918252519081900360200190f35b34801561041557600080fd5b506104336004803603602081101561042c57600080fd5b503561127c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561046d578181015183820152602001610455565b50505050905090810190601f16801561049a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104b457600080fd5b506104bd61131e565b604080516001600160a01b039092168252519081900360200190f35b3480156104e557600080fd5b506103f7600480360360208110156104fc57600080fd5b50356001600160a01b031661132d565b34801561051857600080fd5b506105366004803603602081101561052f57600080fd5b503561133f565b005b34801561054457600080fd5b506103ce6004803603602081101561055b57600080fd5b503561141c565b6105366004803603606081101561057857600080fd5b50803590602081013561ffff16906040013563ffffffff16611431565b3480156105a157600080fd5b50610536600480360360208110156105b857600080fd5b5035611621565b3480156105cb57600080fd5b506105d46116a9565b6040805163ffffffff9092168252519081900360200190f35b6105366004803603606081101561060357600080fd5b5063ffffffff813581169161ffff60208201351691604090910135166116ae565b6105366004803603608081101561063a57600080fd5b5063ffffffff813581169161ffff60208201351691604082013581169160600135166118e1565b34801561066d57600080fd5b5061068b6004803603602081101561068457600080fd5b5035611b40565b6040518080602001838152602001828103825284818151815260200191508051906020019080838360005b838110156106ce5781810151838201526020016106b6565b50505050905090810190601f1680156106fb5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561071657600080fd5b506103f7611be7565b34801561072b57600080fd5b506103f7611bed565b34801561074057600080fd5b506103f7611bf2565b34801561075557600080fd5b506103f76004803603602081101561076c57600080fd5b5035611bf7565b34801561077f57600080fd5b506103f7611c15565b34801561079457600080fd5b5061053660048036036101c08110156107ac57600080fd5b810190602081018135600160201b8111156107c657600080fd5b8201836020820111156107d857600080fd5b803590602001918460208302840111600160201b831117156107f957600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561084857600080fd5b82018360208201111561085a57600080fd5b803590602001918460208302840111600160201b8311171561087b57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550506001600160a01b038335811694506020840135811693604081013582169350606081013582169250608081013582169160a082013581169160c081013582169160e0820135169061010081013590610120810135906101408101359067ffffffffffffffff6101609091013516611c1a565b610536600480360360a081101561093757600080fd5b5080359061ffff602082013581169160408101359091169063ffffffff60608201358116916080013516611d80565b34801561097257600080fd5b506103f761204e565b34801561098757600080fd5b506103f7612072565b34801561099c57600080fd5b506105d461207a565b3480156109b157600080fd5b506104bd600480360360208110156109c857600080fd5b5035612086565b3480156109db57600080fd5b5061053660048036036102808110156109f357600080fd5b6040805160a0810190915290820191906102808201908260056000835b82821015610a515760408051608081810190925290808402860190600490839083908082843760009201919091525050508152600190910190602001610a10565b50929550612160945050505050565b348015610a6c57600080fd5b506103f7612329565b348015610a8157600080fd5b506104bd61232e565b348015610a9657600080fd5b506104bd61233d565b348015610aab57600080fd5b506103f761234c565b348015610ac057600080fd5b506104bd612352565b348015610ad557600080fd5b506103f7612361565b348015610aea57600080fd5b506105d4612367565b348015610aff57600080fd5b506104bd61236f565b348015610b1457600080fd5b506103f761237e565b348015610b2957600080fd5b506103f7612386565b610536600480360360a0811015610b4857600080fd5b5063ffffffff813581169161ffff602082013581169260408301359091169160608101358216916080909101351661238c565b348015610b8757600080fd5b50610ba560048036036020811015610b9e57600080fd5b503561268b565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b348015610bdc57600080fd5b506104bd60048036036020811015610bf357600080fd5b50356126bd565b348015610c0657600080fd5b506103f76126e4565b348015610c1b57600080fd5b50610c3960048036036020811015610c3257600080fd5b50356126eb565b604080516001600160a01b03909316835260208301919091528051918290030190f35b348015610c6857600080fd5b506103f7612720565b348015610c7d57600080fd5b50610c86612726565b6040805167ffffffffffffffff9092168252519081900360200190f35b348015610caf57600080fd5b506103f761273d565b348015610cc457600080fd5b50610536612743565b348015610cd957600080fd5b506103f76128c2565b348015610cee57600080fd5b506103f76128c8565b348015610d0357600080fd5b50610536600480360360e0811015610d1a57600080fd5b63ffffffff823516916001600160c01b036020820135169160408201359160608101359181019060a081016080820135600160201b811115610d5b57600080fd5b820183602082011115610d6d57600080fd5b803590602001918460208302840111600160201b83111715610d8e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550508235935050506020013515156128ce565b348015610ddf57600080fd5b5061053660048036036020811015610df657600080fd5b50356001600160a01b0316612cde565b348015610e1257600080fd5b506103f7612d7f565b348015610e2757600080fd5b506105366004803603610200811015610e3f57600080fd5b604082019060c083019063ffffffff610100850135169061012085013590610140860135908601866101808101610160820135600160201b811115610e8357600080fd5b820183602082011115610e9557600080fd5b803590602001918460018302840111600160201b83111715610eb657600080fd5b919390929091602081019035600160201b811115610ed357600080fd5b820183602082011115610ee557600080fd5b803590602001918460018302840111600160201b83111715610f0657600080fd5b919390929091602081019035600160201b811115610f2357600080fd5b820183602082011115610f3557600080fd5b803590602001918460018302840111600160201b83111715610f5657600080fd5b9193509150803590602001351515612d84565b348015610f7557600080fd5b5061053660048036036040811015610f8c57600080fd5b810190602081018135600160201b811115610fa657600080fd5b820183602082011115610fb857600080fd5b803590602001918460208302840111600160201b83111715610fd957600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561102857600080fd5b82018360208201111561103a57600080fd5b803590602001918460208302840111600160201b8311171561105b57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550613052945050505050565b610536600480360360208110156110af57600080fd5b50356001600160a01b0316613112565b610536600480360360808110156110d557600080fd5b810190602081018135600160201b8111156110ef57600080fd5b82018360208201111561110157600080fd5b803590602001918460018302840111600160201b8311171561112257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050823593505050602081013561ffff16906040013563ffffffff166132de565b6105366004803603606081101561118e57600080fd5b5063ffffffff813581169161ffff60208201351691604090910135166134e9565b3480156111bb57600080fd5b506103f76136dc565b3480156111d057600080fd5b506103f76136e2565b3480156111e557600080fd5b50610536600480360360208110156111fc57600080fd5b503567ffffffffffffffff166136e8565b34801561121957600080fd5b506103f7612367565b34801561122e57600080fd5b506105366004803603602081101561124557600080fd5b50356137c5565b34801561125857600080fd5b506105d461388d565b60586020526000908152604090205460ff1681565b60605481565b6000818152605c602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156113115780601f106112e657610100808354040283529160200191611311565b820191906000526020600020905b8154815290600101906020018083116112f457829003601f168201915b505050505090505b919050565b6050546001600160a01b031681565b60526020526000908152604090205481565b604f546001600160a01b0316331461138c576040805162461bcd60e51b81526020600482015260166024820152600080516020614dbe833981519152604482015290519081900360640190fd5b6702c68af0bb1400008111156113e1576040805162461bcd60e51b81526020600482015260156024820152740cccaca40d8cae6e640e8d0c2dc40605c6440cae8d605b1b604482015290519081900360640190fd5b60628190556040805182815290517f22f1e7967fe95a20c5a53350895f57d897240d953409d6377bc2f02df6b6e3789181900360200190a150565b60566020526000908152604090205460ff1681565b606254341015611476576040805162461bcd60e51b81526020600482018190526024820152600080516020614e84833981519152604482015290519081900360640190fd5b60006001600160a01b031660578263ffffffff168154811061149457fe5b6000918252602090912001546001600160a01b031614156114ea576040805162461bcd60e51b815260206004820152601d6024820152600080516020614d9e833981519152604482015290519081900360640190fd5b60006114f583613892565b9050600160801b811061153d576040805162461bcd60e51b815260206004820152601e6024820152600080516020614ee6833981519152604482015290519081900360640190fd5b61156f60578363ffffffff168154811061155357fe5b6000918252602090912001546001600160a01b031682306138d6565b6115ae576040805162461bcd60e51b815260206004820152601e6024820152600080516020614e3a833981519152604482015290519081900360640190fd5b6040805133606090811b6020830152603482018790526000605483018190526001600160f01b031960f088901b166058840152605a83018190526001600160e01b031960e087901b16605c8401529082015281516044818303018152606490910190915261161b90613963565b50505050565b604f546001600160a01b0316331461166e576040805162461bcd60e51b81526020600482015260166024820152600080516020614dbe833981519152604482015290519081900360640190fd5b60598190556040805182815290517fd1c873cd16013f0dc5f37992c0d12794389698512895ec036a568e393b46e3c19181900360200190a150565b60ff81565b6062543410156116f3576040805162461bcd60e51b81526020600482018190526024820152600080516020614e84833981519152604482015290519081900360640190fd5b60006001600160a01b031660578263ffffffff168154811061171157fe5b6000918252602090912001546001600160a01b03161415611767576040805162461bcd60e51b815260206004820152601d6024820152600080516020614d9e833981519152604482015290519081900360640190fd5b600061177283613892565b9050600160801b81106117ba576040805162461bcd60e51b815260206004820152601e6024820152600080516020614ee6833981519152604482015290519081900360640190fd5b60ff63ffffffff85161180156117dc575060635463ffffffff90811690851611155b61181f576040805162461bcd60e51b815260206004820152600f60248201526e0d2dcecc2d8d2c840cce4deda92c8f608b1b604482015290519081900360640190fd5b61183560578363ffffffff168154811061155357fe5b611874576040805162461bcd60e51b815260206004820152601e6024820152600080516020614e3a833981519152604482015290519081900360640190fd5b60408051600060208201819052603482018190526001600160e01b031960e088811b821660548501526001600160f01b031960f089901b166058850152605a840183905286901b16605c830152606082015281516044818303018152606490910190915261161b90613963565b606254341015611926576040805162461bcd60e51b81526020600482018190526024820152600080516020614e84833981519152604482015290519081900360640190fd5b60006001600160a01b031660578363ffffffff168154811061194457fe5b6000918252602090912001546001600160a01b0316141561199a576040805162461bcd60e51b815260206004820152601d6024820152600080516020614d9e833981519152604482015290519081900360640190fd5b60006119a584613892565b9050600160c01b81106119f8576040805162461bcd60e51b81526020600482015260166024820152750c2dadeeadce840d8c2e4cecae440e8d0c2dc40dac2f60531b604482015290519081900360640190fd5b60ff63ffffffff8616118015611a1a575060635463ffffffff90811690861611155b611a5d576040805162461bcd60e51b815260206004820152600f60248201526e0d2dcecc2d8d2c840cce4deda92c8f608b1b604482015290519081900360640190fd5b60ff63ffffffff8316118015611a7f575060635463ffffffff90811690831611155b611ac2576040805162461bcd60e51b815260206004820152600f60248201526e0d2dcecc2d8d2c840cce4deda92c8f608b1b604482015290519081900360640190fd5b6040805133606090811b60208301526000603483018190526001600160e01b031960e08a811b8216605486015260588501929092526001600160f01b031960f08a901b16605a85015287821b8116605c8501529086901b1690820152815160448183030181526064909101909152611b3990613963565b5050505050565b605c6020908152600091825260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452909291839190830182828015611bd75780601f10611bac57610100808354040283529160200191611bd7565b820191906000526020600020905b815481529060010190602001808311611bba57829003601f168201915b5050505050908060010154905082565b61010081565b606581565b600b81565b60558181548110611c0457fe5b600091825260209091200154905081565b608081565b600054610100900460ff1680611c335750611c33613b48565b80611c41575060005460ff16155b611c7c5760405162461bcd60e51b815260040180806020018281038252602e815260200180614e0c602e913960400191505060405180910390fd5b600054610100900460ff16158015611ca7576000805460ff1961ff0019909116610100171660011790555b611cb18f8f613b4e565b89605b60006101000a8154816001600160a01b0302191690836001600160a01b031602179055508460598190555083605e819055508260628190555060ff606360006101000a81548163ffffffff021916908363ffffffff1602179055508c605a60006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000605f819055506001606181905550611d51888888613bf4565b611d5d8c8c848c613cd5565b8015611d6f576000805461ff00191690555b505050505050505050505050505050565b606254341015611dc5576040805162461bcd60e51b81526020600482018190526024820152600080516020614e84833981519152604482015290519081900360640190fd5b60006001600160a01b031660578363ffffffff1681548110611de357fe5b6000918252602090912001546001600160a01b03161415611e39576040805162461bcd60e51b815260206004820152601d6024820152600080516020614d9e833981519152604482015290519081900360640190fd5b6000611e4485613892565b9050600160801b8110611e9e576040805162461bcd60e51b815260206004820152601e60248201527f6465706f73697420616d6f756e74206c6172676572207468616e204d61780000604482015290519081900360640190fd5b6000611ea985613892565b9050600160c01b8110611efc576040805162461bcd60e51b81526020600482015260166024820152750c2dadeeadce840d8c2e4cecae440e8d0c2dc40dac2f60531b604482015290519081900360640190fd5b60ff63ffffffff8416118015611f1e575060635463ffffffff90811690841611155b611f61576040805162461bcd60e51b815260206004820152600f60248201526e0d2dcecc2d8d2c840cce4deda92c8f608b1b604482015290519081900360640190fd5b611f9360578563ffffffff1681548110611f7757fe5b6000918252602090912001546001600160a01b031683306138d6565b611fd2576040805162461bcd60e51b815260206004820152601e6024820152600080516020614e3a833981519152604482015290519081900360640190fd5b6040805133606090811b6020830152603482018a9052600060548301526001600160f01b031960f08a811b8216605885015289901b16605a8301526001600160e01b031960e088811b8216605c85015287901b169082015281516044818303018152606490910190915261204590613963565b50505050505050565b7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181565b600160c01b81565b60635463ffffffff1681565b6057546000906120dd576040805162461bcd60e51b815260206004820152601a60248201527f546865726520617265206e6f20746f6b656e73206c6973746564000000000000604482015290519081900360640190fd5b60575460001901821115612138576040805162461bcd60e51b815260206004820152601f60248201527f546f6b656e206964656e74696669657220646f6573206e6f7420657869737400604482015290519081900360640190fd5b6057828154811061214557fe5b6000918252602090912001546001600160a01b031692915050565b604f546001600160a01b031633146121ad576040805162461bcd60e51b81526020600482015260166024820152600080516020614dbe833981519152604482015290519081900360640190fd5b60005b60058163ffffffff16101561232557818163ffffffff16600581106121d157fe5b602002015160016020020151828263ffffffff16600581106121ef57fe5b60200201516060015110156122355760405162461bcd60e51b815260040180806020018281038252602e815260200180614dde602e913960400191505060405180910390fd5b6040518060a00160405280838363ffffffff166005811061225257fe5b6020020151600060200201518152602001438152602001838363ffffffff166005811061227b57fe5b6020020151600160200201518152602001838363ffffffff166005811061229e57fe5b6020020151600260200201518152602001838363ffffffff16600581106122c157fe5b6020020151606001519052603663ffffffff8316600581106122df57fe5b60050201600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015590505080806001019150506121b0565b5050565b604481565b604f546001600160a01b031681565b605a546001600160a01b031681565b605e5481565b6051546001600160a01b031681565b605f5481565b63ffffffff81565b605b546001600160a01b031681565b600160801b81565b60545481565b6062543410156123d1576040805162461bcd60e51b81526020600482018190526024820152600080516020614e84833981519152604482015290519081900360640190fd5b60006001600160a01b031660578363ffffffff16815481106123ef57fe5b6000918252602090912001546001600160a01b03161415612445576040805162461bcd60e51b815260206004820152601d6024820152600080516020614d9e833981519152604482015290519081900360640190fd5b600061245085613892565b9050600160801b8110612498576040805162461bcd60e51b815260206004820152601e6024820152600080516020614ee6833981519152604482015290519081900360640190fd5b60006124a385613892565b9050600160c01b81106124f6576040805162461bcd60e51b81526020600482015260166024820152750c2dadeeadce840d8c2e4cecae440e8d0c2dc40dac2f60531b604482015290519081900360640190fd5b60ff63ffffffff8816118015612518575060635463ffffffff90811690881611155b61255b576040805162461bcd60e51b815260206004820152600f60248201526e0d2dcecc2d8d2c840cce4deda92c8f608b1b604482015290519081900360640190fd5b60ff63ffffffff841611801561257d575060635463ffffffff90811690841611155b6125c0576040805162461bcd60e51b815260206004820152600f60248201526e0d2dcecc2d8d2c840cce4deda92c8f608b1b604482015290519081900360640190fd5b6125d660578563ffffffff1681548110611f7757fe5b612615576040805162461bcd60e51b815260206004820152601e6024820152600080516020614e3a833981519152604482015290519081900360640190fd5b6040805133606090811b6020830152600060348301526001600160e01b031960e08b811b821660548501526001600160f01b031960f08c811b821660588701528b901b16605a85015288811b8216605c85015287901b169082015281516044818303018152606490910190915261204590613963565b6036816005811061269857fe5b6005020180546001820154600283015460038401546004909401549294509092909185565b605781815481106126ca57fe5b6000918252602090912001546001600160a01b0316905081565b6212750081565b605381815481106126f857fe5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b61ffff81565b605054600160a01b900467ffffffffffffffff1681565b60625481565b6050546001600160a01b03163314806127665750604f546001600160a01b031633145b6127b7576040805162461bcd60e51b815260206004820152601a60248201527f4f6e6c79207361666520626f74206f7220676f766572616e6365000000000000604482015290519081900360640190fd5b60005b60058163ffffffff16101561284e576040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525060368263ffffffff166005811061280857fe5b60050201600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015590505080806001019150506127ba565b5060515460505460408051630e670af560e01b8152600160a01b90920467ffffffffffffffff166004830152516001600160a01b0390921691630e670af59160248082019260009290919082900301818387803b1580156128ae57600080fd5b505af115801561161b573d6000803e3d6000fd5b60555490565b60595481565b60606128e7886000896001600160c01b03168933613dd8565b905060006128f482613ee5565b905060006055600188038154811061290857fe5b600091825260209182902001546040805160038082526080820190925291935060609282018380368337019050509050828160008151811061294657fe5b602002602001018181525050600188038160018151811061296357fe5b602002602001018181525050818160028151811061297d57fe5b602002602001018181525050600061299482613f9a565b60008181526056602052604090205490915060ff16156129fb576040805162461bcd60e51b815260206004820152601e60248201527f776974686472617720686173206265656e20616c726561647920646f6e650000604482015290519081900360640190fd5b612a0783898987613ff7565b1515600114612a4d576040805162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b210383937b7b360991b604482015290519081900360640190fd5b6000818152605660205260409020805460ff191660011790558515612b8357612aa660578d63ffffffff1681548110612a8257fe5b6000918252602090912001546001600160a01b03166001600160c01b038d1661407e565b1515600114612afc576040805162461bcd60e51b815260206004820152601860248201527f6d7573742062652064656c617965642077697468647261770000000000000000604482015290519081900360640190fd5b612b3760578d63ffffffff1681548110612b1257fe5b6000918252602090912001546001600160a01b0316336001600160c01b038e16614189565b612b7e576040805162461bcd60e51b81526020600482015260136024820152724661696c20455243323020776974686472617760681b604482015290519081900360640190fd5b612c95565b612bc560578d63ffffffff1681548110612b9957fe5b6000918252602090912001546051546001600160a01b03918216916001600160c01b038f1691166141e2565b50605160009054906101000a90046001600160a01b03166001600160a01b031663cfc0b6413360578f63ffffffff1681548110612bfe57fe5b9060005260206000200160009054906101000a90046001600160a01b03168e6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b03168152602001826001600160c01b031681526020019350505050600060405180830381600087803b158015612c7c57600080fd5b505af1158015612c90573d6000803e3d6000fd5b505050505b60408051888152602081018b905281517f5188a9b05231b9c11371d3781428e6cd9b070184775722b58267d4d6f580a21b929181900390910190a1505050505050505050505050565b604f546001600160a01b03163314612d2b576040805162461bcd60e51b81526020600482015260166024820152600080516020614dbe833981519152604482015290519081900360640190fd5b605a80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4d1f446ae5e3b4a60fd49ae4618238eaeb54a43bbae8aa9fbfded816be9faeb19181900360200190a150565b600581565b605b546040805163041d8fb560e51b815233600482015243602482015290516001600160a01b03909216916383b1f6a091604480820192602092909190829003018186803b158015612dd557600080fd5b505afa158015612de9573d6000803e3d6000fd5b505050506040513d6020811015612dff57600080fd5b50511515600114612e48576040805162461bcd60e51b815260206004820152600e60248201526d1a5b98dbdc9c9958dd081cdb1bdd60921b604482015290519081900360640190fd5b6000612ed78c8c8c8c8c8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508c92508d915061423b9050565b9050612ee68f8f8f84876144e3565b60548b9055605580546001810182556000919091527f71beda120aafdd3bb922b360a066d10b7ce81d7ac2ad9874daac46e2282f6b45018a90556063805463ffffffff191663ffffffff8e161790558115612f4d5743605f55612f4833614623565b612fa7565b43605e54605f540111612fa7576040805162461bcd60e51b815260206004820152601d60248201527f74696d656f75742c206d75737420666f726765204c314c324261746368000000604482015290519081900360640190fd5b605b54604080516309cb4a2f60e31b815233600482015290516001600160a01b0390921691634e5a51789160248082019260009290919082900301818387803b158015612ff357600080fd5b505af1158015613007573d6000803e3d6000fd5b505060555460408051918252517f9b346777a734ffed277bddd87dee3490eb9dcc5378c095eac5af3e0f5da04f419350908190036020019150a1505050505050505050505050505050565b604f546001600160a01b0316331461309f576040805162461bcd60e51b81526020600482015260166024820152600080516020614dbe833981519152604482015290519081900360640190fd5b60005b82518163ffffffff16101561310d57818163ffffffff16815181106130c357fe5b602002602001015160526000858463ffffffff16815181106130e157fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020556001016130a2565b505050565b60575463ffffffff1015613162576040805162461bcd60e51b81526020600482015260126024820152711d1bdad95b881b1a5cdd081a5cc8199d5b1b60721b604482015290519081900360640190fd5b6001600160a01b03811660009081526058602052604090205460ff16156131d0576040805162461bcd60e51b815260206004820152601b60248201527f746f6b656e206164647265737320616c72656164792061646465640000000000604482015290519081900360640190fd5b6057805460018082019092557fe8e5595d268aaa85b36c3557e9d96c14a4fffaee9f45bcae0c407968a71096300180546001600160a01b0319166001600160a01b038481169182179092556000908152605860205260409020805460ff1916909217909155605a54605954604f5461324c9392831692166138d6565b61328b576040805162461bcd60e51b815260206004820152601e6024820152600080516020614e3a833981519152604482015290519081900360640190fd5b605754604080516001600160a01b038416815260001990920163ffffffff16602083015280517fcb73d161edb7cd4fb1d92fedfd2555384fd997fd44ab507656f8c81e15747dde9281900390910190a150565b606254341015613323576040805162461bcd60e51b81526020600482018190526024820152600080516020614e84833981519152604482015290519081900360640190fd5b60006001600160a01b031660578263ffffffff168154811061334157fe5b6000918252602090912001546001600160a01b03161415613397576040805162461bcd60e51b815260206004820152601d6024820152600080516020614d9e833981519152604482015290519081900360640190fd5b60006133a283613892565b9050600160801b81106133ea576040805162461bcd60e51b815260206004820152601e6024820152600080516020614ee6833981519152604482015290519081900360640190fd5b61340060578363ffffffff168154811061155357fe5b61343f576040805162461bcd60e51b815260206004820152601e6024820152600080516020614e3a833981519152604482015290519081900360640190fd5b602085015160408601516060870151600090811a90613460888585856146a7565b60408051606083811b6bffffffffffffffffffffffff19166020830152603482018c905260006054830181905260f08c901b6001600160f01b0319166058840152605a830181905260e08b901b6001600160e01b031916605c840152908201528151808203604401815260649091019091529091506134de90613963565b505050505050505050565b60625434101561352e576040805162461bcd60e51b81526020600482018190526024820152600080516020614e84833981519152604482015290519081900360640190fd5b60006001600160a01b031660578263ffffffff168154811061354c57fe5b6000918252602090912001546001600160a01b031614156135a2576040805162461bcd60e51b815260206004820152601d6024820152600080516020614d9e833981519152604482015290519081900360640190fd5b60006135ad83613892565b9050600160c01b8110613600576040805162461bcd60e51b81526020600482015260166024820152750c2dadeeadce840d8c2e4cecae440e8d0c2dc40dac2f60531b604482015290519081900360640190fd5b60ff63ffffffff8516118015613622575060635463ffffffff90811690851611155b613665576040805162461bcd60e51b815260206004820152600f60248201526e0d2dcecc2d8d2c840cce4deda92c8f608b1b604482015290519081900360640190fd5b6040805133606090811b60208301526000603483018190526001600160e01b031960e089811b8216605486015260588501929092526001600160f01b031960f089901b16605a8501529086901b16605c830152600160e01b9082015281516044818303018152606490910190915261161b90613963565b60615481565b605d5481565b604f546001600160a01b03163314613735576040805162461bcd60e51b81526020600482015260166024820152600080516020614dbe833981519152604482015290519081900360640190fd5b621275008167ffffffffffffffff161115613797576040805162461bcd60e51b815260206004820152601c60248201527f45786365656473204d41585f5749544844524157414c5f44454c415900000000604482015290519081900360640190fd5b6050805467ffffffffffffffff909216600160a01b0267ffffffffffffffff60a01b19909216919091179055565b604f546001600160a01b03163314613812576040805162461bcd60e51b81526020600482015260166024820152600080516020614dbe833981519152604482015290519081900360640190fd5b60f08111156138525760405162461bcd60e51b815260040180806020018281038252602a815260200180614e5a602a913960400191505060405180910390fd5b605e8190556040805182815290517fd8b1725791f444b20ed722612b608bdabde06e3f099a1234b4a4caa5dcc19eb89181900360200190a150565b600181565b60006103ff8216601f600b84901c166001600a85811c8216919083900a9081850290831480156138c157508315155b156138cc5760028204015b9695505050505050565b604080516323b872dd60e01b81523360048201526001600160a01b0383811660248301526044820185905291516000928616916323b872dd91606480830192602092919082900301818787803b15801561392f57600080fd5b505af1158015613943573d6000803e3d6000fd5b505050506040513d602081101561395957600080fd5b5051949350505050565b6000605c600060615481526020019081526020016000209050806000018260405160200180838054600181600116156101000203166002900480156139df5780601f106139bd5761010080835404028352918201916139df565b820191906000526020600020905b8154815290600101906020018083116139cb575b5050825160208401908083835b60208310613a0b5780518252601f1990920191602091820191016139ec565b51815160209384036101000a60001901801990921691161790526040805192909401828103601f190183529093528051613a4e965087955092019250614cca9050565b5080546000906044906002600019610100600184161502019091160404905060006062541115613a875760625460018301805490910190555b7f44ed7960659190edb7acf74ac1bd6c7e8803bfa3aebe02c4599a0770fac3f88483606154836040518080602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015613af6578181015183820152602001613ade565b50505050905090810190601f168015613b235780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a16080811061310d57606180546001019055505050565b303b1590565b60005b82518161ffff16101561310d5760536040518060400160405280858461ffff1681518110613b7b57fe5b60200260200101516001600160a01b03168152602001848461ffff1681518110613ba157fe5b602090810291909101810151909152825460018082018555600094855293829020835160029092020180546001600160a01b0319166001600160a01b039092169190911781559101519082015501613b51565b600054610100900460ff1680613c0d5750613c0d613b48565b80613c1b575060005460ff16155b613c565760405162461bcd60e51b815260040180806020018281038252602e815260200180614e0c602e913960400191505060405180910390fd5b600054610100900460ff16158015613c81576000805460ff1961ff0019909116610100171660011790555b603380546001600160a01b038087166001600160a01b031992831617909255603480548684169083161790556035805492851692909116919091179055801561161b576000805461ff001916905550505050565b600054610100900460ff1680613cee5750613cee613b48565b80613cfc575060005460ff16155b613d375760405162461bcd60e51b815260040180806020018281038252602e815260200180614e0c602e913960400191505060405180910390fd5b600054610100900460ff16158015613d62576000805460ff1961ff0019909116610100171660011790555b604f80546001600160a01b03199081166001600160a01b03888116919091179092556050805482168784161767ffffffffffffffff60a01b1916600160a01b67ffffffffffffffff881602179055605180549091169184169190911790558015611b39576000805461ff00191690555050505050565b60408051600480825260a08201909252606091829190602082016080803683370190505090508663ffffffff1681600081518110613e1257fe5b60200260200101818152505060208665ffffffffffff16901b65ffffffffffff1681600081518110613e4057fe5b602002602001018181511791508181525050604860ff85901c901b81600081518110613e6857fe5b6020026020010181815117915081815250508481600181518110613e8857fe5b602090810291909101015280516001600160ff1b0385169082906002908110613ead57fe5b602002602001018181525050826001600160a01b031681600381518110613ed057fe5b60209081029190910101529695505050505050565b60355460405163311083ed60e21b81526020600482018181528451602484015284516000946001600160a01b03169363c4420fb49387939283926044019180860191028083838b5b83811015613f45578181015183820152602001613f2d565b505050509050019250505060206040518083038186803b158015613f6857600080fd5b505afa158015613f7c573d6000803e3d6000fd5b505050506040513d6020811015613f9257600080fd5b505192915050565b60345460405163311083ed60e21b81526020600482018181528451602484015284516000946001600160a01b03169363c4420fb49387939283926044019185810191028083838b8315613f45578181015183820152602001613f2d565b6000806140048484614775565b8551909150600090600019015b600081126140715786818151811061402557fe5b6020026020010151915060008187600082121561403e57fe5b6001911c81161490508061405b5761405684846147fb565b614065565b61406583856147fb565b93505060001901614011565b5050909414949350505050565b60008061408b848461485e565b90506000614098826148ae565b905061ffff811461417c576140ac81614945565b6000603682600581106140bb57fe5b600502016002015411614115576040805162461bcd60e51b815260206004820152601960248201527f696e7374616e74207769746864726177616c2077617374656400000000000000604482015290519081900360640190fd5b6036816005811061412257fe5b60050201600401546036826005811061413757fe5b6005020160020154141561415f57436036826005811061415357fe5b60050201600101819055505b6036816005811061416c57fe5b6005020160020180546000190190555b6001925050505b92915050565b6000836001600160a01b031663a9059cbb84846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561392f57600080fd5b6000836001600160a01b031663095ea7b383856040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561392f57600080fd5b6000466060841561428c5761428589898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506149e492505050565b90506142af565b604080516144008082526144208201909252906020820181803683370190505090505b6060600b605386815481106142c057fe5b9060005260206000209060020201600101540261456a0167ffffffffffffffff811180156142ed57600080fd5b506040519080825280601f01601f191660200182016040528015614318576020820181803683370190505b5090506060606360009054906101000a900463ffffffff168e6054548f8f604051602001808663ffffffff1660e01b81526004018563ffffffff1660e01b81526004018481526020018381526020018281526020019550505050505060405160208183030381529060405290506000806020830191506020840190506143a082828551614c2c565b8251810190506020850191506143b882828751614c2c565b84518101905060208b0191508a51600b60538a815481106143d557fe5b9060005260206000209060020201600101540203810190506143f982828d51614c2c565b8a518101905060208a01915061441182828c51614c2c565b8951810190508560f01b81527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016002856040518082805190602001908083835b602083106144705780518252601f199092019160209182019101614451565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa1580156144af573d6000803e3d6000fd5b5050506040513d60208110156144c457600080fd5b5051816144cd57fe5b0696505050505050509998505050505050505050565b605381815481106144f057fe5b60009182526020909120600290910201546040805163624c8f8760e01b81526001600160a01b039092169163624c8f879188918891889188916004909101908190869080828437600083820152601f01601f1916909101905084608080828437600083820152601f01601f1916909101905083604080828437600083820152601f01601f19169091019283525050604051602080830195509350915081900382018186803b1580156145a157600080fd5b505afa1580156145b5573d6000803e3d6000fd5b505050506040513d60208110156145cb57600080fd5b50511515600114611b39576040805162461bcd60e51b815260206004820152601b60248201527f7a6b2d736e61726b2070726f6f66206973206e6f742076616c69640000000000604482015290519081900360640190fd5b6060546000908152605c602052604081206001810154916146448282614d48565b5060006001918201556060805490910190819055606154141561466b576061805460010190555b8015612325576040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561310d573d6000803e3d6000fd5b6000808560405160200180807f19457468657265756d205369676e6564204d6573736167653a0a393800000000815250601c0180614ea46042913960420182815260200191505060405160208183030381529060405280519060200120905060018184878760405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015614760573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b604080516003808252608082019092526000916060919060208201838036833701905050905083816000815181106147a957fe5b60200260200101818152505082816001815181106147c357fe5b6020026020010181815250506001816002815181106147de57fe5b6020026020010181815250506147f381613f9a565b949350505050565b6040805160028082526060808301845260009390929190602083019080368337019050509050838160008151811061482f57fe5b602002602001018181525050828160018151811061484957fe5b6020026020010181815250506147f381614c6d565b6001600160a01b03821660009081526052602052604081205461488357506000614183565b506001600160a01b0391909116600090815260526020526040902054670de0b6b3a764000091020490565b6000816148be575061ffff611319565b60005b60058163ffffffff1610156149035760368163ffffffff16600581106148e357fe5b600502015483116148fb5763ffffffff169050611319565b6001016148c1565b506040805162461bcd60e51b8152602060048201526011602482015270195e18d95959081b585e08185b5bdd5b9d607a1b604482015290519081900360640190fd5b4360006036836005811061495557fe5b600502019050600081600101548303905081600401548260020154148061497f5750816003015481105b1561498c575050506149e1565b60008260030154828161499b57fe5b049050826004015481846002015401106149be5760048301546002840155611b39565b600283018054820190556003830154600184018054918302919091019055505050505b50565b6060600060658351816149f357fe5b606080546000908152605c60209081526040918290208054835160026001831615610100026000190190921691909104601f810184900484028201840190945283815295909404955091939291830182828015614a915780601f10614a6657610100808354040283529160200191614a91565b820191906000526020600020905b815481529060010190602001808311614a7457829003601f168201915b5050505050905060006044825181614aa557fe5b0490506101008382011115614af2576040805162461bcd60e51b815260206004820152600e60248201526d4c31205458206f766572666c6f7760901b604482015290519081900360640190fd5b604080516144008082526144208201909252606091602082018180368337019050509050600080602085019150602083019050614b3182828751614c2c565b6020888101906044860285010160005b88811015614c1d578251600184015160218501516041860151606187015160578054606590990198919560f81c9493929160e087901c9160009182919084908110614b8857fe5b6000918252602090912001546001600160a01b03161415614bde576040805162461bcd60e51b815260206004820152601d6024820152600080516020614d9e833981519152604482015290519081900360640190fd5b60ff861615614bf657614bf3838587896146a7565b90505b60601b8852601488019190915260e01b603c87015250506044909301925050600101614b41565b50939998505050505050505050565b5b60208110614c4c578251825260209283019290910190601f1901614c2d565b915181516020939093036101000a6000190180199091169216919091179052565b60335460405163311083ed60e21b81526020600482018181528451602484015284516000946001600160a01b03169363c4420fb49387939283926044019185810191028083838b8315613f45578181015183820152602001613f2d565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10614d0b57805160ff1916838001178555614d38565b82800160010185558215614d38579182015b82811115614d38578251825591602001919060010190614d1d565b50614d44929150614d88565b5090565b50805460018160011615610100020316600290046000825580601f10614d6e57506149e1565b601f0160209004906000526020600020908101906149e191905b5b80821115614d445760008155600101614d8956fe746f6b656e20686173206e6f74206265656e20726567697374657265640000004f6e6c7920676f766572616e636520616464726573730000000000000000000063616e2774206265206d6f7265207769746864726177616c73207468616e204d6178207769746864726177616c73436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a65644661696c206465706f736974204552433230207472616e73616374696f6e0000666f7267652074696d656f7574206d757374206265206c657373207468616e2032343020626c6f636b736d73672e76616c7565206c657373207468616e206665652072657175697265644920617574686f72697a65207468697320626162796a75626a7562206b657920666f72206865726d657a20726f6c6c7570206163636f756e74206372656174696f6e6465706f73697420616d6f756e74206c6172676572207468616e206d61780000a264697066735822122019f777a93b096084a8ea02d678666282e64b6038e800ae2517763ad99bef7d1464736f6c634300060c0033"
  28. // DeployHermez deploys a new Ethereum contract, binding an instance of Hermez to it.
  29. func DeployHermez(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Hermez, error) {
  30. parsed, err := abi.JSON(strings.NewReader(HermezABI))
  31. if err != nil {
  32. return common.Address{}, nil, nil, err
  33. }
  34. address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(HermezBin), backend)
  35. if err != nil {
  36. return common.Address{}, nil, nil, err
  37. }
  38. return address, tx, &Hermez{HermezCaller: HermezCaller{contract: contract}, HermezTransactor: HermezTransactor{contract: contract}, HermezFilterer: HermezFilterer{contract: contract}}, nil
  39. }
  40. // Hermez is an auto generated Go binding around an Ethereum contract.
  41. type Hermez struct {
  42. HermezCaller // Read-only binding to the contract
  43. HermezTransactor // Write-only binding to the contract
  44. HermezFilterer // Log filterer for contract events
  45. }
  46. // HermezCaller is an auto generated read-only Go binding around an Ethereum contract.
  47. type HermezCaller struct {
  48. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  49. }
  50. // HermezTransactor is an auto generated write-only Go binding around an Ethereum contract.
  51. type HermezTransactor struct {
  52. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  53. }
  54. // HermezFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
  55. type HermezFilterer struct {
  56. contract *bind.BoundContract // Generic contract wrapper for the low level calls
  57. }
  58. // HermezSession is an auto generated Go binding around an Ethereum contract,
  59. // with pre-set call and transact options.
  60. type HermezSession struct {
  61. Contract *Hermez // Generic contract binding to set the session for
  62. CallOpts bind.CallOpts // Call options to use throughout this session
  63. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  64. }
  65. // HermezCallerSession is an auto generated read-only Go binding around an Ethereum contract,
  66. // with pre-set call options.
  67. type HermezCallerSession struct {
  68. Contract *HermezCaller // Generic contract caller binding to set the session for
  69. CallOpts bind.CallOpts // Call options to use throughout this session
  70. }
  71. // HermezTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
  72. // with pre-set transact options.
  73. type HermezTransactorSession struct {
  74. Contract *HermezTransactor // Generic contract transactor binding to set the session for
  75. TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  76. }
  77. // HermezRaw is an auto generated low-level Go binding around an Ethereum contract.
  78. type HermezRaw struct {
  79. Contract *Hermez // Generic contract binding to access the raw methods on
  80. }
  81. // HermezCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
  82. type HermezCallerRaw struct {
  83. Contract *HermezCaller // Generic read-only contract binding to access the raw methods on
  84. }
  85. // HermezTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
  86. type HermezTransactorRaw struct {
  87. Contract *HermezTransactor // Generic write-only contract binding to access the raw methods on
  88. }
  89. // NewHermez creates a new instance of Hermez, bound to a specific deployed contract.
  90. func NewHermez(address common.Address, backend bind.ContractBackend) (*Hermez, error) {
  91. contract, err := bindHermez(address, backend, backend, backend)
  92. if err != nil {
  93. return nil, err
  94. }
  95. return &Hermez{HermezCaller: HermezCaller{contract: contract}, HermezTransactor: HermezTransactor{contract: contract}, HermezFilterer: HermezFilterer{contract: contract}}, nil
  96. }
  97. // NewHermezCaller creates a new read-only instance of Hermez, bound to a specific deployed contract.
  98. func NewHermezCaller(address common.Address, caller bind.ContractCaller) (*HermezCaller, error) {
  99. contract, err := bindHermez(address, caller, nil, nil)
  100. if err != nil {
  101. return nil, err
  102. }
  103. return &HermezCaller{contract: contract}, nil
  104. }
  105. // NewHermezTransactor creates a new write-only instance of Hermez, bound to a specific deployed contract.
  106. func NewHermezTransactor(address common.Address, transactor bind.ContractTransactor) (*HermezTransactor, error) {
  107. contract, err := bindHermez(address, nil, transactor, nil)
  108. if err != nil {
  109. return nil, err
  110. }
  111. return &HermezTransactor{contract: contract}, nil
  112. }
  113. // NewHermezFilterer creates a new log filterer instance of Hermez, bound to a specific deployed contract.
  114. func NewHermezFilterer(address common.Address, filterer bind.ContractFilterer) (*HermezFilterer, error) {
  115. contract, err := bindHermez(address, nil, nil, filterer)
  116. if err != nil {
  117. return nil, err
  118. }
  119. return &HermezFilterer{contract: contract}, nil
  120. }
  121. // bindHermez binds a generic wrapper to an already deployed contract.
  122. func bindHermez(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  123. parsed, err := abi.JSON(strings.NewReader(HermezABI))
  124. if err != nil {
  125. return nil, err
  126. }
  127. return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
  128. }
  129. // Call invokes the (constant) contract method with params as input values and
  130. // sets the output to result. The result type might be a single field for simple
  131. // returns, a slice of interfaces for anonymous returns and a struct for named
  132. // returns.
  133. func (_Hermez *HermezRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
  134. return _Hermez.Contract.HermezCaller.contract.Call(opts, result, method, params...)
  135. }
  136. // Transfer initiates a plain transaction to move funds to the contract, calling
  137. // its default method if one is available.
  138. func (_Hermez *HermezRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  139. return _Hermez.Contract.HermezTransactor.contract.Transfer(opts)
  140. }
  141. // Transact invokes the (paid) contract method with params as input values.
  142. func (_Hermez *HermezRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  143. return _Hermez.Contract.HermezTransactor.contract.Transact(opts, method, params...)
  144. }
  145. // Call invokes the (constant) contract method with params as input values and
  146. // sets the output to result. The result type might be a single field for simple
  147. // returns, a slice of interfaces for anonymous returns and a struct for named
  148. // returns.
  149. func (_Hermez *HermezCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
  150. return _Hermez.Contract.contract.Call(opts, result, method, params...)
  151. }
  152. // Transfer initiates a plain transaction to move funds to the contract, calling
  153. // its default method if one is available.
  154. func (_Hermez *HermezTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  155. return _Hermez.Contract.contract.Transfer(opts)
  156. }
  157. // Transact invokes the (paid) contract method with params as input values.
  158. func (_Hermez *HermezTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  159. return _Hermez.Contract.contract.Transact(opts, method, params...)
  160. }
  161. // EXITIDX is a free data retrieval call binding the contract method 0xffd3dcf9.
  162. //
  163. // Solidity: function EXIT_IDX() view returns(uint32)
  164. func (_Hermez *HermezCaller) EXITIDX(opts *bind.CallOpts) (uint32, error) {
  165. var (
  166. ret0 = new(uint32)
  167. )
  168. out := ret0
  169. err := _Hermez.contract.Call(opts, out, "EXIT_IDX")
  170. return *ret0, err
  171. }
  172. // EXITIDX is a free data retrieval call binding the contract method 0xffd3dcf9.
  173. //
  174. // Solidity: function EXIT_IDX() view returns(uint32)
  175. func (_Hermez *HermezSession) EXITIDX() (uint32, error) {
  176. return _Hermez.Contract.EXITIDX(&_Hermez.CallOpts)
  177. }
  178. // EXITIDX is a free data retrieval call binding the contract method 0xffd3dcf9.
  179. //
  180. // Solidity: function EXIT_IDX() view returns(uint32)
  181. func (_Hermez *HermezCallerSession) EXITIDX() (uint32, error) {
  182. return _Hermez.Contract.EXITIDX(&_Hermez.CallOpts)
  183. }
  184. // FIRSTIDX is a free data retrieval call binding the contract method 0x35aa27aa.
  185. //
  186. // Solidity: function FIRST_IDX() view returns(uint32)
  187. func (_Hermez *HermezCaller) FIRSTIDX(opts *bind.CallOpts) (uint32, error) {
  188. var (
  189. ret0 = new(uint32)
  190. )
  191. out := ret0
  192. err := _Hermez.contract.Call(opts, out, "FIRST_IDX")
  193. return *ret0, err
  194. }
  195. // FIRSTIDX is a free data retrieval call binding the contract method 0x35aa27aa.
  196. //
  197. // Solidity: function FIRST_IDX() view returns(uint32)
  198. func (_Hermez *HermezSession) FIRSTIDX() (uint32, error) {
  199. return _Hermez.Contract.FIRSTIDX(&_Hermez.CallOpts)
  200. }
  201. // FIRSTIDX is a free data retrieval call binding the contract method 0x35aa27aa.
  202. //
  203. // Solidity: function FIRST_IDX() view returns(uint32)
  204. func (_Hermez *HermezCallerSession) FIRSTIDX() (uint32, error) {
  205. return _Hermez.Contract.FIRSTIDX(&_Hermez.CallOpts)
  206. }
  207. // L1COORDINATORBYTES is a free data retrieval call binding the contract method 0x4d09f3fd.
  208. //
  209. // Solidity: function L1_COORDINATOR_BYTES() view returns(uint256)
  210. func (_Hermez *HermezCaller) L1COORDINATORBYTES(opts *bind.CallOpts) (*big.Int, error) {
  211. var (
  212. ret0 = new(*big.Int)
  213. )
  214. out := ret0
  215. err := _Hermez.contract.Call(opts, out, "L1_COORDINATOR_BYTES")
  216. return *ret0, err
  217. }
  218. // L1COORDINATORBYTES is a free data retrieval call binding the contract method 0x4d09f3fd.
  219. //
  220. // Solidity: function L1_COORDINATOR_BYTES() view returns(uint256)
  221. func (_Hermez *HermezSession) L1COORDINATORBYTES() (*big.Int, error) {
  222. return _Hermez.Contract.L1COORDINATORBYTES(&_Hermez.CallOpts)
  223. }
  224. // L1COORDINATORBYTES is a free data retrieval call binding the contract method 0x4d09f3fd.
  225. //
  226. // Solidity: function L1_COORDINATOR_BYTES() view returns(uint256)
  227. func (_Hermez *HermezCallerSession) L1COORDINATORBYTES() (*big.Int, error) {
  228. return _Hermez.Contract.L1COORDINATORBYTES(&_Hermez.CallOpts)
  229. }
  230. // L1USERBYTES is a free data retrieval call binding the contract method 0x6d78e572.
  231. //
  232. // Solidity: function L1_USER_BYTES() view returns(uint256)
  233. func (_Hermez *HermezCaller) L1USERBYTES(opts *bind.CallOpts) (*big.Int, error) {
  234. var (
  235. ret0 = new(*big.Int)
  236. )
  237. out := ret0
  238. err := _Hermez.contract.Call(opts, out, "L1_USER_BYTES")
  239. return *ret0, err
  240. }
  241. // L1USERBYTES is a free data retrieval call binding the contract method 0x6d78e572.
  242. //
  243. // Solidity: function L1_USER_BYTES() view returns(uint256)
  244. func (_Hermez *HermezSession) L1USERBYTES() (*big.Int, error) {
  245. return _Hermez.Contract.L1USERBYTES(&_Hermez.CallOpts)
  246. }
  247. // L1USERBYTES is a free data retrieval call binding the contract method 0x6d78e572.
  248. //
  249. // Solidity: function L1_USER_BYTES() view returns(uint256)
  250. func (_Hermez *HermezCallerSession) L1USERBYTES() (*big.Int, error) {
  251. return _Hermez.Contract.L1USERBYTES(&_Hermez.CallOpts)
  252. }
  253. // L2BYTES is a free data retrieval call binding the contract method 0x4fc51559.
  254. //
  255. // Solidity: function L2_BYTES() view returns(uint256)
  256. func (_Hermez *HermezCaller) L2BYTES(opts *bind.CallOpts) (*big.Int, error) {
  257. var (
  258. ret0 = new(*big.Int)
  259. )
  260. out := ret0
  261. err := _Hermez.contract.Call(opts, out, "L2_BYTES")
  262. return *ret0, err
  263. }
  264. // L2BYTES is a free data retrieval call binding the contract method 0x4fc51559.
  265. //
  266. // Solidity: function L2_BYTES() view returns(uint256)
  267. func (_Hermez *HermezSession) L2BYTES() (*big.Int, error) {
  268. return _Hermez.Contract.L2BYTES(&_Hermez.CallOpts)
  269. }
  270. // L2BYTES is a free data retrieval call binding the contract method 0x4fc51559.
  271. //
  272. // Solidity: function L2_BYTES() view returns(uint256)
  273. func (_Hermez *HermezCallerSession) L2BYTES() (*big.Int, error) {
  274. return _Hermez.Contract.L2BYTES(&_Hermez.CallOpts)
  275. }
  276. // LASTIDX is a free data retrieval call binding the contract method 0x8e65ab4f.
  277. //
  278. // Solidity: function LAST_IDX() view returns(uint32)
  279. func (_Hermez *HermezCaller) LASTIDX(opts *bind.CallOpts) (uint32, error) {
  280. var (
  281. ret0 = new(uint32)
  282. )
  283. out := ret0
  284. err := _Hermez.contract.Call(opts, out, "LAST_IDX")
  285. return *ret0, err
  286. }
  287. // LASTIDX is a free data retrieval call binding the contract method 0x8e65ab4f.
  288. //
  289. // Solidity: function LAST_IDX() view returns(uint32)
  290. func (_Hermez *HermezSession) LASTIDX() (uint32, error) {
  291. return _Hermez.Contract.LASTIDX(&_Hermez.CallOpts)
  292. }
  293. // LASTIDX is a free data retrieval call binding the contract method 0x8e65ab4f.
  294. //
  295. // Solidity: function LAST_IDX() view returns(uint32)
  296. func (_Hermez *HermezCallerSession) LASTIDX() (uint32, error) {
  297. return _Hermez.Contract.LASTIDX(&_Hermez.CallOpts)
  298. }
  299. // MAXAMOUNTDEPOSIT is a free data retrieval call binding the contract method 0x93f4d252.
  300. //
  301. // Solidity: function MAX_AMOUNT_DEPOSIT() view returns(uint256)
  302. func (_Hermez *HermezCaller) MAXAMOUNTDEPOSIT(opts *bind.CallOpts) (*big.Int, error) {
  303. var (
  304. ret0 = new(*big.Int)
  305. )
  306. out := ret0
  307. err := _Hermez.contract.Call(opts, out, "MAX_AMOUNT_DEPOSIT")
  308. return *ret0, err
  309. }
  310. // MAXAMOUNTDEPOSIT is a free data retrieval call binding the contract method 0x93f4d252.
  311. //
  312. // Solidity: function MAX_AMOUNT_DEPOSIT() view returns(uint256)
  313. func (_Hermez *HermezSession) MAXAMOUNTDEPOSIT() (*big.Int, error) {
  314. return _Hermez.Contract.MAXAMOUNTDEPOSIT(&_Hermez.CallOpts)
  315. }
  316. // MAXAMOUNTDEPOSIT is a free data retrieval call binding the contract method 0x93f4d252.
  317. //
  318. // Solidity: function MAX_AMOUNT_DEPOSIT() view returns(uint256)
  319. func (_Hermez *HermezCallerSession) MAXAMOUNTDEPOSIT() (*big.Int, error) {
  320. return _Hermez.Contract.MAXAMOUNTDEPOSIT(&_Hermez.CallOpts)
  321. }
  322. // MAXAMOUNTL2 is a free data retrieval call binding the contract method 0x5adb5bcd.
  323. //
  324. // Solidity: function MAX_AMOUNT_L2() view returns(uint256)
  325. func (_Hermez *HermezCaller) MAXAMOUNTL2(opts *bind.CallOpts) (*big.Int, error) {
  326. var (
  327. ret0 = new(*big.Int)
  328. )
  329. out := ret0
  330. err := _Hermez.contract.Call(opts, out, "MAX_AMOUNT_L2")
  331. return *ret0, err
  332. }
  333. // MAXAMOUNTL2 is a free data retrieval call binding the contract method 0x5adb5bcd.
  334. //
  335. // Solidity: function MAX_AMOUNT_L2() view returns(uint256)
  336. func (_Hermez *HermezSession) MAXAMOUNTL2() (*big.Int, error) {
  337. return _Hermez.Contract.MAXAMOUNTL2(&_Hermez.CallOpts)
  338. }
  339. // MAXAMOUNTL2 is a free data retrieval call binding the contract method 0x5adb5bcd.
  340. //
  341. // Solidity: function MAX_AMOUNT_L2() view returns(uint256)
  342. func (_Hermez *HermezCallerSession) MAXAMOUNTL2() (*big.Int, error) {
  343. return _Hermez.Contract.MAXAMOUNTL2(&_Hermez.CallOpts)
  344. }
  345. // MAXL1TX is a free data retrieval call binding the contract method 0x45d1c25b.
  346. //
  347. // Solidity: function MAX_L1_TX() view returns(uint256)
  348. func (_Hermez *HermezCaller) MAXL1TX(opts *bind.CallOpts) (*big.Int, error) {
  349. var (
  350. ret0 = new(*big.Int)
  351. )
  352. out := ret0
  353. err := _Hermez.contract.Call(opts, out, "MAX_L1_TX")
  354. return *ret0, err
  355. }
  356. // MAXL1TX is a free data retrieval call binding the contract method 0x45d1c25b.
  357. //
  358. // Solidity: function MAX_L1_TX() view returns(uint256)
  359. func (_Hermez *HermezSession) MAXL1TX() (*big.Int, error) {
  360. return _Hermez.Contract.MAXL1TX(&_Hermez.CallOpts)
  361. }
  362. // MAXL1TX is a free data retrieval call binding the contract method 0x45d1c25b.
  363. //
  364. // Solidity: function MAX_L1_TX() view returns(uint256)
  365. func (_Hermez *HermezCallerSession) MAXL1TX() (*big.Int, error) {
  366. return _Hermez.Contract.MAXL1TX(&_Hermez.CallOpts)
  367. }
  368. // MAXL1USERTX is a free data retrieval call binding the contract method 0x51ff68b0.
  369. //
  370. // Solidity: function MAX_L1_USER_TX() view returns(uint256)
  371. func (_Hermez *HermezCaller) MAXL1USERTX(opts *bind.CallOpts) (*big.Int, error) {
  372. var (
  373. ret0 = new(*big.Int)
  374. )
  375. out := ret0
  376. err := _Hermez.contract.Call(opts, out, "MAX_L1_USER_TX")
  377. return *ret0, err
  378. }
  379. // MAXL1USERTX is a free data retrieval call binding the contract method 0x51ff68b0.
  380. //
  381. // Solidity: function MAX_L1_USER_TX() view returns(uint256)
  382. func (_Hermez *HermezSession) MAXL1USERTX() (*big.Int, error) {
  383. return _Hermez.Contract.MAXL1USERTX(&_Hermez.CallOpts)
  384. }
  385. // MAXL1USERTX is a free data retrieval call binding the contract method 0x51ff68b0.
  386. //
  387. // Solidity: function MAX_L1_USER_TX() view returns(uint256)
  388. func (_Hermez *HermezCallerSession) MAXL1USERTX() (*big.Int, error) {
  389. return _Hermez.Contract.MAXL1USERTX(&_Hermez.CallOpts)
  390. }
  391. // MAXTOKENS is a free data retrieval call binding the contract method 0xf47c84c5.
  392. //
  393. // Solidity: function MAX_TOKENS() view returns(uint256)
  394. func (_Hermez *HermezCaller) MAXTOKENS(opts *bind.CallOpts) (*big.Int, error) {
  395. var (
  396. ret0 = new(*big.Int)
  397. )
  398. out := ret0
  399. err := _Hermez.contract.Call(opts, out, "MAX_TOKENS")
  400. return *ret0, err
  401. }
  402. // MAXTOKENS is a free data retrieval call binding the contract method 0xf47c84c5.
  403. //
  404. // Solidity: function MAX_TOKENS() view returns(uint256)
  405. func (_Hermez *HermezSession) MAXTOKENS() (*big.Int, error) {
  406. return _Hermez.Contract.MAXTOKENS(&_Hermez.CallOpts)
  407. }
  408. // MAXTOKENS is a free data retrieval call binding the contract method 0xf47c84c5.
  409. //
  410. // Solidity: function MAX_TOKENS() view returns(uint256)
  411. func (_Hermez *HermezCallerSession) MAXTOKENS() (*big.Int, error) {
  412. return _Hermez.Contract.MAXTOKENS(&_Hermez.CallOpts)
  413. }
  414. // MAXWITHDRAWALDELAY is a free data retrieval call binding the contract method 0xa238f9df.
  415. //
  416. // Solidity: function MAX_WITHDRAWAL_DELAY() view returns(uint256)
  417. func (_Hermez *HermezCaller) MAXWITHDRAWALDELAY(opts *bind.CallOpts) (*big.Int, error) {
  418. var (
  419. ret0 = new(*big.Int)
  420. )
  421. out := ret0
  422. err := _Hermez.contract.Call(opts, out, "MAX_WITHDRAWAL_DELAY")
  423. return *ret0, err
  424. }
  425. // MAXWITHDRAWALDELAY is a free data retrieval call binding the contract method 0xa238f9df.
  426. //
  427. // Solidity: function MAX_WITHDRAWAL_DELAY() view returns(uint256)
  428. func (_Hermez *HermezSession) MAXWITHDRAWALDELAY() (*big.Int, error) {
  429. return _Hermez.Contract.MAXWITHDRAWALDELAY(&_Hermez.CallOpts)
  430. }
  431. // MAXWITHDRAWALDELAY is a free data retrieval call binding the contract method 0xa238f9df.
  432. //
  433. // Solidity: function MAX_WITHDRAWAL_DELAY() view returns(uint256)
  434. func (_Hermez *HermezCallerSession) MAXWITHDRAWALDELAY() (*big.Int, error) {
  435. return _Hermez.Contract.MAXWITHDRAWALDELAY(&_Hermez.CallOpts)
  436. }
  437. // NOLIMIT is a free data retrieval call binding the contract method 0xa60034fb.
  438. //
  439. // Solidity: function NO_LIMIT() view returns(uint256)
  440. func (_Hermez *HermezCaller) NOLIMIT(opts *bind.CallOpts) (*big.Int, error) {
  441. var (
  442. ret0 = new(*big.Int)
  443. )
  444. out := ret0
  445. err := _Hermez.contract.Call(opts, out, "NO_LIMIT")
  446. return *ret0, err
  447. }
  448. // NOLIMIT is a free data retrieval call binding the contract method 0xa60034fb.
  449. //
  450. // Solidity: function NO_LIMIT() view returns(uint256)
  451. func (_Hermez *HermezSession) NOLIMIT() (*big.Int, error) {
  452. return _Hermez.Contract.NOLIMIT(&_Hermez.CallOpts)
  453. }
  454. // NOLIMIT is a free data retrieval call binding the contract method 0xa60034fb.
  455. //
  456. // Solidity: function NO_LIMIT() view returns(uint256)
  457. func (_Hermez *HermezCallerSession) NOLIMIT() (*big.Int, error) {
  458. return _Hermez.Contract.NOLIMIT(&_Hermez.CallOpts)
  459. }
  460. // NUMBUCKETS is a free data retrieval call binding the contract method 0xc56ca84e.
  461. //
  462. // Solidity: function NUM_BUCKETS() view returns(uint256)
  463. func (_Hermez *HermezCaller) NUMBUCKETS(opts *bind.CallOpts) (*big.Int, error) {
  464. var (
  465. ret0 = new(*big.Int)
  466. )
  467. out := ret0
  468. err := _Hermez.contract.Call(opts, out, "NUM_BUCKETS")
  469. return *ret0, err
  470. }
  471. // NUMBUCKETS is a free data retrieval call binding the contract method 0xc56ca84e.
  472. //
  473. // Solidity: function NUM_BUCKETS() view returns(uint256)
  474. func (_Hermez *HermezSession) NUMBUCKETS() (*big.Int, error) {
  475. return _Hermez.Contract.NUMBUCKETS(&_Hermez.CallOpts)
  476. }
  477. // NUMBUCKETS is a free data retrieval call binding the contract method 0xc56ca84e.
  478. //
  479. // Solidity: function NUM_BUCKETS() view returns(uint256)
  480. func (_Hermez *HermezCallerSession) NUMBUCKETS() (*big.Int, error) {
  481. return _Hermez.Contract.NUMBUCKETS(&_Hermez.CallOpts)
  482. }
  483. // RFIELD is a free data retrieval call binding the contract method 0x58de75c4.
  484. //
  485. // Solidity: function RFIELD() view returns(uint256)
  486. func (_Hermez *HermezCaller) RFIELD(opts *bind.CallOpts) (*big.Int, error) {
  487. var (
  488. ret0 = new(*big.Int)
  489. )
  490. out := ret0
  491. err := _Hermez.contract.Call(opts, out, "RFIELD")
  492. return *ret0, err
  493. }
  494. // RFIELD is a free data retrieval call binding the contract method 0x58de75c4.
  495. //
  496. // Solidity: function RFIELD() view returns(uint256)
  497. func (_Hermez *HermezSession) RFIELD() (*big.Int, error) {
  498. return _Hermez.Contract.RFIELD(&_Hermez.CallOpts)
  499. }
  500. // RFIELD is a free data retrieval call binding the contract method 0x58de75c4.
  501. //
  502. // Solidity: function RFIELD() view returns(uint256)
  503. func (_Hermez *HermezCallerSession) RFIELD() (*big.Int, error) {
  504. return _Hermez.Contract.RFIELD(&_Hermez.CallOpts)
  505. }
  506. // Buckets is a free data retrieval call binding the contract method 0x9b51fb0d.
  507. //
  508. // Solidity: function buckets(uint256 ) view returns(uint256 ceilUSD, uint256 blockStamp, uint256 withdrawals, uint256 blockWithdrawalRate, uint256 maxWithdrawals)
  509. func (_Hermez *HermezCaller) Buckets(opts *bind.CallOpts, arg0 *big.Int) (struct {
  510. CeilUSD *big.Int
  511. BlockStamp *big.Int
  512. Withdrawals *big.Int
  513. BlockWithdrawalRate *big.Int
  514. MaxWithdrawals *big.Int
  515. }, error) {
  516. ret := new(struct {
  517. CeilUSD *big.Int
  518. BlockStamp *big.Int
  519. Withdrawals *big.Int
  520. BlockWithdrawalRate *big.Int
  521. MaxWithdrawals *big.Int
  522. })
  523. out := ret
  524. err := _Hermez.contract.Call(opts, out, "buckets", arg0)
  525. return *ret, err
  526. }
  527. // Buckets is a free data retrieval call binding the contract method 0x9b51fb0d.
  528. //
  529. // Solidity: function buckets(uint256 ) view returns(uint256 ceilUSD, uint256 blockStamp, uint256 withdrawals, uint256 blockWithdrawalRate, uint256 maxWithdrawals)
  530. func (_Hermez *HermezSession) Buckets(arg0 *big.Int) (struct {
  531. CeilUSD *big.Int
  532. BlockStamp *big.Int
  533. Withdrawals *big.Int
  534. BlockWithdrawalRate *big.Int
  535. MaxWithdrawals *big.Int
  536. }, error) {
  537. return _Hermez.Contract.Buckets(&_Hermez.CallOpts, arg0)
  538. }
  539. // Buckets is a free data retrieval call binding the contract method 0x9b51fb0d.
  540. //
  541. // Solidity: function buckets(uint256 ) view returns(uint256 ceilUSD, uint256 blockStamp, uint256 withdrawals, uint256 blockWithdrawalRate, uint256 maxWithdrawals)
  542. func (_Hermez *HermezCallerSession) Buckets(arg0 *big.Int) (struct {
  543. CeilUSD *big.Int
  544. BlockStamp *big.Int
  545. Withdrawals *big.Int
  546. BlockWithdrawalRate *big.Int
  547. MaxWithdrawals *big.Int
  548. }, error) {
  549. return _Hermez.Contract.Buckets(&_Hermez.CallOpts, arg0)
  550. }
  551. // CircuitVerifiers is a free data retrieval call binding the contract method 0xa4b457ca.
  552. //
  553. // Solidity: function circuitVerifiers(uint256 ) view returns(address verifierInt, uint256 maxTx)
  554. func (_Hermez *HermezCaller) CircuitVerifiers(opts *bind.CallOpts, arg0 *big.Int) (struct {
  555. VerifierInt common.Address
  556. MaxTx *big.Int
  557. }, error) {
  558. ret := new(struct {
  559. VerifierInt common.Address
  560. MaxTx *big.Int
  561. })
  562. out := ret
  563. err := _Hermez.contract.Call(opts, out, "circuitVerifiers", arg0)
  564. return *ret, err
  565. }
  566. // CircuitVerifiers is a free data retrieval call binding the contract method 0xa4b457ca.
  567. //
  568. // Solidity: function circuitVerifiers(uint256 ) view returns(address verifierInt, uint256 maxTx)
  569. func (_Hermez *HermezSession) CircuitVerifiers(arg0 *big.Int) (struct {
  570. VerifierInt common.Address
  571. MaxTx *big.Int
  572. }, error) {
  573. return _Hermez.Contract.CircuitVerifiers(&_Hermez.CallOpts, arg0)
  574. }
  575. // CircuitVerifiers is a free data retrieval call binding the contract method 0xa4b457ca.
  576. //
  577. // Solidity: function circuitVerifiers(uint256 ) view returns(address verifierInt, uint256 maxTx)
  578. func (_Hermez *HermezCallerSession) CircuitVerifiers(arg0 *big.Int) (struct {
  579. VerifierInt common.Address
  580. MaxTx *big.Int
  581. }, error) {
  582. return _Hermez.Contract.CircuitVerifiers(&_Hermez.CallOpts, arg0)
  583. }
  584. // ConsensusContract is a free data retrieval call binding the contract method 0x931cc2d4.
  585. //
  586. // Solidity: function consensusContract() view returns(address)
  587. func (_Hermez *HermezCaller) ConsensusContract(opts *bind.CallOpts) (common.Address, error) {
  588. var (
  589. ret0 = new(common.Address)
  590. )
  591. out := ret0
  592. err := _Hermez.contract.Call(opts, out, "consensusContract")
  593. return *ret0, err
  594. }
  595. // ConsensusContract is a free data retrieval call binding the contract method 0x931cc2d4.
  596. //
  597. // Solidity: function consensusContract() view returns(address)
  598. func (_Hermez *HermezSession) ConsensusContract() (common.Address, error) {
  599. return _Hermez.Contract.ConsensusContract(&_Hermez.CallOpts)
  600. }
  601. // ConsensusContract is a free data retrieval call binding the contract method 0x931cc2d4.
  602. //
  603. // Solidity: function consensusContract() view returns(address)
  604. func (_Hermez *HermezCallerSession) ConsensusContract() (common.Address, error) {
  605. return _Hermez.Contract.ConsensusContract(&_Hermez.CallOpts)
  606. }
  607. // CurrentIdx is a free data retrieval call binding the contract method 0x5bfac41f.
  608. //
  609. // Solidity: function currentIdx() view returns(uint32)
  610. func (_Hermez *HermezCaller) CurrentIdx(opts *bind.CallOpts) (uint32, error) {
  611. var (
  612. ret0 = new(uint32)
  613. )
  614. out := ret0
  615. err := _Hermez.contract.Call(opts, out, "currentIdx")
  616. return *ret0, err
  617. }
  618. // CurrentIdx is a free data retrieval call binding the contract method 0x5bfac41f.
  619. //
  620. // Solidity: function currentIdx() view returns(uint32)
  621. func (_Hermez *HermezSession) CurrentIdx() (uint32, error) {
  622. return _Hermez.Contract.CurrentIdx(&_Hermez.CallOpts)
  623. }
  624. // CurrentIdx is a free data retrieval call binding the contract method 0x5bfac41f.
  625. //
  626. // Solidity: function currentIdx() view returns(uint32)
  627. func (_Hermez *HermezCallerSession) CurrentIdx() (uint32, error) {
  628. return _Hermez.Contract.CurrentIdx(&_Hermez.CallOpts)
  629. }
  630. // CurrentToForgeL1TxsNum is a free data retrieval call binding the contract method 0x08220e0f.
  631. //
  632. // Solidity: function currentToForgeL1TxsNum() view returns(uint256)
  633. func (_Hermez *HermezCaller) CurrentToForgeL1TxsNum(opts *bind.CallOpts) (*big.Int, error) {
  634. var (
  635. ret0 = new(*big.Int)
  636. )
  637. out := ret0
  638. err := _Hermez.contract.Call(opts, out, "currentToForgeL1TxsNum")
  639. return *ret0, err
  640. }
  641. // CurrentToForgeL1TxsNum is a free data retrieval call binding the contract method 0x08220e0f.
  642. //
  643. // Solidity: function currentToForgeL1TxsNum() view returns(uint256)
  644. func (_Hermez *HermezSession) CurrentToForgeL1TxsNum() (*big.Int, error) {
  645. return _Hermez.Contract.CurrentToForgeL1TxsNum(&_Hermez.CallOpts)
  646. }
  647. // CurrentToForgeL1TxsNum is a free data retrieval call binding the contract method 0x08220e0f.
  648. //
  649. // Solidity: function currentToForgeL1TxsNum() view returns(uint256)
  650. func (_Hermez *HermezCallerSession) CurrentToForgeL1TxsNum() (*big.Int, error) {
  651. return _Hermez.Contract.CurrentToForgeL1TxsNum(&_Hermez.CallOpts)
  652. }
  653. // ExitNullifierMap is a free data retrieval call binding the contract method 0x2bf41a2f.
  654. //
  655. // Solidity: function exitNullifierMap(uint256 ) view returns(bool)
  656. func (_Hermez *HermezCaller) ExitNullifierMap(opts *bind.CallOpts, arg0 *big.Int) (bool, error) {
  657. var (
  658. ret0 = new(bool)
  659. )
  660. out := ret0
  661. err := _Hermez.contract.Call(opts, out, "exitNullifierMap", arg0)
  662. return *ret0, err
  663. }
  664. // ExitNullifierMap is a free data retrieval call binding the contract method 0x2bf41a2f.
  665. //
  666. // Solidity: function exitNullifierMap(uint256 ) view returns(bool)
  667. func (_Hermez *HermezSession) ExitNullifierMap(arg0 *big.Int) (bool, error) {
  668. return _Hermez.Contract.ExitNullifierMap(&_Hermez.CallOpts, arg0)
  669. }
  670. // ExitNullifierMap is a free data retrieval call binding the contract method 0x2bf41a2f.
  671. //
  672. // Solidity: function exitNullifierMap(uint256 ) view returns(bool)
  673. func (_Hermez *HermezCallerSession) ExitNullifierMap(arg0 *big.Int) (bool, error) {
  674. return _Hermez.Contract.ExitNullifierMap(&_Hermez.CallOpts, arg0)
  675. }
  676. // ExitRoots is a free data retrieval call binding the contract method 0x50263f8c.
  677. //
  678. // Solidity: function exitRoots(uint256 ) view returns(uint256)
  679. func (_Hermez *HermezCaller) ExitRoots(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error) {
  680. var (
  681. ret0 = new(*big.Int)
  682. )
  683. out := ret0
  684. err := _Hermez.contract.Call(opts, out, "exitRoots", arg0)
  685. return *ret0, err
  686. }
  687. // ExitRoots is a free data retrieval call binding the contract method 0x50263f8c.
  688. //
  689. // Solidity: function exitRoots(uint256 ) view returns(uint256)
  690. func (_Hermez *HermezSession) ExitRoots(arg0 *big.Int) (*big.Int, error) {
  691. return _Hermez.Contract.ExitRoots(&_Hermez.CallOpts, arg0)
  692. }
  693. // ExitRoots is a free data retrieval call binding the contract method 0x50263f8c.
  694. //
  695. // Solidity: function exitRoots(uint256 ) view returns(uint256)
  696. func (_Hermez *HermezCallerSession) ExitRoots(arg0 *big.Int) (*big.Int, error) {
  697. return _Hermez.Contract.ExitRoots(&_Hermez.CallOpts, arg0)
  698. }
  699. // FeeAddToken is a free data retrieval call binding the contract method 0xbded9bb8.
  700. //
  701. // Solidity: function feeAddToken() view returns(uint256)
  702. func (_Hermez *HermezCaller) FeeAddToken(opts *bind.CallOpts) (*big.Int, error) {
  703. var (
  704. ret0 = new(*big.Int)
  705. )
  706. out := ret0
  707. err := _Hermez.contract.Call(opts, out, "feeAddToken")
  708. return *ret0, err
  709. }
  710. // FeeAddToken is a free data retrieval call binding the contract method 0xbded9bb8.
  711. //
  712. // Solidity: function feeAddToken() view returns(uint256)
  713. func (_Hermez *HermezSession) FeeAddToken() (*big.Int, error) {
  714. return _Hermez.Contract.FeeAddToken(&_Hermez.CallOpts)
  715. }
  716. // FeeAddToken is a free data retrieval call binding the contract method 0xbded9bb8.
  717. //
  718. // Solidity: function feeAddToken() view returns(uint256)
  719. func (_Hermez *HermezCallerSession) FeeAddToken() (*big.Int, error) {
  720. return _Hermez.Contract.FeeAddToken(&_Hermez.CallOpts)
  721. }
  722. // FeeL1UserTx is a free data retrieval call binding the contract method 0xab943174.
  723. //
  724. // Solidity: function feeL1UserTx() view returns(uint256)
  725. func (_Hermez *HermezCaller) FeeL1UserTx(opts *bind.CallOpts) (*big.Int, error) {
  726. var (
  727. ret0 = new(*big.Int)
  728. )
  729. out := ret0
  730. err := _Hermez.contract.Call(opts, out, "feeL1UserTx")
  731. return *ret0, err
  732. }
  733. // FeeL1UserTx is a free data retrieval call binding the contract method 0xab943174.
  734. //
  735. // Solidity: function feeL1UserTx() view returns(uint256)
  736. func (_Hermez *HermezSession) FeeL1UserTx() (*big.Int, error) {
  737. return _Hermez.Contract.FeeL1UserTx(&_Hermez.CallOpts)
  738. }
  739. // FeeL1UserTx is a free data retrieval call binding the contract method 0xab943174.
  740. //
  741. // Solidity: function feeL1UserTx() view returns(uint256)
  742. func (_Hermez *HermezCallerSession) FeeL1UserTx() (*big.Int, error) {
  743. return _Hermez.Contract.FeeL1UserTx(&_Hermez.CallOpts)
  744. }
  745. // ForgeL1Timeout is a free data retrieval call binding the contract method 0x7e4e06d7.
  746. //
  747. // Solidity: function forgeL1Timeout() view returns(uint256)
  748. func (_Hermez *HermezCaller) ForgeL1Timeout(opts *bind.CallOpts) (*big.Int, error) {
  749. var (
  750. ret0 = new(*big.Int)
  751. )
  752. out := ret0
  753. err := _Hermez.contract.Call(opts, out, "forgeL1Timeout")
  754. return *ret0, err
  755. }
  756. // ForgeL1Timeout is a free data retrieval call binding the contract method 0x7e4e06d7.
  757. //
  758. // Solidity: function forgeL1Timeout() view returns(uint256)
  759. func (_Hermez *HermezSession) ForgeL1Timeout() (*big.Int, error) {
  760. return _Hermez.Contract.ForgeL1Timeout(&_Hermez.CallOpts)
  761. }
  762. // ForgeL1Timeout is a free data retrieval call binding the contract method 0x7e4e06d7.
  763. //
  764. // Solidity: function forgeL1Timeout() view returns(uint256)
  765. func (_Hermez *HermezCallerSession) ForgeL1Timeout() (*big.Int, error) {
  766. return _Hermez.Contract.ForgeL1Timeout(&_Hermez.CallOpts)
  767. }
  768. // GetCurrentBatch is a free data retrieval call binding the contract method 0xac3851cd.
  769. //
  770. // Solidity: function getCurrentBatch() view returns(uint256)
  771. func (_Hermez *HermezCaller) GetCurrentBatch(opts *bind.CallOpts) (*big.Int, error) {
  772. var (
  773. ret0 = new(*big.Int)
  774. )
  775. out := ret0
  776. err := _Hermez.contract.Call(opts, out, "getCurrentBatch")
  777. return *ret0, err
  778. }
  779. // GetCurrentBatch is a free data retrieval call binding the contract method 0xac3851cd.
  780. //
  781. // Solidity: function getCurrentBatch() view returns(uint256)
  782. func (_Hermez *HermezSession) GetCurrentBatch() (*big.Int, error) {
  783. return _Hermez.Contract.GetCurrentBatch(&_Hermez.CallOpts)
  784. }
  785. // GetCurrentBatch is a free data retrieval call binding the contract method 0xac3851cd.
  786. //
  787. // Solidity: function getCurrentBatch() view returns(uint256)
  788. func (_Hermez *HermezCallerSession) GetCurrentBatch() (*big.Int, error) {
  789. return _Hermez.Contract.GetCurrentBatch(&_Hermez.CallOpts)
  790. }
  791. // GetQueue is a free data retrieval call binding the contract method 0x0be8fffc.
  792. //
  793. // Solidity: function getQueue(uint256 queue) view returns(bytes)
  794. func (_Hermez *HermezCaller) GetQueue(opts *bind.CallOpts, queue *big.Int) ([]byte, error) {
  795. var (
  796. ret0 = new([]byte)
  797. )
  798. out := ret0
  799. err := _Hermez.contract.Call(opts, out, "getQueue", queue)
  800. return *ret0, err
  801. }
  802. // GetQueue is a free data retrieval call binding the contract method 0x0be8fffc.
  803. //
  804. // Solidity: function getQueue(uint256 queue) view returns(bytes)
  805. func (_Hermez *HermezSession) GetQueue(queue *big.Int) ([]byte, error) {
  806. return _Hermez.Contract.GetQueue(&_Hermez.CallOpts, queue)
  807. }
  808. // GetQueue is a free data retrieval call binding the contract method 0x0be8fffc.
  809. //
  810. // Solidity: function getQueue(uint256 queue) view returns(bytes)
  811. func (_Hermez *HermezCallerSession) GetQueue(queue *big.Int) ([]byte, error) {
  812. return _Hermez.Contract.GetQueue(&_Hermez.CallOpts, queue)
  813. }
  814. // GetTokenAddress is a free data retrieval call binding the contract method 0x67ccdf38.
  815. //
  816. // Solidity: function getTokenAddress(uint256 tokenID) view returns(address)
  817. func (_Hermez *HermezCaller) GetTokenAddress(opts *bind.CallOpts, tokenID *big.Int) (common.Address, error) {
  818. var (
  819. ret0 = new(common.Address)
  820. )
  821. out := ret0
  822. err := _Hermez.contract.Call(opts, out, "getTokenAddress", tokenID)
  823. return *ret0, err
  824. }
  825. // GetTokenAddress is a free data retrieval call binding the contract method 0x67ccdf38.
  826. //
  827. // Solidity: function getTokenAddress(uint256 tokenID) view returns(address)
  828. func (_Hermez *HermezSession) GetTokenAddress(tokenID *big.Int) (common.Address, error) {
  829. return _Hermez.Contract.GetTokenAddress(&_Hermez.CallOpts, tokenID)
  830. }
  831. // GetTokenAddress is a free data retrieval call binding the contract method 0x67ccdf38.
  832. //
  833. // Solidity: function getTokenAddress(uint256 tokenID) view returns(address)
  834. func (_Hermez *HermezCallerSession) GetTokenAddress(tokenID *big.Int) (common.Address, error) {
  835. return _Hermez.Contract.GetTokenAddress(&_Hermez.CallOpts, tokenID)
  836. }
  837. // GovernanceAddress is a free data retrieval call binding the contract method 0x795053d3.
  838. //
  839. // Solidity: function governanceAddress() view returns(address)
  840. func (_Hermez *HermezCaller) GovernanceAddress(opts *bind.CallOpts) (common.Address, error) {
  841. var (
  842. ret0 = new(common.Address)
  843. )
  844. out := ret0
  845. err := _Hermez.contract.Call(opts, out, "governanceAddress")
  846. return *ret0, err
  847. }
  848. // GovernanceAddress is a free data retrieval call binding the contract method 0x795053d3.
  849. //
  850. // Solidity: function governanceAddress() view returns(address)
  851. func (_Hermez *HermezSession) GovernanceAddress() (common.Address, error) {
  852. return _Hermez.Contract.GovernanceAddress(&_Hermez.CallOpts)
  853. }
  854. // GovernanceAddress is a free data retrieval call binding the contract method 0x795053d3.
  855. //
  856. // Solidity: function governanceAddress() view returns(address)
  857. func (_Hermez *HermezCallerSession) GovernanceAddress() (common.Address, error) {
  858. return _Hermez.Contract.GovernanceAddress(&_Hermez.CallOpts)
  859. }
  860. // LastL1L2Batch is a free data retrieval call binding the contract method 0x84ef9ed4.
  861. //
  862. // Solidity: function lastL1L2Batch() view returns(uint256)
  863. func (_Hermez *HermezCaller) LastL1L2Batch(opts *bind.CallOpts) (*big.Int, error) {
  864. var (
  865. ret0 = new(*big.Int)
  866. )
  867. out := ret0
  868. err := _Hermez.contract.Call(opts, out, "lastL1L2Batch")
  869. return *ret0, err
  870. }
  871. // LastL1L2Batch is a free data retrieval call binding the contract method 0x84ef9ed4.
  872. //
  873. // Solidity: function lastL1L2Batch() view returns(uint256)
  874. func (_Hermez *HermezSession) LastL1L2Batch() (*big.Int, error) {
  875. return _Hermez.Contract.LastL1L2Batch(&_Hermez.CallOpts)
  876. }
  877. // LastL1L2Batch is a free data retrieval call binding the contract method 0x84ef9ed4.
  878. //
  879. // Solidity: function lastL1L2Batch() view returns(uint256)
  880. func (_Hermez *HermezCallerSession) LastL1L2Batch() (*big.Int, error) {
  881. return _Hermez.Contract.LastL1L2Batch(&_Hermez.CallOpts)
  882. }
  883. // LastL1TxBatch is a free data retrieval call binding the contract method 0xeadf0337.
  884. //
  885. // Solidity: function lastL1TxBatch() view returns(uint256)
  886. func (_Hermez *HermezCaller) LastL1TxBatch(opts *bind.CallOpts) (*big.Int, error) {
  887. var (
  888. ret0 = new(*big.Int)
  889. )
  890. out := ret0
  891. err := _Hermez.contract.Call(opts, out, "lastL1TxBatch")
  892. return *ret0, err
  893. }
  894. // LastL1TxBatch is a free data retrieval call binding the contract method 0xeadf0337.
  895. //
  896. // Solidity: function lastL1TxBatch() view returns(uint256)
  897. func (_Hermez *HermezSession) LastL1TxBatch() (*big.Int, error) {
  898. return _Hermez.Contract.LastL1TxBatch(&_Hermez.CallOpts)
  899. }
  900. // LastL1TxBatch is a free data retrieval call binding the contract method 0xeadf0337.
  901. //
  902. // Solidity: function lastL1TxBatch() view returns(uint256)
  903. func (_Hermez *HermezCallerSession) LastL1TxBatch() (*big.Int, error) {
  904. return _Hermez.Contract.LastL1TxBatch(&_Hermez.CallOpts)
  905. }
  906. // LastToForgeL1TxsNum is a free data retrieval call binding the contract method 0xe760bffc.
  907. //
  908. // Solidity: function lastToForgeL1TxsNum() view returns(uint256)
  909. func (_Hermez *HermezCaller) LastToForgeL1TxsNum(opts *bind.CallOpts) (*big.Int, error) {
  910. var (
  911. ret0 = new(*big.Int)
  912. )
  913. out := ret0
  914. err := _Hermez.contract.Call(opts, out, "lastToForgeL1TxsNum")
  915. return *ret0, err
  916. }
  917. // LastToForgeL1TxsNum is a free data retrieval call binding the contract method 0xe760bffc.
  918. //
  919. // Solidity: function lastToForgeL1TxsNum() view returns(uint256)
  920. func (_Hermez *HermezSession) LastToForgeL1TxsNum() (*big.Int, error) {
  921. return _Hermez.Contract.LastToForgeL1TxsNum(&_Hermez.CallOpts)
  922. }
  923. // LastToForgeL1TxsNum is a free data retrieval call binding the contract method 0xe760bffc.
  924. //
  925. // Solidity: function lastToForgeL1TxsNum() view returns(uint256)
  926. func (_Hermez *HermezCallerSession) LastToForgeL1TxsNum() (*big.Int, error) {
  927. return _Hermez.Contract.LastToForgeL1TxsNum(&_Hermez.CallOpts)
  928. }
  929. // MapL1TxQueue is a free data retrieval call binding the contract method 0x3ec0b07c.
  930. //
  931. // Solidity: function mapL1TxQueue(uint256 ) view returns(bytes l1TxQueue, uint256 totalL1TxFee)
  932. func (_Hermez *HermezCaller) MapL1TxQueue(opts *bind.CallOpts, arg0 *big.Int) (struct {
  933. L1TxQueue []byte
  934. TotalL1TxFee *big.Int
  935. }, error) {
  936. ret := new(struct {
  937. L1TxQueue []byte
  938. TotalL1TxFee *big.Int
  939. })
  940. out := ret
  941. err := _Hermez.contract.Call(opts, out, "mapL1TxQueue", arg0)
  942. return *ret, err
  943. }
  944. // MapL1TxQueue is a free data retrieval call binding the contract method 0x3ec0b07c.
  945. //
  946. // Solidity: function mapL1TxQueue(uint256 ) view returns(bytes l1TxQueue, uint256 totalL1TxFee)
  947. func (_Hermez *HermezSession) MapL1TxQueue(arg0 *big.Int) (struct {
  948. L1TxQueue []byte
  949. TotalL1TxFee *big.Int
  950. }, error) {
  951. return _Hermez.Contract.MapL1TxQueue(&_Hermez.CallOpts, arg0)
  952. }
  953. // MapL1TxQueue is a free data retrieval call binding the contract method 0x3ec0b07c.
  954. //
  955. // Solidity: function mapL1TxQueue(uint256 ) view returns(bytes l1TxQueue, uint256 totalL1TxFee)
  956. func (_Hermez *HermezCallerSession) MapL1TxQueue(arg0 *big.Int) (struct {
  957. L1TxQueue []byte
  958. TotalL1TxFee *big.Int
  959. }, error) {
  960. return _Hermez.Contract.MapL1TxQueue(&_Hermez.CallOpts, arg0)
  961. }
  962. // SafetyBot is a free data retrieval call binding the contract method 0x0cc4e8dc.
  963. //
  964. // Solidity: function safetyBot() view returns(address)
  965. func (_Hermez *HermezCaller) SafetyBot(opts *bind.CallOpts) (common.Address, error) {
  966. var (
  967. ret0 = new(common.Address)
  968. )
  969. out := ret0
  970. err := _Hermez.contract.Call(opts, out, "safetyBot")
  971. return *ret0, err
  972. }
  973. // SafetyBot is a free data retrieval call binding the contract method 0x0cc4e8dc.
  974. //
  975. // Solidity: function safetyBot() view returns(address)
  976. func (_Hermez *HermezSession) SafetyBot() (common.Address, error) {
  977. return _Hermez.Contract.SafetyBot(&_Hermez.CallOpts)
  978. }
  979. // SafetyBot is a free data retrieval call binding the contract method 0x0cc4e8dc.
  980. //
  981. // Solidity: function safetyBot() view returns(address)
  982. func (_Hermez *HermezCallerSession) SafetyBot() (common.Address, error) {
  983. return _Hermez.Contract.SafetyBot(&_Hermez.CallOpts)
  984. }
  985. // StateRoot is a free data retrieval call binding the contract method 0x9588eca2.
  986. //
  987. // Solidity: function stateRoot() view returns(uint256)
  988. func (_Hermez *HermezCaller) StateRoot(opts *bind.CallOpts) (*big.Int, error) {
  989. var (
  990. ret0 = new(*big.Int)
  991. )
  992. out := ret0
  993. err := _Hermez.contract.Call(opts, out, "stateRoot")
  994. return *ret0, err
  995. }
  996. // StateRoot is a free data retrieval call binding the contract method 0x9588eca2.
  997. //
  998. // Solidity: function stateRoot() view returns(uint256)
  999. func (_Hermez *HermezSession) StateRoot() (*big.Int, error) {
  1000. return _Hermez.Contract.StateRoot(&_Hermez.CallOpts)
  1001. }
  1002. // StateRoot is a free data retrieval call binding the contract method 0x9588eca2.
  1003. //
  1004. // Solidity: function stateRoot() view returns(uint256)
  1005. func (_Hermez *HermezCallerSession) StateRoot() (*big.Int, error) {
  1006. return _Hermez.Contract.StateRoot(&_Hermez.CallOpts)
  1007. }
  1008. // TokenExchange is a free data retrieval call binding the contract method 0x0dd94b96.
  1009. //
  1010. // Solidity: function tokenExchange(address ) view returns(uint256)
  1011. func (_Hermez *HermezCaller) TokenExchange(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) {
  1012. var (
  1013. ret0 = new(*big.Int)
  1014. )
  1015. out := ret0
  1016. err := _Hermez.contract.Call(opts, out, "tokenExchange", arg0)
  1017. return *ret0, err
  1018. }
  1019. // TokenExchange is a free data retrieval call binding the contract method 0x0dd94b96.
  1020. //
  1021. // Solidity: function tokenExchange(address ) view returns(uint256)
  1022. func (_Hermez *HermezSession) TokenExchange(arg0 common.Address) (*big.Int, error) {
  1023. return _Hermez.Contract.TokenExchange(&_Hermez.CallOpts, arg0)
  1024. }
  1025. // TokenExchange is a free data retrieval call binding the contract method 0x0dd94b96.
  1026. //
  1027. // Solidity: function tokenExchange(address ) view returns(uint256)
  1028. func (_Hermez *HermezCallerSession) TokenExchange(arg0 common.Address) (*big.Int, error) {
  1029. return _Hermez.Contract.TokenExchange(&_Hermez.CallOpts, arg0)
  1030. }
  1031. // TokenHEZ is a free data retrieval call binding the contract method 0x79a135e3.
  1032. //
  1033. // Solidity: function tokenHEZ() view returns(address)
  1034. func (_Hermez *HermezCaller) TokenHEZ(opts *bind.CallOpts) (common.Address, error) {
  1035. var (
  1036. ret0 = new(common.Address)
  1037. )
  1038. out := ret0
  1039. err := _Hermez.contract.Call(opts, out, "tokenHEZ")
  1040. return *ret0, err
  1041. }
  1042. // TokenHEZ is a free data retrieval call binding the contract method 0x79a135e3.
  1043. //
  1044. // Solidity: function tokenHEZ() view returns(address)
  1045. func (_Hermez *HermezSession) TokenHEZ() (common.Address, error) {
  1046. return _Hermez.Contract.TokenHEZ(&_Hermez.CallOpts)
  1047. }
  1048. // TokenHEZ is a free data retrieval call binding the contract method 0x79a135e3.
  1049. //
  1050. // Solidity: function tokenHEZ() view returns(address)
  1051. func (_Hermez *HermezCallerSession) TokenHEZ() (common.Address, error) {
  1052. return _Hermez.Contract.TokenHEZ(&_Hermez.CallOpts)
  1053. }
  1054. // TokenList is a free data retrieval call binding the contract method 0x9ead7222.
  1055. //
  1056. // Solidity: function tokenList(uint256 ) view returns(address)
  1057. func (_Hermez *HermezCaller) TokenList(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) {
  1058. var (
  1059. ret0 = new(common.Address)
  1060. )
  1061. out := ret0
  1062. err := _Hermez.contract.Call(opts, out, "tokenList", arg0)
  1063. return *ret0, err
  1064. }
  1065. // TokenList is a free data retrieval call binding the contract method 0x9ead7222.
  1066. //
  1067. // Solidity: function tokenList(uint256 ) view returns(address)
  1068. func (_Hermez *HermezSession) TokenList(arg0 *big.Int) (common.Address, error) {
  1069. return _Hermez.Contract.TokenList(&_Hermez.CallOpts, arg0)
  1070. }
  1071. // TokenList is a free data retrieval call binding the contract method 0x9ead7222.
  1072. //
  1073. // Solidity: function tokenList(uint256 ) view returns(address)
  1074. func (_Hermez *HermezCallerSession) TokenList(arg0 *big.Int) (common.Address, error) {
  1075. return _Hermez.Contract.TokenList(&_Hermez.CallOpts, arg0)
  1076. }
  1077. // TokenMap is a free data retrieval call binding the contract method 0x004aca6e.
  1078. //
  1079. // Solidity: function tokenMap(address ) view returns(bool)
  1080. func (_Hermez *HermezCaller) TokenMap(opts *bind.CallOpts, arg0 common.Address) (bool, error) {
  1081. var (
  1082. ret0 = new(bool)
  1083. )
  1084. out := ret0
  1085. err := _Hermez.contract.Call(opts, out, "tokenMap", arg0)
  1086. return *ret0, err
  1087. }
  1088. // TokenMap is a free data retrieval call binding the contract method 0x004aca6e.
  1089. //
  1090. // Solidity: function tokenMap(address ) view returns(bool)
  1091. func (_Hermez *HermezSession) TokenMap(arg0 common.Address) (bool, error) {
  1092. return _Hermez.Contract.TokenMap(&_Hermez.CallOpts, arg0)
  1093. }
  1094. // TokenMap is a free data retrieval call binding the contract method 0x004aca6e.
  1095. //
  1096. // Solidity: function tokenMap(address ) view returns(bool)
  1097. func (_Hermez *HermezCallerSession) TokenMap(arg0 common.Address) (bool, error) {
  1098. return _Hermez.Contract.TokenMap(&_Hermez.CallOpts, arg0)
  1099. }
  1100. // WithdrawalContract is a free data retrieval call binding the contract method 0x81842c2c.
  1101. //
  1102. // Solidity: function withdrawalContract() view returns(address)
  1103. func (_Hermez *HermezCaller) WithdrawalContract(opts *bind.CallOpts) (common.Address, error) {
  1104. var (
  1105. ret0 = new(common.Address)
  1106. )
  1107. out := ret0
  1108. err := _Hermez.contract.Call(opts, out, "withdrawalContract")
  1109. return *ret0, err
  1110. }
  1111. // WithdrawalContract is a free data retrieval call binding the contract method 0x81842c2c.
  1112. //
  1113. // Solidity: function withdrawalContract() view returns(address)
  1114. func (_Hermez *HermezSession) WithdrawalContract() (common.Address, error) {
  1115. return _Hermez.Contract.WithdrawalContract(&_Hermez.CallOpts)
  1116. }
  1117. // WithdrawalContract is a free data retrieval call binding the contract method 0x81842c2c.
  1118. //
  1119. // Solidity: function withdrawalContract() view returns(address)
  1120. func (_Hermez *HermezCallerSession) WithdrawalContract() (common.Address, error) {
  1121. return _Hermez.Contract.WithdrawalContract(&_Hermez.CallOpts)
  1122. }
  1123. // WithdrawalDelay is a free data retrieval call binding the contract method 0xa7ab6961.
  1124. //
  1125. // Solidity: function withdrawalDelay() view returns(uint64)
  1126. func (_Hermez *HermezCaller) WithdrawalDelay(opts *bind.CallOpts) (uint64, error) {
  1127. var (
  1128. ret0 = new(uint64)
  1129. )
  1130. out := ret0
  1131. err := _Hermez.contract.Call(opts, out, "withdrawalDelay")
  1132. return *ret0, err
  1133. }
  1134. // WithdrawalDelay is a free data retrieval call binding the contract method 0xa7ab6961.
  1135. //
  1136. // Solidity: function withdrawalDelay() view returns(uint64)
  1137. func (_Hermez *HermezSession) WithdrawalDelay() (uint64, error) {
  1138. return _Hermez.Contract.WithdrawalDelay(&_Hermez.CallOpts)
  1139. }
  1140. // WithdrawalDelay is a free data retrieval call binding the contract method 0xa7ab6961.
  1141. //
  1142. // Solidity: function withdrawalDelay() view returns(uint64)
  1143. func (_Hermez *HermezCallerSession) WithdrawalDelay() (uint64, error) {
  1144. return _Hermez.Contract.WithdrawalDelay(&_Hermez.CallOpts)
  1145. }
  1146. // AddToken is a paid mutator transaction binding the contract method 0xd48bfca7.
  1147. //
  1148. // Solidity: function addToken(address tokenAddress) payable returns()
  1149. func (_Hermez *HermezTransactor) AddToken(opts *bind.TransactOpts, tokenAddress common.Address) (*types.Transaction, error) {
  1150. return _Hermez.contract.Transact(opts, "addToken", tokenAddress)
  1151. }
  1152. // AddToken is a paid mutator transaction binding the contract method 0xd48bfca7.
  1153. //
  1154. // Solidity: function addToken(address tokenAddress) payable returns()
  1155. func (_Hermez *HermezSession) AddToken(tokenAddress common.Address) (*types.Transaction, error) {
  1156. return _Hermez.Contract.AddToken(&_Hermez.TransactOpts, tokenAddress)
  1157. }
  1158. // AddToken is a paid mutator transaction binding the contract method 0xd48bfca7.
  1159. //
  1160. // Solidity: function addToken(address tokenAddress) payable returns()
  1161. func (_Hermez *HermezTransactorSession) AddToken(tokenAddress common.Address) (*types.Transaction, error) {
  1162. return _Hermez.Contract.AddToken(&_Hermez.TransactOpts, tokenAddress)
  1163. }
  1164. // CreateAccountDeposit is a paid mutator transaction binding the contract method 0x30501fcb.
  1165. //
  1166. // Solidity: function createAccountDeposit(uint256 babyPubKey, uint16 loadAmountF, uint32 tokenID) payable returns()
  1167. func (_Hermez *HermezTransactor) CreateAccountDeposit(opts *bind.TransactOpts, babyPubKey *big.Int, loadAmountF uint16, tokenID uint32) (*types.Transaction, error) {
  1168. return _Hermez.contract.Transact(opts, "createAccountDeposit", babyPubKey, loadAmountF, tokenID)
  1169. }
  1170. // CreateAccountDeposit is a paid mutator transaction binding the contract method 0x30501fcb.
  1171. //
  1172. // Solidity: function createAccountDeposit(uint256 babyPubKey, uint16 loadAmountF, uint32 tokenID) payable returns()
  1173. func (_Hermez *HermezSession) CreateAccountDeposit(babyPubKey *big.Int, loadAmountF uint16, tokenID uint32) (*types.Transaction, error) {
  1174. return _Hermez.Contract.CreateAccountDeposit(&_Hermez.TransactOpts, babyPubKey, loadAmountF, tokenID)
  1175. }
  1176. // CreateAccountDeposit is a paid mutator transaction binding the contract method 0x30501fcb.
  1177. //
  1178. // Solidity: function createAccountDeposit(uint256 babyPubKey, uint16 loadAmountF, uint32 tokenID) payable returns()
  1179. func (_Hermez *HermezTransactorSession) CreateAccountDeposit(babyPubKey *big.Int, loadAmountF uint16, tokenID uint32) (*types.Transaction, error) {
  1180. return _Hermez.Contract.CreateAccountDeposit(&_Hermez.TransactOpts, babyPubKey, loadAmountF, tokenID)
  1181. }
  1182. // CreateAccountDepositFromRelayer is a paid mutator transaction binding the contract method 0xd7d207c0.
  1183. //
  1184. // Solidity: function createAccountDepositFromRelayer(bytes accountCreationAuthSig, uint256 babyPubKey, uint16 loadAmountF, uint32 tokenID) payable returns()
  1185. func (_Hermez *HermezTransactor) CreateAccountDepositFromRelayer(opts *bind.TransactOpts, accountCreationAuthSig []byte, babyPubKey *big.Int, loadAmountF uint16, tokenID uint32) (*types.Transaction, error) {
  1186. return _Hermez.contract.Transact(opts, "createAccountDepositFromRelayer", accountCreationAuthSig, babyPubKey, loadAmountF, tokenID)
  1187. }
  1188. // CreateAccountDepositFromRelayer is a paid mutator transaction binding the contract method 0xd7d207c0.
  1189. //
  1190. // Solidity: function createAccountDepositFromRelayer(bytes accountCreationAuthSig, uint256 babyPubKey, uint16 loadAmountF, uint32 tokenID) payable returns()
  1191. func (_Hermez *HermezSession) CreateAccountDepositFromRelayer(accountCreationAuthSig []byte, babyPubKey *big.Int, loadAmountF uint16, tokenID uint32) (*types.Transaction, error) {
  1192. return _Hermez.Contract.CreateAccountDepositFromRelayer(&_Hermez.TransactOpts, accountCreationAuthSig, babyPubKey, loadAmountF, tokenID)
  1193. }
  1194. // CreateAccountDepositFromRelayer is a paid mutator transaction binding the contract method 0xd7d207c0.
  1195. //
  1196. // Solidity: function createAccountDepositFromRelayer(bytes accountCreationAuthSig, uint256 babyPubKey, uint16 loadAmountF, uint32 tokenID) payable returns()
  1197. func (_Hermez *HermezTransactorSession) CreateAccountDepositFromRelayer(accountCreationAuthSig []byte, babyPubKey *big.Int, loadAmountF uint16, tokenID uint32) (*types.Transaction, error) {
  1198. return _Hermez.Contract.CreateAccountDepositFromRelayer(&_Hermez.TransactOpts, accountCreationAuthSig, babyPubKey, loadAmountF, tokenID)
  1199. }
  1200. // CreateAccountDepositTransfer is a paid mutator transaction binding the contract method 0x568bc1c5.
  1201. //
  1202. // Solidity: function createAccountDepositTransfer(uint256 babyPubKey, uint16 loadAmountF, uint16 amountF, uint32 tokenID, uint32 toIdx) payable returns()
  1203. func (_Hermez *HermezTransactor) CreateAccountDepositTransfer(opts *bind.TransactOpts, babyPubKey *big.Int, loadAmountF uint16, amountF uint16, tokenID uint32, toIdx uint32) (*types.Transaction, error) {
  1204. return _Hermez.contract.Transact(opts, "createAccountDepositTransfer", babyPubKey, loadAmountF, amountF, tokenID, toIdx)
  1205. }
  1206. // CreateAccountDepositTransfer is a paid mutator transaction binding the contract method 0x568bc1c5.
  1207. //
  1208. // Solidity: function createAccountDepositTransfer(uint256 babyPubKey, uint16 loadAmountF, uint16 amountF, uint32 tokenID, uint32 toIdx) payable returns()
  1209. func (_Hermez *HermezSession) CreateAccountDepositTransfer(babyPubKey *big.Int, loadAmountF uint16, amountF uint16, tokenID uint32, toIdx uint32) (*types.Transaction, error) {
  1210. return _Hermez.Contract.CreateAccountDepositTransfer(&_Hermez.TransactOpts, babyPubKey, loadAmountF, amountF, tokenID, toIdx)
  1211. }
  1212. // CreateAccountDepositTransfer is a paid mutator transaction binding the contract method 0x568bc1c5.
  1213. //
  1214. // Solidity: function createAccountDepositTransfer(uint256 babyPubKey, uint16 loadAmountF, uint16 amountF, uint32 tokenID, uint32 toIdx) payable returns()
  1215. func (_Hermez *HermezTransactorSession) CreateAccountDepositTransfer(babyPubKey *big.Int, loadAmountF uint16, amountF uint16, tokenID uint32, toIdx uint32) (*types.Transaction, error) {
  1216. return _Hermez.Contract.CreateAccountDepositTransfer(&_Hermez.TransactOpts, babyPubKey, loadAmountF, amountF, tokenID, toIdx)
  1217. }
  1218. // Deposit is a paid mutator transaction binding the contract method 0x363e2a22.
  1219. //
  1220. // Solidity: function deposit(uint32 fromIdx, uint16 loadAmountF, uint32 tokenID) payable returns()
  1221. func (_Hermez *HermezTransactor) Deposit(opts *bind.TransactOpts, fromIdx uint32, loadAmountF uint16, tokenID uint32) (*types.Transaction, error) {
  1222. return _Hermez.contract.Transact(opts, "deposit", fromIdx, loadAmountF, tokenID)
  1223. }
  1224. // Deposit is a paid mutator transaction binding the contract method 0x363e2a22.
  1225. //
  1226. // Solidity: function deposit(uint32 fromIdx, uint16 loadAmountF, uint32 tokenID) payable returns()
  1227. func (_Hermez *HermezSession) Deposit(fromIdx uint32, loadAmountF uint16, tokenID uint32) (*types.Transaction, error) {
  1228. return _Hermez.Contract.Deposit(&_Hermez.TransactOpts, fromIdx, loadAmountF, tokenID)
  1229. }
  1230. // Deposit is a paid mutator transaction binding the contract method 0x363e2a22.
  1231. //
  1232. // Solidity: function deposit(uint32 fromIdx, uint16 loadAmountF, uint32 tokenID) payable returns()
  1233. func (_Hermez *HermezTransactorSession) Deposit(fromIdx uint32, loadAmountF uint16, tokenID uint32) (*types.Transaction, error) {
  1234. return _Hermez.Contract.Deposit(&_Hermez.TransactOpts, fromIdx, loadAmountF, tokenID)
  1235. }
  1236. // DepositTransfer is a paid mutator transaction binding the contract method 0x9612518a.
  1237. //
  1238. // Solidity: function depositTransfer(uint32 fromIdx, uint16 loadAmountF, uint16 amountF, uint32 tokenID, uint32 toIdx) payable returns()
  1239. func (_Hermez *HermezTransactor) DepositTransfer(opts *bind.TransactOpts, fromIdx uint32, loadAmountF uint16, amountF uint16, tokenID uint32, toIdx uint32) (*types.Transaction, error) {
  1240. return _Hermez.contract.Transact(opts, "depositTransfer", fromIdx, loadAmountF, amountF, tokenID, toIdx)
  1241. }
  1242. // DepositTransfer is a paid mutator transaction binding the contract method 0x9612518a.
  1243. //
  1244. // Solidity: function depositTransfer(uint32 fromIdx, uint16 loadAmountF, uint16 amountF, uint32 tokenID, uint32 toIdx) payable returns()
  1245. func (_Hermez *HermezSession) DepositTransfer(fromIdx uint32, loadAmountF uint16, amountF uint16, tokenID uint32, toIdx uint32) (*types.Transaction, error) {
  1246. return _Hermez.Contract.DepositTransfer(&_Hermez.TransactOpts, fromIdx, loadAmountF, amountF, tokenID, toIdx)
  1247. }
  1248. // DepositTransfer is a paid mutator transaction binding the contract method 0x9612518a.
  1249. //
  1250. // Solidity: function depositTransfer(uint32 fromIdx, uint16 loadAmountF, uint16 amountF, uint32 tokenID, uint32 toIdx) payable returns()
  1251. func (_Hermez *HermezTransactorSession) DepositTransfer(fromIdx uint32, loadAmountF uint16, amountF uint16, tokenID uint32, toIdx uint32) (*types.Transaction, error) {
  1252. return _Hermez.Contract.DepositTransfer(&_Hermez.TransactOpts, fromIdx, loadAmountF, amountF, tokenID, toIdx)
  1253. }
  1254. // ForceExit is a paid mutator transaction binding the contract method 0xe6171150.
  1255. //
  1256. // Solidity: function forceExit(uint32 fromIdx, uint16 amountF, uint32 tokenID) payable returns()
  1257. func (_Hermez *HermezTransactor) ForceExit(opts *bind.TransactOpts, fromIdx uint32, amountF uint16, tokenID uint32) (*types.Transaction, error) {
  1258. return _Hermez.contract.Transact(opts, "forceExit", fromIdx, amountF, tokenID)
  1259. }
  1260. // ForceExit is a paid mutator transaction binding the contract method 0xe6171150.
  1261. //
  1262. // Solidity: function forceExit(uint32 fromIdx, uint16 amountF, uint32 tokenID) payable returns()
  1263. func (_Hermez *HermezSession) ForceExit(fromIdx uint32, amountF uint16, tokenID uint32) (*types.Transaction, error) {
  1264. return _Hermez.Contract.ForceExit(&_Hermez.TransactOpts, fromIdx, amountF, tokenID)
  1265. }
  1266. // ForceExit is a paid mutator transaction binding the contract method 0xe6171150.
  1267. //
  1268. // Solidity: function forceExit(uint32 fromIdx, uint16 amountF, uint32 tokenID) payable returns()
  1269. func (_Hermez *HermezTransactorSession) ForceExit(fromIdx uint32, amountF uint16, tokenID uint32) (*types.Transaction, error) {
  1270. return _Hermez.Contract.ForceExit(&_Hermez.TransactOpts, fromIdx, amountF, tokenID)
  1271. }
  1272. // ForceTransfer is a paid mutator transaction binding the contract method 0x3787f591.
  1273. //
  1274. // Solidity: function forceTransfer(uint32 fromIdx, uint16 amountF, uint32 tokenID, uint32 toIdx) payable returns()
  1275. func (_Hermez *HermezTransactor) ForceTransfer(opts *bind.TransactOpts, fromIdx uint32, amountF uint16, tokenID uint32, toIdx uint32) (*types.Transaction, error) {
  1276. return _Hermez.contract.Transact(opts, "forceTransfer", fromIdx, amountF, tokenID, toIdx)
  1277. }
  1278. // ForceTransfer is a paid mutator transaction binding the contract method 0x3787f591.
  1279. //
  1280. // Solidity: function forceTransfer(uint32 fromIdx, uint16 amountF, uint32 tokenID, uint32 toIdx) payable returns()
  1281. func (_Hermez *HermezSession) ForceTransfer(fromIdx uint32, amountF uint16, tokenID uint32, toIdx uint32) (*types.Transaction, error) {
  1282. return _Hermez.Contract.ForceTransfer(&_Hermez.TransactOpts, fromIdx, amountF, tokenID, toIdx)
  1283. }
  1284. // ForceTransfer is a paid mutator transaction binding the contract method 0x3787f591.
  1285. //
  1286. // Solidity: function forceTransfer(uint32 fromIdx, uint16 amountF, uint32 tokenID, uint32 toIdx) payable returns()
  1287. func (_Hermez *HermezTransactorSession) ForceTransfer(fromIdx uint32, amountF uint16, tokenID uint32, toIdx uint32) (*types.Transaction, error) {
  1288. return _Hermez.Contract.ForceTransfer(&_Hermez.TransactOpts, fromIdx, amountF, tokenID, toIdx)
  1289. }
  1290. // ForgeBatch is a paid mutator transaction binding the contract method 0xc8464ed1.
  1291. //
  1292. // Solidity: function forgeBatch(uint256[2] proofA, uint256[2][2] proofB, uint256[2] proofC, uint32 newLastIdx, uint256 newStRoot, uint256 newExitRoot, bytes compressedL1CoordinatorTx, bytes l2TxsData, bytes feeIdxCoordinator, uint256 verifierIdx, bool l1Batch) returns()
  1293. func (_Hermez *HermezTransactor) ForgeBatch(opts *bind.TransactOpts, proofA [2]*big.Int, proofB [2][2]*big.Int, proofC [2]*big.Int, newLastIdx uint32, newStRoot *big.Int, newExitRoot *big.Int, compressedL1CoordinatorTx []byte, l2TxsData []byte, feeIdxCoordinator []byte, verifierIdx *big.Int, l1Batch bool) (*types.Transaction, error) {
  1294. return _Hermez.contract.Transact(opts, "forgeBatch", proofA, proofB, proofC, newLastIdx, newStRoot, newExitRoot, compressedL1CoordinatorTx, l2TxsData, feeIdxCoordinator, verifierIdx, l1Batch)
  1295. }
  1296. // ForgeBatch is a paid mutator transaction binding the contract method 0xc8464ed1.
  1297. //
  1298. // Solidity: function forgeBatch(uint256[2] proofA, uint256[2][2] proofB, uint256[2] proofC, uint32 newLastIdx, uint256 newStRoot, uint256 newExitRoot, bytes compressedL1CoordinatorTx, bytes l2TxsData, bytes feeIdxCoordinator, uint256 verifierIdx, bool l1Batch) returns()
  1299. func (_Hermez *HermezSession) ForgeBatch(proofA [2]*big.Int, proofB [2][2]*big.Int, proofC [2]*big.Int, newLastIdx uint32, newStRoot *big.Int, newExitRoot *big.Int, compressedL1CoordinatorTx []byte, l2TxsData []byte, feeIdxCoordinator []byte, verifierIdx *big.Int, l1Batch bool) (*types.Transaction, error) {
  1300. return _Hermez.Contract.ForgeBatch(&_Hermez.TransactOpts, proofA, proofB, proofC, newLastIdx, newStRoot, newExitRoot, compressedL1CoordinatorTx, l2TxsData, feeIdxCoordinator, verifierIdx, l1Batch)
  1301. }
  1302. // ForgeBatch is a paid mutator transaction binding the contract method 0xc8464ed1.
  1303. //
  1304. // Solidity: function forgeBatch(uint256[2] proofA, uint256[2][2] proofB, uint256[2] proofC, uint32 newLastIdx, uint256 newStRoot, uint256 newExitRoot, bytes compressedL1CoordinatorTx, bytes l2TxsData, bytes feeIdxCoordinator, uint256 verifierIdx, bool l1Batch) returns()
  1305. func (_Hermez *HermezTransactorSession) ForgeBatch(proofA [2]*big.Int, proofB [2][2]*big.Int, proofC [2]*big.Int, newLastIdx uint32, newStRoot *big.Int, newExitRoot *big.Int, compressedL1CoordinatorTx []byte, l2TxsData []byte, feeIdxCoordinator []byte, verifierIdx *big.Int, l1Batch bool) (*types.Transaction, error) {
  1306. return _Hermez.Contract.ForgeBatch(&_Hermez.TransactOpts, proofA, proofB, proofC, newLastIdx, newStRoot, newExitRoot, compressedL1CoordinatorTx, l2TxsData, feeIdxCoordinator, verifierIdx, l1Batch)
  1307. }
  1308. // Initialize is a paid mutator transaction binding the contract method 0x55ed3fd2.
  1309. //
  1310. // Solidity: function initialize(address[] _verifiers, uint256[] _maxTxVerifiers, address _tokenHEZ, address _governanceAddress, address _safetyBot, address _consensusContract, address _withdrawalContract, address _poseidon2Elements, address _poseidon3Elements, address _poseidon4Elements, uint256 _feeAddToken, uint256 _forgeL1Timeout, uint256 _feeL1UserTx, uint64 _withdrawalDelay) returns()
  1311. func (_Hermez *HermezTransactor) Initialize(opts *bind.TransactOpts, _verifiers []common.Address, _maxTxVerifiers []*big.Int, _tokenHEZ common.Address, _governanceAddress common.Address, _safetyBot common.Address, _consensusContract common.Address, _withdrawalContract common.Address, _poseidon2Elements common.Address, _poseidon3Elements common.Address, _poseidon4Elements common.Address, _feeAddToken *big.Int, _forgeL1Timeout *big.Int, _feeL1UserTx *big.Int, _withdrawalDelay uint64) (*types.Transaction, error) {
  1312. return _Hermez.contract.Transact(opts, "initialize", _verifiers, _maxTxVerifiers, _tokenHEZ, _governanceAddress, _safetyBot, _consensusContract, _withdrawalContract, _poseidon2Elements, _poseidon3Elements, _poseidon4Elements, _feeAddToken, _forgeL1Timeout, _feeL1UserTx, _withdrawalDelay)
  1313. }
  1314. // Initialize is a paid mutator transaction binding the contract method 0x55ed3fd2.
  1315. //
  1316. // Solidity: function initialize(address[] _verifiers, uint256[] _maxTxVerifiers, address _tokenHEZ, address _governanceAddress, address _safetyBot, address _consensusContract, address _withdrawalContract, address _poseidon2Elements, address _poseidon3Elements, address _poseidon4Elements, uint256 _feeAddToken, uint256 _forgeL1Timeout, uint256 _feeL1UserTx, uint64 _withdrawalDelay) returns()
  1317. func (_Hermez *HermezSession) Initialize(_verifiers []common.Address, _maxTxVerifiers []*big.Int, _tokenHEZ common.Address, _governanceAddress common.Address, _safetyBot common.Address, _consensusContract common.Address, _withdrawalContract common.Address, _poseidon2Elements common.Address, _poseidon3Elements common.Address, _poseidon4Elements common.Address, _feeAddToken *big.Int, _forgeL1Timeout *big.Int, _feeL1UserTx *big.Int, _withdrawalDelay uint64) (*types.Transaction, error) {
  1318. return _Hermez.Contract.Initialize(&_Hermez.TransactOpts, _verifiers, _maxTxVerifiers, _tokenHEZ, _governanceAddress, _safetyBot, _consensusContract, _withdrawalContract, _poseidon2Elements, _poseidon3Elements, _poseidon4Elements, _feeAddToken, _forgeL1Timeout, _feeL1UserTx, _withdrawalDelay)
  1319. }
  1320. // Initialize is a paid mutator transaction binding the contract method 0x55ed3fd2.
  1321. //
  1322. // Solidity: function initialize(address[] _verifiers, uint256[] _maxTxVerifiers, address _tokenHEZ, address _governanceAddress, address _safetyBot, address _consensusContract, address _withdrawalContract, address _poseidon2Elements, address _poseidon3Elements, address _poseidon4Elements, uint256 _feeAddToken, uint256 _forgeL1Timeout, uint256 _feeL1UserTx, uint64 _withdrawalDelay) returns()
  1323. func (_Hermez *HermezTransactorSession) Initialize(_verifiers []common.Address, _maxTxVerifiers []*big.Int, _tokenHEZ common.Address, _governanceAddress common.Address, _safetyBot common.Address, _consensusContract common.Address, _withdrawalContract common.Address, _poseidon2Elements common.Address, _poseidon3Elements common.Address, _poseidon4Elements common.Address, _feeAddToken *big.Int, _forgeL1Timeout *big.Int, _feeL1UserTx *big.Int, _withdrawalDelay uint64) (*types.Transaction, error) {
  1324. return _Hermez.Contract.Initialize(&_Hermez.TransactOpts, _verifiers, _maxTxVerifiers, _tokenHEZ, _governanceAddress, _safetyBot, _consensusContract, _withdrawalContract, _poseidon2Elements, _poseidon3Elements, _poseidon4Elements, _feeAddToken, _forgeL1Timeout, _feeL1UserTx, _withdrawalDelay)
  1325. }
  1326. // SafeMode is a paid mutator transaction binding the contract method 0xabe3219c.
  1327. //
  1328. // Solidity: function safeMode() returns()
  1329. func (_Hermez *HermezTransactor) SafeMode(opts *bind.TransactOpts) (*types.Transaction, error) {
  1330. return _Hermez.contract.Transact(opts, "safeMode")
  1331. }
  1332. // SafeMode is a paid mutator transaction binding the contract method 0xabe3219c.
  1333. //
  1334. // Solidity: function safeMode() returns()
  1335. func (_Hermez *HermezSession) SafeMode() (*types.Transaction, error) {
  1336. return _Hermez.Contract.SafeMode(&_Hermez.TransactOpts)
  1337. }
  1338. // SafeMode is a paid mutator transaction binding the contract method 0xabe3219c.
  1339. //
  1340. // Solidity: function safeMode() returns()
  1341. func (_Hermez *HermezTransactorSession) SafeMode() (*types.Transaction, error) {
  1342. return _Hermez.Contract.SafeMode(&_Hermez.TransactOpts)
  1343. }
  1344. // UpdateBucketsParameters is a paid mutator transaction binding the contract method 0x68e95e53.
  1345. //
  1346. // Solidity: function updateBucketsParameters(uint256[4][5] arrayBuckets) returns()
  1347. func (_Hermez *HermezTransactor) UpdateBucketsParameters(opts *bind.TransactOpts, arrayBuckets [5][4]*big.Int) (*types.Transaction, error) {
  1348. return _Hermez.contract.Transact(opts, "updateBucketsParameters", arrayBuckets)
  1349. }
  1350. // UpdateBucketsParameters is a paid mutator transaction binding the contract method 0x68e95e53.
  1351. //
  1352. // Solidity: function updateBucketsParameters(uint256[4][5] arrayBuckets) returns()
  1353. func (_Hermez *HermezSession) UpdateBucketsParameters(arrayBuckets [5][4]*big.Int) (*types.Transaction, error) {
  1354. return _Hermez.Contract.UpdateBucketsParameters(&_Hermez.TransactOpts, arrayBuckets)
  1355. }
  1356. // UpdateBucketsParameters is a paid mutator transaction binding the contract method 0x68e95e53.
  1357. //
  1358. // Solidity: function updateBucketsParameters(uint256[4][5] arrayBuckets) returns()
  1359. func (_Hermez *HermezTransactorSession) UpdateBucketsParameters(arrayBuckets [5][4]*big.Int) (*types.Transaction, error) {
  1360. return _Hermez.Contract.UpdateBucketsParameters(&_Hermez.TransactOpts, arrayBuckets)
  1361. }
  1362. // UpdateFeeAddToken is a paid mutator transaction binding the contract method 0x314e5eda.
  1363. //
  1364. // Solidity: function updateFeeAddToken(uint256 newFeeAddToken) returns()
  1365. func (_Hermez *HermezTransactor) UpdateFeeAddToken(opts *bind.TransactOpts, newFeeAddToken *big.Int) (*types.Transaction, error) {
  1366. return _Hermez.contract.Transact(opts, "updateFeeAddToken", newFeeAddToken)
  1367. }
  1368. // UpdateFeeAddToken is a paid mutator transaction binding the contract method 0x314e5eda.
  1369. //
  1370. // Solidity: function updateFeeAddToken(uint256 newFeeAddToken) returns()
  1371. func (_Hermez *HermezSession) UpdateFeeAddToken(newFeeAddToken *big.Int) (*types.Transaction, error) {
  1372. return _Hermez.Contract.UpdateFeeAddToken(&_Hermez.TransactOpts, newFeeAddToken)
  1373. }
  1374. // UpdateFeeAddToken is a paid mutator transaction binding the contract method 0x314e5eda.
  1375. //
  1376. // Solidity: function updateFeeAddToken(uint256 newFeeAddToken) returns()
  1377. func (_Hermez *HermezTransactorSession) UpdateFeeAddToken(newFeeAddToken *big.Int) (*types.Transaction, error) {
  1378. return _Hermez.Contract.UpdateFeeAddToken(&_Hermez.TransactOpts, newFeeAddToken)
  1379. }
  1380. // UpdateFeeL1UserTx is a paid mutator transaction binding the contract method 0x14fc0419.
  1381. //
  1382. // Solidity: function updateFeeL1UserTx(uint256 newFeeL1UserTx) returns()
  1383. func (_Hermez *HermezTransactor) UpdateFeeL1UserTx(opts *bind.TransactOpts, newFeeL1UserTx *big.Int) (*types.Transaction, error) {
  1384. return _Hermez.contract.Transact(opts, "updateFeeL1UserTx", newFeeL1UserTx)
  1385. }
  1386. // UpdateFeeL1UserTx is a paid mutator transaction binding the contract method 0x14fc0419.
  1387. //
  1388. // Solidity: function updateFeeL1UserTx(uint256 newFeeL1UserTx) returns()
  1389. func (_Hermez *HermezSession) UpdateFeeL1UserTx(newFeeL1UserTx *big.Int) (*types.Transaction, error) {
  1390. return _Hermez.Contract.UpdateFeeL1UserTx(&_Hermez.TransactOpts, newFeeL1UserTx)
  1391. }
  1392. // UpdateFeeL1UserTx is a paid mutator transaction binding the contract method 0x14fc0419.
  1393. //
  1394. // Solidity: function updateFeeL1UserTx(uint256 newFeeL1UserTx) returns()
  1395. func (_Hermez *HermezTransactorSession) UpdateFeeL1UserTx(newFeeL1UserTx *big.Int) (*types.Transaction, error) {
  1396. return _Hermez.Contract.UpdateFeeL1UserTx(&_Hermez.TransactOpts, newFeeL1UserTx)
  1397. }
  1398. // UpdateForgeL1Timeout is a paid mutator transaction binding the contract method 0xf6fb49e4.
  1399. //
  1400. // Solidity: function updateForgeL1Timeout(uint256 newForgeL1Timeout) returns()
  1401. func (_Hermez *HermezTransactor) UpdateForgeL1Timeout(opts *bind.TransactOpts, newForgeL1Timeout *big.Int) (*types.Transaction, error) {
  1402. return _Hermez.contract.Transact(opts, "updateForgeL1Timeout", newForgeL1Timeout)
  1403. }
  1404. // UpdateForgeL1Timeout is a paid mutator transaction binding the contract method 0xf6fb49e4.
  1405. //
  1406. // Solidity: function updateForgeL1Timeout(uint256 newForgeL1Timeout) returns()
  1407. func (_Hermez *HermezSession) UpdateForgeL1Timeout(newForgeL1Timeout *big.Int) (*types.Transaction, error) {
  1408. return _Hermez.Contract.UpdateForgeL1Timeout(&_Hermez.TransactOpts, newForgeL1Timeout)
  1409. }
  1410. // UpdateForgeL1Timeout is a paid mutator transaction binding the contract method 0xf6fb49e4.
  1411. //
  1412. // Solidity: function updateForgeL1Timeout(uint256 newForgeL1Timeout) returns()
  1413. func (_Hermez *HermezTransactorSession) UpdateForgeL1Timeout(newForgeL1Timeout *big.Int) (*types.Transaction, error) {
  1414. return _Hermez.Contract.UpdateForgeL1Timeout(&_Hermez.TransactOpts, newForgeL1Timeout)
  1415. }
  1416. // UpdateTokenExchange is a paid mutator transaction binding the contract method 0xcadedd82.
  1417. //
  1418. // Solidity: function updateTokenExchange(address[] addressArray, uint256[] valueArray) returns()
  1419. func (_Hermez *HermezTransactor) UpdateTokenExchange(opts *bind.TransactOpts, addressArray []common.Address, valueArray []*big.Int) (*types.Transaction, error) {
  1420. return _Hermez.contract.Transact(opts, "updateTokenExchange", addressArray, valueArray)
  1421. }
  1422. // UpdateTokenExchange is a paid mutator transaction binding the contract method 0xcadedd82.
  1423. //
  1424. // Solidity: function updateTokenExchange(address[] addressArray, uint256[] valueArray) returns()
  1425. func (_Hermez *HermezSession) UpdateTokenExchange(addressArray []common.Address, valueArray []*big.Int) (*types.Transaction, error) {
  1426. return _Hermez.Contract.UpdateTokenExchange(&_Hermez.TransactOpts, addressArray, valueArray)
  1427. }
  1428. // UpdateTokenExchange is a paid mutator transaction binding the contract method 0xcadedd82.
  1429. //
  1430. // Solidity: function updateTokenExchange(address[] addressArray, uint256[] valueArray) returns()
  1431. func (_Hermez *HermezTransactorSession) UpdateTokenExchange(addressArray []common.Address, valueArray []*big.Int) (*types.Transaction, error) {
  1432. return _Hermez.Contract.UpdateTokenExchange(&_Hermez.TransactOpts, addressArray, valueArray)
  1433. }
  1434. // UpdateTokenHEZ is a paid mutator transaction binding the contract method 0xc36e5124.
  1435. //
  1436. // Solidity: function updateTokenHEZ(address newTokenHEZ) returns()
  1437. func (_Hermez *HermezTransactor) UpdateTokenHEZ(opts *bind.TransactOpts, newTokenHEZ common.Address) (*types.Transaction, error) {
  1438. return _Hermez.contract.Transact(opts, "updateTokenHEZ", newTokenHEZ)
  1439. }
  1440. // UpdateTokenHEZ is a paid mutator transaction binding the contract method 0xc36e5124.
  1441. //
  1442. // Solidity: function updateTokenHEZ(address newTokenHEZ) returns()
  1443. func (_Hermez *HermezSession) UpdateTokenHEZ(newTokenHEZ common.Address) (*types.Transaction, error) {
  1444. return _Hermez.Contract.UpdateTokenHEZ(&_Hermez.TransactOpts, newTokenHEZ)
  1445. }
  1446. // UpdateTokenHEZ is a paid mutator transaction binding the contract method 0xc36e5124.
  1447. //
  1448. // Solidity: function updateTokenHEZ(address newTokenHEZ) returns()
  1449. func (_Hermez *HermezTransactorSession) UpdateTokenHEZ(newTokenHEZ common.Address) (*types.Transaction, error) {
  1450. return _Hermez.Contract.UpdateTokenHEZ(&_Hermez.TransactOpts, newTokenHEZ)
  1451. }
  1452. // UpdateWithdrawalDelay is a paid mutator transaction binding the contract method 0xef4a5c4a.
  1453. //
  1454. // Solidity: function updateWithdrawalDelay(uint64 newWithdrawalDelay) returns()
  1455. func (_Hermez *HermezTransactor) UpdateWithdrawalDelay(opts *bind.TransactOpts, newWithdrawalDelay uint64) (*types.Transaction, error) {
  1456. return _Hermez.contract.Transact(opts, "updateWithdrawalDelay", newWithdrawalDelay)
  1457. }
  1458. // UpdateWithdrawalDelay is a paid mutator transaction binding the contract method 0xef4a5c4a.
  1459. //
  1460. // Solidity: function updateWithdrawalDelay(uint64 newWithdrawalDelay) returns()
  1461. func (_Hermez *HermezSession) UpdateWithdrawalDelay(newWithdrawalDelay uint64) (*types.Transaction, error) {
  1462. return _Hermez.Contract.UpdateWithdrawalDelay(&_Hermez.TransactOpts, newWithdrawalDelay)
  1463. }
  1464. // UpdateWithdrawalDelay is a paid mutator transaction binding the contract method 0xef4a5c4a.
  1465. //
  1466. // Solidity: function updateWithdrawalDelay(uint64 newWithdrawalDelay) returns()
  1467. func (_Hermez *HermezTransactorSession) UpdateWithdrawalDelay(newWithdrawalDelay uint64) (*types.Transaction, error) {
  1468. return _Hermez.Contract.UpdateWithdrawalDelay(&_Hermez.TransactOpts, newWithdrawalDelay)
  1469. }
  1470. // Withdraw is a paid mutator transaction binding the contract method 0xbe8e25db.
  1471. //
  1472. // Solidity: function withdraw(uint32 tokenID, uint192 balance, uint256 babyPubKey, uint256 numExitRoot, uint256[] siblings, uint256 idx, bool instantWithdraw) returns()
  1473. func (_Hermez *HermezTransactor) Withdraw(opts *bind.TransactOpts, tokenID uint32, balance *big.Int, babyPubKey *big.Int, numExitRoot *big.Int, siblings []*big.Int, idx *big.Int, instantWithdraw bool) (*types.Transaction, error) {
  1474. return _Hermez.contract.Transact(opts, "withdraw", tokenID, balance, babyPubKey, numExitRoot, siblings, idx, instantWithdraw)
  1475. }
  1476. // Withdraw is a paid mutator transaction binding the contract method 0xbe8e25db.
  1477. //
  1478. // Solidity: function withdraw(uint32 tokenID, uint192 balance, uint256 babyPubKey, uint256 numExitRoot, uint256[] siblings, uint256 idx, bool instantWithdraw) returns()
  1479. func (_Hermez *HermezSession) Withdraw(tokenID uint32, balance *big.Int, babyPubKey *big.Int, numExitRoot *big.Int, siblings []*big.Int, idx *big.Int, instantWithdraw bool) (*types.Transaction, error) {
  1480. return _Hermez.Contract.Withdraw(&_Hermez.TransactOpts, tokenID, balance, babyPubKey, numExitRoot, siblings, idx, instantWithdraw)
  1481. }
  1482. // Withdraw is a paid mutator transaction binding the contract method 0xbe8e25db.
  1483. //
  1484. // Solidity: function withdraw(uint32 tokenID, uint192 balance, uint256 babyPubKey, uint256 numExitRoot, uint256[] siblings, uint256 idx, bool instantWithdraw) returns()
  1485. func (_Hermez *HermezTransactorSession) Withdraw(tokenID uint32, balance *big.Int, babyPubKey *big.Int, numExitRoot *big.Int, siblings []*big.Int, idx *big.Int, instantWithdraw bool) (*types.Transaction, error) {
  1486. return _Hermez.Contract.Withdraw(&_Hermez.TransactOpts, tokenID, balance, babyPubKey, numExitRoot, siblings, idx, instantWithdraw)
  1487. }
  1488. // HermezAddTokenIterator is returned from FilterAddToken and is used to iterate over the raw logs and unpacked data for AddToken events raised by the Hermez contract.
  1489. type HermezAddTokenIterator struct {
  1490. Event *HermezAddToken // Event containing the contract specifics and raw log
  1491. contract *bind.BoundContract // Generic contract to use for unpacking event data
  1492. event string // Event name to use for unpacking event data
  1493. logs chan types.Log // Log channel receiving the found contract events
  1494. sub ethereum.Subscription // Subscription for errors, completion and termination
  1495. done bool // Whether the subscription completed delivering logs
  1496. fail error // Occurred error to stop iteration
  1497. }
  1498. // Next advances the iterator to the subsequent event, returning whether there
  1499. // are any more events found. In case of a retrieval or parsing error, false is
  1500. // returned and Error() can be queried for the exact failure.
  1501. func (it *HermezAddTokenIterator) Next() bool {
  1502. // If the iterator failed, stop iterating
  1503. if it.fail != nil {
  1504. return false
  1505. }
  1506. // If the iterator completed, deliver directly whatever's available
  1507. if it.done {
  1508. select {
  1509. case log := <-it.logs:
  1510. it.Event = new(HermezAddToken)
  1511. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1512. it.fail = err
  1513. return false
  1514. }
  1515. it.Event.Raw = log
  1516. return true
  1517. default:
  1518. return false
  1519. }
  1520. }
  1521. // Iterator still in progress, wait for either a data or an error event
  1522. select {
  1523. case log := <-it.logs:
  1524. it.Event = new(HermezAddToken)
  1525. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1526. it.fail = err
  1527. return false
  1528. }
  1529. it.Event.Raw = log
  1530. return true
  1531. case err := <-it.sub.Err():
  1532. it.done = true
  1533. it.fail = err
  1534. return it.Next()
  1535. }
  1536. }
  1537. // Error returns any retrieval or parsing error occurred during filtering.
  1538. func (it *HermezAddTokenIterator) Error() error {
  1539. return it.fail
  1540. }
  1541. // Close terminates the iteration process, releasing any pending underlying
  1542. // resources.
  1543. func (it *HermezAddTokenIterator) Close() error {
  1544. it.sub.Unsubscribe()
  1545. return nil
  1546. }
  1547. // HermezAddToken represents a AddToken event raised by the Hermez contract.
  1548. type HermezAddToken struct {
  1549. Arg0 common.Address
  1550. Arg1 uint32
  1551. Raw types.Log // Blockchain specific contextual infos
  1552. }
  1553. // FilterAddToken is a free log retrieval operation binding the contract event 0xcb73d161edb7cd4fb1d92fedfd2555384fd997fd44ab507656f8c81e15747dde.
  1554. //
  1555. // Solidity: event AddToken(address arg0, uint32 arg1)
  1556. func (_Hermez *HermezFilterer) FilterAddToken(opts *bind.FilterOpts) (*HermezAddTokenIterator, error) {
  1557. logs, sub, err := _Hermez.contract.FilterLogs(opts, "AddToken")
  1558. if err != nil {
  1559. return nil, err
  1560. }
  1561. return &HermezAddTokenIterator{contract: _Hermez.contract, event: "AddToken", logs: logs, sub: sub}, nil
  1562. }
  1563. // WatchAddToken is a free log subscription operation binding the contract event 0xcb73d161edb7cd4fb1d92fedfd2555384fd997fd44ab507656f8c81e15747dde.
  1564. //
  1565. // Solidity: event AddToken(address arg0, uint32 arg1)
  1566. func (_Hermez *HermezFilterer) WatchAddToken(opts *bind.WatchOpts, sink chan<- *HermezAddToken) (event.Subscription, error) {
  1567. logs, sub, err := _Hermez.contract.WatchLogs(opts, "AddToken")
  1568. if err != nil {
  1569. return nil, err
  1570. }
  1571. return event.NewSubscription(func(quit <-chan struct{}) error {
  1572. defer sub.Unsubscribe()
  1573. for {
  1574. select {
  1575. case log := <-logs:
  1576. // New log arrived, parse the event and forward to the user
  1577. event := new(HermezAddToken)
  1578. if err := _Hermez.contract.UnpackLog(event, "AddToken", log); err != nil {
  1579. return err
  1580. }
  1581. event.Raw = log
  1582. select {
  1583. case sink <- event:
  1584. case err := <-sub.Err():
  1585. return err
  1586. case <-quit:
  1587. return nil
  1588. }
  1589. case err := <-sub.Err():
  1590. return err
  1591. case <-quit:
  1592. return nil
  1593. }
  1594. }
  1595. }), nil
  1596. }
  1597. // ParseAddToken is a log parse operation binding the contract event 0xcb73d161edb7cd4fb1d92fedfd2555384fd997fd44ab507656f8c81e15747dde.
  1598. //
  1599. // Solidity: event AddToken(address arg0, uint32 arg1)
  1600. func (_Hermez *HermezFilterer) ParseAddToken(log types.Log) (*HermezAddToken, error) {
  1601. event := new(HermezAddToken)
  1602. if err := _Hermez.contract.UnpackLog(event, "AddToken", log); err != nil {
  1603. return nil, err
  1604. }
  1605. return event, nil
  1606. }
  1607. // HermezForgeBatchIterator is returned from FilterForgeBatch and is used to iterate over the raw logs and unpacked data for ForgeBatch events raised by the Hermez contract.
  1608. type HermezForgeBatchIterator struct {
  1609. Event *HermezForgeBatch // Event containing the contract specifics and raw log
  1610. contract *bind.BoundContract // Generic contract to use for unpacking event data
  1611. event string // Event name to use for unpacking event data
  1612. logs chan types.Log // Log channel receiving the found contract events
  1613. sub ethereum.Subscription // Subscription for errors, completion and termination
  1614. done bool // Whether the subscription completed delivering logs
  1615. fail error // Occurred error to stop iteration
  1616. }
  1617. // Next advances the iterator to the subsequent event, returning whether there
  1618. // are any more events found. In case of a retrieval or parsing error, false is
  1619. // returned and Error() can be queried for the exact failure.
  1620. func (it *HermezForgeBatchIterator) Next() bool {
  1621. // If the iterator failed, stop iterating
  1622. if it.fail != nil {
  1623. return false
  1624. }
  1625. // If the iterator completed, deliver directly whatever's available
  1626. if it.done {
  1627. select {
  1628. case log := <-it.logs:
  1629. it.Event = new(HermezForgeBatch)
  1630. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1631. it.fail = err
  1632. return false
  1633. }
  1634. it.Event.Raw = log
  1635. return true
  1636. default:
  1637. return false
  1638. }
  1639. }
  1640. // Iterator still in progress, wait for either a data or an error event
  1641. select {
  1642. case log := <-it.logs:
  1643. it.Event = new(HermezForgeBatch)
  1644. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1645. it.fail = err
  1646. return false
  1647. }
  1648. it.Event.Raw = log
  1649. return true
  1650. case err := <-it.sub.Err():
  1651. it.done = true
  1652. it.fail = err
  1653. return it.Next()
  1654. }
  1655. }
  1656. // Error returns any retrieval or parsing error occurred during filtering.
  1657. func (it *HermezForgeBatchIterator) Error() error {
  1658. return it.fail
  1659. }
  1660. // Close terminates the iteration process, releasing any pending underlying
  1661. // resources.
  1662. func (it *HermezForgeBatchIterator) Close() error {
  1663. it.sub.Unsubscribe()
  1664. return nil
  1665. }
  1666. // HermezForgeBatch represents a ForgeBatch event raised by the Hermez contract.
  1667. type HermezForgeBatch struct {
  1668. Arg0 *big.Int
  1669. Raw types.Log // Blockchain specific contextual infos
  1670. }
  1671. // FilterForgeBatch is a free log retrieval operation binding the contract event 0x9b346777a734ffed277bddd87dee3490eb9dcc5378c095eac5af3e0f5da04f41.
  1672. //
  1673. // Solidity: event ForgeBatch(uint256 arg0)
  1674. func (_Hermez *HermezFilterer) FilterForgeBatch(opts *bind.FilterOpts) (*HermezForgeBatchIterator, error) {
  1675. logs, sub, err := _Hermez.contract.FilterLogs(opts, "ForgeBatch")
  1676. if err != nil {
  1677. return nil, err
  1678. }
  1679. return &HermezForgeBatchIterator{contract: _Hermez.contract, event: "ForgeBatch", logs: logs, sub: sub}, nil
  1680. }
  1681. // WatchForgeBatch is a free log subscription operation binding the contract event 0x9b346777a734ffed277bddd87dee3490eb9dcc5378c095eac5af3e0f5da04f41.
  1682. //
  1683. // Solidity: event ForgeBatch(uint256 arg0)
  1684. func (_Hermez *HermezFilterer) WatchForgeBatch(opts *bind.WatchOpts, sink chan<- *HermezForgeBatch) (event.Subscription, error) {
  1685. logs, sub, err := _Hermez.contract.WatchLogs(opts, "ForgeBatch")
  1686. if err != nil {
  1687. return nil, err
  1688. }
  1689. return event.NewSubscription(func(quit <-chan struct{}) error {
  1690. defer sub.Unsubscribe()
  1691. for {
  1692. select {
  1693. case log := <-logs:
  1694. // New log arrived, parse the event and forward to the user
  1695. event := new(HermezForgeBatch)
  1696. if err := _Hermez.contract.UnpackLog(event, "ForgeBatch", log); err != nil {
  1697. return err
  1698. }
  1699. event.Raw = log
  1700. select {
  1701. case sink <- event:
  1702. case err := <-sub.Err():
  1703. return err
  1704. case <-quit:
  1705. return nil
  1706. }
  1707. case err := <-sub.Err():
  1708. return err
  1709. case <-quit:
  1710. return nil
  1711. }
  1712. }
  1713. }), nil
  1714. }
  1715. // ParseForgeBatch is a log parse operation binding the contract event 0x9b346777a734ffed277bddd87dee3490eb9dcc5378c095eac5af3e0f5da04f41.
  1716. //
  1717. // Solidity: event ForgeBatch(uint256 arg0)
  1718. func (_Hermez *HermezFilterer) ParseForgeBatch(log types.Log) (*HermezForgeBatch, error) {
  1719. event := new(HermezForgeBatch)
  1720. if err := _Hermez.contract.UnpackLog(event, "ForgeBatch", log); err != nil {
  1721. return nil, err
  1722. }
  1723. return event, nil
  1724. }
  1725. // HermezL1UserTxEventIterator is returned from FilterL1UserTxEvent and is used to iterate over the raw logs and unpacked data for L1UserTxEvent events raised by the Hermez contract.
  1726. type HermezL1UserTxEventIterator struct {
  1727. Event *HermezL1UserTxEvent // Event containing the contract specifics and raw log
  1728. contract *bind.BoundContract // Generic contract to use for unpacking event data
  1729. event string // Event name to use for unpacking event data
  1730. logs chan types.Log // Log channel receiving the found contract events
  1731. sub ethereum.Subscription // Subscription for errors, completion and termination
  1732. done bool // Whether the subscription completed delivering logs
  1733. fail error // Occurred error to stop iteration
  1734. }
  1735. // Next advances the iterator to the subsequent event, returning whether there
  1736. // are any more events found. In case of a retrieval or parsing error, false is
  1737. // returned and Error() can be queried for the exact failure.
  1738. func (it *HermezL1UserTxEventIterator) Next() bool {
  1739. // If the iterator failed, stop iterating
  1740. if it.fail != nil {
  1741. return false
  1742. }
  1743. // If the iterator completed, deliver directly whatever's available
  1744. if it.done {
  1745. select {
  1746. case log := <-it.logs:
  1747. it.Event = new(HermezL1UserTxEvent)
  1748. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1749. it.fail = err
  1750. return false
  1751. }
  1752. it.Event.Raw = log
  1753. return true
  1754. default:
  1755. return false
  1756. }
  1757. }
  1758. // Iterator still in progress, wait for either a data or an error event
  1759. select {
  1760. case log := <-it.logs:
  1761. it.Event = new(HermezL1UserTxEvent)
  1762. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1763. it.fail = err
  1764. return false
  1765. }
  1766. it.Event.Raw = log
  1767. return true
  1768. case err := <-it.sub.Err():
  1769. it.done = true
  1770. it.fail = err
  1771. return it.Next()
  1772. }
  1773. }
  1774. // Error returns any retrieval or parsing error occurred during filtering.
  1775. func (it *HermezL1UserTxEventIterator) Error() error {
  1776. return it.fail
  1777. }
  1778. // Close terminates the iteration process, releasing any pending underlying
  1779. // resources.
  1780. func (it *HermezL1UserTxEventIterator) Close() error {
  1781. it.sub.Unsubscribe()
  1782. return nil
  1783. }
  1784. // HermezL1UserTxEvent represents a L1UserTxEvent event raised by the Hermez contract.
  1785. type HermezL1UserTxEvent struct {
  1786. Arg0 []byte
  1787. Arg1 *big.Int
  1788. Arg2 *big.Int
  1789. Raw types.Log // Blockchain specific contextual infos
  1790. }
  1791. // FilterL1UserTxEvent is a free log retrieval operation binding the contract event 0x44ed7960659190edb7acf74ac1bd6c7e8803bfa3aebe02c4599a0770fac3f884.
  1792. //
  1793. // Solidity: event L1UserTxEvent(bytes arg0, uint256 arg1, uint256 arg2)
  1794. func (_Hermez *HermezFilterer) FilterL1UserTxEvent(opts *bind.FilterOpts) (*HermezL1UserTxEventIterator, error) {
  1795. logs, sub, err := _Hermez.contract.FilterLogs(opts, "L1UserTxEvent")
  1796. if err != nil {
  1797. return nil, err
  1798. }
  1799. return &HermezL1UserTxEventIterator{contract: _Hermez.contract, event: "L1UserTxEvent", logs: logs, sub: sub}, nil
  1800. }
  1801. // WatchL1UserTxEvent is a free log subscription operation binding the contract event 0x44ed7960659190edb7acf74ac1bd6c7e8803bfa3aebe02c4599a0770fac3f884.
  1802. //
  1803. // Solidity: event L1UserTxEvent(bytes arg0, uint256 arg1, uint256 arg2)
  1804. func (_Hermez *HermezFilterer) WatchL1UserTxEvent(opts *bind.WatchOpts, sink chan<- *HermezL1UserTxEvent) (event.Subscription, error) {
  1805. logs, sub, err := _Hermez.contract.WatchLogs(opts, "L1UserTxEvent")
  1806. if err != nil {
  1807. return nil, err
  1808. }
  1809. return event.NewSubscription(func(quit <-chan struct{}) error {
  1810. defer sub.Unsubscribe()
  1811. for {
  1812. select {
  1813. case log := <-logs:
  1814. // New log arrived, parse the event and forward to the user
  1815. event := new(HermezL1UserTxEvent)
  1816. if err := _Hermez.contract.UnpackLog(event, "L1UserTxEvent", log); err != nil {
  1817. return err
  1818. }
  1819. event.Raw = log
  1820. select {
  1821. case sink <- event:
  1822. case err := <-sub.Err():
  1823. return err
  1824. case <-quit:
  1825. return nil
  1826. }
  1827. case err := <-sub.Err():
  1828. return err
  1829. case <-quit:
  1830. return nil
  1831. }
  1832. }
  1833. }), nil
  1834. }
  1835. // ParseL1UserTxEvent is a log parse operation binding the contract event 0x44ed7960659190edb7acf74ac1bd6c7e8803bfa3aebe02c4599a0770fac3f884.
  1836. //
  1837. // Solidity: event L1UserTxEvent(bytes arg0, uint256 arg1, uint256 arg2)
  1838. func (_Hermez *HermezFilterer) ParseL1UserTxEvent(log types.Log) (*HermezL1UserTxEvent, error) {
  1839. event := new(HermezL1UserTxEvent)
  1840. if err := _Hermez.contract.UnpackLog(event, "L1UserTxEvent", log); err != nil {
  1841. return nil, err
  1842. }
  1843. return event, nil
  1844. }
  1845. // HermezUpdateFeeAddTokenIterator is returned from FilterUpdateFeeAddToken and is used to iterate over the raw logs and unpacked data for UpdateFeeAddToken events raised by the Hermez contract.
  1846. type HermezUpdateFeeAddTokenIterator struct {
  1847. Event *HermezUpdateFeeAddToken // Event containing the contract specifics and raw log
  1848. contract *bind.BoundContract // Generic contract to use for unpacking event data
  1849. event string // Event name to use for unpacking event data
  1850. logs chan types.Log // Log channel receiving the found contract events
  1851. sub ethereum.Subscription // Subscription for errors, completion and termination
  1852. done bool // Whether the subscription completed delivering logs
  1853. fail error // Occurred error to stop iteration
  1854. }
  1855. // Next advances the iterator to the subsequent event, returning whether there
  1856. // are any more events found. In case of a retrieval or parsing error, false is
  1857. // returned and Error() can be queried for the exact failure.
  1858. func (it *HermezUpdateFeeAddTokenIterator) Next() bool {
  1859. // If the iterator failed, stop iterating
  1860. if it.fail != nil {
  1861. return false
  1862. }
  1863. // If the iterator completed, deliver directly whatever's available
  1864. if it.done {
  1865. select {
  1866. case log := <-it.logs:
  1867. it.Event = new(HermezUpdateFeeAddToken)
  1868. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1869. it.fail = err
  1870. return false
  1871. }
  1872. it.Event.Raw = log
  1873. return true
  1874. default:
  1875. return false
  1876. }
  1877. }
  1878. // Iterator still in progress, wait for either a data or an error event
  1879. select {
  1880. case log := <-it.logs:
  1881. it.Event = new(HermezUpdateFeeAddToken)
  1882. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1883. it.fail = err
  1884. return false
  1885. }
  1886. it.Event.Raw = log
  1887. return true
  1888. case err := <-it.sub.Err():
  1889. it.done = true
  1890. it.fail = err
  1891. return it.Next()
  1892. }
  1893. }
  1894. // Error returns any retrieval or parsing error occurred during filtering.
  1895. func (it *HermezUpdateFeeAddTokenIterator) Error() error {
  1896. return it.fail
  1897. }
  1898. // Close terminates the iteration process, releasing any pending underlying
  1899. // resources.
  1900. func (it *HermezUpdateFeeAddTokenIterator) Close() error {
  1901. it.sub.Unsubscribe()
  1902. return nil
  1903. }
  1904. // HermezUpdateFeeAddToken represents a UpdateFeeAddToken event raised by the Hermez contract.
  1905. type HermezUpdateFeeAddToken struct {
  1906. Arg0 *big.Int
  1907. Raw types.Log // Blockchain specific contextual infos
  1908. }
  1909. // FilterUpdateFeeAddToken is a free log retrieval operation binding the contract event 0xd1c873cd16013f0dc5f37992c0d12794389698512895ec036a568e393b46e3c1.
  1910. //
  1911. // Solidity: event UpdateFeeAddToken(uint256 arg0)
  1912. func (_Hermez *HermezFilterer) FilterUpdateFeeAddToken(opts *bind.FilterOpts) (*HermezUpdateFeeAddTokenIterator, error) {
  1913. logs, sub, err := _Hermez.contract.FilterLogs(opts, "UpdateFeeAddToken")
  1914. if err != nil {
  1915. return nil, err
  1916. }
  1917. return &HermezUpdateFeeAddTokenIterator{contract: _Hermez.contract, event: "UpdateFeeAddToken", logs: logs, sub: sub}, nil
  1918. }
  1919. // WatchUpdateFeeAddToken is a free log subscription operation binding the contract event 0xd1c873cd16013f0dc5f37992c0d12794389698512895ec036a568e393b46e3c1.
  1920. //
  1921. // Solidity: event UpdateFeeAddToken(uint256 arg0)
  1922. func (_Hermez *HermezFilterer) WatchUpdateFeeAddToken(opts *bind.WatchOpts, sink chan<- *HermezUpdateFeeAddToken) (event.Subscription, error) {
  1923. logs, sub, err := _Hermez.contract.WatchLogs(opts, "UpdateFeeAddToken")
  1924. if err != nil {
  1925. return nil, err
  1926. }
  1927. return event.NewSubscription(func(quit <-chan struct{}) error {
  1928. defer sub.Unsubscribe()
  1929. for {
  1930. select {
  1931. case log := <-logs:
  1932. // New log arrived, parse the event and forward to the user
  1933. event := new(HermezUpdateFeeAddToken)
  1934. if err := _Hermez.contract.UnpackLog(event, "UpdateFeeAddToken", log); err != nil {
  1935. return err
  1936. }
  1937. event.Raw = log
  1938. select {
  1939. case sink <- event:
  1940. case err := <-sub.Err():
  1941. return err
  1942. case <-quit:
  1943. return nil
  1944. }
  1945. case err := <-sub.Err():
  1946. return err
  1947. case <-quit:
  1948. return nil
  1949. }
  1950. }
  1951. }), nil
  1952. }
  1953. // ParseUpdateFeeAddToken is a log parse operation binding the contract event 0xd1c873cd16013f0dc5f37992c0d12794389698512895ec036a568e393b46e3c1.
  1954. //
  1955. // Solidity: event UpdateFeeAddToken(uint256 arg0)
  1956. func (_Hermez *HermezFilterer) ParseUpdateFeeAddToken(log types.Log) (*HermezUpdateFeeAddToken, error) {
  1957. event := new(HermezUpdateFeeAddToken)
  1958. if err := _Hermez.contract.UnpackLog(event, "UpdateFeeAddToken", log); err != nil {
  1959. return nil, err
  1960. }
  1961. return event, nil
  1962. }
  1963. // HermezUpdateFeeL1UserTxIterator is returned from FilterUpdateFeeL1UserTx and is used to iterate over the raw logs and unpacked data for UpdateFeeL1UserTx events raised by the Hermez contract.
  1964. type HermezUpdateFeeL1UserTxIterator struct {
  1965. Event *HermezUpdateFeeL1UserTx // Event containing the contract specifics and raw log
  1966. contract *bind.BoundContract // Generic contract to use for unpacking event data
  1967. event string // Event name to use for unpacking event data
  1968. logs chan types.Log // Log channel receiving the found contract events
  1969. sub ethereum.Subscription // Subscription for errors, completion and termination
  1970. done bool // Whether the subscription completed delivering logs
  1971. fail error // Occurred error to stop iteration
  1972. }
  1973. // Next advances the iterator to the subsequent event, returning whether there
  1974. // are any more events found. In case of a retrieval or parsing error, false is
  1975. // returned and Error() can be queried for the exact failure.
  1976. func (it *HermezUpdateFeeL1UserTxIterator) Next() bool {
  1977. // If the iterator failed, stop iterating
  1978. if it.fail != nil {
  1979. return false
  1980. }
  1981. // If the iterator completed, deliver directly whatever's available
  1982. if it.done {
  1983. select {
  1984. case log := <-it.logs:
  1985. it.Event = new(HermezUpdateFeeL1UserTx)
  1986. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1987. it.fail = err
  1988. return false
  1989. }
  1990. it.Event.Raw = log
  1991. return true
  1992. default:
  1993. return false
  1994. }
  1995. }
  1996. // Iterator still in progress, wait for either a data or an error event
  1997. select {
  1998. case log := <-it.logs:
  1999. it.Event = new(HermezUpdateFeeL1UserTx)
  2000. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2001. it.fail = err
  2002. return false
  2003. }
  2004. it.Event.Raw = log
  2005. return true
  2006. case err := <-it.sub.Err():
  2007. it.done = true
  2008. it.fail = err
  2009. return it.Next()
  2010. }
  2011. }
  2012. // Error returns any retrieval or parsing error occurred during filtering.
  2013. func (it *HermezUpdateFeeL1UserTxIterator) Error() error {
  2014. return it.fail
  2015. }
  2016. // Close terminates the iteration process, releasing any pending underlying
  2017. // resources.
  2018. func (it *HermezUpdateFeeL1UserTxIterator) Close() error {
  2019. it.sub.Unsubscribe()
  2020. return nil
  2021. }
  2022. // HermezUpdateFeeL1UserTx represents a UpdateFeeL1UserTx event raised by the Hermez contract.
  2023. type HermezUpdateFeeL1UserTx struct {
  2024. Arg0 *big.Int
  2025. Raw types.Log // Blockchain specific contextual infos
  2026. }
  2027. // FilterUpdateFeeL1UserTx is a free log retrieval operation binding the contract event 0x22f1e7967fe95a20c5a53350895f57d897240d953409d6377bc2f02df6b6e378.
  2028. //
  2029. // Solidity: event UpdateFeeL1UserTx(uint256 arg0)
  2030. func (_Hermez *HermezFilterer) FilterUpdateFeeL1UserTx(opts *bind.FilterOpts) (*HermezUpdateFeeL1UserTxIterator, error) {
  2031. logs, sub, err := _Hermez.contract.FilterLogs(opts, "UpdateFeeL1UserTx")
  2032. if err != nil {
  2033. return nil, err
  2034. }
  2035. return &HermezUpdateFeeL1UserTxIterator{contract: _Hermez.contract, event: "UpdateFeeL1UserTx", logs: logs, sub: sub}, nil
  2036. }
  2037. // WatchUpdateFeeL1UserTx is a free log subscription operation binding the contract event 0x22f1e7967fe95a20c5a53350895f57d897240d953409d6377bc2f02df6b6e378.
  2038. //
  2039. // Solidity: event UpdateFeeL1UserTx(uint256 arg0)
  2040. func (_Hermez *HermezFilterer) WatchUpdateFeeL1UserTx(opts *bind.WatchOpts, sink chan<- *HermezUpdateFeeL1UserTx) (event.Subscription, error) {
  2041. logs, sub, err := _Hermez.contract.WatchLogs(opts, "UpdateFeeL1UserTx")
  2042. if err != nil {
  2043. return nil, err
  2044. }
  2045. return event.NewSubscription(func(quit <-chan struct{}) error {
  2046. defer sub.Unsubscribe()
  2047. for {
  2048. select {
  2049. case log := <-logs:
  2050. // New log arrived, parse the event and forward to the user
  2051. event := new(HermezUpdateFeeL1UserTx)
  2052. if err := _Hermez.contract.UnpackLog(event, "UpdateFeeL1UserTx", log); err != nil {
  2053. return err
  2054. }
  2055. event.Raw = log
  2056. select {
  2057. case sink <- event:
  2058. case err := <-sub.Err():
  2059. return err
  2060. case <-quit:
  2061. return nil
  2062. }
  2063. case err := <-sub.Err():
  2064. return err
  2065. case <-quit:
  2066. return nil
  2067. }
  2068. }
  2069. }), nil
  2070. }
  2071. // ParseUpdateFeeL1UserTx is a log parse operation binding the contract event 0x22f1e7967fe95a20c5a53350895f57d897240d953409d6377bc2f02df6b6e378.
  2072. //
  2073. // Solidity: event UpdateFeeL1UserTx(uint256 arg0)
  2074. func (_Hermez *HermezFilterer) ParseUpdateFeeL1UserTx(log types.Log) (*HermezUpdateFeeL1UserTx, error) {
  2075. event := new(HermezUpdateFeeL1UserTx)
  2076. if err := _Hermez.contract.UnpackLog(event, "UpdateFeeL1UserTx", log); err != nil {
  2077. return nil, err
  2078. }
  2079. return event, nil
  2080. }
  2081. // HermezUpdateForgeL1TimeoutIterator is returned from FilterUpdateForgeL1Timeout and is used to iterate over the raw logs and unpacked data for UpdateForgeL1Timeout events raised by the Hermez contract.
  2082. type HermezUpdateForgeL1TimeoutIterator struct {
  2083. Event *HermezUpdateForgeL1Timeout // Event containing the contract specifics and raw log
  2084. contract *bind.BoundContract // Generic contract to use for unpacking event data
  2085. event string // Event name to use for unpacking event data
  2086. logs chan types.Log // Log channel receiving the found contract events
  2087. sub ethereum.Subscription // Subscription for errors, completion and termination
  2088. done bool // Whether the subscription completed delivering logs
  2089. fail error // Occurred error to stop iteration
  2090. }
  2091. // Next advances the iterator to the subsequent event, returning whether there
  2092. // are any more events found. In case of a retrieval or parsing error, false is
  2093. // returned and Error() can be queried for the exact failure.
  2094. func (it *HermezUpdateForgeL1TimeoutIterator) Next() bool {
  2095. // If the iterator failed, stop iterating
  2096. if it.fail != nil {
  2097. return false
  2098. }
  2099. // If the iterator completed, deliver directly whatever's available
  2100. if it.done {
  2101. select {
  2102. case log := <-it.logs:
  2103. it.Event = new(HermezUpdateForgeL1Timeout)
  2104. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2105. it.fail = err
  2106. return false
  2107. }
  2108. it.Event.Raw = log
  2109. return true
  2110. default:
  2111. return false
  2112. }
  2113. }
  2114. // Iterator still in progress, wait for either a data or an error event
  2115. select {
  2116. case log := <-it.logs:
  2117. it.Event = new(HermezUpdateForgeL1Timeout)
  2118. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2119. it.fail = err
  2120. return false
  2121. }
  2122. it.Event.Raw = log
  2123. return true
  2124. case err := <-it.sub.Err():
  2125. it.done = true
  2126. it.fail = err
  2127. return it.Next()
  2128. }
  2129. }
  2130. // Error returns any retrieval or parsing error occurred during filtering.
  2131. func (it *HermezUpdateForgeL1TimeoutIterator) Error() error {
  2132. return it.fail
  2133. }
  2134. // Close terminates the iteration process, releasing any pending underlying
  2135. // resources.
  2136. func (it *HermezUpdateForgeL1TimeoutIterator) Close() error {
  2137. it.sub.Unsubscribe()
  2138. return nil
  2139. }
  2140. // HermezUpdateForgeL1Timeout represents a UpdateForgeL1Timeout event raised by the Hermez contract.
  2141. type HermezUpdateForgeL1Timeout struct {
  2142. Arg0 *big.Int
  2143. Raw types.Log // Blockchain specific contextual infos
  2144. }
  2145. // FilterUpdateForgeL1Timeout is a free log retrieval operation binding the contract event 0xd8b1725791f444b20ed722612b608bdabde06e3f099a1234b4a4caa5dcc19eb8.
  2146. //
  2147. // Solidity: event UpdateForgeL1Timeout(uint256 arg0)
  2148. func (_Hermez *HermezFilterer) FilterUpdateForgeL1Timeout(opts *bind.FilterOpts) (*HermezUpdateForgeL1TimeoutIterator, error) {
  2149. logs, sub, err := _Hermez.contract.FilterLogs(opts, "UpdateForgeL1Timeout")
  2150. if err != nil {
  2151. return nil, err
  2152. }
  2153. return &HermezUpdateForgeL1TimeoutIterator{contract: _Hermez.contract, event: "UpdateForgeL1Timeout", logs: logs, sub: sub}, nil
  2154. }
  2155. // WatchUpdateForgeL1Timeout is a free log subscription operation binding the contract event 0xd8b1725791f444b20ed722612b608bdabde06e3f099a1234b4a4caa5dcc19eb8.
  2156. //
  2157. // Solidity: event UpdateForgeL1Timeout(uint256 arg0)
  2158. func (_Hermez *HermezFilterer) WatchUpdateForgeL1Timeout(opts *bind.WatchOpts, sink chan<- *HermezUpdateForgeL1Timeout) (event.Subscription, error) {
  2159. logs, sub, err := _Hermez.contract.WatchLogs(opts, "UpdateForgeL1Timeout")
  2160. if err != nil {
  2161. return nil, err
  2162. }
  2163. return event.NewSubscription(func(quit <-chan struct{}) error {
  2164. defer sub.Unsubscribe()
  2165. for {
  2166. select {
  2167. case log := <-logs:
  2168. // New log arrived, parse the event and forward to the user
  2169. event := new(HermezUpdateForgeL1Timeout)
  2170. if err := _Hermez.contract.UnpackLog(event, "UpdateForgeL1Timeout", log); err != nil {
  2171. return err
  2172. }
  2173. event.Raw = log
  2174. select {
  2175. case sink <- event:
  2176. case err := <-sub.Err():
  2177. return err
  2178. case <-quit:
  2179. return nil
  2180. }
  2181. case err := <-sub.Err():
  2182. return err
  2183. case <-quit:
  2184. return nil
  2185. }
  2186. }
  2187. }), nil
  2188. }
  2189. // ParseUpdateForgeL1Timeout is a log parse operation binding the contract event 0xd8b1725791f444b20ed722612b608bdabde06e3f099a1234b4a4caa5dcc19eb8.
  2190. //
  2191. // Solidity: event UpdateForgeL1Timeout(uint256 arg0)
  2192. func (_Hermez *HermezFilterer) ParseUpdateForgeL1Timeout(log types.Log) (*HermezUpdateForgeL1Timeout, error) {
  2193. event := new(HermezUpdateForgeL1Timeout)
  2194. if err := _Hermez.contract.UnpackLog(event, "UpdateForgeL1Timeout", log); err != nil {
  2195. return nil, err
  2196. }
  2197. return event, nil
  2198. }
  2199. // HermezUpdateTokenHEZIterator is returned from FilterUpdateTokenHEZ and is used to iterate over the raw logs and unpacked data for UpdateTokenHEZ events raised by the Hermez contract.
  2200. type HermezUpdateTokenHEZIterator struct {
  2201. Event *HermezUpdateTokenHEZ // Event containing the contract specifics and raw log
  2202. contract *bind.BoundContract // Generic contract to use for unpacking event data
  2203. event string // Event name to use for unpacking event data
  2204. logs chan types.Log // Log channel receiving the found contract events
  2205. sub ethereum.Subscription // Subscription for errors, completion and termination
  2206. done bool // Whether the subscription completed delivering logs
  2207. fail error // Occurred error to stop iteration
  2208. }
  2209. // Next advances the iterator to the subsequent event, returning whether there
  2210. // are any more events found. In case of a retrieval or parsing error, false is
  2211. // returned and Error() can be queried for the exact failure.
  2212. func (it *HermezUpdateTokenHEZIterator) Next() bool {
  2213. // If the iterator failed, stop iterating
  2214. if it.fail != nil {
  2215. return false
  2216. }
  2217. // If the iterator completed, deliver directly whatever's available
  2218. if it.done {
  2219. select {
  2220. case log := <-it.logs:
  2221. it.Event = new(HermezUpdateTokenHEZ)
  2222. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2223. it.fail = err
  2224. return false
  2225. }
  2226. it.Event.Raw = log
  2227. return true
  2228. default:
  2229. return false
  2230. }
  2231. }
  2232. // Iterator still in progress, wait for either a data or an error event
  2233. select {
  2234. case log := <-it.logs:
  2235. it.Event = new(HermezUpdateTokenHEZ)
  2236. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2237. it.fail = err
  2238. return false
  2239. }
  2240. it.Event.Raw = log
  2241. return true
  2242. case err := <-it.sub.Err():
  2243. it.done = true
  2244. it.fail = err
  2245. return it.Next()
  2246. }
  2247. }
  2248. // Error returns any retrieval or parsing error occurred during filtering.
  2249. func (it *HermezUpdateTokenHEZIterator) Error() error {
  2250. return it.fail
  2251. }
  2252. // Close terminates the iteration process, releasing any pending underlying
  2253. // resources.
  2254. func (it *HermezUpdateTokenHEZIterator) Close() error {
  2255. it.sub.Unsubscribe()
  2256. return nil
  2257. }
  2258. // HermezUpdateTokenHEZ represents a UpdateTokenHEZ event raised by the Hermez contract.
  2259. type HermezUpdateTokenHEZ struct {
  2260. Arg0 common.Address
  2261. Raw types.Log // Blockchain specific contextual infos
  2262. }
  2263. // FilterUpdateTokenHEZ is a free log retrieval operation binding the contract event 0x4d1f446ae5e3b4a60fd49ae4618238eaeb54a43bbae8aa9fbfded816be9faeb1.
  2264. //
  2265. // Solidity: event UpdateTokenHEZ(address arg0)
  2266. func (_Hermez *HermezFilterer) FilterUpdateTokenHEZ(opts *bind.FilterOpts) (*HermezUpdateTokenHEZIterator, error) {
  2267. logs, sub, err := _Hermez.contract.FilterLogs(opts, "UpdateTokenHEZ")
  2268. if err != nil {
  2269. return nil, err
  2270. }
  2271. return &HermezUpdateTokenHEZIterator{contract: _Hermez.contract, event: "UpdateTokenHEZ", logs: logs, sub: sub}, nil
  2272. }
  2273. // WatchUpdateTokenHEZ is a free log subscription operation binding the contract event 0x4d1f446ae5e3b4a60fd49ae4618238eaeb54a43bbae8aa9fbfded816be9faeb1.
  2274. //
  2275. // Solidity: event UpdateTokenHEZ(address arg0)
  2276. func (_Hermez *HermezFilterer) WatchUpdateTokenHEZ(opts *bind.WatchOpts, sink chan<- *HermezUpdateTokenHEZ) (event.Subscription, error) {
  2277. logs, sub, err := _Hermez.contract.WatchLogs(opts, "UpdateTokenHEZ")
  2278. if err != nil {
  2279. return nil, err
  2280. }
  2281. return event.NewSubscription(func(quit <-chan struct{}) error {
  2282. defer sub.Unsubscribe()
  2283. for {
  2284. select {
  2285. case log := <-logs:
  2286. // New log arrived, parse the event and forward to the user
  2287. event := new(HermezUpdateTokenHEZ)
  2288. if err := _Hermez.contract.UnpackLog(event, "UpdateTokenHEZ", log); err != nil {
  2289. return err
  2290. }
  2291. event.Raw = log
  2292. select {
  2293. case sink <- event:
  2294. case err := <-sub.Err():
  2295. return err
  2296. case <-quit:
  2297. return nil
  2298. }
  2299. case err := <-sub.Err():
  2300. return err
  2301. case <-quit:
  2302. return nil
  2303. }
  2304. }
  2305. }), nil
  2306. }
  2307. // ParseUpdateTokenHEZ is a log parse operation binding the contract event 0x4d1f446ae5e3b4a60fd49ae4618238eaeb54a43bbae8aa9fbfded816be9faeb1.
  2308. //
  2309. // Solidity: event UpdateTokenHEZ(address arg0)
  2310. func (_Hermez *HermezFilterer) ParseUpdateTokenHEZ(log types.Log) (*HermezUpdateTokenHEZ, error) {
  2311. event := new(HermezUpdateTokenHEZ)
  2312. if err := _Hermez.contract.UnpackLog(event, "UpdateTokenHEZ", log); err != nil {
  2313. return nil, err
  2314. }
  2315. return event, nil
  2316. }
  2317. // HermezWithdrawEventIterator is returned from FilterWithdrawEvent and is used to iterate over the raw logs and unpacked data for WithdrawEvent events raised by the Hermez contract.
  2318. type HermezWithdrawEventIterator struct {
  2319. Event *HermezWithdrawEvent // Event containing the contract specifics and raw log
  2320. contract *bind.BoundContract // Generic contract to use for unpacking event data
  2321. event string // Event name to use for unpacking event data
  2322. logs chan types.Log // Log channel receiving the found contract events
  2323. sub ethereum.Subscription // Subscription for errors, completion and termination
  2324. done bool // Whether the subscription completed delivering logs
  2325. fail error // Occurred error to stop iteration
  2326. }
  2327. // Next advances the iterator to the subsequent event, returning whether there
  2328. // are any more events found. In case of a retrieval or parsing error, false is
  2329. // returned and Error() can be queried for the exact failure.
  2330. func (it *HermezWithdrawEventIterator) Next() bool {
  2331. // If the iterator failed, stop iterating
  2332. if it.fail != nil {
  2333. return false
  2334. }
  2335. // If the iterator completed, deliver directly whatever's available
  2336. if it.done {
  2337. select {
  2338. case log := <-it.logs:
  2339. it.Event = new(HermezWithdrawEvent)
  2340. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2341. it.fail = err
  2342. return false
  2343. }
  2344. it.Event.Raw = log
  2345. return true
  2346. default:
  2347. return false
  2348. }
  2349. }
  2350. // Iterator still in progress, wait for either a data or an error event
  2351. select {
  2352. case log := <-it.logs:
  2353. it.Event = new(HermezWithdrawEvent)
  2354. if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2355. it.fail = err
  2356. return false
  2357. }
  2358. it.Event.Raw = log
  2359. return true
  2360. case err := <-it.sub.Err():
  2361. it.done = true
  2362. it.fail = err
  2363. return it.Next()
  2364. }
  2365. }
  2366. // Error returns any retrieval or parsing error occurred during filtering.
  2367. func (it *HermezWithdrawEventIterator) Error() error {
  2368. return it.fail
  2369. }
  2370. // Close terminates the iteration process, releasing any pending underlying
  2371. // resources.
  2372. func (it *HermezWithdrawEventIterator) Close() error {
  2373. it.sub.Unsubscribe()
  2374. return nil
  2375. }
  2376. // HermezWithdrawEvent represents a WithdrawEvent event raised by the Hermez contract.
  2377. type HermezWithdrawEvent struct {
  2378. Arg0 *big.Int
  2379. Arg1 *big.Int
  2380. Raw types.Log // Blockchain specific contextual infos
  2381. }
  2382. // FilterWithdrawEvent is a free log retrieval operation binding the contract event 0x5188a9b05231b9c11371d3781428e6cd9b070184775722b58267d4d6f580a21b.
  2383. //
  2384. // Solidity: event WithdrawEvent(uint256 arg0, uint256 arg1)
  2385. func (_Hermez *HermezFilterer) FilterWithdrawEvent(opts *bind.FilterOpts) (*HermezWithdrawEventIterator, error) {
  2386. logs, sub, err := _Hermez.contract.FilterLogs(opts, "WithdrawEvent")
  2387. if err != nil {
  2388. return nil, err
  2389. }
  2390. return &HermezWithdrawEventIterator{contract: _Hermez.contract, event: "WithdrawEvent", logs: logs, sub: sub}, nil
  2391. }
  2392. // WatchWithdrawEvent is a free log subscription operation binding the contract event 0x5188a9b05231b9c11371d3781428e6cd9b070184775722b58267d4d6f580a21b.
  2393. //
  2394. // Solidity: event WithdrawEvent(uint256 arg0, uint256 arg1)
  2395. func (_Hermez *HermezFilterer) WatchWithdrawEvent(opts *bind.WatchOpts, sink chan<- *HermezWithdrawEvent) (event.Subscription, error) {
  2396. logs, sub, err := _Hermez.contract.WatchLogs(opts, "WithdrawEvent")
  2397. if err != nil {
  2398. return nil, err
  2399. }
  2400. return event.NewSubscription(func(quit <-chan struct{}) error {
  2401. defer sub.Unsubscribe()
  2402. for {
  2403. select {
  2404. case log := <-logs:
  2405. // New log arrived, parse the event and forward to the user
  2406. event := new(HermezWithdrawEvent)
  2407. if err := _Hermez.contract.UnpackLog(event, "WithdrawEvent", log); err != nil {
  2408. return err
  2409. }
  2410. event.Raw = log
  2411. select {
  2412. case sink <- event:
  2413. case err := <-sub.Err():
  2414. return err
  2415. case <-quit:
  2416. return nil
  2417. }
  2418. case err := <-sub.Err():
  2419. return err
  2420. case <-quit:
  2421. return nil
  2422. }
  2423. }
  2424. }), nil
  2425. }
  2426. // ParseWithdrawEvent is a log parse operation binding the contract event 0x5188a9b05231b9c11371d3781428e6cd9b070184775722b58267d4d6f580a21b.
  2427. //
  2428. // Solidity: event WithdrawEvent(uint256 arg0, uint256 arg1)
  2429. func (_Hermez *HermezFilterer) ParseWithdrawEvent(log types.Log) (*HermezWithdrawEvent, error) {
  2430. event := new(HermezWithdrawEvent)
  2431. if err := _Hermez.contract.UnpackLog(event, "WithdrawEvent", log); err != nil {
  2432. return nil, err
  2433. }
  2434. return event, nil
  2435. }