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