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