You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2439 lines
152 KiB

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