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