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\":\"uint32\",\"name\":\"batchNum\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"l1UserTxsLen\",\"type\":\"uint16\"}],\"name\":\"ForgeBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"forgeL1L2BatchTimeout\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"feeAddToken\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"withdrawalDelay\",\"type\":\"uint64\"}],\"name\":\"InitializeHermezEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"queueIndex\",\"type\":\"uint32\"},{\"indexed\":true,\"internalType\":\"uint8\",\"name\":\"position\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"l1UserTx\",\"type\":\"bytes\"}],\"name\":\"L1UserTxEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"SafeMode\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint8\",\"name\":\"numBucket\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"blockStamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"withdrawals\",\"type\":\"uint256\"}],\"name\":\"UpdateBucketWithdraw\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[4][5]\",\"name\":\"arrayBuckets\",\"type\":\"uint256[4][5]\"}],\"name\":\"UpdateBucketsParameters\",\"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\":false,\"internalType\":\"address[]\",\"name\":\"addressArray\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint64[]\",\"name\":\"valueArray\",\"type\":\"uint64[]\"}],\"name\":\"UpdateTokenExchange\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"newWithdrawalDelay\",\"type\":\"uint64\"}],\"name\":\"UpdateWithdrawalDelay\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint48\",\"name\":\"idx\",\"type\":\"uint48\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"numExitRoot\",\"type\":\"uint32\"},{\"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\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"name\":\"exitNullifierMap\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"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\":\"l1L2TxsData\",\"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\":\"contractIHermezAuctionProtocol\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"hermezGovernanceAddress\",\"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\":\"_hermezGovernanceAddress\",\"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\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"name\":\"l1L2TxsDataHashMap\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastForgedBatch\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"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\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"name\":\"mapL1TxQueue\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextL1FillingQueue\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextL1ToForgeQueue\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"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\":\"rollupVerifiersLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"safeMode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"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\":\"uint32\",\"name\":\"numExitRoot\",\"type\":\"uint32\"},{\"internalType\":\"uint48\",\"name\":\"idx\",\"type\":\"uint48\"},{\"internalType\":\"bool\",\"name\":\"instantWithdraw\",\"type\":\"bool\"}],\"name\":\"withdrawCircuit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawDelayerContract\",\"outputs\":[{\"internalType\":\"contractIWithdrawalDelayer\",\"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\":\"uint32\",\"name\":\"numExitRoot\",\"type\":\"uint32\"},{\"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// Hermez is an auto generated Go binding around an Ethereum contract.
33type Hermez struct {
34 HermezCaller // Read-only binding to the contract
35 HermezTransactor // Write-only binding to the contract
36 HermezFilterer // Log filterer for contract events
37}
38
39// HermezCaller is an auto generated read-only Go binding around an Ethereum contract.
40type HermezCaller struct {
41 contract *bind.BoundContract // Generic contract wrapper for the low level calls
42}
43
44// HermezTransactor is an auto generated write-only Go binding around an Ethereum contract.
45type HermezTransactor struct {
46 contract *bind.BoundContract // Generic contract wrapper for the low level calls
47}
48
49// HermezFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
50type HermezFilterer struct {
51 contract *bind.BoundContract // Generic contract wrapper for the low level calls
52}
53
54// HermezSession is an auto generated Go binding around an Ethereum contract,
55// with pre-set call and transact options.
56type HermezSession struct {
57 Contract *Hermez // Generic contract binding to set the session for
58 CallOpts bind.CallOpts // Call options to use throughout this session
59 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
60}
61
62// HermezCallerSession is an auto generated read-only Go binding around an Ethereum contract,
63// with pre-set call options.
64type HermezCallerSession struct {
65 Contract *HermezCaller // Generic contract caller binding to set the session for
66 CallOpts bind.CallOpts // Call options to use throughout this session
67}
68
69// HermezTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
70// with pre-set transact options.
71type HermezTransactorSession struct {
72 Contract *HermezTransactor // Generic contract transactor binding to set the session for
73 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
74}
75
76// HermezRaw is an auto generated low-level Go binding around an Ethereum contract.
77type HermezRaw struct {
78 Contract *Hermez // Generic contract binding to access the raw methods on
79}
80
81// HermezCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
82type HermezCallerRaw struct {
83 Contract *HermezCaller // Generic read-only contract binding to access the raw methods on
84}
85
86// HermezTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
87type HermezTransactorRaw struct {
88 Contract *HermezTransactor // Generic write-only contract binding to access the raw methods on
89}
90
91// NewHermez creates a new instance of Hermez, bound to a specific deployed contract.
92func NewHermez(address common.Address, backend bind.ContractBackend) (*Hermez, error) {
93 contract, err := bindHermez(address, backend, backend, backend)
94 if err != nil {
95 return nil, err
96 }
97 return &Hermez{HermezCaller: HermezCaller{contract: contract}, HermezTransactor: HermezTransactor{contract: contract}, HermezFilterer: HermezFilterer{contract: contract}}, nil
98}
99
100// NewHermezCaller creates a new read-only instance of Hermez, bound to a specific deployed contract.
101func NewHermezCaller(address common.Address, caller bind.ContractCaller) (*HermezCaller, error) {
102 contract, err := bindHermez(address, caller, nil, nil)
103 if err != nil {
104 return nil, err
105 }
106 return &HermezCaller{contract: contract}, nil
107}
108
109// NewHermezTransactor creates a new write-only instance of Hermez, bound to a specific deployed contract.
110func NewHermezTransactor(address common.Address, transactor bind.ContractTransactor) (*HermezTransactor, error) {
111 contract, err := bindHermez(address, nil, transactor, nil)
112 if err != nil {
113 return nil, err
114 }
115 return &HermezTransactor{contract: contract}, nil
116}
117
118// NewHermezFilterer creates a new log filterer instance of Hermez, bound to a specific deployed contract.
119func NewHermezFilterer(address common.Address, filterer bind.ContractFilterer) (*HermezFilterer, error) {
120 contract, err := bindHermez(address, nil, nil, filterer)
121 if err != nil {
122 return nil, err
123 }
124 return &HermezFilterer{contract: contract}, nil
125}
126
127// bindHermez binds a generic wrapper to an already deployed contract.
128func bindHermez(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
129 parsed, err := abi.JSON(strings.NewReader(HermezABI))
130 if err != nil {
131 return nil, err
132 }
133 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
134}
135
136// Call invokes the (constant) contract method with params as input values and
137// sets the output to result. The result type might be a single field for simple
138// returns, a slice of interfaces for anonymous returns and a struct for named
139// returns.
140func (_Hermez *HermezRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
141 return _Hermez.Contract.HermezCaller.contract.Call(opts, result, method, params...)
142}
143
144// Transfer initiates a plain transaction to move funds to the contract, calling
145// its default method if one is available.
146func (_Hermez *HermezRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
147 return _Hermez.Contract.HermezTransactor.contract.Transfer(opts)
148}
149
150// Transact invokes the (paid) contract method with params as input values.
151func (_Hermez *HermezRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
152 return _Hermez.Contract.HermezTransactor.contract.Transact(opts, method, params...)
153}
154
155// Call invokes the (constant) contract method with params as input values and
156// sets the output to result. The result type might be a single field for simple
157// returns, a slice of interfaces for anonymous returns and a struct for named
158// returns.
159func (_Hermez *HermezCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
160 return _Hermez.Contract.contract.Call(opts, result, method, params...)
161}
162
163// Transfer initiates a plain transaction to move funds to the contract, calling
164// its default method if one is available.
165func (_Hermez *HermezTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
166 return _Hermez.Contract.contract.Transfer(opts)
167}
168
169// Transact invokes the (paid) contract method with params as input values.
170func (_Hermez *HermezTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
171 return _Hermez.Contract.contract.Transact(opts, method, params...)
172}
173
174// ABSOLUTEMAXL1L2BATCHTIMEOUT is a free data retrieval call binding the contract method 0x95a09f2a.
175//
176// Solidity: function ABSOLUTE_MAX_L1L2BATCHTIMEOUT() view returns(uint8)
177func (_Hermez *HermezCaller) ABSOLUTEMAXL1L2BATCHTIMEOUT(opts *bind.CallOpts) (uint8, error) {
178 var out []interface{}
179 err := _Hermez.contract.Call(opts, &out, "ABSOLUTE_MAX_L1L2BATCHTIMEOUT")
180
181 if err != nil {
182 return *new(uint8), err
183 }
184
185 out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8)
186
187 return out0, err
188
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 *HermezSession) ABSOLUTEMAXL1L2BATCHTIMEOUT() (uint8, error) {
195 return _Hermez.Contract.ABSOLUTEMAXL1L2BATCHTIMEOUT(&_Hermez.CallOpts)
196}
197
198// ABSOLUTEMAXL1L2BATCHTIMEOUT is a free data retrieval call binding the contract method 0x95a09f2a.
199//
200// Solidity: function ABSOLUTE_MAX_L1L2BATCHTIMEOUT() view returns(uint8)
201func (_Hermez *HermezCallerSession) ABSOLUTEMAXL1L2BATCHTIMEOUT() (uint8, error) {
202 return _Hermez.Contract.ABSOLUTEMAXL1L2BATCHTIMEOUT(&_Hermez.CallOpts)
203}
204
205// Buckets is a free data retrieval call binding the contract method 0x9b51fb0d.
206//
207// Solidity: function buckets(uint256 ) view returns(uint256 ceilUSD, uint256 blockStamp, uint256 withdrawals, uint256 blockWithdrawalRate, uint256 maxWithdrawals)
208func (_Hermez *HermezCaller) Buckets(opts *bind.CallOpts, arg0 *big.Int) (struct {
209 CeilUSD *big.Int
210 BlockStamp *big.Int
211 Withdrawals *big.Int
212 BlockWithdrawalRate *big.Int
213 MaxWithdrawals *big.Int
214}, error) {
215 var out []interface{}
216 err := _Hermez.contract.Call(opts, &out, "buckets", arg0)
217
218 outstruct := new(struct {
219 CeilUSD *big.Int
220 BlockStamp *big.Int
221 Withdrawals *big.Int
222 BlockWithdrawalRate *big.Int
223 MaxWithdrawals *big.Int
224 })
225
226 outstruct.CeilUSD = out[0].(*big.Int)
227 outstruct.BlockStamp = out[1].(*big.Int)
228 outstruct.Withdrawals = out[2].(*big.Int)
229 outstruct.BlockWithdrawalRate = out[3].(*big.Int)
230 outstruct.MaxWithdrawals = out[4].(*big.Int)
231
232 return *outstruct, err
233
234}
235
236// Buckets is a free data retrieval call binding the contract method 0x9b51fb0d.
237//
238// Solidity: function buckets(uint256 ) view returns(uint256 ceilUSD, uint256 blockStamp, uint256 withdrawals, uint256 blockWithdrawalRate, uint256 maxWithdrawals)
239func (_Hermez *HermezSession) Buckets(arg0 *big.Int) (struct {
240 CeilUSD *big.Int
241 BlockStamp *big.Int
242 Withdrawals *big.Int
243 BlockWithdrawalRate *big.Int
244 MaxWithdrawals *big.Int
245}, error) {
246 return _Hermez.Contract.Buckets(&_Hermez.CallOpts, arg0)
247}
248
249// Buckets is a free data retrieval call binding the contract method 0x9b51fb0d.
250//
251// Solidity: function buckets(uint256 ) view returns(uint256 ceilUSD, uint256 blockStamp, uint256 withdrawals, uint256 blockWithdrawalRate, uint256 maxWithdrawals)
252func (_Hermez *HermezCallerSession) Buckets(arg0 *big.Int) (struct {
253 CeilUSD *big.Int
254 BlockStamp *big.Int
255 Withdrawals *big.Int
256 BlockWithdrawalRate *big.Int
257 MaxWithdrawals *big.Int
258}, error) {
259 return _Hermez.Contract.Buckets(&_Hermez.CallOpts, arg0)
260}
261
262// ExitNullifierMap is a free data retrieval call binding the contract method 0xf84f92ee.
263//
264// Solidity: function exitNullifierMap(uint32 , uint48 ) view returns(bool)
265func (_Hermez *HermezCaller) ExitNullifierMap(opts *bind.CallOpts, arg0 uint32, arg1 *big.Int) (bool, error) {
266 var out []interface{}
267 err := _Hermez.contract.Call(opts, &out, "exitNullifierMap", arg0, arg1)
268
269 if err != nil {
270 return *new(bool), err
271 }
272
273 out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
274
275 return out0, err
276
277}
278
279// ExitNullifierMap is a free data retrieval call binding the contract method 0xf84f92ee.
280//
281// Solidity: function exitNullifierMap(uint32 , uint48 ) view returns(bool)
282func (_Hermez *HermezSession) ExitNullifierMap(arg0 uint32, arg1 *big.Int) (bool, error) {
283 return _Hermez.Contract.ExitNullifierMap(&_Hermez.CallOpts, arg0, arg1)
284}
285
286// ExitNullifierMap is a free data retrieval call binding the contract method 0xf84f92ee.
287//
288// Solidity: function exitNullifierMap(uint32 , uint48 ) view returns(bool)
289func (_Hermez *HermezCallerSession) ExitNullifierMap(arg0 uint32, arg1 *big.Int) (bool, error) {
290 return _Hermez.Contract.ExitNullifierMap(&_Hermez.CallOpts, arg0, arg1)
291}
292
293// ExitRootsMap is a free data retrieval call binding the contract method 0x3ee641ea.
294//
295// Solidity: function exitRootsMap(uint32 ) view returns(uint256)
296func (_Hermez *HermezCaller) ExitRootsMap(opts *bind.CallOpts, arg0 uint32) (*big.Int, error) {
297 var out []interface{}
298 err := _Hermez.contract.Call(opts, &out, "exitRootsMap", arg0)
299
300 if err != nil {
301 return *new(*big.Int), err
302 }
303
304 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
305
306 return out0, err
307
308}
309
310// ExitRootsMap is a free data retrieval call binding the contract method 0x3ee641ea.
311//
312// Solidity: function exitRootsMap(uint32 ) view returns(uint256)
313func (_Hermez *HermezSession) ExitRootsMap(arg0 uint32) (*big.Int, error) {
314 return _Hermez.Contract.ExitRootsMap(&_Hermez.CallOpts, arg0)
315}
316
317// ExitRootsMap is a free data retrieval call binding the contract method 0x3ee641ea.
318//
319// Solidity: function exitRootsMap(uint32 ) view returns(uint256)
320func (_Hermez *HermezCallerSession) ExitRootsMap(arg0 uint32) (*big.Int, error) {
321 return _Hermez.Contract.ExitRootsMap(&_Hermez.CallOpts, arg0)
322}
323
324// FeeAddToken is a free data retrieval call binding the contract method 0xbded9bb8.
325//
326// Solidity: function feeAddToken() view returns(uint256)
327func (_Hermez *HermezCaller) FeeAddToken(opts *bind.CallOpts) (*big.Int, error) {
328 var out []interface{}
329 err := _Hermez.contract.Call(opts, &out, "feeAddToken")
330
331 if err != nil {
332 return *new(*big.Int), err
333 }
334
335 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
336
337 return out0, err
338
339}
340
341// FeeAddToken is a free data retrieval call binding the contract method 0xbded9bb8.
342//
343// Solidity: function feeAddToken() view returns(uint256)
344func (_Hermez *HermezSession) FeeAddToken() (*big.Int, error) {
345 return _Hermez.Contract.FeeAddToken(&_Hermez.CallOpts)
346}
347
348// FeeAddToken is a free data retrieval call binding the contract method 0xbded9bb8.
349//
350// Solidity: function feeAddToken() view returns(uint256)
351func (_Hermez *HermezCallerSession) FeeAddToken() (*big.Int, error) {
352 return _Hermez.Contract.FeeAddToken(&_Hermez.CallOpts)
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 *HermezCaller) ForgeL1L2BatchTimeout(opts *bind.CallOpts) (uint8, error) {
359 var out []interface{}
360 err := _Hermez.contract.Call(opts, &out, "forgeL1L2BatchTimeout")
361
362 if err != nil {
363 return *new(uint8), err
364 }
365
366 out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8)
367
368 return out0, err
369
370}
371
372// ForgeL1L2BatchTimeout is a free data retrieval call binding the contract method 0xa3275838.
373//
374// Solidity: function forgeL1L2BatchTimeout() view returns(uint8)
375func (_Hermez *HermezSession) ForgeL1L2BatchTimeout() (uint8, error) {
376 return _Hermez.Contract.ForgeL1L2BatchTimeout(&_Hermez.CallOpts)
377}
378
379// ForgeL1L2BatchTimeout is a free data retrieval call binding the contract method 0xa3275838.
380//
381// Solidity: function forgeL1L2BatchTimeout() view returns(uint8)
382func (_Hermez *HermezCallerSession) ForgeL1L2BatchTimeout() (uint8, error) {
383 return _Hermez.Contract.ForgeL1L2BatchTimeout(&_Hermez.CallOpts)
384}
385
386// HermezAuctionContract is a free data retrieval call binding the contract method 0x2bd83626.
387//
388// Solidity: function hermezAuctionContract() view returns(address)
389func (_Hermez *HermezCaller) HermezAuctionContract(opts *bind.CallOpts) (common.Address, error) {
390 var out []interface{}
391 err := _Hermez.contract.Call(opts, &out, "hermezAuctionContract")
392
393 if err != nil {
394 return *new(common.Address), err
395 }
396
397 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
398
399 return out0, err
400
401}
402
403// HermezAuctionContract is a free data retrieval call binding the contract method 0x2bd83626.
404//
405// Solidity: function hermezAuctionContract() view returns(address)
406func (_Hermez *HermezSession) HermezAuctionContract() (common.Address, error) {
407 return _Hermez.Contract.HermezAuctionContract(&_Hermez.CallOpts)
408}
409
410// HermezAuctionContract is a free data retrieval call binding the contract method 0x2bd83626.
411//
412// Solidity: function hermezAuctionContract() view returns(address)
413func (_Hermez *HermezCallerSession) HermezAuctionContract() (common.Address, error) {
414 return _Hermez.Contract.HermezAuctionContract(&_Hermez.CallOpts)
415}
416
417// HermezGovernanceAddress is a free data retrieval call binding the contract method 0x013f7852.
418//
419// Solidity: function hermezGovernanceAddress() view returns(address)
420func (_Hermez *HermezCaller) HermezGovernanceAddress(opts *bind.CallOpts) (common.Address, error) {
421 var out []interface{}
422 err := _Hermez.contract.Call(opts, &out, "hermezGovernanceAddress")
423
424 if err != nil {
425 return *new(common.Address), err
426 }
427
428 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
429
430 return out0, err
431
432}
433
434// HermezGovernanceAddress is a free data retrieval call binding the contract method 0x013f7852.
435//
436// Solidity: function hermezGovernanceAddress() view returns(address)
437func (_Hermez *HermezSession) HermezGovernanceAddress() (common.Address, error) {
438 return _Hermez.Contract.HermezGovernanceAddress(&_Hermez.CallOpts)
439}
440
441// HermezGovernanceAddress is a free data retrieval call binding the contract method 0x013f7852.
442//
443// Solidity: function hermezGovernanceAddress() view returns(address)
444func (_Hermez *HermezCallerSession) HermezGovernanceAddress() (common.Address, error) {
445 return _Hermez.Contract.HermezGovernanceAddress(&_Hermez.CallOpts)
446}
447
448// InstantWithdrawalViewer is a free data retrieval call binding the contract method 0x375110aa.
449//
450// Solidity: function instantWithdrawalViewer(address tokenAddress, uint192 amount) view returns(bool)
451func (_Hermez *HermezCaller) InstantWithdrawalViewer(opts *bind.CallOpts, tokenAddress common.Address, amount *big.Int) (bool, error) {
452 var out []interface{}
453 err := _Hermez.contract.Call(opts, &out, "instantWithdrawalViewer", tokenAddress, amount)
454
455 if err != nil {
456 return *new(bool), err
457 }
458
459 out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
460
461 return out0, err
462
463}
464
465// InstantWithdrawalViewer is a free data retrieval call binding the contract method 0x375110aa.
466//
467// Solidity: function instantWithdrawalViewer(address tokenAddress, uint192 amount) view returns(bool)
468func (_Hermez *HermezSession) InstantWithdrawalViewer(tokenAddress common.Address, amount *big.Int) (bool, error) {
469 return _Hermez.Contract.InstantWithdrawalViewer(&_Hermez.CallOpts, tokenAddress, amount)
470}
471
472// InstantWithdrawalViewer is a free data retrieval call binding the contract method 0x375110aa.
473//
474// Solidity: function instantWithdrawalViewer(address tokenAddress, uint192 amount) view returns(bool)
475func (_Hermez *HermezCallerSession) InstantWithdrawalViewer(tokenAddress common.Address, amount *big.Int) (bool, error) {
476 return _Hermez.Contract.InstantWithdrawalViewer(&_Hermez.CallOpts, tokenAddress, amount)
477}
478
479// L1L2TxsDataHashMap is a free data retrieval call binding the contract method 0xce5ec65a.
480//
481// Solidity: function l1L2TxsDataHashMap(uint32 ) view returns(bytes32)
482func (_Hermez *HermezCaller) L1L2TxsDataHashMap(opts *bind.CallOpts, arg0 uint32) ([32]byte, error) {
483 var out []interface{}
484 err := _Hermez.contract.Call(opts, &out, "l1L2TxsDataHashMap", arg0)
485
486 if err != nil {
487 return *new([32]byte), err
488 }
489
490 out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
491
492 return out0, err
493
494}
495
496// L1L2TxsDataHashMap is a free data retrieval call binding the contract method 0xce5ec65a.
497//
498// Solidity: function l1L2TxsDataHashMap(uint32 ) view returns(bytes32)
499func (_Hermez *HermezSession) L1L2TxsDataHashMap(arg0 uint32) ([32]byte, error) {
500 return _Hermez.Contract.L1L2TxsDataHashMap(&_Hermez.CallOpts, arg0)
501}
502
503// L1L2TxsDataHashMap is a free data retrieval call binding the contract method 0xce5ec65a.
504//
505// Solidity: function l1L2TxsDataHashMap(uint32 ) view returns(bytes32)
506func (_Hermez *HermezCallerSession) L1L2TxsDataHashMap(arg0 uint32) ([32]byte, error) {
507 return _Hermez.Contract.L1L2TxsDataHashMap(&_Hermez.CallOpts, arg0)
508}
509
510// LastForgedBatch is a free data retrieval call binding the contract method 0x44e0b2ce.
511//
512// Solidity: function lastForgedBatch() view returns(uint32)
513func (_Hermez *HermezCaller) LastForgedBatch(opts *bind.CallOpts) (uint32, error) {
514 var out []interface{}
515 err := _Hermez.contract.Call(opts, &out, "lastForgedBatch")
516
517 if err != nil {
518 return *new(uint32), err
519 }
520
521 out0 := *abi.ConvertType(out[0], new(uint32)).(*uint32)
522
523 return out0, err
524
525}
526
527// LastForgedBatch is a free data retrieval call binding the contract method 0x44e0b2ce.
528//
529// Solidity: function lastForgedBatch() view returns(uint32)
530func (_Hermez *HermezSession) LastForgedBatch() (uint32, error) {
531 return _Hermez.Contract.LastForgedBatch(&_Hermez.CallOpts)
532}
533
534// LastForgedBatch is a free data retrieval call binding the contract method 0x44e0b2ce.
535//
536// Solidity: function lastForgedBatch() view returns(uint32)
537func (_Hermez *HermezCallerSession) LastForgedBatch() (uint32, error) {
538 return _Hermez.Contract.LastForgedBatch(&_Hermez.CallOpts)
539}
540
541// LastIdx is a free data retrieval call binding the contract method 0xd486645c.
542//
543// Solidity: function lastIdx() view returns(uint48)
544func (_Hermez *HermezCaller) LastIdx(opts *bind.CallOpts) (*big.Int, error) {
545 var out []interface{}
546 err := _Hermez.contract.Call(opts, &out, "lastIdx")
547
548 if err != nil {
549 return *new(*big.Int), err
550 }
551
552 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
553
554 return out0, err
555
556}
557
558// LastIdx is a free data retrieval call binding the contract method 0xd486645c.
559//
560// Solidity: function lastIdx() view returns(uint48)
561func (_Hermez *HermezSession) LastIdx() (*big.Int, error) {
562 return _Hermez.Contract.LastIdx(&_Hermez.CallOpts)
563}
564
565// LastIdx is a free data retrieval call binding the contract method 0xd486645c.
566//
567// Solidity: function lastIdx() view returns(uint48)
568func (_Hermez *HermezCallerSession) LastIdx() (*big.Int, error) {
569 return _Hermez.Contract.LastIdx(&_Hermez.CallOpts)
570}
571
572// LastL1L2Batch is a free data retrieval call binding the contract method 0x84ef9ed4.
573//
574// Solidity: function lastL1L2Batch() view returns(uint64)
575func (_Hermez *HermezCaller) LastL1L2Batch(opts *bind.CallOpts) (uint64, error) {
576 var out []interface{}
577 err := _Hermez.contract.Call(opts, &out, "lastL1L2Batch")
578
579 if err != nil {
580 return *new(uint64), err
581 }
582
583 out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64)
584
585 return out0, err
586
587}
588
589// LastL1L2Batch is a free data retrieval call binding the contract method 0x84ef9ed4.
590//
591// Solidity: function lastL1L2Batch() view returns(uint64)
592func (_Hermez *HermezSession) LastL1L2Batch() (uint64, error) {
593 return _Hermez.Contract.LastL1L2Batch(&_Hermez.CallOpts)
594}
595
596// LastL1L2Batch is a free data retrieval call binding the contract method 0x84ef9ed4.
597//
598// Solidity: function lastL1L2Batch() view returns(uint64)
599func (_Hermez *HermezCallerSession) LastL1L2Batch() (uint64, error) {
600 return _Hermez.Contract.LastL1L2Batch(&_Hermez.CallOpts)
601}
602
603// MapL1TxQueue is a free data retrieval call binding the contract method 0xdc3e718e.
604//
605// Solidity: function mapL1TxQueue(uint32 ) view returns(bytes)
606func (_Hermez *HermezCaller) MapL1TxQueue(opts *bind.CallOpts, arg0 uint32) ([]byte, error) {
607 var out []interface{}
608 err := _Hermez.contract.Call(opts, &out, "mapL1TxQueue", arg0)
609
610 if err != nil {
611 return *new([]byte), err
612 }
613
614 out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte)
615
616 return out0, err
617
618}
619
620// MapL1TxQueue is a free data retrieval call binding the contract method 0xdc3e718e.
621//
622// Solidity: function mapL1TxQueue(uint32 ) view returns(bytes)
623func (_Hermez *HermezSession) MapL1TxQueue(arg0 uint32) ([]byte, error) {
624 return _Hermez.Contract.MapL1TxQueue(&_Hermez.CallOpts, arg0)
625}
626
627// MapL1TxQueue is a free data retrieval call binding the contract method 0xdc3e718e.
628//
629// Solidity: function mapL1TxQueue(uint32 ) view returns(bytes)
630func (_Hermez *HermezCallerSession) MapL1TxQueue(arg0 uint32) ([]byte, error) {
631 return _Hermez.Contract.MapL1TxQueue(&_Hermez.CallOpts, arg0)
632}
633
634// NextL1FillingQueue is a free data retrieval call binding the contract method 0x0ee8e52b.
635//
636// Solidity: function nextL1FillingQueue() view returns(uint32)
637func (_Hermez *HermezCaller) NextL1FillingQueue(opts *bind.CallOpts) (uint32, error) {
638 var out []interface{}
639 err := _Hermez.contract.Call(opts, &out, "nextL1FillingQueue")
640
641 if err != nil {
642 return *new(uint32), err
643 }
644
645 out0 := *abi.ConvertType(out[0], new(uint32)).(*uint32)
646
647 return out0, err
648
649}
650
651// NextL1FillingQueue is a free data retrieval call binding the contract method 0x0ee8e52b.
652//
653// Solidity: function nextL1FillingQueue() view returns(uint32)
654func (_Hermez *HermezSession) NextL1FillingQueue() (uint32, error) {
655 return _Hermez.Contract.NextL1FillingQueue(&_Hermez.CallOpts)
656}
657
658// NextL1FillingQueue is a free data retrieval call binding the contract method 0x0ee8e52b.
659//
660// Solidity: function nextL1FillingQueue() view returns(uint32)
661func (_Hermez *HermezCallerSession) NextL1FillingQueue() (uint32, error) {
662 return _Hermez.Contract.NextL1FillingQueue(&_Hermez.CallOpts)
663}
664
665// NextL1ToForgeQueue is a free data retrieval call binding the contract method 0xd0f32e67.
666//
667// Solidity: function nextL1ToForgeQueue() view returns(uint32)
668func (_Hermez *HermezCaller) NextL1ToForgeQueue(opts *bind.CallOpts) (uint32, error) {
669 var out []interface{}
670 err := _Hermez.contract.Call(opts, &out, "nextL1ToForgeQueue")
671
672 if err != nil {
673 return *new(uint32), err
674 }
675
676 out0 := *abi.ConvertType(out[0], new(uint32)).(*uint32)
677
678 return out0, err
679
680}
681
682// NextL1ToForgeQueue is a free data retrieval call binding the contract method 0xd0f32e67.
683//
684// Solidity: function nextL1ToForgeQueue() view returns(uint32)
685func (_Hermez *HermezSession) NextL1ToForgeQueue() (uint32, error) {
686 return _Hermez.Contract.NextL1ToForgeQueue(&_Hermez.CallOpts)
687}
688
689// NextL1ToForgeQueue is a free data retrieval call binding the contract method 0xd0f32e67.
690//
691// Solidity: function nextL1ToForgeQueue() view returns(uint32)
692func (_Hermez *HermezCallerSession) NextL1ToForgeQueue() (uint32, error) {
693 return _Hermez.Contract.NextL1ToForgeQueue(&_Hermez.CallOpts)
694}
695
696// RegisterTokensCount is a free data retrieval call binding the contract method 0x9f34e9a3.
697//
698// Solidity: function registerTokensCount() view returns(uint256)
699func (_Hermez *HermezCaller) RegisterTokensCount(opts *bind.CallOpts) (*big.Int, error) {
700 var out []interface{}
701 err := _Hermez.contract.Call(opts, &out, "registerTokensCount")
702
703 if err != nil {
704 return *new(*big.Int), err
705 }
706
707 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
708
709 return out0, err
710
711}
712
713// RegisterTokensCount is a free data retrieval call binding the contract method 0x9f34e9a3.
714//
715// Solidity: function registerTokensCount() view returns(uint256)
716func (_Hermez *HermezSession) RegisterTokensCount() (*big.Int, error) {
717 return _Hermez.Contract.RegisterTokensCount(&_Hermez.CallOpts)
718}
719
720// RegisterTokensCount is a free data retrieval call binding the contract method 0x9f34e9a3.
721//
722// Solidity: function registerTokensCount() view returns(uint256)
723func (_Hermez *HermezCallerSession) RegisterTokensCount() (*big.Int, error) {
724 return _Hermez.Contract.RegisterTokensCount(&_Hermez.CallOpts)
725}
726
727// RollupVerifiers is a free data retrieval call binding the contract method 0x38330200.
728//
729// Solidity: function rollupVerifiers(uint256 ) view returns(address verifierInterface, uint256 maxTx, uint256 nLevels)
730func (_Hermez *HermezCaller) RollupVerifiers(opts *bind.CallOpts, arg0 *big.Int) (struct {
731 VerifierInterface common.Address
732 MaxTx *big.Int
733 NLevels *big.Int
734}, error) {
735 var out []interface{}
736 err := _Hermez.contract.Call(opts, &out, "rollupVerifiers", arg0)
737
738 outstruct := new(struct {
739 VerifierInterface common.Address
740 MaxTx *big.Int
741 NLevels *big.Int
742 })
743
744 outstruct.VerifierInterface = out[0].(common.Address)
745 outstruct.MaxTx = out[1].(*big.Int)
746 outstruct.NLevels = out[2].(*big.Int)
747
748 return *outstruct, err
749
750}
751
752// RollupVerifiers is a free data retrieval call binding the contract method 0x38330200.
753//
754// Solidity: function rollupVerifiers(uint256 ) view returns(address verifierInterface, uint256 maxTx, uint256 nLevels)
755func (_Hermez *HermezSession) RollupVerifiers(arg0 *big.Int) (struct {
756 VerifierInterface common.Address
757 MaxTx *big.Int
758 NLevels *big.Int
759}, error) {
760 return _Hermez.Contract.RollupVerifiers(&_Hermez.CallOpts, arg0)
761}
762
763// RollupVerifiers is a free data retrieval call binding the contract method 0x38330200.
764//
765// Solidity: function rollupVerifiers(uint256 ) view returns(address verifierInterface, uint256 maxTx, uint256 nLevels)
766func (_Hermez *HermezCallerSession) RollupVerifiers(arg0 *big.Int) (struct {
767 VerifierInterface common.Address
768 MaxTx *big.Int
769 NLevels *big.Int
770}, error) {
771 return _Hermez.Contract.RollupVerifiers(&_Hermez.CallOpts, arg0)
772}
773
774// RollupVerifiersLength is a free data retrieval call binding the contract method 0x7ba3a5e0.
775//
776// Solidity: function rollupVerifiersLength() view returns(uint256)
777func (_Hermez *HermezCaller) RollupVerifiersLength(opts *bind.CallOpts) (*big.Int, error) {
778 var out []interface{}
779 err := _Hermez.contract.Call(opts, &out, "rollupVerifiersLength")
780
781 if err != nil {
782 return *new(*big.Int), err
783 }
784
785 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
786
787 return out0, err
788
789}
790
791// RollupVerifiersLength is a free data retrieval call binding the contract method 0x7ba3a5e0.
792//
793// Solidity: function rollupVerifiersLength() view returns(uint256)
794func (_Hermez *HermezSession) RollupVerifiersLength() (*big.Int, error) {
795 return _Hermez.Contract.RollupVerifiersLength(&_Hermez.CallOpts)
796}
797
798// RollupVerifiersLength is a free data retrieval call binding the contract method 0x7ba3a5e0.
799//
800// Solidity: function rollupVerifiersLength() view returns(uint256)
801func (_Hermez *HermezCallerSession) RollupVerifiersLength() (*big.Int, error) {
802 return _Hermez.Contract.RollupVerifiersLength(&_Hermez.CallOpts)
803}
804
805// StateRootMap is a free data retrieval call binding the contract method 0x9e00d7ea.
806//
807// Solidity: function stateRootMap(uint32 ) view returns(uint256)
808func (_Hermez *HermezCaller) StateRootMap(opts *bind.CallOpts, arg0 uint32) (*big.Int, error) {
809 var out []interface{}
810 err := _Hermez.contract.Call(opts, &out, "stateRootMap", arg0)
811
812 if err != nil {
813 return *new(*big.Int), err
814 }
815
816 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
817
818 return out0, err
819
820}
821
822// StateRootMap is a free data retrieval call binding the contract method 0x9e00d7ea.
823//
824// Solidity: function stateRootMap(uint32 ) view returns(uint256)
825func (_Hermez *HermezSession) StateRootMap(arg0 uint32) (*big.Int, error) {
826 return _Hermez.Contract.StateRootMap(&_Hermez.CallOpts, arg0)
827}
828
829// StateRootMap is a free data retrieval call binding the contract method 0x9e00d7ea.
830//
831// Solidity: function stateRootMap(uint32 ) view returns(uint256)
832func (_Hermez *HermezCallerSession) StateRootMap(arg0 uint32) (*big.Int, error) {
833 return _Hermez.Contract.StateRootMap(&_Hermez.CallOpts, arg0)
834}
835
836// TokenExchange is a free data retrieval call binding the contract method 0x0dd94b96.
837//
838// Solidity: function tokenExchange(address ) view returns(uint64)
839func (_Hermez *HermezCaller) TokenExchange(opts *bind.CallOpts, arg0 common.Address) (uint64, error) {
840 var out []interface{}
841 err := _Hermez.contract.Call(opts, &out, "tokenExchange", arg0)
842
843 if err != nil {
844 return *new(uint64), err
845 }
846
847 out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64)
848
849 return out0, err
850
851}
852
853// TokenExchange is a free data retrieval call binding the contract method 0x0dd94b96.
854//
855// Solidity: function tokenExchange(address ) view returns(uint64)
856func (_Hermez *HermezSession) TokenExchange(arg0 common.Address) (uint64, error) {
857 return _Hermez.Contract.TokenExchange(&_Hermez.CallOpts, arg0)
858}
859
860// TokenExchange is a free data retrieval call binding the contract method 0x0dd94b96.
861//
862// Solidity: function tokenExchange(address ) view returns(uint64)
863func (_Hermez *HermezCallerSession) TokenExchange(arg0 common.Address) (uint64, error) {
864 return _Hermez.Contract.TokenExchange(&_Hermez.CallOpts, arg0)
865}
866
867// TokenHEZ is a free data retrieval call binding the contract method 0x79a135e3.
868//
869// Solidity: function tokenHEZ() view returns(address)
870func (_Hermez *HermezCaller) TokenHEZ(opts *bind.CallOpts) (common.Address, error) {
871 var out []interface{}
872 err := _Hermez.contract.Call(opts, &out, "tokenHEZ")
873
874 if err != nil {
875 return *new(common.Address), err
876 }
877
878 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
879
880 return out0, err
881
882}
883
884// TokenHEZ is a free data retrieval call binding the contract method 0x79a135e3.
885//
886// Solidity: function tokenHEZ() view returns(address)
887func (_Hermez *HermezSession) TokenHEZ() (common.Address, error) {
888 return _Hermez.Contract.TokenHEZ(&_Hermez.CallOpts)
889}
890
891// TokenHEZ is a free data retrieval call binding the contract method 0x79a135e3.
892//
893// Solidity: function tokenHEZ() view returns(address)
894func (_Hermez *HermezCallerSession) TokenHEZ() (common.Address, error) {
895 return _Hermez.Contract.TokenHEZ(&_Hermez.CallOpts)
896}
897
898// TokenList is a free data retrieval call binding the contract method 0x9ead7222.
899//
900// Solidity: function tokenList(uint256 ) view returns(address)
901func (_Hermez *HermezCaller) TokenList(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) {
902 var out []interface{}
903 err := _Hermez.contract.Call(opts, &out, "tokenList", arg0)
904
905 if err != nil {
906 return *new(common.Address), err
907 }
908
909 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
910
911 return out0, err
912
913}
914
915// TokenList is a free data retrieval call binding the contract method 0x9ead7222.
916//
917// Solidity: function tokenList(uint256 ) view returns(address)
918func (_Hermez *HermezSession) TokenList(arg0 *big.Int) (common.Address, error) {
919 return _Hermez.Contract.TokenList(&_Hermez.CallOpts, arg0)
920}
921
922// TokenList is a free data retrieval call binding the contract method 0x9ead7222.
923//
924// Solidity: function tokenList(uint256 ) view returns(address)
925func (_Hermez *HermezCallerSession) TokenList(arg0 *big.Int) (common.Address, error) {
926 return _Hermez.Contract.TokenList(&_Hermez.CallOpts, arg0)
927}
928
929// TokenMap is a free data retrieval call binding the contract method 0x004aca6e.
930//
931// Solidity: function tokenMap(address ) view returns(uint256)
932func (_Hermez *HermezCaller) TokenMap(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) {
933 var out []interface{}
934 err := _Hermez.contract.Call(opts, &out, "tokenMap", arg0)
935
936 if err != nil {
937 return *new(*big.Int), err
938 }
939
940 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
941
942 return out0, err
943
944}
945
946// TokenMap is a free data retrieval call binding the contract method 0x004aca6e.
947//
948// Solidity: function tokenMap(address ) view returns(uint256)
949func (_Hermez *HermezSession) TokenMap(arg0 common.Address) (*big.Int, error) {
950 return _Hermez.Contract.TokenMap(&_Hermez.CallOpts, arg0)
951}
952
953// TokenMap is a free data retrieval call binding the contract method 0x004aca6e.
954//
955// Solidity: function tokenMap(address ) view returns(uint256)
956func (_Hermez *HermezCallerSession) TokenMap(arg0 common.Address) (*big.Int, error) {
957 return _Hermez.Contract.TokenMap(&_Hermez.CallOpts, arg0)
958}
959
960// WithdrawDelayerContract is a free data retrieval call binding the contract method 0x1b0a8223.
961//
962// Solidity: function withdrawDelayerContract() view returns(address)
963func (_Hermez *HermezCaller) WithdrawDelayerContract(opts *bind.CallOpts) (common.Address, error) {
964 var out []interface{}
965 err := _Hermez.contract.Call(opts, &out, "withdrawDelayerContract")
966
967 if err != nil {
968 return *new(common.Address), err
969 }
970
971 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
972
973 return out0, err
974
975}
976
977// WithdrawDelayerContract is a free data retrieval call binding the contract method 0x1b0a8223.
978//
979// Solidity: function withdrawDelayerContract() view returns(address)
980func (_Hermez *HermezSession) WithdrawDelayerContract() (common.Address, error) {
981 return _Hermez.Contract.WithdrawDelayerContract(&_Hermez.CallOpts)
982}
983
984// WithdrawDelayerContract is a free data retrieval call binding the contract method 0x1b0a8223.
985//
986// Solidity: function withdrawDelayerContract() view returns(address)
987func (_Hermez *HermezCallerSession) WithdrawDelayerContract() (common.Address, error) {
988 return _Hermez.Contract.WithdrawDelayerContract(&_Hermez.CallOpts)
989}
990
991// WithdrawVerifier is a free data retrieval call binding the contract method 0x864eb164.
992//
993// Solidity: function withdrawVerifier() view returns(address)
994func (_Hermez *HermezCaller) WithdrawVerifier(opts *bind.CallOpts) (common.Address, error) {
995 var out []interface{}
996 err := _Hermez.contract.Call(opts, &out, "withdrawVerifier")
997
998 if err != nil {
999 return *new(common.Address), err
1000 }
1001
1002 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
1003
1004 return out0, err
1005
1006}
1007
1008// WithdrawVerifier is a free data retrieval call binding the contract method 0x864eb164.
1009//
1010// Solidity: function withdrawVerifier() view returns(address)
1011func (_Hermez *HermezSession) WithdrawVerifier() (common.Address, error) {
1012 return _Hermez.Contract.WithdrawVerifier(&_Hermez.CallOpts)
1013}
1014
1015// WithdrawVerifier is a free data retrieval call binding the contract method 0x864eb164.
1016//
1017// Solidity: function withdrawVerifier() view returns(address)
1018func (_Hermez *HermezCallerSession) WithdrawVerifier() (common.Address, error) {
1019 return _Hermez.Contract.WithdrawVerifier(&_Hermez.CallOpts)
1020}
1021
1022// WithdrawalDelay is a free data retrieval call binding the contract method 0xa7ab6961.
1023//
1024// Solidity: function withdrawalDelay() view returns(uint64)
1025func (_Hermez *HermezCaller) WithdrawalDelay(opts *bind.CallOpts) (uint64, error) {
1026 var out []interface{}
1027 err := _Hermez.contract.Call(opts, &out, "withdrawalDelay")
1028
1029 if err != nil {
1030 return *new(uint64), err
1031 }
1032
1033 out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64)
1034
1035 return out0, err
1036
1037}
1038
1039// WithdrawalDelay is a free data retrieval call binding the contract method 0xa7ab6961.
1040//
1041// Solidity: function withdrawalDelay() view returns(uint64)
1042func (_Hermez *HermezSession) WithdrawalDelay() (uint64, error) {
1043 return _Hermez.Contract.WithdrawalDelay(&_Hermez.CallOpts)
1044}
1045
1046// WithdrawalDelay is a free data retrieval call binding the contract method 0xa7ab6961.
1047//
1048// Solidity: function withdrawalDelay() view returns(uint64)
1049func (_Hermez *HermezCallerSession) WithdrawalDelay() (uint64, error) {
1050 return _Hermez.Contract.WithdrawalDelay(&_Hermez.CallOpts)
1051}
1052
1053// AddL1Transaction is a paid mutator transaction binding the contract method 0x886df587.
1054//
1055// Solidity: function addL1Transaction(uint256 babyPubKey, uint48 fromIdx, uint16 loadAmountF, uint16 amountF, uint32 tokenID, uint48 toIdx, bytes permit) payable returns()
1056func (_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) {
1057 return _Hermez.contract.Transact(opts, "addL1Transaction", babyPubKey, fromIdx, loadAmountF, amountF, tokenID, toIdx, permit)
1058}
1059
1060// AddL1Transaction is a paid mutator transaction binding the contract method 0x886df587.
1061//
1062// Solidity: function addL1Transaction(uint256 babyPubKey, uint48 fromIdx, uint16 loadAmountF, uint16 amountF, uint32 tokenID, uint48 toIdx, bytes permit) payable returns()
1063func (_Hermez *HermezSession) AddL1Transaction(babyPubKey *big.Int, fromIdx *big.Int, loadAmountF uint16, amountF uint16, tokenID uint32, toIdx *big.Int, permit []byte) (*types.Transaction, error) {
1064 return _Hermez.Contract.AddL1Transaction(&_Hermez.TransactOpts, babyPubKey, fromIdx, loadAmountF, amountF, tokenID, toIdx, permit)
1065}
1066
1067// AddL1Transaction is a paid mutator transaction binding the contract method 0x886df587.
1068//
1069// Solidity: function addL1Transaction(uint256 babyPubKey, uint48 fromIdx, uint16 loadAmountF, uint16 amountF, uint32 tokenID, uint48 toIdx, bytes permit) payable returns()
1070func (_Hermez *HermezTransactorSession) AddL1Transaction(babyPubKey *big.Int, fromIdx *big.Int, loadAmountF uint16, amountF uint16, tokenID uint32, toIdx *big.Int, permit []byte) (*types.Transaction, error) {
1071 return _Hermez.Contract.AddL1Transaction(&_Hermez.TransactOpts, babyPubKey, fromIdx, loadAmountF, amountF, tokenID, toIdx, permit)
1072}
1073
1074// AddToken is a paid mutator transaction binding the contract method 0x70c2f1c0.
1075//
1076// Solidity: function addToken(address tokenAddress, bytes permit) returns()
1077func (_Hermez *HermezTransactor) AddToken(opts *bind.TransactOpts, tokenAddress common.Address, permit []byte) (*types.Transaction, error) {
1078 return _Hermez.contract.Transact(opts, "addToken", tokenAddress, permit)
1079}
1080
1081// AddToken is a paid mutator transaction binding the contract method 0x70c2f1c0.
1082//
1083// Solidity: function addToken(address tokenAddress, bytes permit) returns()
1084func (_Hermez *HermezSession) AddToken(tokenAddress common.Address, permit []byte) (*types.Transaction, error) {
1085 return _Hermez.Contract.AddToken(&_Hermez.TransactOpts, tokenAddress, permit)
1086}
1087
1088// AddToken is a paid mutator transaction binding the contract method 0x70c2f1c0.
1089//
1090// Solidity: function addToken(address tokenAddress, bytes permit) returns()
1091func (_Hermez *HermezTransactorSession) AddToken(tokenAddress common.Address, permit []byte) (*types.Transaction, error) {
1092 return _Hermez.Contract.AddToken(&_Hermez.TransactOpts, tokenAddress, permit)
1093}
1094
1095// ForgeBatch is a paid mutator transaction binding the contract method 0x6e7e1365.
1096//
1097// Solidity: function forgeBatch(uint48 newLastIdx, uint256 newStRoot, uint256 newExitRoot, bytes encodedL1CoordinatorTx, bytes l1L2TxsData, bytes feeIdxCoordinator, uint8 verifierIdx, bool l1Batch, uint256[2] proofA, uint256[2][2] proofB, uint256[2] proofC) returns()
1098func (_Hermez *HermezTransactor) ForgeBatch(opts *bind.TransactOpts, newLastIdx *big.Int, newStRoot *big.Int, newExitRoot *big.Int, encodedL1CoordinatorTx []byte, l1L2TxsData []byte, feeIdxCoordinator []byte, verifierIdx uint8, l1Batch bool, proofA [2]*big.Int, proofB [2][2]*big.Int, proofC [2]*big.Int) (*types.Transaction, error) {
1099 return _Hermez.contract.Transact(opts, "forgeBatch", newLastIdx, newStRoot, newExitRoot, encodedL1CoordinatorTx, l1L2TxsData, feeIdxCoordinator, verifierIdx, l1Batch, proofA, proofB, proofC)
1100}
1101
1102// ForgeBatch is a paid mutator transaction binding the contract method 0x6e7e1365.
1103//
1104// Solidity: function forgeBatch(uint48 newLastIdx, uint256 newStRoot, uint256 newExitRoot, bytes encodedL1CoordinatorTx, bytes l1L2TxsData, bytes feeIdxCoordinator, uint8 verifierIdx, bool l1Batch, uint256[2] proofA, uint256[2][2] proofB, uint256[2] proofC) returns()
1105func (_Hermez *HermezSession) ForgeBatch(newLastIdx *big.Int, newStRoot *big.Int, newExitRoot *big.Int, encodedL1CoordinatorTx []byte, l1L2TxsData []byte, feeIdxCoordinator []byte, verifierIdx uint8, l1Batch bool, proofA [2]*big.Int, proofB [2][2]*big.Int, proofC [2]*big.Int) (*types.Transaction, error) {
1106 return _Hermez.Contract.ForgeBatch(&_Hermez.TransactOpts, newLastIdx, newStRoot, newExitRoot, encodedL1CoordinatorTx, l1L2TxsData, feeIdxCoordinator, verifierIdx, l1Batch, proofA, proofB, proofC)
1107}
1108
1109// ForgeBatch is a paid mutator transaction binding the contract method 0x6e7e1365.
1110//
1111// Solidity: function forgeBatch(uint48 newLastIdx, uint256 newStRoot, uint256 newExitRoot, bytes encodedL1CoordinatorTx, bytes l1L2TxsData, bytes feeIdxCoordinator, uint8 verifierIdx, bool l1Batch, uint256[2] proofA, uint256[2][2] proofB, uint256[2] proofC) returns()
1112func (_Hermez *HermezTransactorSession) ForgeBatch(newLastIdx *big.Int, newStRoot *big.Int, newExitRoot *big.Int, encodedL1CoordinatorTx []byte, l1L2TxsData []byte, feeIdxCoordinator []byte, verifierIdx uint8, l1Batch bool, proofA [2]*big.Int, proofB [2][2]*big.Int, proofC [2]*big.Int) (*types.Transaction, error) {
1113 return _Hermez.Contract.ForgeBatch(&_Hermez.TransactOpts, newLastIdx, newStRoot, newExitRoot, encodedL1CoordinatorTx, l1L2TxsData, feeIdxCoordinator, verifierIdx, l1Batch, proofA, proofB, proofC)
1114}
1115
1116// InitializeHermez is a paid mutator transaction binding the contract method 0x599897e3.
1117//
1118// Solidity: function initializeHermez(address[] _verifiers, uint256[] _verifiersParams, address _withdrawVerifier, address _hermezAuctionContract, address _tokenHEZ, uint8 _forgeL1L2BatchTimeout, uint256 _feeAddToken, address _poseidon2Elements, address _poseidon3Elements, address _poseidon4Elements, address _hermezGovernanceAddress, uint64 _withdrawalDelay, address _withdrawDelayerContract) returns()
1119func (_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, _hermezGovernanceAddress common.Address, _withdrawalDelay uint64, _withdrawDelayerContract common.Address) (*types.Transaction, error) {
1120 return _Hermez.contract.Transact(opts, "initializeHermez", _verifiers, _verifiersParams, _withdrawVerifier, _hermezAuctionContract, _tokenHEZ, _forgeL1L2BatchTimeout, _feeAddToken, _poseidon2Elements, _poseidon3Elements, _poseidon4Elements, _hermezGovernanceAddress, _withdrawalDelay, _withdrawDelayerContract)
1121}
1122
1123// InitializeHermez is a paid mutator transaction binding the contract method 0x599897e3.
1124//
1125// Solidity: function initializeHermez(address[] _verifiers, uint256[] _verifiersParams, address _withdrawVerifier, address _hermezAuctionContract, address _tokenHEZ, uint8 _forgeL1L2BatchTimeout, uint256 _feeAddToken, address _poseidon2Elements, address _poseidon3Elements, address _poseidon4Elements, address _hermezGovernanceAddress, uint64 _withdrawalDelay, address _withdrawDelayerContract) returns()
1126func (_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, _hermezGovernanceAddress common.Address, _withdrawalDelay uint64, _withdrawDelayerContract common.Address) (*types.Transaction, error) {
1127 return _Hermez.Contract.InitializeHermez(&_Hermez.TransactOpts, _verifiers, _verifiersParams, _withdrawVerifier, _hermezAuctionContract, _tokenHEZ, _forgeL1L2BatchTimeout, _feeAddToken, _poseidon2Elements, _poseidon3Elements, _poseidon4Elements, _hermezGovernanceAddress, _withdrawalDelay, _withdrawDelayerContract)
1128}
1129
1130// InitializeHermez is a paid mutator transaction binding the contract method 0x599897e3.
1131//
1132// Solidity: function initializeHermez(address[] _verifiers, uint256[] _verifiersParams, address _withdrawVerifier, address _hermezAuctionContract, address _tokenHEZ, uint8 _forgeL1L2BatchTimeout, uint256 _feeAddToken, address _poseidon2Elements, address _poseidon3Elements, address _poseidon4Elements, address _hermezGovernanceAddress, uint64 _withdrawalDelay, address _withdrawDelayerContract) returns()
1133func (_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, _hermezGovernanceAddress common.Address, _withdrawalDelay uint64, _withdrawDelayerContract common.Address) (*types.Transaction, error) {
1134 return _Hermez.Contract.InitializeHermez(&_Hermez.TransactOpts, _verifiers, _verifiersParams, _withdrawVerifier, _hermezAuctionContract, _tokenHEZ, _forgeL1L2BatchTimeout, _feeAddToken, _poseidon2Elements, _poseidon3Elements, _poseidon4Elements, _hermezGovernanceAddress, _withdrawalDelay, _withdrawDelayerContract)
1135}
1136
1137// SafeMode is a paid mutator transaction binding the contract method 0xabe3219c.
1138//
1139// Solidity: function safeMode() returns()
1140func (_Hermez *HermezTransactor) SafeMode(opts *bind.TransactOpts) (*types.Transaction, error) {
1141 return _Hermez.contract.Transact(opts, "safeMode")
1142}
1143
1144// SafeMode is a paid mutator transaction binding the contract method 0xabe3219c.
1145//
1146// Solidity: function safeMode() returns()
1147func (_Hermez *HermezSession) SafeMode() (*types.Transaction, error) {
1148 return _Hermez.Contract.SafeMode(&_Hermez.TransactOpts)
1149}
1150
1151// SafeMode is a paid mutator transaction binding the contract method 0xabe3219c.
1152//
1153// Solidity: function safeMode() returns()
1154func (_Hermez *HermezTransactorSession) SafeMode() (*types.Transaction, error) {
1155 return _Hermez.Contract.SafeMode(&_Hermez.TransactOpts)
1156}
1157
1158// UpdateBucketsParameters is a paid mutator transaction binding the contract method 0x68e95e53.
1159//
1160// Solidity: function updateBucketsParameters(uint256[4][5] arrayBuckets) returns()
1161func (_Hermez *HermezTransactor) UpdateBucketsParameters(opts *bind.TransactOpts, arrayBuckets [5][4]*big.Int) (*types.Transaction, error) {
1162 return _Hermez.contract.Transact(opts, "updateBucketsParameters", arrayBuckets)
1163}
1164
1165// UpdateBucketsParameters is a paid mutator transaction binding the contract method 0x68e95e53.
1166//
1167// Solidity: function updateBucketsParameters(uint256[4][5] arrayBuckets) returns()
1168func (_Hermez *HermezSession) UpdateBucketsParameters(arrayBuckets [5][4]*big.Int) (*types.Transaction, error) {
1169 return _Hermez.Contract.UpdateBucketsParameters(&_Hermez.TransactOpts, arrayBuckets)
1170}
1171
1172// UpdateBucketsParameters is a paid mutator transaction binding the contract method 0x68e95e53.
1173//
1174// Solidity: function updateBucketsParameters(uint256[4][5] arrayBuckets) returns()
1175func (_Hermez *HermezTransactorSession) UpdateBucketsParameters(arrayBuckets [5][4]*big.Int) (*types.Transaction, error) {
1176 return _Hermez.Contract.UpdateBucketsParameters(&_Hermez.TransactOpts, arrayBuckets)
1177}
1178
1179// UpdateFeeAddToken is a paid mutator transaction binding the contract method 0x314e5eda.
1180//
1181// Solidity: function updateFeeAddToken(uint256 newFeeAddToken) returns()
1182func (_Hermez *HermezTransactor) UpdateFeeAddToken(opts *bind.TransactOpts, newFeeAddToken *big.Int) (*types.Transaction, error) {
1183 return _Hermez.contract.Transact(opts, "updateFeeAddToken", newFeeAddToken)
1184}
1185
1186// UpdateFeeAddToken is a paid mutator transaction binding the contract method 0x314e5eda.
1187//
1188// Solidity: function updateFeeAddToken(uint256 newFeeAddToken) returns()
1189func (_Hermez *HermezSession) UpdateFeeAddToken(newFeeAddToken *big.Int) (*types.Transaction, error) {
1190 return _Hermez.Contract.UpdateFeeAddToken(&_Hermez.TransactOpts, newFeeAddToken)
1191}
1192
1193// UpdateFeeAddToken is a paid mutator transaction binding the contract method 0x314e5eda.
1194//
1195// Solidity: function updateFeeAddToken(uint256 newFeeAddToken) returns()
1196func (_Hermez *HermezTransactorSession) UpdateFeeAddToken(newFeeAddToken *big.Int) (*types.Transaction, error) {
1197 return _Hermez.Contract.UpdateFeeAddToken(&_Hermez.TransactOpts, newFeeAddToken)
1198}
1199
1200// UpdateForgeL1L2BatchTimeout is a paid mutator transaction binding the contract method 0xcbd7b5fb.
1201//
1202// Solidity: function updateForgeL1L2BatchTimeout(uint8 newForgeL1L2BatchTimeout) returns()
1203func (_Hermez *HermezTransactor) UpdateForgeL1L2BatchTimeout(opts *bind.TransactOpts, newForgeL1L2BatchTimeout uint8) (*types.Transaction, error) {
1204 return _Hermez.contract.Transact(opts, "updateForgeL1L2BatchTimeout", newForgeL1L2BatchTimeout)
1205}
1206
1207// UpdateForgeL1L2BatchTimeout is a paid mutator transaction binding the contract method 0xcbd7b5fb.
1208//
1209// Solidity: function updateForgeL1L2BatchTimeout(uint8 newForgeL1L2BatchTimeout) returns()
1210func (_Hermez *HermezSession) UpdateForgeL1L2BatchTimeout(newForgeL1L2BatchTimeout uint8) (*types.Transaction, error) {
1211 return _Hermez.Contract.UpdateForgeL1L2BatchTimeout(&_Hermez.TransactOpts, newForgeL1L2BatchTimeout)
1212}
1213
1214// UpdateForgeL1L2BatchTimeout is a paid mutator transaction binding the contract method 0xcbd7b5fb.
1215//
1216// Solidity: function updateForgeL1L2BatchTimeout(uint8 newForgeL1L2BatchTimeout) returns()
1217func (_Hermez *HermezTransactorSession) UpdateForgeL1L2BatchTimeout(newForgeL1L2BatchTimeout uint8) (*types.Transaction, error) {
1218 return _Hermez.Contract.UpdateForgeL1L2BatchTimeout(&_Hermez.TransactOpts, newForgeL1L2BatchTimeout)
1219}
1220
1221// UpdateTokenExchange is a paid mutator transaction binding the contract method 0x1a748c2d.
1222//
1223// Solidity: function updateTokenExchange(address[] addressArray, uint64[] valueArray) returns()
1224func (_Hermez *HermezTransactor) UpdateTokenExchange(opts *bind.TransactOpts, addressArray []common.Address, valueArray []uint64) (*types.Transaction, error) {
1225 return _Hermez.contract.Transact(opts, "updateTokenExchange", addressArray, valueArray)
1226}
1227
1228// UpdateTokenExchange is a paid mutator transaction binding the contract method 0x1a748c2d.
1229//
1230// Solidity: function updateTokenExchange(address[] addressArray, uint64[] valueArray) returns()
1231func (_Hermez *HermezSession) UpdateTokenExchange(addressArray []common.Address, valueArray []uint64) (*types.Transaction, error) {
1232 return _Hermez.Contract.UpdateTokenExchange(&_Hermez.TransactOpts, addressArray, valueArray)
1233}
1234
1235// UpdateTokenExchange is a paid mutator transaction binding the contract method 0x1a748c2d.
1236//
1237// Solidity: function updateTokenExchange(address[] addressArray, uint64[] valueArray) returns()
1238func (_Hermez *HermezTransactorSession) UpdateTokenExchange(addressArray []common.Address, valueArray []uint64) (*types.Transaction, error) {
1239 return _Hermez.Contract.UpdateTokenExchange(&_Hermez.TransactOpts, addressArray, valueArray)
1240}
1241
1242// UpdateWithdrawalDelay is a paid mutator transaction binding the contract method 0xef4a5c4a.
1243//
1244// Solidity: function updateWithdrawalDelay(uint64 newWithdrawalDelay) returns()
1245func (_Hermez *HermezTransactor) UpdateWithdrawalDelay(opts *bind.TransactOpts, newWithdrawalDelay uint64) (*types.Transaction, error) {
1246 return _Hermez.contract.Transact(opts, "updateWithdrawalDelay", newWithdrawalDelay)
1247}
1248
1249// UpdateWithdrawalDelay is a paid mutator transaction binding the contract method 0xef4a5c4a.
1250//
1251// Solidity: function updateWithdrawalDelay(uint64 newWithdrawalDelay) returns()
1252func (_Hermez *HermezSession) UpdateWithdrawalDelay(newWithdrawalDelay uint64) (*types.Transaction, error) {
1253 return _Hermez.Contract.UpdateWithdrawalDelay(&_Hermez.TransactOpts, newWithdrawalDelay)
1254}
1255
1256// UpdateWithdrawalDelay is a paid mutator transaction binding the contract method 0xef4a5c4a.
1257//
1258// Solidity: function updateWithdrawalDelay(uint64 newWithdrawalDelay) returns()
1259func (_Hermez *HermezTransactorSession) UpdateWithdrawalDelay(newWithdrawalDelay uint64) (*types.Transaction, error) {
1260 return _Hermez.Contract.UpdateWithdrawalDelay(&_Hermez.TransactOpts, newWithdrawalDelay)
1261}
1262
1263// WithdrawCircuit is a paid mutator transaction binding the contract method 0x9ce2ad42.
1264//
1265// Solidity: function withdrawCircuit(uint256[2] proofA, uint256[2][2] proofB, uint256[2] proofC, uint32 tokenID, uint192 amount, uint32 numExitRoot, uint48 idx, bool instantWithdraw) returns()
1266func (_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 uint32, idx *big.Int, instantWithdraw bool) (*types.Transaction, error) {
1267 return _Hermez.contract.Transact(opts, "withdrawCircuit", proofA, proofB, proofC, tokenID, amount, numExitRoot, idx, instantWithdraw)
1268}
1269
1270// WithdrawCircuit is a paid mutator transaction binding the contract method 0x9ce2ad42.
1271//
1272// Solidity: function withdrawCircuit(uint256[2] proofA, uint256[2][2] proofB, uint256[2] proofC, uint32 tokenID, uint192 amount, uint32 numExitRoot, uint48 idx, bool instantWithdraw) returns()
1273func (_Hermez *HermezSession) WithdrawCircuit(proofA [2]*big.Int, proofB [2][2]*big.Int, proofC [2]*big.Int, tokenID uint32, amount *big.Int, numExitRoot uint32, idx *big.Int, instantWithdraw bool) (*types.Transaction, error) {
1274 return _Hermez.Contract.WithdrawCircuit(&_Hermez.TransactOpts, proofA, proofB, proofC, tokenID, amount, numExitRoot, idx, instantWithdraw)
1275}
1276
1277// WithdrawCircuit is a paid mutator transaction binding the contract method 0x9ce2ad42.
1278//
1279// Solidity: function withdrawCircuit(uint256[2] proofA, uint256[2][2] proofB, uint256[2] proofC, uint32 tokenID, uint192 amount, uint32 numExitRoot, uint48 idx, bool instantWithdraw) returns()
1280func (_Hermez *HermezTransactorSession) WithdrawCircuit(proofA [2]*big.Int, proofB [2][2]*big.Int, proofC [2]*big.Int, tokenID uint32, amount *big.Int, numExitRoot uint32, idx *big.Int, instantWithdraw bool) (*types.Transaction, error) {
1281 return _Hermez.Contract.WithdrawCircuit(&_Hermez.TransactOpts, proofA, proofB, proofC, tokenID, amount, numExitRoot, idx, instantWithdraw)
1282}
1283
1284// WithdrawMerkleProof is a paid mutator transaction binding the contract method 0xd9d4ca44.
1285//
1286// Solidity: function withdrawMerkleProof(uint32 tokenID, uint192 amount, uint256 babyPubKey, uint32 numExitRoot, uint256[] siblings, uint48 idx, bool instantWithdraw) returns()
1287func (_Hermez *HermezTransactor) WithdrawMerkleProof(opts *bind.TransactOpts, tokenID uint32, amount *big.Int, babyPubKey *big.Int, numExitRoot uint32, siblings []*big.Int, idx *big.Int, instantWithdraw bool) (*types.Transaction, error) {
1288 return _Hermez.contract.Transact(opts, "withdrawMerkleProof", tokenID, amount, babyPubKey, numExitRoot, siblings, idx, instantWithdraw)
1289}
1290
1291// WithdrawMerkleProof is a paid mutator transaction binding the contract method 0xd9d4ca44.
1292//
1293// Solidity: function withdrawMerkleProof(uint32 tokenID, uint192 amount, uint256 babyPubKey, uint32 numExitRoot, uint256[] siblings, uint48 idx, bool instantWithdraw) returns()
1294func (_Hermez *HermezSession) WithdrawMerkleProof(tokenID uint32, amount *big.Int, babyPubKey *big.Int, numExitRoot uint32, siblings []*big.Int, idx *big.Int, instantWithdraw bool) (*types.Transaction, error) {
1295 return _Hermez.Contract.WithdrawMerkleProof(&_Hermez.TransactOpts, tokenID, amount, babyPubKey, numExitRoot, siblings, idx, instantWithdraw)
1296}
1297
1298// WithdrawMerkleProof is a paid mutator transaction binding the contract method 0xd9d4ca44.
1299//
1300// Solidity: function withdrawMerkleProof(uint32 tokenID, uint192 amount, uint256 babyPubKey, uint32 numExitRoot, uint256[] siblings, uint48 idx, bool instantWithdraw) returns()
1301func (_Hermez *HermezTransactorSession) WithdrawMerkleProof(tokenID uint32, amount *big.Int, babyPubKey *big.Int, numExitRoot uint32, siblings []*big.Int, idx *big.Int, instantWithdraw bool) (*types.Transaction, error) {
1302 return _Hermez.Contract.WithdrawMerkleProof(&_Hermez.TransactOpts, tokenID, amount, babyPubKey, numExitRoot, siblings, idx, instantWithdraw)
1303}
1304
1305// 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.
1306type HermezAddTokenIterator struct {
1307 Event *HermezAddToken // Event containing the contract specifics and raw log
1308
1309 contract *bind.BoundContract // Generic contract to use for unpacking event data
1310 event string // Event name to use for unpacking event data
1311
1312 logs chan types.Log // Log channel receiving the found contract events
1313 sub ethereum.Subscription // Subscription for errors, completion and termination
1314 done bool // Whether the subscription completed delivering logs
1315 fail error // Occurred error to stop iteration
1316}
1317
1318// Next advances the iterator to the subsequent event, returning whether there
1319// are any more events found. In case of a retrieval or parsing error, false is
1320// returned and Error() can be queried for the exact failure.
1321func (it *HermezAddTokenIterator) Next() bool {
1322 // If the iterator failed, stop iterating
1323 if it.fail != nil {
1324 return false
1325 }
1326 // If the iterator completed, deliver directly whatever's available
1327 if it.done {
1328 select {
1329 case log := <-it.logs:
1330 it.Event = new(HermezAddToken)
1331 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
1332 it.fail = err
1333 return false
1334 }
1335 it.Event.Raw = log
1336 return true
1337
1338 default:
1339 return false
1340 }
1341 }
1342 // Iterator still in progress, wait for either a data or an error event
1343 select {
1344 case log := <-it.logs:
1345 it.Event = new(HermezAddToken)
1346 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
1347 it.fail = err
1348 return false
1349 }
1350 it.Event.Raw = log
1351 return true
1352
1353 case err := <-it.sub.Err():
1354 it.done = true
1355 it.fail = err
1356 return it.Next()
1357 }
1358}
1359
1360// Error returns any retrieval or parsing error occurred during filtering.
1361func (it *HermezAddTokenIterator) Error() error {
1362 return it.fail
1363}
1364
1365// Close terminates the iteration process, releasing any pending underlying
1366// resources.
1367func (it *HermezAddTokenIterator) Close() error {
1368 it.sub.Unsubscribe()
1369 return nil
1370}
1371
1372// HermezAddToken represents a AddToken event raised by the Hermez contract.
1373type HermezAddToken struct {
1374 TokenAddress common.Address
1375 TokenID uint32
1376 Raw types.Log // Blockchain specific contextual infos
1377}
1378
1379// FilterAddToken is a free log retrieval operation binding the contract event 0xcb73d161edb7cd4fb1d92fedfd2555384fd997fd44ab507656f8c81e15747dde.
1380//
1381// Solidity: event AddToken(address indexed tokenAddress, uint32 tokenID)
1382func (_Hermez *HermezFilterer) FilterAddToken(opts *bind.FilterOpts, tokenAddress []common.Address) (*HermezAddTokenIterator, error) {
1383
1384 var tokenAddressRule []interface{}
1385 for _, tokenAddressItem := range tokenAddress {
1386 tokenAddressRule = append(tokenAddressRule, tokenAddressItem)
1387 }
1388
1389 logs, sub, err := _Hermez.contract.FilterLogs(opts, "AddToken", tokenAddressRule)
1390 if err != nil {
1391 return nil, err
1392 }
1393 return &HermezAddTokenIterator{contract: _Hermez.contract, event: "AddToken", logs: logs, sub: sub}, nil
1394}
1395
1396// WatchAddToken is a free log subscription operation binding the contract event 0xcb73d161edb7cd4fb1d92fedfd2555384fd997fd44ab507656f8c81e15747dde.
1397//
1398// Solidity: event AddToken(address indexed tokenAddress, uint32 tokenID)
1399func (_Hermez *HermezFilterer) WatchAddToken(opts *bind.WatchOpts, sink chan<- *HermezAddToken, tokenAddress []common.Address) (event.Subscription, error) {
1400
1401 var tokenAddressRule []interface{}
1402 for _, tokenAddressItem := range tokenAddress {
1403 tokenAddressRule = append(tokenAddressRule, tokenAddressItem)
1404 }
1405
1406 logs, sub, err := _Hermez.contract.WatchLogs(opts, "AddToken", tokenAddressRule)
1407 if err != nil {
1408 return nil, err
1409 }
1410 return event.NewSubscription(func(quit <-chan struct{}) error {
1411 defer sub.Unsubscribe()
1412 for {
1413 select {
1414 case log := <-logs:
1415 // New log arrived, parse the event and forward to the user
1416 event := new(HermezAddToken)
1417 if err := _Hermez.contract.UnpackLog(event, "AddToken", log); err != nil {
1418 return err
1419 }
1420 event.Raw = log
1421
1422 select {
1423 case sink <- event:
1424 case err := <-sub.Err():
1425 return err
1426 case <-quit:
1427 return nil
1428 }
1429 case err := <-sub.Err():
1430 return err
1431 case <-quit:
1432 return nil
1433 }
1434 }
1435 }), nil
1436}
1437
1438// ParseAddToken is a log parse operation binding the contract event 0xcb73d161edb7cd4fb1d92fedfd2555384fd997fd44ab507656f8c81e15747dde.
1439//
1440// Solidity: event AddToken(address indexed tokenAddress, uint32 tokenID)
1441func (_Hermez *HermezFilterer) ParseAddToken(log types.Log) (*HermezAddToken, error) {
1442 event := new(HermezAddToken)
1443 if err := _Hermez.contract.UnpackLog(event, "AddToken", log); err != nil {
1444 return nil, err
1445 }
1446 event.Raw = log
1447 return event, nil
1448}
1449
1450// 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.
1451type HermezForgeBatchIterator struct {
1452 Event *HermezForgeBatch // Event containing the contract specifics and raw log
1453
1454 contract *bind.BoundContract // Generic contract to use for unpacking event data
1455 event string // Event name to use for unpacking event data
1456
1457 logs chan types.Log // Log channel receiving the found contract events
1458 sub ethereum.Subscription // Subscription for errors, completion and termination
1459 done bool // Whether the subscription completed delivering logs
1460 fail error // Occurred error to stop iteration
1461}
1462
1463// Next advances the iterator to the subsequent event, returning whether there
1464// are any more events found. In case of a retrieval or parsing error, false is
1465// returned and Error() can be queried for the exact failure.
1466func (it *HermezForgeBatchIterator) Next() bool {
1467 // If the iterator failed, stop iterating
1468 if it.fail != nil {
1469 return false
1470 }
1471 // If the iterator completed, deliver directly whatever's available
1472 if it.done {
1473 select {
1474 case log := <-it.logs:
1475 it.Event = new(HermezForgeBatch)
1476 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
1477 it.fail = err
1478 return false
1479 }
1480 it.Event.Raw = log
1481 return true
1482
1483 default:
1484 return false
1485 }
1486 }
1487 // Iterator still in progress, wait for either a data or an error event
1488 select {
1489 case log := <-it.logs:
1490 it.Event = new(HermezForgeBatch)
1491 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
1492 it.fail = err
1493 return false
1494 }
1495 it.Event.Raw = log
1496 return true
1497
1498 case err := <-it.sub.Err():
1499 it.done = true
1500 it.fail = err
1501 return it.Next()
1502 }
1503}
1504
1505// Error returns any retrieval or parsing error occurred during filtering.
1506func (it *HermezForgeBatchIterator) Error() error {
1507 return it.fail
1508}
1509
1510// Close terminates the iteration process, releasing any pending underlying
1511// resources.
1512func (it *HermezForgeBatchIterator) Close() error {
1513 it.sub.Unsubscribe()
1514 return nil
1515}
1516
1517// HermezForgeBatch represents a ForgeBatch event raised by the Hermez contract.
1518type HermezForgeBatch struct {
1519 BatchNum uint32
1520 L1UserTxsLen uint16
1521 Raw types.Log // Blockchain specific contextual infos
1522}
1523
1524// FilterForgeBatch is a free log retrieval operation binding the contract event 0xe00040c8a3b0bf905636c26924e90520eafc5003324138236fddee2d34588618.
1525//
1526// Solidity: event ForgeBatch(uint32 indexed batchNum, uint16 l1UserTxsLen)
1527func (_Hermez *HermezFilterer) FilterForgeBatch(opts *bind.FilterOpts, batchNum []uint32) (*HermezForgeBatchIterator, error) {
1528
1529 var batchNumRule []interface{}
1530 for _, batchNumItem := range batchNum {
1531 batchNumRule = append(batchNumRule, batchNumItem)
1532 }
1533
1534 logs, sub, err := _Hermez.contract.FilterLogs(opts, "ForgeBatch", batchNumRule)
1535 if err != nil {
1536 return nil, err
1537 }
1538 return &HermezForgeBatchIterator{contract: _Hermez.contract, event: "ForgeBatch", logs: logs, sub: sub}, nil
1539}
1540
1541// WatchForgeBatch is a free log subscription operation binding the contract event 0xe00040c8a3b0bf905636c26924e90520eafc5003324138236fddee2d34588618.
1542//
1543// Solidity: event ForgeBatch(uint32 indexed batchNum, uint16 l1UserTxsLen)
1544func (_Hermez *HermezFilterer) WatchForgeBatch(opts *bind.WatchOpts, sink chan<- *HermezForgeBatch, batchNum []uint32) (event.Subscription, error) {
1545
1546 var batchNumRule []interface{}
1547 for _, batchNumItem := range batchNum {
1548 batchNumRule = append(batchNumRule, batchNumItem)
1549 }
1550
1551 logs, sub, err := _Hermez.contract.WatchLogs(opts, "ForgeBatch", batchNumRule)
1552 if err != nil {
1553 return nil, err
1554 }
1555 return event.NewSubscription(func(quit <-chan struct{}) error {
1556 defer sub.Unsubscribe()
1557 for {
1558 select {
1559 case log := <-logs:
1560 // New log arrived, parse the event and forward to the user
1561 event := new(HermezForgeBatch)
1562 if err := _Hermez.contract.UnpackLog(event, "ForgeBatch", log); err != nil {
1563 return err
1564 }
1565 event.Raw = log
1566
1567 select {
1568 case sink <- event:
1569 case err := <-sub.Err():
1570 return err
1571 case <-quit:
1572 return nil
1573 }
1574 case err := <-sub.Err():
1575 return err
1576 case <-quit:
1577 return nil
1578 }
1579 }
1580 }), nil
1581}
1582
1583// ParseForgeBatch is a log parse operation binding the contract event 0xe00040c8a3b0bf905636c26924e90520eafc5003324138236fddee2d34588618.
1584//
1585// Solidity: event ForgeBatch(uint32 indexed batchNum, uint16 l1UserTxsLen)
1586func (_Hermez *HermezFilterer) ParseForgeBatch(log types.Log) (*HermezForgeBatch, error) {
1587 event := new(HermezForgeBatch)
1588 if err := _Hermez.contract.UnpackLog(event, "ForgeBatch", log); err != nil {
1589 return nil, err
1590 }
1591 event.Raw = log
1592 return event, nil
1593}
1594
1595// HermezInitializeHermezEventIterator is returned from FilterInitializeHermezEvent and is used to iterate over the raw logs and unpacked data for InitializeHermezEvent events raised by the Hermez contract.
1596type HermezInitializeHermezEventIterator struct {
1597 Event *HermezInitializeHermezEvent // 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 *HermezInitializeHermezEventIterator) 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(HermezInitializeHermezEvent)
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(HermezInitializeHermezEvent)
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 *HermezInitializeHermezEventIterator) Error() error {
1652 return it.fail
1653}
1654
1655// Close terminates the iteration process, releasing any pending underlying
1656// resources.
1657func (it *HermezInitializeHermezEventIterator) Close() error {
1658 it.sub.Unsubscribe()
1659 return nil
1660}
1661
1662// HermezInitializeHermezEvent represents a InitializeHermezEvent event raised by the Hermez contract.
1663type HermezInitializeHermezEvent struct {
1664 ForgeL1L2BatchTimeout uint8
1665 FeeAddToken *big.Int
1666 WithdrawalDelay uint64
1667 Raw types.Log // Blockchain specific contextual infos
1668}
1669
1670// FilterInitializeHermezEvent is a free log retrieval operation binding the contract event 0xc5272ad4c8d9f2e9af2f9555c11ead049be22b6e45c16975adc82371b7cd1040.
1671//
1672// Solidity: event InitializeHermezEvent(uint8 forgeL1L2BatchTimeout, uint256 feeAddToken, uint64 withdrawalDelay)
1673func (_Hermez *HermezFilterer) FilterInitializeHermezEvent(opts *bind.FilterOpts) (*HermezInitializeHermezEventIterator, error) {
1674
1675 logs, sub, err := _Hermez.contract.FilterLogs(opts, "InitializeHermezEvent")
1676 if err != nil {
1677 return nil, err
1678 }
1679 return &HermezInitializeHermezEventIterator{contract: _Hermez.contract, event: "InitializeHermezEvent", logs: logs, sub: sub}, nil
1680}
1681
1682// WatchInitializeHermezEvent is a free log subscription operation binding the contract event 0xc5272ad4c8d9f2e9af2f9555c11ead049be22b6e45c16975adc82371b7cd1040.
1683//
1684// Solidity: event InitializeHermezEvent(uint8 forgeL1L2BatchTimeout, uint256 feeAddToken, uint64 withdrawalDelay)
1685func (_Hermez *HermezFilterer) WatchInitializeHermezEvent(opts *bind.WatchOpts, sink chan<- *HermezInitializeHermezEvent) (event.Subscription, error) {
1686
1687 logs, sub, err := _Hermez.contract.WatchLogs(opts, "InitializeHermezEvent")
1688 if err != nil {
1689 return nil, err
1690 }
1691 return event.NewSubscription(func(quit <-chan struct{}) error {
1692 defer sub.Unsubscribe()
1693 for {
1694 select {
1695 case log := <-logs:
1696 // New log arrived, parse the event and forward to the user
1697 event := new(HermezInitializeHermezEvent)
1698 if err := _Hermez.contract.UnpackLog(event, "InitializeHermezEvent", log); err != nil {
1699 return err
1700 }
1701 event.Raw = log
1702
1703 select {
1704 case sink <- event:
1705 case err := <-sub.Err():
1706 return err
1707 case <-quit:
1708 return nil
1709 }
1710 case err := <-sub.Err():
1711 return err
1712 case <-quit:
1713 return nil
1714 }
1715 }
1716 }), nil
1717}
1718
1719// ParseInitializeHermezEvent is a log parse operation binding the contract event 0xc5272ad4c8d9f2e9af2f9555c11ead049be22b6e45c16975adc82371b7cd1040.
1720//
1721// Solidity: event InitializeHermezEvent(uint8 forgeL1L2BatchTimeout, uint256 feeAddToken, uint64 withdrawalDelay)
1722func (_Hermez *HermezFilterer) ParseInitializeHermezEvent(log types.Log) (*HermezInitializeHermezEvent, error) {
1723 event := new(HermezInitializeHermezEvent)
1724 if err := _Hermez.contract.UnpackLog(event, "InitializeHermezEvent", log); err != nil {
1725 return nil, err
1726 }
1727 event.Raw = log
1728 return event, nil
1729}
1730
1731// 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.
1732type HermezL1UserTxEventIterator struct {
1733 Event *HermezL1UserTxEvent // Event containing the contract specifics and raw log
1734
1735 contract *bind.BoundContract // Generic contract to use for unpacking event data
1736 event string // Event name to use for unpacking event data
1737
1738 logs chan types.Log // Log channel receiving the found contract events
1739 sub ethereum.Subscription // Subscription for errors, completion and termination
1740 done bool // Whether the subscription completed delivering logs
1741 fail error // Occurred error to stop iteration
1742}
1743
1744// Next advances the iterator to the subsequent event, returning whether there
1745// are any more events found. In case of a retrieval or parsing error, false is
1746// returned and Error() can be queried for the exact failure.
1747func (it *HermezL1UserTxEventIterator) Next() bool {
1748 // If the iterator failed, stop iterating
1749 if it.fail != nil {
1750 return false
1751 }
1752 // If the iterator completed, deliver directly whatever's available
1753 if it.done {
1754 select {
1755 case log := <-it.logs:
1756 it.Event = new(HermezL1UserTxEvent)
1757 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
1758 it.fail = err
1759 return false
1760 }
1761 it.Event.Raw = log
1762 return true
1763
1764 default:
1765 return false
1766 }
1767 }
1768 // Iterator still in progress, wait for either a data or an error event
1769 select {
1770 case log := <-it.logs:
1771 it.Event = new(HermezL1UserTxEvent)
1772 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
1773 it.fail = err
1774 return false
1775 }
1776 it.Event.Raw = log
1777 return true
1778
1779 case err := <-it.sub.Err():
1780 it.done = true
1781 it.fail = err
1782 return it.Next()
1783 }
1784}
1785
1786// Error returns any retrieval or parsing error occurred during filtering.
1787func (it *HermezL1UserTxEventIterator) Error() error {
1788 return it.fail
1789}
1790
1791// Close terminates the iteration process, releasing any pending underlying
1792// resources.
1793func (it *HermezL1UserTxEventIterator) Close() error {
1794 it.sub.Unsubscribe()
1795 return nil
1796}
1797
1798// HermezL1UserTxEvent represents a L1UserTxEvent event raised by the Hermez contract.
1799type HermezL1UserTxEvent struct {
1800 QueueIndex uint32
1801 Position uint8
1802 L1UserTx []byte
1803 Raw types.Log // Blockchain specific contextual infos
1804}
1805
1806// FilterL1UserTxEvent is a free log retrieval operation binding the contract event 0xdd5c7c5ea02d3c5d1621513faa6de53d474ee6f111eda6352a63e3dfe8c40119.
1807//
1808// Solidity: event L1UserTxEvent(uint32 indexed queueIndex, uint8 indexed position, bytes l1UserTx)
1809func (_Hermez *HermezFilterer) FilterL1UserTxEvent(opts *bind.FilterOpts, queueIndex []uint32, position []uint8) (*HermezL1UserTxEventIterator, error) {
1810
1811 var queueIndexRule []interface{}
1812 for _, queueIndexItem := range queueIndex {
1813 queueIndexRule = append(queueIndexRule, queueIndexItem)
1814 }
1815 var positionRule []interface{}
1816 for _, positionItem := range position {
1817 positionRule = append(positionRule, positionItem)
1818 }
1819
1820 logs, sub, err := _Hermez.contract.FilterLogs(opts, "L1UserTxEvent", queueIndexRule, positionRule)
1821 if err != nil {
1822 return nil, err
1823 }
1824 return &HermezL1UserTxEventIterator{contract: _Hermez.contract, event: "L1UserTxEvent", logs: logs, sub: sub}, nil
1825}
1826
1827// WatchL1UserTxEvent is a free log subscription operation binding the contract event 0xdd5c7c5ea02d3c5d1621513faa6de53d474ee6f111eda6352a63e3dfe8c40119.
1828//
1829// Solidity: event L1UserTxEvent(uint32 indexed queueIndex, uint8 indexed position, bytes l1UserTx)
1830func (_Hermez *HermezFilterer) WatchL1UserTxEvent(opts *bind.WatchOpts, sink chan<- *HermezL1UserTxEvent, queueIndex []uint32, position []uint8) (event.Subscription, error) {
1831
1832 var queueIndexRule []interface{}
1833 for _, queueIndexItem := range queueIndex {
1834 queueIndexRule = append(queueIndexRule, queueIndexItem)
1835 }
1836 var positionRule []interface{}
1837 for _, positionItem := range position {
1838 positionRule = append(positionRule, positionItem)
1839 }
1840
1841 logs, sub, err := _Hermez.contract.WatchLogs(opts, "L1UserTxEvent", queueIndexRule, positionRule)
1842 if err != nil {
1843 return nil, err
1844 }
1845 return event.NewSubscription(func(quit <-chan struct{}) error {
1846 defer sub.Unsubscribe()
1847 for {
1848 select {
1849 case log := <-logs:
1850 // New log arrived, parse the event and forward to the user
1851 event := new(HermezL1UserTxEvent)
1852 if err := _Hermez.contract.UnpackLog(event, "L1UserTxEvent", log); err != nil {
1853 return err
1854 }
1855 event.Raw = log
1856
1857 select {
1858 case sink <- event:
1859 case err := <-sub.Err():
1860 return err
1861 case <-quit:
1862 return nil
1863 }
1864 case err := <-sub.Err():
1865 return err
1866 case <-quit:
1867 return nil
1868 }
1869 }
1870 }), nil
1871}
1872
1873// ParseL1UserTxEvent is a log parse operation binding the contract event 0xdd5c7c5ea02d3c5d1621513faa6de53d474ee6f111eda6352a63e3dfe8c40119.
1874//
1875// Solidity: event L1UserTxEvent(uint32 indexed queueIndex, uint8 indexed position, bytes l1UserTx)
1876func (_Hermez *HermezFilterer) ParseL1UserTxEvent(log types.Log) (*HermezL1UserTxEvent, error) {
1877 event := new(HermezL1UserTxEvent)
1878 if err := _Hermez.contract.UnpackLog(event, "L1UserTxEvent", log); err != nil {
1879 return nil, err
1880 }
1881 event.Raw = log
1882 return event, nil
1883}
1884
1885// HermezSafeModeIterator is returned from FilterSafeMode and is used to iterate over the raw logs and unpacked data for SafeMode events raised by the Hermez contract.
1886type HermezSafeModeIterator struct {
1887 Event *HermezSafeMode // Event containing the contract specifics and raw log
1888
1889 contract *bind.BoundContract // Generic contract to use for unpacking event data
1890 event string // Event name to use for unpacking event data
1891
1892 logs chan types.Log // Log channel receiving the found contract events
1893 sub ethereum.Subscription // Subscription for errors, completion and termination
1894 done bool // Whether the subscription completed delivering logs
1895 fail error // Occurred error to stop iteration
1896}
1897
1898// Next advances the iterator to the subsequent event, returning whether there
1899// are any more events found. In case of a retrieval or parsing error, false is
1900// returned and Error() can be queried for the exact failure.
1901func (it *HermezSafeModeIterator) Next() bool {
1902 // If the iterator failed, stop iterating
1903 if it.fail != nil {
1904 return false
1905 }
1906 // If the iterator completed, deliver directly whatever's available
1907 if it.done {
1908 select {
1909 case log := <-it.logs:
1910 it.Event = new(HermezSafeMode)
1911 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
1912 it.fail = err
1913 return false
1914 }
1915 it.Event.Raw = log
1916 return true
1917
1918 default:
1919 return false
1920 }
1921 }
1922 // Iterator still in progress, wait for either a data or an error event
1923 select {
1924 case log := <-it.logs:
1925 it.Event = new(HermezSafeMode)
1926 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
1927 it.fail = err
1928 return false
1929 }
1930 it.Event.Raw = log
1931 return true
1932
1933 case err := <-it.sub.Err():
1934 it.done = true
1935 it.fail = err
1936 return it.Next()
1937 }
1938}
1939
1940// Error returns any retrieval or parsing error occurred during filtering.
1941func (it *HermezSafeModeIterator) Error() error {
1942 return it.fail
1943}
1944
1945// Close terminates the iteration process, releasing any pending underlying
1946// resources.
1947func (it *HermezSafeModeIterator) Close() error {
1948 it.sub.Unsubscribe()
1949 return nil
1950}
1951
1952// HermezSafeMode represents a SafeMode event raised by the Hermez contract.
1953type HermezSafeMode struct {
1954 Raw types.Log // Blockchain specific contextual infos
1955}
1956
1957// FilterSafeMode is a free log retrieval operation binding the contract event 0x0410e6ef2bd89ecf5b2dc2f62157f9863e09e89cb7c7f1abb7d4ec43a6019d1e.
1958//
1959// Solidity: event SafeMode()
1960func (_Hermez *HermezFilterer) FilterSafeMode(opts *bind.FilterOpts) (*HermezSafeModeIterator, error) {
1961
1962 logs, sub, err := _Hermez.contract.FilterLogs(opts, "SafeMode")
1963 if err != nil {
1964 return nil, err
1965 }
1966 return &HermezSafeModeIterator{contract: _Hermez.contract, event: "SafeMode", logs: logs, sub: sub}, nil
1967}
1968
1969// WatchSafeMode is a free log subscription operation binding the contract event 0x0410e6ef2bd89ecf5b2dc2f62157f9863e09e89cb7c7f1abb7d4ec43a6019d1e.
1970//
1971// Solidity: event SafeMode()
1972func (_Hermez *HermezFilterer) WatchSafeMode(opts *bind.WatchOpts, sink chan<- *HermezSafeMode) (event.Subscription, error) {
1973
1974 logs, sub, err := _Hermez.contract.WatchLogs(opts, "SafeMode")
1975 if err != nil {
1976 return nil, err
1977 }
1978 return event.NewSubscription(func(quit <-chan struct{}) error {
1979 defer sub.Unsubscribe()
1980 for {
1981 select {
1982 case log := <-logs:
1983 // New log arrived, parse the event and forward to the user
1984 event := new(HermezSafeMode)
1985 if err := _Hermez.contract.UnpackLog(event, "SafeMode", log); err != nil {
1986 return err
1987 }
1988 event.Raw = log
1989
1990 select {
1991 case sink <- event:
1992 case err := <-sub.Err():
1993 return err
1994 case <-quit:
1995 return nil
1996 }
1997 case err := <-sub.Err():
1998 return err
1999 case <-quit:
2000 return nil
2001 }
2002 }
2003 }), nil
2004}
2005
2006// ParseSafeMode is a log parse operation binding the contract event 0x0410e6ef2bd89ecf5b2dc2f62157f9863e09e89cb7c7f1abb7d4ec43a6019d1e.
2007//
2008// Solidity: event SafeMode()
2009func (_Hermez *HermezFilterer) ParseSafeMode(log types.Log) (*HermezSafeMode, error) {
2010 event := new(HermezSafeMode)
2011 if err := _Hermez.contract.UnpackLog(event, "SafeMode", log); err != nil {
2012 return nil, err
2013 }
2014 event.Raw = log
2015 return event, nil
2016}
2017
2018// HermezUpdateBucketWithdrawIterator is returned from FilterUpdateBucketWithdraw and is used to iterate over the raw logs and unpacked data for UpdateBucketWithdraw events raised by the Hermez contract.
2019type HermezUpdateBucketWithdrawIterator struct {
2020 Event *HermezUpdateBucketWithdraw // Event containing the contract specifics and raw log
2021
2022 contract *bind.BoundContract // Generic contract to use for unpacking event data
2023 event string // Event name to use for unpacking event data
2024
2025 logs chan types.Log // Log channel receiving the found contract events
2026 sub ethereum.Subscription // Subscription for errors, completion and termination
2027 done bool // Whether the subscription completed delivering logs
2028 fail error // Occurred error to stop iteration
2029}
2030
2031// Next advances the iterator to the subsequent event, returning whether there
2032// are any more events found. In case of a retrieval or parsing error, false is
2033// returned and Error() can be queried for the exact failure.
2034func (it *HermezUpdateBucketWithdrawIterator) Next() bool {
2035 // If the iterator failed, stop iterating
2036 if it.fail != nil {
2037 return false
2038 }
2039 // If the iterator completed, deliver directly whatever's available
2040 if it.done {
2041 select {
2042 case log := <-it.logs:
2043 it.Event = new(HermezUpdateBucketWithdraw)
2044 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2045 it.fail = err
2046 return false
2047 }
2048 it.Event.Raw = log
2049 return true
2050
2051 default:
2052 return false
2053 }
2054 }
2055 // Iterator still in progress, wait for either a data or an error event
2056 select {
2057 case log := <-it.logs:
2058 it.Event = new(HermezUpdateBucketWithdraw)
2059 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2060 it.fail = err
2061 return false
2062 }
2063 it.Event.Raw = log
2064 return true
2065
2066 case err := <-it.sub.Err():
2067 it.done = true
2068 it.fail = err
2069 return it.Next()
2070 }
2071}
2072
2073// Error returns any retrieval or parsing error occurred during filtering.
2074func (it *HermezUpdateBucketWithdrawIterator) Error() error {
2075 return it.fail
2076}
2077
2078// Close terminates the iteration process, releasing any pending underlying
2079// resources.
2080func (it *HermezUpdateBucketWithdrawIterator) Close() error {
2081 it.sub.Unsubscribe()
2082 return nil
2083}
2084
2085// HermezUpdateBucketWithdraw represents a UpdateBucketWithdraw event raised by the Hermez contract.
2086type HermezUpdateBucketWithdraw struct {
2087 NumBucket uint8
2088 BlockStamp *big.Int
2089 Withdrawals *big.Int
2090 Raw types.Log // Blockchain specific contextual infos
2091}
2092
2093// FilterUpdateBucketWithdraw is a free log retrieval operation binding the contract event 0xa35fe9a9e21cdbbc4774aa8a56e7b97ea9c06afc09ffb06af593d26951e350aa.
2094//
2095// Solidity: event UpdateBucketWithdraw(uint8 indexed numBucket, uint256 indexed blockStamp, uint256 withdrawals)
2096func (_Hermez *HermezFilterer) FilterUpdateBucketWithdraw(opts *bind.FilterOpts, numBucket []uint8, blockStamp []*big.Int) (*HermezUpdateBucketWithdrawIterator, error) {
2097
2098 var numBucketRule []interface{}
2099 for _, numBucketItem := range numBucket {
2100 numBucketRule = append(numBucketRule, numBucketItem)
2101 }
2102 var blockStampRule []interface{}
2103 for _, blockStampItem := range blockStamp {
2104 blockStampRule = append(blockStampRule, blockStampItem)
2105 }
2106
2107 logs, sub, err := _Hermez.contract.FilterLogs(opts, "UpdateBucketWithdraw", numBucketRule, blockStampRule)
2108 if err != nil {
2109 return nil, err
2110 }
2111 return &HermezUpdateBucketWithdrawIterator{contract: _Hermez.contract, event: "UpdateBucketWithdraw", logs: logs, sub: sub}, nil
2112}
2113
2114// WatchUpdateBucketWithdraw is a free log subscription operation binding the contract event 0xa35fe9a9e21cdbbc4774aa8a56e7b97ea9c06afc09ffb06af593d26951e350aa.
2115//
2116// Solidity: event UpdateBucketWithdraw(uint8 indexed numBucket, uint256 indexed blockStamp, uint256 withdrawals)
2117func (_Hermez *HermezFilterer) WatchUpdateBucketWithdraw(opts *bind.WatchOpts, sink chan<- *HermezUpdateBucketWithdraw, numBucket []uint8, blockStamp []*big.Int) (event.Subscription, error) {
2118
2119 var numBucketRule []interface{}
2120 for _, numBucketItem := range numBucket {
2121 numBucketRule = append(numBucketRule, numBucketItem)
2122 }
2123 var blockStampRule []interface{}
2124 for _, blockStampItem := range blockStamp {
2125 blockStampRule = append(blockStampRule, blockStampItem)
2126 }
2127
2128 logs, sub, err := _Hermez.contract.WatchLogs(opts, "UpdateBucketWithdraw", numBucketRule, blockStampRule)
2129 if err != nil {
2130 return nil, err
2131 }
2132 return event.NewSubscription(func(quit <-chan struct{}) error {
2133 defer sub.Unsubscribe()
2134 for {
2135 select {
2136 case log := <-logs:
2137 // New log arrived, parse the event and forward to the user
2138 event := new(HermezUpdateBucketWithdraw)
2139 if err := _Hermez.contract.UnpackLog(event, "UpdateBucketWithdraw", log); err != nil {
2140 return err
2141 }
2142 event.Raw = log
2143
2144 select {
2145 case sink <- event:
2146 case err := <-sub.Err():
2147 return err
2148 case <-quit:
2149 return nil
2150 }
2151 case err := <-sub.Err():
2152 return err
2153 case <-quit:
2154 return nil
2155 }
2156 }
2157 }), nil
2158}
2159
2160// ParseUpdateBucketWithdraw is a log parse operation binding the contract event 0xa35fe9a9e21cdbbc4774aa8a56e7b97ea9c06afc09ffb06af593d26951e350aa.
2161//
2162// Solidity: event UpdateBucketWithdraw(uint8 indexed numBucket, uint256 indexed blockStamp, uint256 withdrawals)
2163func (_Hermez *HermezFilterer) ParseUpdateBucketWithdraw(log types.Log) (*HermezUpdateBucketWithdraw, error) {
2164 event := new(HermezUpdateBucketWithdraw)
2165 if err := _Hermez.contract.UnpackLog(event, "UpdateBucketWithdraw", log); err != nil {
2166 return nil, err
2167 }
2168 event.Raw = log
2169 return event, nil
2170}
2171
2172// HermezUpdateBucketsParametersIterator is returned from FilterUpdateBucketsParameters and is used to iterate over the raw logs and unpacked data for UpdateBucketsParameters events raised by the Hermez contract.
2173type HermezUpdateBucketsParametersIterator struct {
2174 Event *HermezUpdateBucketsParameters // Event containing the contract specifics and raw log
2175
2176 contract *bind.BoundContract // Generic contract to use for unpacking event data
2177 event string // Event name to use for unpacking event data
2178
2179 logs chan types.Log // Log channel receiving the found contract events
2180 sub ethereum.Subscription // Subscription for errors, completion and termination
2181 done bool // Whether the subscription completed delivering logs
2182 fail error // Occurred error to stop iteration
2183}
2184
2185// Next advances the iterator to the subsequent event, returning whether there
2186// are any more events found. In case of a retrieval or parsing error, false is
2187// returned and Error() can be queried for the exact failure.
2188func (it *HermezUpdateBucketsParametersIterator) Next() bool {
2189 // If the iterator failed, stop iterating
2190 if it.fail != nil {
2191 return false
2192 }
2193 // If the iterator completed, deliver directly whatever's available
2194 if it.done {
2195 select {
2196 case log := <-it.logs:
2197 it.Event = new(HermezUpdateBucketsParameters)
2198 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2199 it.fail = err
2200 return false
2201 }
2202 it.Event.Raw = log
2203 return true
2204
2205 default:
2206 return false
2207 }
2208 }
2209 // Iterator still in progress, wait for either a data or an error event
2210 select {
2211 case log := <-it.logs:
2212 it.Event = new(HermezUpdateBucketsParameters)
2213 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2214 it.fail = err
2215 return false
2216 }
2217 it.Event.Raw = log
2218 return true
2219
2220 case err := <-it.sub.Err():
2221 it.done = true
2222 it.fail = err
2223 return it.Next()
2224 }
2225}
2226
2227// Error returns any retrieval or parsing error occurred during filtering.
2228func (it *HermezUpdateBucketsParametersIterator) Error() error {
2229 return it.fail
2230}
2231
2232// Close terminates the iteration process, releasing any pending underlying
2233// resources.
2234func (it *HermezUpdateBucketsParametersIterator) Close() error {
2235 it.sub.Unsubscribe()
2236 return nil
2237}
2238
2239// HermezUpdateBucketsParameters represents a UpdateBucketsParameters event raised by the Hermez contract.
2240type HermezUpdateBucketsParameters struct {
2241 ArrayBuckets [5][4]*big.Int
2242 Raw types.Log // Blockchain specific contextual infos
2243}
2244
2245// FilterUpdateBucketsParameters is a free log retrieval operation binding the contract event 0x3c39a1e91c69d4cfeacb11190befc2b1c983746e6b21ab2441a3051de88d4480.
2246//
2247// Solidity: event UpdateBucketsParameters(uint256[4][5] arrayBuckets)
2248func (_Hermez *HermezFilterer) FilterUpdateBucketsParameters(opts *bind.FilterOpts) (*HermezUpdateBucketsParametersIterator, error) {
2249
2250 logs, sub, err := _Hermez.contract.FilterLogs(opts, "UpdateBucketsParameters")
2251 if err != nil {
2252 return nil, err
2253 }
2254 return &HermezUpdateBucketsParametersIterator{contract: _Hermez.contract, event: "UpdateBucketsParameters", logs: logs, sub: sub}, nil
2255}
2256
2257// WatchUpdateBucketsParameters is a free log subscription operation binding the contract event 0x3c39a1e91c69d4cfeacb11190befc2b1c983746e6b21ab2441a3051de88d4480.
2258//
2259// Solidity: event UpdateBucketsParameters(uint256[4][5] arrayBuckets)
2260func (_Hermez *HermezFilterer) WatchUpdateBucketsParameters(opts *bind.WatchOpts, sink chan<- *HermezUpdateBucketsParameters) (event.Subscription, error) {
2261
2262 logs, sub, err := _Hermez.contract.WatchLogs(opts, "UpdateBucketsParameters")
2263 if err != nil {
2264 return nil, err
2265 }
2266 return event.NewSubscription(func(quit <-chan struct{}) error {
2267 defer sub.Unsubscribe()
2268 for {
2269 select {
2270 case log := <-logs:
2271 // New log arrived, parse the event and forward to the user
2272 event := new(HermezUpdateBucketsParameters)
2273 if err := _Hermez.contract.UnpackLog(event, "UpdateBucketsParameters", log); err != nil {
2274 return err
2275 }
2276 event.Raw = log
2277
2278 select {
2279 case sink <- event:
2280 case err := <-sub.Err():
2281 return err
2282 case <-quit:
2283 return nil
2284 }
2285 case err := <-sub.Err():
2286 return err
2287 case <-quit:
2288 return nil
2289 }
2290 }
2291 }), nil
2292}
2293
2294// ParseUpdateBucketsParameters is a log parse operation binding the contract event 0x3c39a1e91c69d4cfeacb11190befc2b1c983746e6b21ab2441a3051de88d4480.
2295//
2296// Solidity: event UpdateBucketsParameters(uint256[4][5] arrayBuckets)
2297func (_Hermez *HermezFilterer) ParseUpdateBucketsParameters(log types.Log) (*HermezUpdateBucketsParameters, error) {
2298 event := new(HermezUpdateBucketsParameters)
2299 if err := _Hermez.contract.UnpackLog(event, "UpdateBucketsParameters", log); err != nil {
2300 return nil, err
2301 }
2302 event.Raw = log
2303 return event, nil
2304}
2305
2306// 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.
2307type HermezUpdateFeeAddTokenIterator struct {
2308 Event *HermezUpdateFeeAddToken // Event containing the contract specifics and raw log
2309
2310 contract *bind.BoundContract // Generic contract to use for unpacking event data
2311 event string // Event name to use for unpacking event data
2312
2313 logs chan types.Log // Log channel receiving the found contract events
2314 sub ethereum.Subscription // Subscription for errors, completion and termination
2315 done bool // Whether the subscription completed delivering logs
2316 fail error // Occurred error to stop iteration
2317}
2318
2319// Next advances the iterator to the subsequent event, returning whether there
2320// are any more events found. In case of a retrieval or parsing error, false is
2321// returned and Error() can be queried for the exact failure.
2322func (it *HermezUpdateFeeAddTokenIterator) Next() bool {
2323 // If the iterator failed, stop iterating
2324 if it.fail != nil {
2325 return false
2326 }
2327 // If the iterator completed, deliver directly whatever's available
2328 if it.done {
2329 select {
2330 case log := <-it.logs:
2331 it.Event = new(HermezUpdateFeeAddToken)
2332 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2333 it.fail = err
2334 return false
2335 }
2336 it.Event.Raw = log
2337 return true
2338
2339 default:
2340 return false
2341 }
2342 }
2343 // Iterator still in progress, wait for either a data or an error event
2344 select {
2345 case log := <-it.logs:
2346 it.Event = new(HermezUpdateFeeAddToken)
2347 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2348 it.fail = err
2349 return false
2350 }
2351 it.Event.Raw = log
2352 return true
2353
2354 case err := <-it.sub.Err():
2355 it.done = true
2356 it.fail = err
2357 return it.Next()
2358 }
2359}
2360
2361// Error returns any retrieval or parsing error occurred during filtering.
2362func (it *HermezUpdateFeeAddTokenIterator) Error() error {
2363 return it.fail
2364}
2365
2366// Close terminates the iteration process, releasing any pending underlying
2367// resources.
2368func (it *HermezUpdateFeeAddTokenIterator) Close() error {
2369 it.sub.Unsubscribe()
2370 return nil
2371}
2372
2373// HermezUpdateFeeAddToken represents a UpdateFeeAddToken event raised by the Hermez contract.
2374type HermezUpdateFeeAddToken struct {
2375 NewFeeAddToken *big.Int
2376 Raw types.Log // Blockchain specific contextual infos
2377}
2378
2379// FilterUpdateFeeAddToken is a free log retrieval operation binding the contract event 0xd1c873cd16013f0dc5f37992c0d12794389698512895ec036a568e393b46e3c1.
2380//
2381// Solidity: event UpdateFeeAddToken(uint256 newFeeAddToken)
2382func (_Hermez *HermezFilterer) FilterUpdateFeeAddToken(opts *bind.FilterOpts) (*HermezUpdateFeeAddTokenIterator, error) {
2383
2384 logs, sub, err := _Hermez.contract.FilterLogs(opts, "UpdateFeeAddToken")
2385 if err != nil {
2386 return nil, err
2387 }
2388 return &HermezUpdateFeeAddTokenIterator{contract: _Hermez.contract, event: "UpdateFeeAddToken", logs: logs, sub: sub}, nil
2389}
2390
2391// WatchUpdateFeeAddToken is a free log subscription operation binding the contract event 0xd1c873cd16013f0dc5f37992c0d12794389698512895ec036a568e393b46e3c1.
2392//
2393// Solidity: event UpdateFeeAddToken(uint256 newFeeAddToken)
2394func (_Hermez *HermezFilterer) WatchUpdateFeeAddToken(opts *bind.WatchOpts, sink chan<- *HermezUpdateFeeAddToken) (event.Subscription, error) {
2395
2396 logs, sub, err := _Hermez.contract.WatchLogs(opts, "UpdateFeeAddToken")
2397 if err != nil {
2398 return nil, err
2399 }
2400 return event.NewSubscription(func(quit <-chan struct{}) error {
2401 defer sub.Unsubscribe()
2402 for {
2403 select {
2404 case log := <-logs:
2405 // New log arrived, parse the event and forward to the user
2406 event := new(HermezUpdateFeeAddToken)
2407 if err := _Hermez.contract.UnpackLog(event, "UpdateFeeAddToken", log); err != nil {
2408 return err
2409 }
2410 event.Raw = log
2411
2412 select {
2413 case sink <- event:
2414 case err := <-sub.Err():
2415 return err
2416 case <-quit:
2417 return nil
2418 }
2419 case err := <-sub.Err():
2420 return err
2421 case <-quit:
2422 return nil
2423 }
2424 }
2425 }), nil
2426}
2427
2428// ParseUpdateFeeAddToken is a log parse operation binding the contract event 0xd1c873cd16013f0dc5f37992c0d12794389698512895ec036a568e393b46e3c1.
2429//
2430// Solidity: event UpdateFeeAddToken(uint256 newFeeAddToken)
2431func (_Hermez *HermezFilterer) ParseUpdateFeeAddToken(log types.Log) (*HermezUpdateFeeAddToken, error) {
2432 event := new(HermezUpdateFeeAddToken)
2433 if err := _Hermez.contract.UnpackLog(event, "UpdateFeeAddToken", log); err != nil {
2434 return nil, err
2435 }
2436 event.Raw = log
2437 return event, nil
2438}
2439
2440// 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.
2441type HermezUpdateForgeL1L2BatchTimeoutIterator struct {
2442 Event *HermezUpdateForgeL1L2BatchTimeout // Event containing the contract specifics and raw log
2443
2444 contract *bind.BoundContract // Generic contract to use for unpacking event data
2445 event string // Event name to use for unpacking event data
2446
2447 logs chan types.Log // Log channel receiving the found contract events
2448 sub ethereum.Subscription // Subscription for errors, completion and termination
2449 done bool // Whether the subscription completed delivering logs
2450 fail error // Occurred error to stop iteration
2451}
2452
2453// Next advances the iterator to the subsequent event, returning whether there
2454// are any more events found. In case of a retrieval or parsing error, false is
2455// returned and Error() can be queried for the exact failure.
2456func (it *HermezUpdateForgeL1L2BatchTimeoutIterator) Next() bool {
2457 // If the iterator failed, stop iterating
2458 if it.fail != nil {
2459 return false
2460 }
2461 // If the iterator completed, deliver directly whatever's available
2462 if it.done {
2463 select {
2464 case log := <-it.logs:
2465 it.Event = new(HermezUpdateForgeL1L2BatchTimeout)
2466 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2467 it.fail = err
2468 return false
2469 }
2470 it.Event.Raw = log
2471 return true
2472
2473 default:
2474 return false
2475 }
2476 }
2477 // Iterator still in progress, wait for either a data or an error event
2478 select {
2479 case log := <-it.logs:
2480 it.Event = new(HermezUpdateForgeL1L2BatchTimeout)
2481 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2482 it.fail = err
2483 return false
2484 }
2485 it.Event.Raw = log
2486 return true
2487
2488 case err := <-it.sub.Err():
2489 it.done = true
2490 it.fail = err
2491 return it.Next()
2492 }
2493}
2494
2495// Error returns any retrieval or parsing error occurred during filtering.
2496func (it *HermezUpdateForgeL1L2BatchTimeoutIterator) Error() error {
2497 return it.fail
2498}
2499
2500// Close terminates the iteration process, releasing any pending underlying
2501// resources.
2502func (it *HermezUpdateForgeL1L2BatchTimeoutIterator) Close() error {
2503 it.sub.Unsubscribe()
2504 return nil
2505}
2506
2507// HermezUpdateForgeL1L2BatchTimeout represents a UpdateForgeL1L2BatchTimeout event raised by the Hermez contract.
2508type HermezUpdateForgeL1L2BatchTimeout struct {
2509 NewForgeL1L2BatchTimeout uint8
2510 Raw types.Log // Blockchain specific contextual infos
2511}
2512
2513// FilterUpdateForgeL1L2BatchTimeout is a free log retrieval operation binding the contract event 0xff6221781ac525b04585dbb55cd2ebd2a92c828ca3e42b23813a1137ac974431.
2514//
2515// Solidity: event UpdateForgeL1L2BatchTimeout(uint8 newForgeL1L2BatchTimeout)
2516func (_Hermez *HermezFilterer) FilterUpdateForgeL1L2BatchTimeout(opts *bind.FilterOpts) (*HermezUpdateForgeL1L2BatchTimeoutIterator, error) {
2517
2518 logs, sub, err := _Hermez.contract.FilterLogs(opts, "UpdateForgeL1L2BatchTimeout")
2519 if err != nil {
2520 return nil, err
2521 }
2522 return &HermezUpdateForgeL1L2BatchTimeoutIterator{contract: _Hermez.contract, event: "UpdateForgeL1L2BatchTimeout", logs: logs, sub: sub}, nil
2523}
2524
2525// WatchUpdateForgeL1L2BatchTimeout is a free log subscription operation binding the contract event 0xff6221781ac525b04585dbb55cd2ebd2a92c828ca3e42b23813a1137ac974431.
2526//
2527// Solidity: event UpdateForgeL1L2BatchTimeout(uint8 newForgeL1L2BatchTimeout)
2528func (_Hermez *HermezFilterer) WatchUpdateForgeL1L2BatchTimeout(opts *bind.WatchOpts, sink chan<- *HermezUpdateForgeL1L2BatchTimeout) (event.Subscription, error) {
2529
2530 logs, sub, err := _Hermez.contract.WatchLogs(opts, "UpdateForgeL1L2BatchTimeout")
2531 if err != nil {
2532 return nil, err
2533 }
2534 return event.NewSubscription(func(quit <-chan struct{}) error {
2535 defer sub.Unsubscribe()
2536 for {
2537 select {
2538 case log := <-logs:
2539 // New log arrived, parse the event and forward to the user
2540 event := new(HermezUpdateForgeL1L2BatchTimeout)
2541 if err := _Hermez.contract.UnpackLog(event, "UpdateForgeL1L2BatchTimeout", log); err != nil {
2542 return err
2543 }
2544 event.Raw = log
2545
2546 select {
2547 case sink <- event:
2548 case err := <-sub.Err():
2549 return err
2550 case <-quit:
2551 return nil
2552 }
2553 case err := <-sub.Err():
2554 return err
2555 case <-quit:
2556 return nil
2557 }
2558 }
2559 }), nil
2560}
2561
2562// ParseUpdateForgeL1L2BatchTimeout is a log parse operation binding the contract event 0xff6221781ac525b04585dbb55cd2ebd2a92c828ca3e42b23813a1137ac974431.
2563//
2564// Solidity: event UpdateForgeL1L2BatchTimeout(uint8 newForgeL1L2BatchTimeout)
2565func (_Hermez *HermezFilterer) ParseUpdateForgeL1L2BatchTimeout(log types.Log) (*HermezUpdateForgeL1L2BatchTimeout, error) {
2566 event := new(HermezUpdateForgeL1L2BatchTimeout)
2567 if err := _Hermez.contract.UnpackLog(event, "UpdateForgeL1L2BatchTimeout", log); err != nil {
2568 return nil, err
2569 }
2570 event.Raw = log
2571 return event, nil
2572}
2573
2574// HermezUpdateTokenExchangeIterator is returned from FilterUpdateTokenExchange and is used to iterate over the raw logs and unpacked data for UpdateTokenExchange events raised by the Hermez contract.
2575type HermezUpdateTokenExchangeIterator struct {
2576 Event *HermezUpdateTokenExchange // Event containing the contract specifics and raw log
2577
2578 contract *bind.BoundContract // Generic contract to use for unpacking event data
2579 event string // Event name to use for unpacking event data
2580
2581 logs chan types.Log // Log channel receiving the found contract events
2582 sub ethereum.Subscription // Subscription for errors, completion and termination
2583 done bool // Whether the subscription completed delivering logs
2584 fail error // Occurred error to stop iteration
2585}
2586
2587// Next advances the iterator to the subsequent event, returning whether there
2588// are any more events found. In case of a retrieval or parsing error, false is
2589// returned and Error() can be queried for the exact failure.
2590func (it *HermezUpdateTokenExchangeIterator) Next() bool {
2591 // If the iterator failed, stop iterating
2592 if it.fail != nil {
2593 return false
2594 }
2595 // If the iterator completed, deliver directly whatever's available
2596 if it.done {
2597 select {
2598 case log := <-it.logs:
2599 it.Event = new(HermezUpdateTokenExchange)
2600 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2601 it.fail = err
2602 return false
2603 }
2604 it.Event.Raw = log
2605 return true
2606
2607 default:
2608 return false
2609 }
2610 }
2611 // Iterator still in progress, wait for either a data or an error event
2612 select {
2613 case log := <-it.logs:
2614 it.Event = new(HermezUpdateTokenExchange)
2615 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2616 it.fail = err
2617 return false
2618 }
2619 it.Event.Raw = log
2620 return true
2621
2622 case err := <-it.sub.Err():
2623 it.done = true
2624 it.fail = err
2625 return it.Next()
2626 }
2627}
2628
2629// Error returns any retrieval or parsing error occurred during filtering.
2630func (it *HermezUpdateTokenExchangeIterator) Error() error {
2631 return it.fail
2632}
2633
2634// Close terminates the iteration process, releasing any pending underlying
2635// resources.
2636func (it *HermezUpdateTokenExchangeIterator) Close() error {
2637 it.sub.Unsubscribe()
2638 return nil
2639}
2640
2641// HermezUpdateTokenExchange represents a UpdateTokenExchange event raised by the Hermez contract.
2642type HermezUpdateTokenExchange struct {
2643 AddressArray []common.Address
2644 ValueArray []uint64
2645 Raw types.Log // Blockchain specific contextual infos
2646}
2647
2648// FilterUpdateTokenExchange is a free log retrieval operation binding the contract event 0x10ff643ebeca3e33002e61b76fa85e7e10091e30afa39295f91af9838b3033b3.
2649//
2650// Solidity: event UpdateTokenExchange(address[] addressArray, uint64[] valueArray)
2651func (_Hermez *HermezFilterer) FilterUpdateTokenExchange(opts *bind.FilterOpts) (*HermezUpdateTokenExchangeIterator, error) {
2652
2653 logs, sub, err := _Hermez.contract.FilterLogs(opts, "UpdateTokenExchange")
2654 if err != nil {
2655 return nil, err
2656 }
2657 return &HermezUpdateTokenExchangeIterator{contract: _Hermez.contract, event: "UpdateTokenExchange", logs: logs, sub: sub}, nil
2658}
2659
2660// WatchUpdateTokenExchange is a free log subscription operation binding the contract event 0x10ff643ebeca3e33002e61b76fa85e7e10091e30afa39295f91af9838b3033b3.
2661//
2662// Solidity: event UpdateTokenExchange(address[] addressArray, uint64[] valueArray)
2663func (_Hermez *HermezFilterer) WatchUpdateTokenExchange(opts *bind.WatchOpts, sink chan<- *HermezUpdateTokenExchange) (event.Subscription, error) {
2664
2665 logs, sub, err := _Hermez.contract.WatchLogs(opts, "UpdateTokenExchange")
2666 if err != nil {
2667 return nil, err
2668 }
2669 return event.NewSubscription(func(quit <-chan struct{}) error {
2670 defer sub.Unsubscribe()
2671 for {
2672 select {
2673 case log := <-logs:
2674 // New log arrived, parse the event and forward to the user
2675 event := new(HermezUpdateTokenExchange)
2676 if err := _Hermez.contract.UnpackLog(event, "UpdateTokenExchange", log); err != nil {
2677 return err
2678 }
2679 event.Raw = log
2680
2681 select {
2682 case sink <- event:
2683 case err := <-sub.Err():
2684 return err
2685 case <-quit:
2686 return nil
2687 }
2688 case err := <-sub.Err():
2689 return err
2690 case <-quit:
2691 return nil
2692 }
2693 }
2694 }), nil
2695}
2696
2697// ParseUpdateTokenExchange is a log parse operation binding the contract event 0x10ff643ebeca3e33002e61b76fa85e7e10091e30afa39295f91af9838b3033b3.
2698//
2699// Solidity: event UpdateTokenExchange(address[] addressArray, uint64[] valueArray)
2700func (_Hermez *HermezFilterer) ParseUpdateTokenExchange(log types.Log) (*HermezUpdateTokenExchange, error) {
2701 event := new(HermezUpdateTokenExchange)
2702 if err := _Hermez.contract.UnpackLog(event, "UpdateTokenExchange", log); err != nil {
2703 return nil, err
2704 }
2705 event.Raw = log
2706 return event, nil
2707}
2708
2709// HermezUpdateWithdrawalDelayIterator is returned from FilterUpdateWithdrawalDelay and is used to iterate over the raw logs and unpacked data for UpdateWithdrawalDelay events raised by the Hermez contract.
2710type HermezUpdateWithdrawalDelayIterator struct {
2711 Event *HermezUpdateWithdrawalDelay // Event containing the contract specifics and raw log
2712
2713 contract *bind.BoundContract // Generic contract to use for unpacking event data
2714 event string // Event name to use for unpacking event data
2715
2716 logs chan types.Log // Log channel receiving the found contract events
2717 sub ethereum.Subscription // Subscription for errors, completion and termination
2718 done bool // Whether the subscription completed delivering logs
2719 fail error // Occurred error to stop iteration
2720}
2721
2722// Next advances the iterator to the subsequent event, returning whether there
2723// are any more events found. In case of a retrieval or parsing error, false is
2724// returned and Error() can be queried for the exact failure.
2725func (it *HermezUpdateWithdrawalDelayIterator) Next() bool {
2726 // If the iterator failed, stop iterating
2727 if it.fail != nil {
2728 return false
2729 }
2730 // If the iterator completed, deliver directly whatever's available
2731 if it.done {
2732 select {
2733 case log := <-it.logs:
2734 it.Event = new(HermezUpdateWithdrawalDelay)
2735 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2736 it.fail = err
2737 return false
2738 }
2739 it.Event.Raw = log
2740 return true
2741
2742 default:
2743 return false
2744 }
2745 }
2746 // Iterator still in progress, wait for either a data or an error event
2747 select {
2748 case log := <-it.logs:
2749 it.Event = new(HermezUpdateWithdrawalDelay)
2750 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2751 it.fail = err
2752 return false
2753 }
2754 it.Event.Raw = log
2755 return true
2756
2757 case err := <-it.sub.Err():
2758 it.done = true
2759 it.fail = err
2760 return it.Next()
2761 }
2762}
2763
2764// Error returns any retrieval or parsing error occurred during filtering.
2765func (it *HermezUpdateWithdrawalDelayIterator) Error() error {
2766 return it.fail
2767}
2768
2769// Close terminates the iteration process, releasing any pending underlying
2770// resources.
2771func (it *HermezUpdateWithdrawalDelayIterator) Close() error {
2772 it.sub.Unsubscribe()
2773 return nil
2774}
2775
2776// HermezUpdateWithdrawalDelay represents a UpdateWithdrawalDelay event raised by the Hermez contract.
2777type HermezUpdateWithdrawalDelay struct {
2778 NewWithdrawalDelay uint64
2779 Raw types.Log // Blockchain specific contextual infos
2780}
2781
2782// FilterUpdateWithdrawalDelay is a free log retrieval operation binding the contract event 0x9db302c4547a21fb20a3a794e5f63ee87eb6e4afc3325ebdadba2d1fb4a90737.
2783//
2784// Solidity: event UpdateWithdrawalDelay(uint64 newWithdrawalDelay)
2785func (_Hermez *HermezFilterer) FilterUpdateWithdrawalDelay(opts *bind.FilterOpts) (*HermezUpdateWithdrawalDelayIterator, error) {
2786
2787 logs, sub, err := _Hermez.contract.FilterLogs(opts, "UpdateWithdrawalDelay")
2788 if err != nil {
2789 return nil, err
2790 }
2791 return &HermezUpdateWithdrawalDelayIterator{contract: _Hermez.contract, event: "UpdateWithdrawalDelay", logs: logs, sub: sub}, nil
2792}
2793
2794// WatchUpdateWithdrawalDelay is a free log subscription operation binding the contract event 0x9db302c4547a21fb20a3a794e5f63ee87eb6e4afc3325ebdadba2d1fb4a90737.
2795//
2796// Solidity: event UpdateWithdrawalDelay(uint64 newWithdrawalDelay)
2797func (_Hermez *HermezFilterer) WatchUpdateWithdrawalDelay(opts *bind.WatchOpts, sink chan<- *HermezUpdateWithdrawalDelay) (event.Subscription, error) {
2798
2799 logs, sub, err := _Hermez.contract.WatchLogs(opts, "UpdateWithdrawalDelay")
2800 if err != nil {
2801 return nil, err
2802 }
2803 return event.NewSubscription(func(quit <-chan struct{}) error {
2804 defer sub.Unsubscribe()
2805 for {
2806 select {
2807 case log := <-logs:
2808 // New log arrived, parse the event and forward to the user
2809 event := new(HermezUpdateWithdrawalDelay)
2810 if err := _Hermez.contract.UnpackLog(event, "UpdateWithdrawalDelay", log); err != nil {
2811 return err
2812 }
2813 event.Raw = log
2814
2815 select {
2816 case sink <- event:
2817 case err := <-sub.Err():
2818 return err
2819 case <-quit:
2820 return nil
2821 }
2822 case err := <-sub.Err():
2823 return err
2824 case <-quit:
2825 return nil
2826 }
2827 }
2828 }), nil
2829}
2830
2831// ParseUpdateWithdrawalDelay is a log parse operation binding the contract event 0x9db302c4547a21fb20a3a794e5f63ee87eb6e4afc3325ebdadba2d1fb4a90737.
2832//
2833// Solidity: event UpdateWithdrawalDelay(uint64 newWithdrawalDelay)
2834func (_Hermez *HermezFilterer) ParseUpdateWithdrawalDelay(log types.Log) (*HermezUpdateWithdrawalDelay, error) {
2835 event := new(HermezUpdateWithdrawalDelay)
2836 if err := _Hermez.contract.UnpackLog(event, "UpdateWithdrawalDelay", log); err != nil {
2837 return nil, err
2838 }
2839 event.Raw = log
2840 return event, nil
2841}
2842
2843// 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.
2844type HermezWithdrawEventIterator struct {
2845 Event *HermezWithdrawEvent // Event containing the contract specifics and raw log
2846
2847 contract *bind.BoundContract // Generic contract to use for unpacking event data
2848 event string // Event name to use for unpacking event data
2849
2850 logs chan types.Log // Log channel receiving the found contract events
2851 sub ethereum.Subscription // Subscription for errors, completion and termination
2852 done bool // Whether the subscription completed delivering logs
2853 fail error // Occurred error to stop iteration
2854}
2855
2856// Next advances the iterator to the subsequent event, returning whether there
2857// are any more events found. In case of a retrieval or parsing error, false is
2858// returned and Error() can be queried for the exact failure.
2859func (it *HermezWithdrawEventIterator) Next() bool {
2860 // If the iterator failed, stop iterating
2861 if it.fail != nil {
2862 return false
2863 }
2864 // If the iterator completed, deliver directly whatever's available
2865 if it.done {
2866 select {
2867 case log := <-it.logs:
2868 it.Event = new(HermezWithdrawEvent)
2869 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2870 it.fail = err
2871 return false
2872 }
2873 it.Event.Raw = log
2874 return true
2875
2876 default:
2877 return false
2878 }
2879 }
2880 // Iterator still in progress, wait for either a data or an error event
2881 select {
2882 case log := <-it.logs:
2883 it.Event = new(HermezWithdrawEvent)
2884 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
2885 it.fail = err
2886 return false
2887 }
2888 it.Event.Raw = log
2889 return true
2890
2891 case err := <-it.sub.Err():
2892 it.done = true
2893 it.fail = err
2894 return it.Next()
2895 }
2896}
2897
2898// Error returns any retrieval or parsing error occurred during filtering.
2899func (it *HermezWithdrawEventIterator) Error() error {
2900 return it.fail
2901}
2902
2903// Close terminates the iteration process, releasing any pending underlying
2904// resources.
2905func (it *HermezWithdrawEventIterator) Close() error {
2906 it.sub.Unsubscribe()
2907 return nil
2908}
2909
2910// HermezWithdrawEvent represents a WithdrawEvent event raised by the Hermez contract.
2911type HermezWithdrawEvent struct {
2912 Idx *big.Int
2913 NumExitRoot uint32
2914 InstantWithdraw bool
2915 Raw types.Log // Blockchain specific contextual infos
2916}
2917
2918// FilterWithdrawEvent is a free log retrieval operation binding the contract event 0x69177d798b38e27bcc4e0338307e4f1490e12d1006729d0e6e9cc82a8732f415.
2919//
2920// Solidity: event WithdrawEvent(uint48 indexed idx, uint32 indexed numExitRoot, bool indexed instantWithdraw)
2921func (_Hermez *HermezFilterer) FilterWithdrawEvent(opts *bind.FilterOpts, idx []*big.Int, numExitRoot []uint32, instantWithdraw []bool) (*HermezWithdrawEventIterator, error) {
2922
2923 var idxRule []interface{}
2924 for _, idxItem := range idx {
2925 idxRule = append(idxRule, idxItem)
2926 }
2927 var numExitRootRule []interface{}
2928 for _, numExitRootItem := range numExitRoot {
2929 numExitRootRule = append(numExitRootRule, numExitRootItem)
2930 }
2931 var instantWithdrawRule []interface{}
2932 for _, instantWithdrawItem := range instantWithdraw {
2933 instantWithdrawRule = append(instantWithdrawRule, instantWithdrawItem)
2934 }
2935
2936 logs, sub, err := _Hermez.contract.FilterLogs(opts, "WithdrawEvent", idxRule, numExitRootRule, instantWithdrawRule)
2937 if err != nil {
2938 return nil, err
2939 }
2940 return &HermezWithdrawEventIterator{contract: _Hermez.contract, event: "WithdrawEvent", logs: logs, sub: sub}, nil
2941}
2942
2943// WatchWithdrawEvent is a free log subscription operation binding the contract event 0x69177d798b38e27bcc4e0338307e4f1490e12d1006729d0e6e9cc82a8732f415.
2944//
2945// Solidity: event WithdrawEvent(uint48 indexed idx, uint32 indexed numExitRoot, bool indexed instantWithdraw)
2946func (_Hermez *HermezFilterer) WatchWithdrawEvent(opts *bind.WatchOpts, sink chan<- *HermezWithdrawEvent, idx []*big.Int, numExitRoot []uint32, instantWithdraw []bool) (event.Subscription, error) {
2947
2948 var idxRule []interface{}
2949 for _, idxItem := range idx {
2950 idxRule = append(idxRule, idxItem)
2951 }
2952 var numExitRootRule []interface{}
2953 for _, numExitRootItem := range numExitRoot {
2954 numExitRootRule = append(numExitRootRule, numExitRootItem)
2955 }
2956 var instantWithdrawRule []interface{}
2957 for _, instantWithdrawItem := range instantWithdraw {
2958 instantWithdrawRule = append(instantWithdrawRule, instantWithdrawItem)
2959 }
2960
2961 logs, sub, err := _Hermez.contract.WatchLogs(opts, "WithdrawEvent", idxRule, numExitRootRule, instantWithdrawRule)
2962 if err != nil {
2963 return nil, err
2964 }
2965 return event.NewSubscription(func(quit <-chan struct{}) error {
2966 defer sub.Unsubscribe()
2967 for {
2968 select {
2969 case log := <-logs:
2970 // New log arrived, parse the event and forward to the user
2971 event := new(HermezWithdrawEvent)
2972 if err := _Hermez.contract.UnpackLog(event, "WithdrawEvent", log); err != nil {
2973 return err
2974 }
2975 event.Raw = log
2976
2977 select {
2978 case sink <- event:
2979 case err := <-sub.Err():
2980 return err
2981 case <-quit:
2982 return nil
2983 }
2984 case err := <-sub.Err():
2985 return err
2986 case <-quit:
2987 return nil
2988 }
2989 }
2990 }), nil
2991}
2992
2993// ParseWithdrawEvent is a log parse operation binding the contract event 0x69177d798b38e27bcc4e0338307e4f1490e12d1006729d0e6e9cc82a8732f415.
2994//
2995// Solidity: event WithdrawEvent(uint48 indexed idx, uint32 indexed numExitRoot, bool indexed instantWithdraw)
2996func (_Hermez *HermezFilterer) ParseWithdrawEvent(log types.Log) (*HermezWithdrawEvent, error) {
2997 event := new(HermezWithdrawEvent)
2998 if err := _Hermez.contract.UnpackLog(event, "WithdrawEvent", log); err != nil {
2999 return nil, err
3000 }
3001 event.Raw = log
3002 return event, nil
3003}