github.com/diadata-org/diadata@v1.4.593/pkg/dia/scraper/exchange-scrapers/uniswapv3/UniswapV3.go (about) 1 // Code generated - DO NOT EDIT. 2 // This file is a generated binding and any manual changes will be lost. 3 4 package UniswapV3 5 6 import ( 7 "math/big" 8 "strings" 9 10 ethereum "github.com/ethereum/go-ethereum" 11 "github.com/ethereum/go-ethereum/accounts/abi" 12 "github.com/ethereum/go-ethereum/accounts/abi/bind" 13 "github.com/ethereum/go-ethereum/common" 14 "github.com/ethereum/go-ethereum/core/types" 15 "github.com/ethereum/go-ethereum/event" 16 ) 17 18 // Reference imports to suppress errors if they are not otherwise used. 19 var ( 20 _ = big.NewInt 21 _ = strings.NewReader 22 _ = ethereum.NotFound 23 _ = bind.Bind 24 _ = common.Big1 25 _ = types.BloomLookup 26 _ = event.NewSubscription 27 ) 28 29 // UniswapV3ABI is the input ABI used to generate the binding from. 30 const UniswapV3ABI = "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"}],\"name\":\"FeeAmountEnabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnerChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"}],\"name\":\"enableFeeAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"\",\"type\":\"uint24\"}],\"name\":\"feeAmountTickSpacing\",\"outputs\":[{\"internalType\":\"int24\",\"name\":\"\",\"type\":\"int24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"\",\"type\":\"uint24\"}],\"name\":\"getPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"parameters\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"factory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickSpacing\",\"type\":\"int24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"setOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 31 32 // UniswapV3 is an auto generated Go binding around an Ethereum contract. 33 type UniswapV3 struct { 34 UniswapV3Caller // Read-only binding to the contract 35 UniswapV3Transactor // Write-only binding to the contract 36 UniswapV3Filterer // Log filterer for contract events 37 } 38 39 // UniswapV3Caller is an auto generated read-only Go binding around an Ethereum contract. 40 type UniswapV3Caller struct { 41 contract *bind.BoundContract // Generic contract wrapper for the low level calls 42 } 43 44 // UniswapV3Transactor is an auto generated write-only Go binding around an Ethereum contract. 45 type UniswapV3Transactor struct { 46 contract *bind.BoundContract // Generic contract wrapper for the low level calls 47 } 48 49 // UniswapV3Filterer is an auto generated log filtering Go binding around an Ethereum contract events. 50 type UniswapV3Filterer struct { 51 contract *bind.BoundContract // Generic contract wrapper for the low level calls 52 } 53 54 // UniswapV3Session is an auto generated Go binding around an Ethereum contract, 55 // with pre-set call and transact options. 56 type UniswapV3Session struct { 57 Contract *UniswapV3 // Generic contract binding to set the session for 58 CallOpts bind.CallOpts // Call options to use throughout this session 59 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 60 } 61 62 // UniswapV3CallerSession is an auto generated read-only Go binding around an Ethereum contract, 63 // with pre-set call options. 64 type UniswapV3CallerSession struct { 65 Contract *UniswapV3Caller // Generic contract caller binding to set the session for 66 CallOpts bind.CallOpts // Call options to use throughout this session 67 } 68 69 // UniswapV3TransactorSession is an auto generated write-only Go binding around an Ethereum contract, 70 // with pre-set transact options. 71 type UniswapV3TransactorSession struct { 72 Contract *UniswapV3Transactor // Generic contract transactor binding to set the session for 73 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 74 } 75 76 // UniswapV3Raw is an auto generated low-level Go binding around an Ethereum contract. 77 type UniswapV3Raw struct { 78 Contract *UniswapV3 // Generic contract binding to access the raw methods on 79 } 80 81 // UniswapV3CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 82 type UniswapV3CallerRaw struct { 83 Contract *UniswapV3Caller // Generic read-only contract binding to access the raw methods on 84 } 85 86 // UniswapV3TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 87 type UniswapV3TransactorRaw struct { 88 Contract *UniswapV3Transactor // Generic write-only contract binding to access the raw methods on 89 } 90 91 // NewUniswapV3 creates a new instance of UniswapV3, bound to a specific deployed contract. 92 func NewUniswapV3(address common.Address, backend bind.ContractBackend) (*UniswapV3, error) { 93 contract, err := bindUniswapV3(address, backend, backend, backend) 94 if err != nil { 95 return nil, err 96 } 97 return &UniswapV3{UniswapV3Caller: UniswapV3Caller{contract: contract}, UniswapV3Transactor: UniswapV3Transactor{contract: contract}, UniswapV3Filterer: UniswapV3Filterer{contract: contract}}, nil 98 } 99 100 // NewUniswapV3Caller creates a new read-only instance of UniswapV3, bound to a specific deployed contract. 101 func NewUniswapV3Caller(address common.Address, caller bind.ContractCaller) (*UniswapV3Caller, error) { 102 contract, err := bindUniswapV3(address, caller, nil, nil) 103 if err != nil { 104 return nil, err 105 } 106 return &UniswapV3Caller{contract: contract}, nil 107 } 108 109 // NewUniswapV3Transactor creates a new write-only instance of UniswapV3, bound to a specific deployed contract. 110 func NewUniswapV3Transactor(address common.Address, transactor bind.ContractTransactor) (*UniswapV3Transactor, error) { 111 contract, err := bindUniswapV3(address, nil, transactor, nil) 112 if err != nil { 113 return nil, err 114 } 115 return &UniswapV3Transactor{contract: contract}, nil 116 } 117 118 // NewUniswapV3Filterer creates a new log filterer instance of UniswapV3, bound to a specific deployed contract. 119 func NewUniswapV3Filterer(address common.Address, filterer bind.ContractFilterer) (*UniswapV3Filterer, error) { 120 contract, err := bindUniswapV3(address, nil, nil, filterer) 121 if err != nil { 122 return nil, err 123 } 124 return &UniswapV3Filterer{contract: contract}, nil 125 } 126 127 // bindUniswapV3 binds a generic wrapper to an already deployed contract. 128 func bindUniswapV3(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 129 parsed, err := abi.JSON(strings.NewReader(UniswapV3ABI)) 130 if err != nil { 131 return nil, err 132 } 133 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 134 } 135 136 // Call invokes the (constant) contract method with params as input values and 137 // sets the output to result. The result type might be a single field for simple 138 // returns, a slice of interfaces for anonymous returns and a struct for named 139 // returns. 140 func (_UniswapV3 *UniswapV3Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 141 return _UniswapV3.Contract.UniswapV3Caller.contract.Call(opts, result, method, params...) 142 } 143 144 // Transfer initiates a plain transaction to move funds to the contract, calling 145 // its default method if one is available. 146 func (_UniswapV3 *UniswapV3Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 147 return _UniswapV3.Contract.UniswapV3Transactor.contract.Transfer(opts) 148 } 149 150 // Transact invokes the (paid) contract method with params as input values. 151 func (_UniswapV3 *UniswapV3Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 152 return _UniswapV3.Contract.UniswapV3Transactor.contract.Transact(opts, method, params...) 153 } 154 155 // Call invokes the (constant) contract method with params as input values and 156 // sets the output to result. The result type might be a single field for simple 157 // returns, a slice of interfaces for anonymous returns and a struct for named 158 // returns. 159 func (_UniswapV3 *UniswapV3CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 160 return _UniswapV3.Contract.contract.Call(opts, result, method, params...) 161 } 162 163 // Transfer initiates a plain transaction to move funds to the contract, calling 164 // its default method if one is available. 165 func (_UniswapV3 *UniswapV3TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 166 return _UniswapV3.Contract.contract.Transfer(opts) 167 } 168 169 // Transact invokes the (paid) contract method with params as input values. 170 func (_UniswapV3 *UniswapV3TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 171 return _UniswapV3.Contract.contract.Transact(opts, method, params...) 172 } 173 174 // FeeAmountTickSpacing is a free data retrieval call binding the contract method 0x22afcccb. 175 // 176 // Solidity: function feeAmountTickSpacing(uint24 ) view returns(int24) 177 func (_UniswapV3 *UniswapV3Caller) FeeAmountTickSpacing(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error) { 178 var out []interface{} 179 err := _UniswapV3.contract.Call(opts, &out, "feeAmountTickSpacing", arg0) 180 181 if err != nil { 182 return *new(*big.Int), err 183 } 184 185 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 186 187 return out0, err 188 189 } 190 191 // FeeAmountTickSpacing is a free data retrieval call binding the contract method 0x22afcccb. 192 // 193 // Solidity: function feeAmountTickSpacing(uint24 ) view returns(int24) 194 func (_UniswapV3 *UniswapV3Session) FeeAmountTickSpacing(arg0 *big.Int) (*big.Int, error) { 195 return _UniswapV3.Contract.FeeAmountTickSpacing(&_UniswapV3.CallOpts, arg0) 196 } 197 198 // FeeAmountTickSpacing is a free data retrieval call binding the contract method 0x22afcccb. 199 // 200 // Solidity: function feeAmountTickSpacing(uint24 ) view returns(int24) 201 func (_UniswapV3 *UniswapV3CallerSession) FeeAmountTickSpacing(arg0 *big.Int) (*big.Int, error) { 202 return _UniswapV3.Contract.FeeAmountTickSpacing(&_UniswapV3.CallOpts, arg0) 203 } 204 205 // GetPool is a free data retrieval call binding the contract method 0x1698ee82. 206 // 207 // Solidity: function getPool(address , address , uint24 ) view returns(address) 208 func (_UniswapV3 *UniswapV3Caller) GetPool(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address, arg2 *big.Int) (common.Address, error) { 209 var out []interface{} 210 err := _UniswapV3.contract.Call(opts, &out, "getPool", arg0, arg1, arg2) 211 212 if err != nil { 213 return *new(common.Address), err 214 } 215 216 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 217 218 return out0, err 219 220 } 221 222 // GetPool is a free data retrieval call binding the contract method 0x1698ee82. 223 // 224 // Solidity: function getPool(address , address , uint24 ) view returns(address) 225 func (_UniswapV3 *UniswapV3Session) GetPool(arg0 common.Address, arg1 common.Address, arg2 *big.Int) (common.Address, error) { 226 return _UniswapV3.Contract.GetPool(&_UniswapV3.CallOpts, arg0, arg1, arg2) 227 } 228 229 // GetPool is a free data retrieval call binding the contract method 0x1698ee82. 230 // 231 // Solidity: function getPool(address , address , uint24 ) view returns(address) 232 func (_UniswapV3 *UniswapV3CallerSession) GetPool(arg0 common.Address, arg1 common.Address, arg2 *big.Int) (common.Address, error) { 233 return _UniswapV3.Contract.GetPool(&_UniswapV3.CallOpts, arg0, arg1, arg2) 234 } 235 236 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 237 // 238 // Solidity: function owner() view returns(address) 239 func (_UniswapV3 *UniswapV3Caller) Owner(opts *bind.CallOpts) (common.Address, error) { 240 var out []interface{} 241 err := _UniswapV3.contract.Call(opts, &out, "owner") 242 243 if err != nil { 244 return *new(common.Address), err 245 } 246 247 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 248 249 return out0, err 250 251 } 252 253 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 254 // 255 // Solidity: function owner() view returns(address) 256 func (_UniswapV3 *UniswapV3Session) Owner() (common.Address, error) { 257 return _UniswapV3.Contract.Owner(&_UniswapV3.CallOpts) 258 } 259 260 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 261 // 262 // Solidity: function owner() view returns(address) 263 func (_UniswapV3 *UniswapV3CallerSession) Owner() (common.Address, error) { 264 return _UniswapV3.Contract.Owner(&_UniswapV3.CallOpts) 265 } 266 267 // Parameters is a free data retrieval call binding the contract method 0x89035730. 268 // 269 // Solidity: function parameters() view returns(address factory, address token0, address token1, uint24 fee, int24 tickSpacing) 270 func (_UniswapV3 *UniswapV3Caller) Parameters(opts *bind.CallOpts) (struct { 271 Factory common.Address 272 Token0 common.Address 273 Token1 common.Address 274 Fee *big.Int 275 TickSpacing *big.Int 276 }, error) { 277 var out []interface{} 278 err := _UniswapV3.contract.Call(opts, &out, "parameters") 279 280 outstruct := new(struct { 281 Factory common.Address 282 Token0 common.Address 283 Token1 common.Address 284 Fee *big.Int 285 TickSpacing *big.Int 286 }) 287 288 outstruct.Factory = out[0].(common.Address) 289 outstruct.Token0 = out[1].(common.Address) 290 outstruct.Token1 = out[2].(common.Address) 291 outstruct.Fee = out[3].(*big.Int) 292 outstruct.TickSpacing = out[4].(*big.Int) 293 294 return *outstruct, err 295 296 } 297 298 // Parameters is a free data retrieval call binding the contract method 0x89035730. 299 // 300 // Solidity: function parameters() view returns(address factory, address token0, address token1, uint24 fee, int24 tickSpacing) 301 func (_UniswapV3 *UniswapV3Session) Parameters() (struct { 302 Factory common.Address 303 Token0 common.Address 304 Token1 common.Address 305 Fee *big.Int 306 TickSpacing *big.Int 307 }, error) { 308 return _UniswapV3.Contract.Parameters(&_UniswapV3.CallOpts) 309 } 310 311 // Parameters is a free data retrieval call binding the contract method 0x89035730. 312 // 313 // Solidity: function parameters() view returns(address factory, address token0, address token1, uint24 fee, int24 tickSpacing) 314 func (_UniswapV3 *UniswapV3CallerSession) Parameters() (struct { 315 Factory common.Address 316 Token0 common.Address 317 Token1 common.Address 318 Fee *big.Int 319 TickSpacing *big.Int 320 }, error) { 321 return _UniswapV3.Contract.Parameters(&_UniswapV3.CallOpts) 322 } 323 324 // CreatePool is a paid mutator transaction binding the contract method 0xa1671295. 325 // 326 // Solidity: function createPool(address tokenA, address tokenB, uint24 fee) returns(address pool) 327 func (_UniswapV3 *UniswapV3Transactor) CreatePool(opts *bind.TransactOpts, tokenA common.Address, tokenB common.Address, fee *big.Int) (*types.Transaction, error) { 328 return _UniswapV3.contract.Transact(opts, "createPool", tokenA, tokenB, fee) 329 } 330 331 // CreatePool is a paid mutator transaction binding the contract method 0xa1671295. 332 // 333 // Solidity: function createPool(address tokenA, address tokenB, uint24 fee) returns(address pool) 334 func (_UniswapV3 *UniswapV3Session) CreatePool(tokenA common.Address, tokenB common.Address, fee *big.Int) (*types.Transaction, error) { 335 return _UniswapV3.Contract.CreatePool(&_UniswapV3.TransactOpts, tokenA, tokenB, fee) 336 } 337 338 // CreatePool is a paid mutator transaction binding the contract method 0xa1671295. 339 // 340 // Solidity: function createPool(address tokenA, address tokenB, uint24 fee) returns(address pool) 341 func (_UniswapV3 *UniswapV3TransactorSession) CreatePool(tokenA common.Address, tokenB common.Address, fee *big.Int) (*types.Transaction, error) { 342 return _UniswapV3.Contract.CreatePool(&_UniswapV3.TransactOpts, tokenA, tokenB, fee) 343 } 344 345 // EnableFeeAmount is a paid mutator transaction binding the contract method 0x8a7c195f. 346 // 347 // Solidity: function enableFeeAmount(uint24 fee, int24 tickSpacing) returns() 348 func (_UniswapV3 *UniswapV3Transactor) EnableFeeAmount(opts *bind.TransactOpts, fee *big.Int, tickSpacing *big.Int) (*types.Transaction, error) { 349 return _UniswapV3.contract.Transact(opts, "enableFeeAmount", fee, tickSpacing) 350 } 351 352 // EnableFeeAmount is a paid mutator transaction binding the contract method 0x8a7c195f. 353 // 354 // Solidity: function enableFeeAmount(uint24 fee, int24 tickSpacing) returns() 355 func (_UniswapV3 *UniswapV3Session) EnableFeeAmount(fee *big.Int, tickSpacing *big.Int) (*types.Transaction, error) { 356 return _UniswapV3.Contract.EnableFeeAmount(&_UniswapV3.TransactOpts, fee, tickSpacing) 357 } 358 359 // EnableFeeAmount is a paid mutator transaction binding the contract method 0x8a7c195f. 360 // 361 // Solidity: function enableFeeAmount(uint24 fee, int24 tickSpacing) returns() 362 func (_UniswapV3 *UniswapV3TransactorSession) EnableFeeAmount(fee *big.Int, tickSpacing *big.Int) (*types.Transaction, error) { 363 return _UniswapV3.Contract.EnableFeeAmount(&_UniswapV3.TransactOpts, fee, tickSpacing) 364 } 365 366 // SetOwner is a paid mutator transaction binding the contract method 0x13af4035. 367 // 368 // Solidity: function setOwner(address _owner) returns() 369 func (_UniswapV3 *UniswapV3Transactor) SetOwner(opts *bind.TransactOpts, _owner common.Address) (*types.Transaction, error) { 370 return _UniswapV3.contract.Transact(opts, "setOwner", _owner) 371 } 372 373 // SetOwner is a paid mutator transaction binding the contract method 0x13af4035. 374 // 375 // Solidity: function setOwner(address _owner) returns() 376 func (_UniswapV3 *UniswapV3Session) SetOwner(_owner common.Address) (*types.Transaction, error) { 377 return _UniswapV3.Contract.SetOwner(&_UniswapV3.TransactOpts, _owner) 378 } 379 380 // SetOwner is a paid mutator transaction binding the contract method 0x13af4035. 381 // 382 // Solidity: function setOwner(address _owner) returns() 383 func (_UniswapV3 *UniswapV3TransactorSession) SetOwner(_owner common.Address) (*types.Transaction, error) { 384 return _UniswapV3.Contract.SetOwner(&_UniswapV3.TransactOpts, _owner) 385 } 386 387 // UniswapV3FeeAmountEnabledIterator is returned from FilterFeeAmountEnabled and is used to iterate over the raw logs and unpacked data for FeeAmountEnabled events raised by the UniswapV3 contract. 388 type UniswapV3FeeAmountEnabledIterator struct { 389 Event *UniswapV3FeeAmountEnabled // Event containing the contract specifics and raw log 390 391 contract *bind.BoundContract // Generic contract to use for unpacking event data 392 event string // Event name to use for unpacking event data 393 394 logs chan types.Log // Log channel receiving the found contract events 395 sub ethereum.Subscription // Subscription for errors, completion and termination 396 done bool // Whether the subscription completed delivering logs 397 fail error // Occurred error to stop iteration 398 } 399 400 // Next advances the iterator to the subsequent event, returning whether there 401 // are any more events found. In case of a retrieval or parsing error, false is 402 // returned and Error() can be queried for the exact failure. 403 func (it *UniswapV3FeeAmountEnabledIterator) Next() bool { 404 // If the iterator failed, stop iterating 405 if it.fail != nil { 406 return false 407 } 408 // If the iterator completed, deliver directly whatever's available 409 if it.done { 410 select { 411 case log := <-it.logs: 412 it.Event = new(UniswapV3FeeAmountEnabled) 413 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 414 it.fail = err 415 return false 416 } 417 it.Event.Raw = log 418 return true 419 420 default: 421 return false 422 } 423 } 424 // Iterator still in progress, wait for either a data or an error event 425 select { 426 case log := <-it.logs: 427 it.Event = new(UniswapV3FeeAmountEnabled) 428 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 429 it.fail = err 430 return false 431 } 432 it.Event.Raw = log 433 return true 434 435 case err := <-it.sub.Err(): 436 it.done = true 437 it.fail = err 438 return it.Next() 439 } 440 } 441 442 // Error returns any retrieval or parsing error occurred during filtering. 443 func (it *UniswapV3FeeAmountEnabledIterator) Error() error { 444 return it.fail 445 } 446 447 // Close terminates the iteration process, releasing any pending underlying 448 // resources. 449 func (it *UniswapV3FeeAmountEnabledIterator) Close() error { 450 it.sub.Unsubscribe() 451 return nil 452 } 453 454 // UniswapV3FeeAmountEnabled represents a FeeAmountEnabled event raised by the UniswapV3 contract. 455 type UniswapV3FeeAmountEnabled struct { 456 Fee *big.Int 457 TickSpacing *big.Int 458 Raw types.Log // Blockchain specific contextual infos 459 } 460 461 // FilterFeeAmountEnabled is a free log retrieval operation binding the contract event 0xc66a3fdf07232cdd185febcc6579d408c241b47ae2f9907d84be655141eeaecc. 462 // 463 // Solidity: event FeeAmountEnabled(uint24 indexed fee, int24 indexed tickSpacing) 464 func (_UniswapV3 *UniswapV3Filterer) FilterFeeAmountEnabled(opts *bind.FilterOpts, fee []*big.Int, tickSpacing []*big.Int) (*UniswapV3FeeAmountEnabledIterator, error) { 465 466 var feeRule []interface{} 467 for _, feeItem := range fee { 468 feeRule = append(feeRule, feeItem) 469 } 470 var tickSpacingRule []interface{} 471 for _, tickSpacingItem := range tickSpacing { 472 tickSpacingRule = append(tickSpacingRule, tickSpacingItem) 473 } 474 475 logs, sub, err := _UniswapV3.contract.FilterLogs(opts, "FeeAmountEnabled", feeRule, tickSpacingRule) 476 if err != nil { 477 return nil, err 478 } 479 return &UniswapV3FeeAmountEnabledIterator{contract: _UniswapV3.contract, event: "FeeAmountEnabled", logs: logs, sub: sub}, nil 480 } 481 482 // WatchFeeAmountEnabled is a free log subscription operation binding the contract event 0xc66a3fdf07232cdd185febcc6579d408c241b47ae2f9907d84be655141eeaecc. 483 // 484 // Solidity: event FeeAmountEnabled(uint24 indexed fee, int24 indexed tickSpacing) 485 func (_UniswapV3 *UniswapV3Filterer) WatchFeeAmountEnabled(opts *bind.WatchOpts, sink chan<- *UniswapV3FeeAmountEnabled, fee []*big.Int, tickSpacing []*big.Int) (event.Subscription, error) { 486 487 var feeRule []interface{} 488 for _, feeItem := range fee { 489 feeRule = append(feeRule, feeItem) 490 } 491 var tickSpacingRule []interface{} 492 for _, tickSpacingItem := range tickSpacing { 493 tickSpacingRule = append(tickSpacingRule, tickSpacingItem) 494 } 495 496 logs, sub, err := _UniswapV3.contract.WatchLogs(opts, "FeeAmountEnabled", feeRule, tickSpacingRule) 497 if err != nil { 498 return nil, err 499 } 500 return event.NewSubscription(func(quit <-chan struct{}) error { 501 defer sub.Unsubscribe() 502 for { 503 select { 504 case log := <-logs: 505 // New log arrived, parse the event and forward to the user 506 event := new(UniswapV3FeeAmountEnabled) 507 if err := _UniswapV3.contract.UnpackLog(event, "FeeAmountEnabled", log); err != nil { 508 return err 509 } 510 event.Raw = log 511 512 select { 513 case sink <- event: 514 case err := <-sub.Err(): 515 return err 516 case <-quit: 517 return nil 518 } 519 case err := <-sub.Err(): 520 return err 521 case <-quit: 522 return nil 523 } 524 } 525 }), nil 526 } 527 528 // ParseFeeAmountEnabled is a log parse operation binding the contract event 0xc66a3fdf07232cdd185febcc6579d408c241b47ae2f9907d84be655141eeaecc. 529 // 530 // Solidity: event FeeAmountEnabled(uint24 indexed fee, int24 indexed tickSpacing) 531 func (_UniswapV3 *UniswapV3Filterer) ParseFeeAmountEnabled(log types.Log) (*UniswapV3FeeAmountEnabled, error) { 532 event := new(UniswapV3FeeAmountEnabled) 533 if err := _UniswapV3.contract.UnpackLog(event, "FeeAmountEnabled", log); err != nil { 534 return nil, err 535 } 536 event.Raw = log 537 return event, nil 538 } 539 540 // UniswapV3OwnerChangedIterator is returned from FilterOwnerChanged and is used to iterate over the raw logs and unpacked data for OwnerChanged events raised by the UniswapV3 contract. 541 type UniswapV3OwnerChangedIterator struct { 542 Event *UniswapV3OwnerChanged // Event containing the contract specifics and raw log 543 544 contract *bind.BoundContract // Generic contract to use for unpacking event data 545 event string // Event name to use for unpacking event data 546 547 logs chan types.Log // Log channel receiving the found contract events 548 sub ethereum.Subscription // Subscription for errors, completion and termination 549 done bool // Whether the subscription completed delivering logs 550 fail error // Occurred error to stop iteration 551 } 552 553 // Next advances the iterator to the subsequent event, returning whether there 554 // are any more events found. In case of a retrieval or parsing error, false is 555 // returned and Error() can be queried for the exact failure. 556 func (it *UniswapV3OwnerChangedIterator) Next() bool { 557 // If the iterator failed, stop iterating 558 if it.fail != nil { 559 return false 560 } 561 // If the iterator completed, deliver directly whatever's available 562 if it.done { 563 select { 564 case log := <-it.logs: 565 it.Event = new(UniswapV3OwnerChanged) 566 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 567 it.fail = err 568 return false 569 } 570 it.Event.Raw = log 571 return true 572 573 default: 574 return false 575 } 576 } 577 // Iterator still in progress, wait for either a data or an error event 578 select { 579 case log := <-it.logs: 580 it.Event = new(UniswapV3OwnerChanged) 581 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 582 it.fail = err 583 return false 584 } 585 it.Event.Raw = log 586 return true 587 588 case err := <-it.sub.Err(): 589 it.done = true 590 it.fail = err 591 return it.Next() 592 } 593 } 594 595 // Error returns any retrieval or parsing error occurred during filtering. 596 func (it *UniswapV3OwnerChangedIterator) Error() error { 597 return it.fail 598 } 599 600 // Close terminates the iteration process, releasing any pending underlying 601 // resources. 602 func (it *UniswapV3OwnerChangedIterator) Close() error { 603 it.sub.Unsubscribe() 604 return nil 605 } 606 607 // UniswapV3OwnerChanged represents a OwnerChanged event raised by the UniswapV3 contract. 608 type UniswapV3OwnerChanged struct { 609 OldOwner common.Address 610 NewOwner common.Address 611 Raw types.Log // Blockchain specific contextual infos 612 } 613 614 // FilterOwnerChanged is a free log retrieval operation binding the contract event 0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c. 615 // 616 // Solidity: event OwnerChanged(address indexed oldOwner, address indexed newOwner) 617 func (_UniswapV3 *UniswapV3Filterer) FilterOwnerChanged(opts *bind.FilterOpts, oldOwner []common.Address, newOwner []common.Address) (*UniswapV3OwnerChangedIterator, error) { 618 619 var oldOwnerRule []interface{} 620 for _, oldOwnerItem := range oldOwner { 621 oldOwnerRule = append(oldOwnerRule, oldOwnerItem) 622 } 623 var newOwnerRule []interface{} 624 for _, newOwnerItem := range newOwner { 625 newOwnerRule = append(newOwnerRule, newOwnerItem) 626 } 627 628 logs, sub, err := _UniswapV3.contract.FilterLogs(opts, "OwnerChanged", oldOwnerRule, newOwnerRule) 629 if err != nil { 630 return nil, err 631 } 632 return &UniswapV3OwnerChangedIterator{contract: _UniswapV3.contract, event: "OwnerChanged", logs: logs, sub: sub}, nil 633 } 634 635 // WatchOwnerChanged is a free log subscription operation binding the contract event 0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c. 636 // 637 // Solidity: event OwnerChanged(address indexed oldOwner, address indexed newOwner) 638 func (_UniswapV3 *UniswapV3Filterer) WatchOwnerChanged(opts *bind.WatchOpts, sink chan<- *UniswapV3OwnerChanged, oldOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { 639 640 var oldOwnerRule []interface{} 641 for _, oldOwnerItem := range oldOwner { 642 oldOwnerRule = append(oldOwnerRule, oldOwnerItem) 643 } 644 var newOwnerRule []interface{} 645 for _, newOwnerItem := range newOwner { 646 newOwnerRule = append(newOwnerRule, newOwnerItem) 647 } 648 649 logs, sub, err := _UniswapV3.contract.WatchLogs(opts, "OwnerChanged", oldOwnerRule, newOwnerRule) 650 if err != nil { 651 return nil, err 652 } 653 return event.NewSubscription(func(quit <-chan struct{}) error { 654 defer sub.Unsubscribe() 655 for { 656 select { 657 case log := <-logs: 658 // New log arrived, parse the event and forward to the user 659 event := new(UniswapV3OwnerChanged) 660 if err := _UniswapV3.contract.UnpackLog(event, "OwnerChanged", log); err != nil { 661 return err 662 } 663 event.Raw = log 664 665 select { 666 case sink <- event: 667 case err := <-sub.Err(): 668 return err 669 case <-quit: 670 return nil 671 } 672 case err := <-sub.Err(): 673 return err 674 case <-quit: 675 return nil 676 } 677 } 678 }), nil 679 } 680 681 // ParseOwnerChanged is a log parse operation binding the contract event 0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c. 682 // 683 // Solidity: event OwnerChanged(address indexed oldOwner, address indexed newOwner) 684 func (_UniswapV3 *UniswapV3Filterer) ParseOwnerChanged(log types.Log) (*UniswapV3OwnerChanged, error) { 685 event := new(UniswapV3OwnerChanged) 686 if err := _UniswapV3.contract.UnpackLog(event, "OwnerChanged", log); err != nil { 687 return nil, err 688 } 689 event.Raw = log 690 return event, nil 691 } 692 693 // UniswapV3PoolCreatedIterator is returned from FilterPoolCreated and is used to iterate over the raw logs and unpacked data for PoolCreated events raised by the UniswapV3 contract. 694 type UniswapV3PoolCreatedIterator struct { 695 Event *UniswapV3PoolCreated // Event containing the contract specifics and raw log 696 697 contract *bind.BoundContract // Generic contract to use for unpacking event data 698 event string // Event name to use for unpacking event data 699 700 logs chan types.Log // Log channel receiving the found contract events 701 sub ethereum.Subscription // Subscription for errors, completion and termination 702 done bool // Whether the subscription completed delivering logs 703 fail error // Occurred error to stop iteration 704 } 705 706 // Next advances the iterator to the subsequent event, returning whether there 707 // are any more events found. In case of a retrieval or parsing error, false is 708 // returned and Error() can be queried for the exact failure. 709 func (it *UniswapV3PoolCreatedIterator) Next() bool { 710 // If the iterator failed, stop iterating 711 if it.fail != nil { 712 return false 713 } 714 // If the iterator completed, deliver directly whatever's available 715 if it.done { 716 select { 717 case log := <-it.logs: 718 it.Event = new(UniswapV3PoolCreated) 719 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 720 it.fail = err 721 return false 722 } 723 it.Event.Raw = log 724 return true 725 726 default: 727 return false 728 } 729 } 730 // Iterator still in progress, wait for either a data or an error event 731 select { 732 case log := <-it.logs: 733 it.Event = new(UniswapV3PoolCreated) 734 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 735 it.fail = err 736 return false 737 } 738 it.Event.Raw = log 739 return true 740 741 case err := <-it.sub.Err(): 742 it.done = true 743 it.fail = err 744 return it.Next() 745 } 746 } 747 748 // Error returns any retrieval or parsing error occurred during filtering. 749 func (it *UniswapV3PoolCreatedIterator) Error() error { 750 return it.fail 751 } 752 753 // Close terminates the iteration process, releasing any pending underlying 754 // resources. 755 func (it *UniswapV3PoolCreatedIterator) Close() error { 756 it.sub.Unsubscribe() 757 return nil 758 } 759 760 // UniswapV3PoolCreated represents a PoolCreated event raised by the UniswapV3 contract. 761 type UniswapV3PoolCreated struct { 762 Token0 common.Address 763 Token1 common.Address 764 Fee *big.Int 765 TickSpacing *big.Int 766 Pool common.Address 767 Raw types.Log // Blockchain specific contextual infos 768 } 769 770 // FilterPoolCreated is a free log retrieval operation binding the contract event 0x783cca1c0412dd0d695e784568c96da2e9c22ff989357a2e8b1d9b2b4e6b7118. 771 // 772 // Solidity: event PoolCreated(address indexed token0, address indexed token1, uint24 indexed fee, int24 tickSpacing, address pool) 773 func (_UniswapV3 *UniswapV3Filterer) FilterPoolCreated(opts *bind.FilterOpts, token0 []common.Address, token1 []common.Address, fee []*big.Int) (*UniswapV3PoolCreatedIterator, error) { 774 775 var token0Rule []interface{} 776 for _, token0Item := range token0 { 777 token0Rule = append(token0Rule, token0Item) 778 } 779 var token1Rule []interface{} 780 for _, token1Item := range token1 { 781 token1Rule = append(token1Rule, token1Item) 782 } 783 var feeRule []interface{} 784 for _, feeItem := range fee { 785 feeRule = append(feeRule, feeItem) 786 } 787 788 logs, sub, err := _UniswapV3.contract.FilterLogs(opts, "PoolCreated", token0Rule, token1Rule, feeRule) 789 if err != nil { 790 return nil, err 791 } 792 return &UniswapV3PoolCreatedIterator{contract: _UniswapV3.contract, event: "PoolCreated", logs: logs, sub: sub}, nil 793 } 794 795 // WatchPoolCreated is a free log subscription operation binding the contract event 0x783cca1c0412dd0d695e784568c96da2e9c22ff989357a2e8b1d9b2b4e6b7118. 796 // 797 // Solidity: event PoolCreated(address indexed token0, address indexed token1, uint24 indexed fee, int24 tickSpacing, address pool) 798 func (_UniswapV3 *UniswapV3Filterer) WatchPoolCreated(opts *bind.WatchOpts, sink chan<- *UniswapV3PoolCreated, token0 []common.Address, token1 []common.Address, fee []*big.Int) (event.Subscription, error) { 799 800 var token0Rule []interface{} 801 for _, token0Item := range token0 { 802 token0Rule = append(token0Rule, token0Item) 803 } 804 var token1Rule []interface{} 805 for _, token1Item := range token1 { 806 token1Rule = append(token1Rule, token1Item) 807 } 808 var feeRule []interface{} 809 for _, feeItem := range fee { 810 feeRule = append(feeRule, feeItem) 811 } 812 813 logs, sub, err := _UniswapV3.contract.WatchLogs(opts, "PoolCreated", token0Rule, token1Rule, feeRule) 814 if err != nil { 815 return nil, err 816 } 817 return event.NewSubscription(func(quit <-chan struct{}) error { 818 defer sub.Unsubscribe() 819 for { 820 select { 821 case log := <-logs: 822 // New log arrived, parse the event and forward to the user 823 event := new(UniswapV3PoolCreated) 824 if err := _UniswapV3.contract.UnpackLog(event, "PoolCreated", log); err != nil { 825 return err 826 } 827 event.Raw = log 828 829 select { 830 case sink <- event: 831 case err := <-sub.Err(): 832 return err 833 case <-quit: 834 return nil 835 } 836 case err := <-sub.Err(): 837 return err 838 case <-quit: 839 return nil 840 } 841 } 842 }), nil 843 } 844 845 // ParsePoolCreated is a log parse operation binding the contract event 0x783cca1c0412dd0d695e784568c96da2e9c22ff989357a2e8b1d9b2b4e6b7118. 846 // 847 // Solidity: event PoolCreated(address indexed token0, address indexed token1, uint24 indexed fee, int24 tickSpacing, address pool) 848 func (_UniswapV3 *UniswapV3Filterer) ParsePoolCreated(log types.Log) (*UniswapV3PoolCreated, error) { 849 event := new(UniswapV3PoolCreated) 850 if err := _UniswapV3.contract.UnpackLog(event, "PoolCreated", log); err != nil { 851 return nil, err 852 } 853 event.Raw = log 854 return event, nil 855 }