// Code generated - DO NOT EDIT. // This file is a generated binding and any manual changes will be lost. package uniswapv3 import ( "errors" "math/big" "strings" ethereum "github.com/ethereum/go-ethereum" "github.com/ethereum/go-ethereum/accounts/abi" "github.com/ethereum/go-ethereum/accounts/abi/bind" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/event" ) // Reference imports to suppress errors if they are not otherwise used. var ( _ = errors.New _ = big.NewInt _ = strings.NewReader _ = ethereum.NotFound _ = bind.Bind _ = common.Big1 _ = types.BloomLookup _ = event.NewSubscription _ = abi.ConvertType ) // Uniswapv3MetaData contains all meta data concerning the Uniswapv3 contract. var Uniswapv3MetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"name\":\"Collect\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"name\":\"CollectProtocol\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"paid0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"paid1\",\"type\":\"uint256\"}],\"name\":\"Flash\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"observationCardinalityNextOld\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"observationCardinalityNextNew\",\"type\":\"uint16\"}],\"name\":\"IncreaseObservationCardinalityNext\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"}],\"name\":\"Initialize\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol0Old\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol1Old\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol0New\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol1New\",\"type\":\"uint8\"}],\"name\":\"SetFeeProtocol\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"amount0\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"amount1\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"}],\"name\":\"Swap\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"}],\"name\":\"burn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"amount0Requested\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1Requested\",\"type\":\"uint128\"}],\"name\":\"collect\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"amount0Requested\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1Requested\",\"type\":\"uint128\"}],\"name\":\"collectProtocol\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fee\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"\",\"type\":\"uint24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeGrowthGlobal0X128\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeGrowthGlobal1X128\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"flash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"observationCardinalityNext\",\"type\":\"uint16\"}],\"name\":\"increaseObservationCardinalityNext\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"liquidity\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxLiquidityPerTick\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"observations\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"blockTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"int56\",\"name\":\"tickCumulative\",\"type\":\"int56\"},{\"internalType\":\"uint160\",\"name\":\"secondsPerLiquidityCumulativeX128\",\"type\":\"uint160\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32[]\",\"name\":\"secondsAgos\",\"type\":\"uint32[]\"}],\"name\":\"observe\",\"outputs\":[{\"internalType\":\"int56[]\",\"name\":\"tickCumulatives\",\"type\":\"int56[]\"},{\"internalType\":\"uint160[]\",\"name\":\"secondsPerLiquidityCumulativeX128s\",\"type\":\"uint160[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"positions\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"_liquidity\",\"type\":\"uint128\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside0LastX128\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside1LastX128\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"tokensOwed0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"tokensOwed1\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"protocolFees\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"token0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"token1\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"feeProtocol0\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"feeProtocol1\",\"type\":\"uint8\"}],\"name\":\"setFeeProtocol\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slot0\",\"outputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"},{\"internalType\":\"uint16\",\"name\":\"observationIndex\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"observationCardinality\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"observationCardinalityNext\",\"type\":\"uint16\"},{\"internalType\":\"uint8\",\"name\":\"feeProtocol\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"unlocked\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"}],\"name\":\"snapshotCumulativesInside\",\"outputs\":[{\"internalType\":\"int56\",\"name\":\"tickCumulativeInside\",\"type\":\"int56\"},{\"internalType\":\"uint160\",\"name\":\"secondsPerLiquidityInsideX128\",\"type\":\"uint160\"},{\"internalType\":\"uint32\",\"name\":\"secondsInside\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"zeroForOne\",\"type\":\"bool\"},{\"internalType\":\"int256\",\"name\":\"amountSpecified\",\"type\":\"int256\"},{\"internalType\":\"uint160\",\"name\":\"sqrtPriceLimitX96\",\"type\":\"uint160\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"swap\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"amount0\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"amount1\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int16\",\"name\":\"wordPosition\",\"type\":\"int16\"}],\"name\":\"tickBitmap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tickSpacing\",\"outputs\":[{\"internalType\":\"int24\",\"name\":\"\",\"type\":\"int24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"}],\"name\":\"ticks\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"liquidityGross\",\"type\":\"uint128\"},{\"internalType\":\"int128\",\"name\":\"liquidityNet\",\"type\":\"int128\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthOutside0X128\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthOutside1X128\",\"type\":\"uint256\"},{\"internalType\":\"int56\",\"name\":\"tickCumulativeOutside\",\"type\":\"int56\"},{\"internalType\":\"uint160\",\"name\":\"secondsPerLiquidityOutsideX128\",\"type\":\"uint160\"},{\"internalType\":\"uint32\",\"name\":\"secondsOutside\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token0\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", } // Uniswapv3ABI is the input ABI used to generate the binding from. // Deprecated: Use Uniswapv3MetaData.ABI instead. var Uniswapv3ABI = Uniswapv3MetaData.ABI // Uniswapv3 is an auto generated Go binding around an Ethereum contract. type Uniswapv3 struct { Uniswapv3Caller // Read-only binding to the contract Uniswapv3Transactor // Write-only binding to the contract Uniswapv3Filterer // Log filterer for contract events } // Uniswapv3Caller is an auto generated read-only Go binding around an Ethereum contract. type Uniswapv3Caller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // Uniswapv3Transactor is an auto generated write-only Go binding around an Ethereum contract. type Uniswapv3Transactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // Uniswapv3Filterer is an auto generated log filtering Go binding around an Ethereum contract events. type Uniswapv3Filterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // Uniswapv3Session is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type Uniswapv3Session struct { Contract *Uniswapv3 // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // Uniswapv3CallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type Uniswapv3CallerSession struct { Contract *Uniswapv3Caller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // Uniswapv3TransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type Uniswapv3TransactorSession struct { Contract *Uniswapv3Transactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // Uniswapv3Raw is an auto generated low-level Go binding around an Ethereum contract. type Uniswapv3Raw struct { Contract *Uniswapv3 // Generic contract binding to access the raw methods on } // Uniswapv3CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type Uniswapv3CallerRaw struct { Contract *Uniswapv3Caller // Generic read-only contract binding to access the raw methods on } // Uniswapv3TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type Uniswapv3TransactorRaw struct { Contract *Uniswapv3Transactor // Generic write-only contract binding to access the raw methods on } // NewUniswapv3 creates a new instance of Uniswapv3, bound to a specific deployed contract. func NewUniswapv3(address common.Address, backend bind.ContractBackend) (*Uniswapv3, error) { contract, err := bindUniswapv3(address, backend, backend, backend) if err != nil { return nil, err } return &Uniswapv3{Uniswapv3Caller: Uniswapv3Caller{contract: contract}, Uniswapv3Transactor: Uniswapv3Transactor{contract: contract}, Uniswapv3Filterer: Uniswapv3Filterer{contract: contract}}, nil } // NewUniswapv3Caller creates a new read-only instance of Uniswapv3, bound to a specific deployed contract. func NewUniswapv3Caller(address common.Address, caller bind.ContractCaller) (*Uniswapv3Caller, error) { contract, err := bindUniswapv3(address, caller, nil, nil) if err != nil { return nil, err } return &Uniswapv3Caller{contract: contract}, nil } // NewUniswapv3Transactor creates a new write-only instance of Uniswapv3, bound to a specific deployed contract. func NewUniswapv3Transactor(address common.Address, transactor bind.ContractTransactor) (*Uniswapv3Transactor, error) { contract, err := bindUniswapv3(address, nil, transactor, nil) if err != nil { return nil, err } return &Uniswapv3Transactor{contract: contract}, nil } // NewUniswapv3Filterer creates a new log filterer instance of Uniswapv3, bound to a specific deployed contract. func NewUniswapv3Filterer(address common.Address, filterer bind.ContractFilterer) (*Uniswapv3Filterer, error) { contract, err := bindUniswapv3(address, nil, nil, filterer) if err != nil { return nil, err } return &Uniswapv3Filterer{contract: contract}, nil } // bindUniswapv3 binds a generic wrapper to an already deployed contract. func bindUniswapv3(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := Uniswapv3MetaData.GetAbi() if err != nil { return nil, err } return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Uniswapv3 *Uniswapv3Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Uniswapv3.Contract.Uniswapv3Caller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Uniswapv3 *Uniswapv3Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Uniswapv3.Contract.Uniswapv3Transactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Uniswapv3 *Uniswapv3Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Uniswapv3.Contract.Uniswapv3Transactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Uniswapv3 *Uniswapv3CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { return _Uniswapv3.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Uniswapv3 *Uniswapv3TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Uniswapv3.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Uniswapv3 *Uniswapv3TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Uniswapv3.Contract.contract.Transact(opts, method, params...) } // Factory is a free data retrieval call binding the contract method 0xc45a0155. // // Solidity: function factory() view returns(address) func (_Uniswapv3 *Uniswapv3Caller) Factory(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _Uniswapv3.contract.Call(opts, &out, "factory") if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // Factory is a free data retrieval call binding the contract method 0xc45a0155. // // Solidity: function factory() view returns(address) func (_Uniswapv3 *Uniswapv3Session) Factory() (common.Address, error) { return _Uniswapv3.Contract.Factory(&_Uniswapv3.CallOpts) } // Factory is a free data retrieval call binding the contract method 0xc45a0155. // // Solidity: function factory() view returns(address) func (_Uniswapv3 *Uniswapv3CallerSession) Factory() (common.Address, error) { return _Uniswapv3.Contract.Factory(&_Uniswapv3.CallOpts) } // Fee is a free data retrieval call binding the contract method 0xddca3f43. // // Solidity: function fee() view returns(uint24) func (_Uniswapv3 *Uniswapv3Caller) Fee(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _Uniswapv3.contract.Call(opts, &out, "fee") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // Fee is a free data retrieval call binding the contract method 0xddca3f43. // // Solidity: function fee() view returns(uint24) func (_Uniswapv3 *Uniswapv3Session) Fee() (*big.Int, error) { return _Uniswapv3.Contract.Fee(&_Uniswapv3.CallOpts) } // Fee is a free data retrieval call binding the contract method 0xddca3f43. // // Solidity: function fee() view returns(uint24) func (_Uniswapv3 *Uniswapv3CallerSession) Fee() (*big.Int, error) { return _Uniswapv3.Contract.Fee(&_Uniswapv3.CallOpts) } // FeeGrowthGlobal0X128 is a free data retrieval call binding the contract method 0xf3058399. // // Solidity: function feeGrowthGlobal0X128() view returns(uint256) func (_Uniswapv3 *Uniswapv3Caller) FeeGrowthGlobal0X128(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _Uniswapv3.contract.Call(opts, &out, "feeGrowthGlobal0X128") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // FeeGrowthGlobal0X128 is a free data retrieval call binding the contract method 0xf3058399. // // Solidity: function feeGrowthGlobal0X128() view returns(uint256) func (_Uniswapv3 *Uniswapv3Session) FeeGrowthGlobal0X128() (*big.Int, error) { return _Uniswapv3.Contract.FeeGrowthGlobal0X128(&_Uniswapv3.CallOpts) } // FeeGrowthGlobal0X128 is a free data retrieval call binding the contract method 0xf3058399. // // Solidity: function feeGrowthGlobal0X128() view returns(uint256) func (_Uniswapv3 *Uniswapv3CallerSession) FeeGrowthGlobal0X128() (*big.Int, error) { return _Uniswapv3.Contract.FeeGrowthGlobal0X128(&_Uniswapv3.CallOpts) } // FeeGrowthGlobal1X128 is a free data retrieval call binding the contract method 0x46141319. // // Solidity: function feeGrowthGlobal1X128() view returns(uint256) func (_Uniswapv3 *Uniswapv3Caller) FeeGrowthGlobal1X128(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _Uniswapv3.contract.Call(opts, &out, "feeGrowthGlobal1X128") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // FeeGrowthGlobal1X128 is a free data retrieval call binding the contract method 0x46141319. // // Solidity: function feeGrowthGlobal1X128() view returns(uint256) func (_Uniswapv3 *Uniswapv3Session) FeeGrowthGlobal1X128() (*big.Int, error) { return _Uniswapv3.Contract.FeeGrowthGlobal1X128(&_Uniswapv3.CallOpts) } // FeeGrowthGlobal1X128 is a free data retrieval call binding the contract method 0x46141319. // // Solidity: function feeGrowthGlobal1X128() view returns(uint256) func (_Uniswapv3 *Uniswapv3CallerSession) FeeGrowthGlobal1X128() (*big.Int, error) { return _Uniswapv3.Contract.FeeGrowthGlobal1X128(&_Uniswapv3.CallOpts) } // Liquidity is a free data retrieval call binding the contract method 0x1a686502. // // Solidity: function liquidity() view returns(uint128) func (_Uniswapv3 *Uniswapv3Caller) Liquidity(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _Uniswapv3.contract.Call(opts, &out, "liquidity") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // Liquidity is a free data retrieval call binding the contract method 0x1a686502. // // Solidity: function liquidity() view returns(uint128) func (_Uniswapv3 *Uniswapv3Session) Liquidity() (*big.Int, error) { return _Uniswapv3.Contract.Liquidity(&_Uniswapv3.CallOpts) } // Liquidity is a free data retrieval call binding the contract method 0x1a686502. // // Solidity: function liquidity() view returns(uint128) func (_Uniswapv3 *Uniswapv3CallerSession) Liquidity() (*big.Int, error) { return _Uniswapv3.Contract.Liquidity(&_Uniswapv3.CallOpts) } // MaxLiquidityPerTick is a free data retrieval call binding the contract method 0x70cf754a. // // Solidity: function maxLiquidityPerTick() view returns(uint128) func (_Uniswapv3 *Uniswapv3Caller) MaxLiquidityPerTick(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _Uniswapv3.contract.Call(opts, &out, "maxLiquidityPerTick") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // MaxLiquidityPerTick is a free data retrieval call binding the contract method 0x70cf754a. // // Solidity: function maxLiquidityPerTick() view returns(uint128) func (_Uniswapv3 *Uniswapv3Session) MaxLiquidityPerTick() (*big.Int, error) { return _Uniswapv3.Contract.MaxLiquidityPerTick(&_Uniswapv3.CallOpts) } // MaxLiquidityPerTick is a free data retrieval call binding the contract method 0x70cf754a. // // Solidity: function maxLiquidityPerTick() view returns(uint128) func (_Uniswapv3 *Uniswapv3CallerSession) MaxLiquidityPerTick() (*big.Int, error) { return _Uniswapv3.Contract.MaxLiquidityPerTick(&_Uniswapv3.CallOpts) } // Observations is a free data retrieval call binding the contract method 0x252c09d7. // // Solidity: function observations(uint256 index) view returns(uint32 blockTimestamp, int56 tickCumulative, uint160 secondsPerLiquidityCumulativeX128, bool initialized) func (_Uniswapv3 *Uniswapv3Caller) Observations(opts *bind.CallOpts, index *big.Int) (struct { BlockTimestamp uint32 TickCumulative *big.Int SecondsPerLiquidityCumulativeX128 *big.Int Initialized bool }, error) { var out []interface{} err := _Uniswapv3.contract.Call(opts, &out, "observations", index) outstruct := new(struct { BlockTimestamp uint32 TickCumulative *big.Int SecondsPerLiquidityCumulativeX128 *big.Int Initialized bool }) if err != nil { return *outstruct, err } outstruct.BlockTimestamp = *abi.ConvertType(out[0], new(uint32)).(*uint32) outstruct.TickCumulative = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) outstruct.SecondsPerLiquidityCumulativeX128 = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int) outstruct.Initialized = *abi.ConvertType(out[3], new(bool)).(*bool) return *outstruct, err } // Observations is a free data retrieval call binding the contract method 0x252c09d7. // // Solidity: function observations(uint256 index) view returns(uint32 blockTimestamp, int56 tickCumulative, uint160 secondsPerLiquidityCumulativeX128, bool initialized) func (_Uniswapv3 *Uniswapv3Session) Observations(index *big.Int) (struct { BlockTimestamp uint32 TickCumulative *big.Int SecondsPerLiquidityCumulativeX128 *big.Int Initialized bool }, error) { return _Uniswapv3.Contract.Observations(&_Uniswapv3.CallOpts, index) } // Observations is a free data retrieval call binding the contract method 0x252c09d7. // // Solidity: function observations(uint256 index) view returns(uint32 blockTimestamp, int56 tickCumulative, uint160 secondsPerLiquidityCumulativeX128, bool initialized) func (_Uniswapv3 *Uniswapv3CallerSession) Observations(index *big.Int) (struct { BlockTimestamp uint32 TickCumulative *big.Int SecondsPerLiquidityCumulativeX128 *big.Int Initialized bool }, error) { return _Uniswapv3.Contract.Observations(&_Uniswapv3.CallOpts, index) } // Observe is a free data retrieval call binding the contract method 0x883bdbfd. // // Solidity: function observe(uint32[] secondsAgos) view returns(int56[] tickCumulatives, uint160[] secondsPerLiquidityCumulativeX128s) func (_Uniswapv3 *Uniswapv3Caller) Observe(opts *bind.CallOpts, secondsAgos []uint32) (struct { TickCumulatives []*big.Int SecondsPerLiquidityCumulativeX128s []*big.Int }, error) { var out []interface{} err := _Uniswapv3.contract.Call(opts, &out, "observe", secondsAgos) outstruct := new(struct { TickCumulatives []*big.Int SecondsPerLiquidityCumulativeX128s []*big.Int }) if err != nil { return *outstruct, err } outstruct.TickCumulatives = *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) outstruct.SecondsPerLiquidityCumulativeX128s = *abi.ConvertType(out[1], new([]*big.Int)).(*[]*big.Int) return *outstruct, err } // Observe is a free data retrieval call binding the contract method 0x883bdbfd. // // Solidity: function observe(uint32[] secondsAgos) view returns(int56[] tickCumulatives, uint160[] secondsPerLiquidityCumulativeX128s) func (_Uniswapv3 *Uniswapv3Session) Observe(secondsAgos []uint32) (struct { TickCumulatives []*big.Int SecondsPerLiquidityCumulativeX128s []*big.Int }, error) { return _Uniswapv3.Contract.Observe(&_Uniswapv3.CallOpts, secondsAgos) } // Observe is a free data retrieval call binding the contract method 0x883bdbfd. // // Solidity: function observe(uint32[] secondsAgos) view returns(int56[] tickCumulatives, uint160[] secondsPerLiquidityCumulativeX128s) func (_Uniswapv3 *Uniswapv3CallerSession) Observe(secondsAgos []uint32) (struct { TickCumulatives []*big.Int SecondsPerLiquidityCumulativeX128s []*big.Int }, error) { return _Uniswapv3.Contract.Observe(&_Uniswapv3.CallOpts, secondsAgos) } // Positions is a free data retrieval call binding the contract method 0x514ea4bf. // // Solidity: function positions(bytes32 key) view returns(uint128 _liquidity, uint256 feeGrowthInside0LastX128, uint256 feeGrowthInside1LastX128, uint128 tokensOwed0, uint128 tokensOwed1) func (_Uniswapv3 *Uniswapv3Caller) Positions(opts *bind.CallOpts, key [32]byte) (struct { Liquidity *big.Int FeeGrowthInside0LastX128 *big.Int FeeGrowthInside1LastX128 *big.Int TokensOwed0 *big.Int TokensOwed1 *big.Int }, error) { var out []interface{} err := _Uniswapv3.contract.Call(opts, &out, "positions", key) outstruct := new(struct { Liquidity *big.Int FeeGrowthInside0LastX128 *big.Int FeeGrowthInside1LastX128 *big.Int TokensOwed0 *big.Int TokensOwed1 *big.Int }) if err != nil { return *outstruct, err } outstruct.Liquidity = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) outstruct.FeeGrowthInside0LastX128 = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) outstruct.FeeGrowthInside1LastX128 = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int) outstruct.TokensOwed0 = *abi.ConvertType(out[3], new(*big.Int)).(**big.Int) outstruct.TokensOwed1 = *abi.ConvertType(out[4], new(*big.Int)).(**big.Int) return *outstruct, err } // Positions is a free data retrieval call binding the contract method 0x514ea4bf. // // Solidity: function positions(bytes32 key) view returns(uint128 _liquidity, uint256 feeGrowthInside0LastX128, uint256 feeGrowthInside1LastX128, uint128 tokensOwed0, uint128 tokensOwed1) func (_Uniswapv3 *Uniswapv3Session) Positions(key [32]byte) (struct { Liquidity *big.Int FeeGrowthInside0LastX128 *big.Int FeeGrowthInside1LastX128 *big.Int TokensOwed0 *big.Int TokensOwed1 *big.Int }, error) { return _Uniswapv3.Contract.Positions(&_Uniswapv3.CallOpts, key) } // Positions is a free data retrieval call binding the contract method 0x514ea4bf. // // Solidity: function positions(bytes32 key) view returns(uint128 _liquidity, uint256 feeGrowthInside0LastX128, uint256 feeGrowthInside1LastX128, uint128 tokensOwed0, uint128 tokensOwed1) func (_Uniswapv3 *Uniswapv3CallerSession) Positions(key [32]byte) (struct { Liquidity *big.Int FeeGrowthInside0LastX128 *big.Int FeeGrowthInside1LastX128 *big.Int TokensOwed0 *big.Int TokensOwed1 *big.Int }, error) { return _Uniswapv3.Contract.Positions(&_Uniswapv3.CallOpts, key) } // ProtocolFees is a free data retrieval call binding the contract method 0x1ad8b03b. // // Solidity: function protocolFees() view returns(uint128 token0, uint128 token1) func (_Uniswapv3 *Uniswapv3Caller) ProtocolFees(opts *bind.CallOpts) (struct { Token0 *big.Int Token1 *big.Int }, error) { var out []interface{} err := _Uniswapv3.contract.Call(opts, &out, "protocolFees") outstruct := new(struct { Token0 *big.Int Token1 *big.Int }) if err != nil { return *outstruct, err } outstruct.Token0 = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) outstruct.Token1 = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) return *outstruct, err } // ProtocolFees is a free data retrieval call binding the contract method 0x1ad8b03b. // // Solidity: function protocolFees() view returns(uint128 token0, uint128 token1) func (_Uniswapv3 *Uniswapv3Session) ProtocolFees() (struct { Token0 *big.Int Token1 *big.Int }, error) { return _Uniswapv3.Contract.ProtocolFees(&_Uniswapv3.CallOpts) } // ProtocolFees is a free data retrieval call binding the contract method 0x1ad8b03b. // // Solidity: function protocolFees() view returns(uint128 token0, uint128 token1) func (_Uniswapv3 *Uniswapv3CallerSession) ProtocolFees() (struct { Token0 *big.Int Token1 *big.Int }, error) { return _Uniswapv3.Contract.ProtocolFees(&_Uniswapv3.CallOpts) } // Slot0 is a free data retrieval call binding the contract method 0x3850c7bd. // // Solidity: function slot0() view returns(uint160 sqrtPriceX96, int24 tick, uint16 observationIndex, uint16 observationCardinality, uint16 observationCardinalityNext, uint8 feeProtocol, bool unlocked) func (_Uniswapv3 *Uniswapv3Caller) Slot0(opts *bind.CallOpts) (struct { SqrtPriceX96 *big.Int Tick *big.Int ObservationIndex uint16 ObservationCardinality uint16 ObservationCardinalityNext uint16 FeeProtocol uint8 Unlocked bool }, error) { var out []interface{} err := _Uniswapv3.contract.Call(opts, &out, "slot0") outstruct := new(struct { SqrtPriceX96 *big.Int Tick *big.Int ObservationIndex uint16 ObservationCardinality uint16 ObservationCardinalityNext uint16 FeeProtocol uint8 Unlocked bool }) if err != nil { return *outstruct, err } outstruct.SqrtPriceX96 = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) outstruct.Tick = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) outstruct.ObservationIndex = *abi.ConvertType(out[2], new(uint16)).(*uint16) outstruct.ObservationCardinality = *abi.ConvertType(out[3], new(uint16)).(*uint16) outstruct.ObservationCardinalityNext = *abi.ConvertType(out[4], new(uint16)).(*uint16) outstruct.FeeProtocol = *abi.ConvertType(out[5], new(uint8)).(*uint8) outstruct.Unlocked = *abi.ConvertType(out[6], new(bool)).(*bool) return *outstruct, err } // Slot0 is a free data retrieval call binding the contract method 0x3850c7bd. // // Solidity: function slot0() view returns(uint160 sqrtPriceX96, int24 tick, uint16 observationIndex, uint16 observationCardinality, uint16 observationCardinalityNext, uint8 feeProtocol, bool unlocked) func (_Uniswapv3 *Uniswapv3Session) Slot0() (struct { SqrtPriceX96 *big.Int Tick *big.Int ObservationIndex uint16 ObservationCardinality uint16 ObservationCardinalityNext uint16 FeeProtocol uint8 Unlocked bool }, error) { return _Uniswapv3.Contract.Slot0(&_Uniswapv3.CallOpts) } // Slot0 is a free data retrieval call binding the contract method 0x3850c7bd. // // Solidity: function slot0() view returns(uint160 sqrtPriceX96, int24 tick, uint16 observationIndex, uint16 observationCardinality, uint16 observationCardinalityNext, uint8 feeProtocol, bool unlocked) func (_Uniswapv3 *Uniswapv3CallerSession) Slot0() (struct { SqrtPriceX96 *big.Int Tick *big.Int ObservationIndex uint16 ObservationCardinality uint16 ObservationCardinalityNext uint16 FeeProtocol uint8 Unlocked bool }, error) { return _Uniswapv3.Contract.Slot0(&_Uniswapv3.CallOpts) } // SnapshotCumulativesInside is a free data retrieval call binding the contract method 0xa38807f2. // // Solidity: function snapshotCumulativesInside(int24 tickLower, int24 tickUpper) view returns(int56 tickCumulativeInside, uint160 secondsPerLiquidityInsideX128, uint32 secondsInside) func (_Uniswapv3 *Uniswapv3Caller) SnapshotCumulativesInside(opts *bind.CallOpts, tickLower *big.Int, tickUpper *big.Int) (struct { TickCumulativeInside *big.Int SecondsPerLiquidityInsideX128 *big.Int SecondsInside uint32 }, error) { var out []interface{} err := _Uniswapv3.contract.Call(opts, &out, "snapshotCumulativesInside", tickLower, tickUpper) outstruct := new(struct { TickCumulativeInside *big.Int SecondsPerLiquidityInsideX128 *big.Int SecondsInside uint32 }) if err != nil { return *outstruct, err } outstruct.TickCumulativeInside = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) outstruct.SecondsPerLiquidityInsideX128 = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) outstruct.SecondsInside = *abi.ConvertType(out[2], new(uint32)).(*uint32) return *outstruct, err } // SnapshotCumulativesInside is a free data retrieval call binding the contract method 0xa38807f2. // // Solidity: function snapshotCumulativesInside(int24 tickLower, int24 tickUpper) view returns(int56 tickCumulativeInside, uint160 secondsPerLiquidityInsideX128, uint32 secondsInside) func (_Uniswapv3 *Uniswapv3Session) SnapshotCumulativesInside(tickLower *big.Int, tickUpper *big.Int) (struct { TickCumulativeInside *big.Int SecondsPerLiquidityInsideX128 *big.Int SecondsInside uint32 }, error) { return _Uniswapv3.Contract.SnapshotCumulativesInside(&_Uniswapv3.CallOpts, tickLower, tickUpper) } // SnapshotCumulativesInside is a free data retrieval call binding the contract method 0xa38807f2. // // Solidity: function snapshotCumulativesInside(int24 tickLower, int24 tickUpper) view returns(int56 tickCumulativeInside, uint160 secondsPerLiquidityInsideX128, uint32 secondsInside) func (_Uniswapv3 *Uniswapv3CallerSession) SnapshotCumulativesInside(tickLower *big.Int, tickUpper *big.Int) (struct { TickCumulativeInside *big.Int SecondsPerLiquidityInsideX128 *big.Int SecondsInside uint32 }, error) { return _Uniswapv3.Contract.SnapshotCumulativesInside(&_Uniswapv3.CallOpts, tickLower, tickUpper) } // TickBitmap is a free data retrieval call binding the contract method 0x5339c296. // // Solidity: function tickBitmap(int16 wordPosition) view returns(uint256) func (_Uniswapv3 *Uniswapv3Caller) TickBitmap(opts *bind.CallOpts, wordPosition int16) (*big.Int, error) { var out []interface{} err := _Uniswapv3.contract.Call(opts, &out, "tickBitmap", wordPosition) if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // TickBitmap is a free data retrieval call binding the contract method 0x5339c296. // // Solidity: function tickBitmap(int16 wordPosition) view returns(uint256) func (_Uniswapv3 *Uniswapv3Session) TickBitmap(wordPosition int16) (*big.Int, error) { return _Uniswapv3.Contract.TickBitmap(&_Uniswapv3.CallOpts, wordPosition) } // TickBitmap is a free data retrieval call binding the contract method 0x5339c296. // // Solidity: function tickBitmap(int16 wordPosition) view returns(uint256) func (_Uniswapv3 *Uniswapv3CallerSession) TickBitmap(wordPosition int16) (*big.Int, error) { return _Uniswapv3.Contract.TickBitmap(&_Uniswapv3.CallOpts, wordPosition) } // TickSpacing is a free data retrieval call binding the contract method 0xd0c93a7c. // // Solidity: function tickSpacing() view returns(int24) func (_Uniswapv3 *Uniswapv3Caller) TickSpacing(opts *bind.CallOpts) (*big.Int, error) { var out []interface{} err := _Uniswapv3.contract.Call(opts, &out, "tickSpacing") if err != nil { return *new(*big.Int), err } out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) return out0, err } // TickSpacing is a free data retrieval call binding the contract method 0xd0c93a7c. // // Solidity: function tickSpacing() view returns(int24) func (_Uniswapv3 *Uniswapv3Session) TickSpacing() (*big.Int, error) { return _Uniswapv3.Contract.TickSpacing(&_Uniswapv3.CallOpts) } // TickSpacing is a free data retrieval call binding the contract method 0xd0c93a7c. // // Solidity: function tickSpacing() view returns(int24) func (_Uniswapv3 *Uniswapv3CallerSession) TickSpacing() (*big.Int, error) { return _Uniswapv3.Contract.TickSpacing(&_Uniswapv3.CallOpts) } // Ticks is a free data retrieval call binding the contract method 0xf30dba93. // // Solidity: function ticks(int24 tick) view returns(uint128 liquidityGross, int128 liquidityNet, uint256 feeGrowthOutside0X128, uint256 feeGrowthOutside1X128, int56 tickCumulativeOutside, uint160 secondsPerLiquidityOutsideX128, uint32 secondsOutside, bool initialized) func (_Uniswapv3 *Uniswapv3Caller) Ticks(opts *bind.CallOpts, tick *big.Int) (struct { LiquidityGross *big.Int LiquidityNet *big.Int FeeGrowthOutside0X128 *big.Int FeeGrowthOutside1X128 *big.Int TickCumulativeOutside *big.Int SecondsPerLiquidityOutsideX128 *big.Int SecondsOutside uint32 Initialized bool }, error) { var out []interface{} err := _Uniswapv3.contract.Call(opts, &out, "ticks", tick) outstruct := new(struct { LiquidityGross *big.Int LiquidityNet *big.Int FeeGrowthOutside0X128 *big.Int FeeGrowthOutside1X128 *big.Int TickCumulativeOutside *big.Int SecondsPerLiquidityOutsideX128 *big.Int SecondsOutside uint32 Initialized bool }) if err != nil { return *outstruct, err } outstruct.LiquidityGross = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) outstruct.LiquidityNet = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) outstruct.FeeGrowthOutside0X128 = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int) outstruct.FeeGrowthOutside1X128 = *abi.ConvertType(out[3], new(*big.Int)).(**big.Int) outstruct.TickCumulativeOutside = *abi.ConvertType(out[4], new(*big.Int)).(**big.Int) outstruct.SecondsPerLiquidityOutsideX128 = *abi.ConvertType(out[5], new(*big.Int)).(**big.Int) outstruct.SecondsOutside = *abi.ConvertType(out[6], new(uint32)).(*uint32) outstruct.Initialized = *abi.ConvertType(out[7], new(bool)).(*bool) return *outstruct, err } // Ticks is a free data retrieval call binding the contract method 0xf30dba93. // // Solidity: function ticks(int24 tick) view returns(uint128 liquidityGross, int128 liquidityNet, uint256 feeGrowthOutside0X128, uint256 feeGrowthOutside1X128, int56 tickCumulativeOutside, uint160 secondsPerLiquidityOutsideX128, uint32 secondsOutside, bool initialized) func (_Uniswapv3 *Uniswapv3Session) Ticks(tick *big.Int) (struct { LiquidityGross *big.Int LiquidityNet *big.Int FeeGrowthOutside0X128 *big.Int FeeGrowthOutside1X128 *big.Int TickCumulativeOutside *big.Int SecondsPerLiquidityOutsideX128 *big.Int SecondsOutside uint32 Initialized bool }, error) { return _Uniswapv3.Contract.Ticks(&_Uniswapv3.CallOpts, tick) } // Ticks is a free data retrieval call binding the contract method 0xf30dba93. // // Solidity: function ticks(int24 tick) view returns(uint128 liquidityGross, int128 liquidityNet, uint256 feeGrowthOutside0X128, uint256 feeGrowthOutside1X128, int56 tickCumulativeOutside, uint160 secondsPerLiquidityOutsideX128, uint32 secondsOutside, bool initialized) func (_Uniswapv3 *Uniswapv3CallerSession) Ticks(tick *big.Int) (struct { LiquidityGross *big.Int LiquidityNet *big.Int FeeGrowthOutside0X128 *big.Int FeeGrowthOutside1X128 *big.Int TickCumulativeOutside *big.Int SecondsPerLiquidityOutsideX128 *big.Int SecondsOutside uint32 Initialized bool }, error) { return _Uniswapv3.Contract.Ticks(&_Uniswapv3.CallOpts, tick) } // Token0 is a free data retrieval call binding the contract method 0x0dfe1681. // // Solidity: function token0() view returns(address) func (_Uniswapv3 *Uniswapv3Caller) Token0(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _Uniswapv3.contract.Call(opts, &out, "token0") if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // Token0 is a free data retrieval call binding the contract method 0x0dfe1681. // // Solidity: function token0() view returns(address) func (_Uniswapv3 *Uniswapv3Session) Token0() (common.Address, error) { return _Uniswapv3.Contract.Token0(&_Uniswapv3.CallOpts) } // Token0 is a free data retrieval call binding the contract method 0x0dfe1681. // // Solidity: function token0() view returns(address) func (_Uniswapv3 *Uniswapv3CallerSession) Token0() (common.Address, error) { return _Uniswapv3.Contract.Token0(&_Uniswapv3.CallOpts) } // Token1 is a free data retrieval call binding the contract method 0xd21220a7. // // Solidity: function token1() view returns(address) func (_Uniswapv3 *Uniswapv3Caller) Token1(opts *bind.CallOpts) (common.Address, error) { var out []interface{} err := _Uniswapv3.contract.Call(opts, &out, "token1") if err != nil { return *new(common.Address), err } out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } // Token1 is a free data retrieval call binding the contract method 0xd21220a7. // // Solidity: function token1() view returns(address) func (_Uniswapv3 *Uniswapv3Session) Token1() (common.Address, error) { return _Uniswapv3.Contract.Token1(&_Uniswapv3.CallOpts) } // Token1 is a free data retrieval call binding the contract method 0xd21220a7. // // Solidity: function token1() view returns(address) func (_Uniswapv3 *Uniswapv3CallerSession) Token1() (common.Address, error) { return _Uniswapv3.Contract.Token1(&_Uniswapv3.CallOpts) } // Burn is a paid mutator transaction binding the contract method 0xa34123a7. // // Solidity: function burn(int24 tickLower, int24 tickUpper, uint128 amount) returns(uint256 amount0, uint256 amount1) func (_Uniswapv3 *Uniswapv3Transactor) Burn(opts *bind.TransactOpts, tickLower *big.Int, tickUpper *big.Int, amount *big.Int) (*types.Transaction, error) { return _Uniswapv3.contract.Transact(opts, "burn", tickLower, tickUpper, amount) } // Burn is a paid mutator transaction binding the contract method 0xa34123a7. // // Solidity: function burn(int24 tickLower, int24 tickUpper, uint128 amount) returns(uint256 amount0, uint256 amount1) func (_Uniswapv3 *Uniswapv3Session) Burn(tickLower *big.Int, tickUpper *big.Int, amount *big.Int) (*types.Transaction, error) { return _Uniswapv3.Contract.Burn(&_Uniswapv3.TransactOpts, tickLower, tickUpper, amount) } // Burn is a paid mutator transaction binding the contract method 0xa34123a7. // // Solidity: function burn(int24 tickLower, int24 tickUpper, uint128 amount) returns(uint256 amount0, uint256 amount1) func (_Uniswapv3 *Uniswapv3TransactorSession) Burn(tickLower *big.Int, tickUpper *big.Int, amount *big.Int) (*types.Transaction, error) { return _Uniswapv3.Contract.Burn(&_Uniswapv3.TransactOpts, tickLower, tickUpper, amount) } // Collect is a paid mutator transaction binding the contract method 0x4f1eb3d8. // // Solidity: function collect(address recipient, int24 tickLower, int24 tickUpper, uint128 amount0Requested, uint128 amount1Requested) returns(uint128 amount0, uint128 amount1) func (_Uniswapv3 *Uniswapv3Transactor) Collect(opts *bind.TransactOpts, recipient common.Address, tickLower *big.Int, tickUpper *big.Int, amount0Requested *big.Int, amount1Requested *big.Int) (*types.Transaction, error) { return _Uniswapv3.contract.Transact(opts, "collect", recipient, tickLower, tickUpper, amount0Requested, amount1Requested) } // Collect is a paid mutator transaction binding the contract method 0x4f1eb3d8. // // Solidity: function collect(address recipient, int24 tickLower, int24 tickUpper, uint128 amount0Requested, uint128 amount1Requested) returns(uint128 amount0, uint128 amount1) func (_Uniswapv3 *Uniswapv3Session) Collect(recipient common.Address, tickLower *big.Int, tickUpper *big.Int, amount0Requested *big.Int, amount1Requested *big.Int) (*types.Transaction, error) { return _Uniswapv3.Contract.Collect(&_Uniswapv3.TransactOpts, recipient, tickLower, tickUpper, amount0Requested, amount1Requested) } // Collect is a paid mutator transaction binding the contract method 0x4f1eb3d8. // // Solidity: function collect(address recipient, int24 tickLower, int24 tickUpper, uint128 amount0Requested, uint128 amount1Requested) returns(uint128 amount0, uint128 amount1) func (_Uniswapv3 *Uniswapv3TransactorSession) Collect(recipient common.Address, tickLower *big.Int, tickUpper *big.Int, amount0Requested *big.Int, amount1Requested *big.Int) (*types.Transaction, error) { return _Uniswapv3.Contract.Collect(&_Uniswapv3.TransactOpts, recipient, tickLower, tickUpper, amount0Requested, amount1Requested) } // CollectProtocol is a paid mutator transaction binding the contract method 0x85b66729. // // Solidity: function collectProtocol(address recipient, uint128 amount0Requested, uint128 amount1Requested) returns(uint128 amount0, uint128 amount1) func (_Uniswapv3 *Uniswapv3Transactor) CollectProtocol(opts *bind.TransactOpts, recipient common.Address, amount0Requested *big.Int, amount1Requested *big.Int) (*types.Transaction, error) { return _Uniswapv3.contract.Transact(opts, "collectProtocol", recipient, amount0Requested, amount1Requested) } // CollectProtocol is a paid mutator transaction binding the contract method 0x85b66729. // // Solidity: function collectProtocol(address recipient, uint128 amount0Requested, uint128 amount1Requested) returns(uint128 amount0, uint128 amount1) func (_Uniswapv3 *Uniswapv3Session) CollectProtocol(recipient common.Address, amount0Requested *big.Int, amount1Requested *big.Int) (*types.Transaction, error) { return _Uniswapv3.Contract.CollectProtocol(&_Uniswapv3.TransactOpts, recipient, amount0Requested, amount1Requested) } // CollectProtocol is a paid mutator transaction binding the contract method 0x85b66729. // // Solidity: function collectProtocol(address recipient, uint128 amount0Requested, uint128 amount1Requested) returns(uint128 amount0, uint128 amount1) func (_Uniswapv3 *Uniswapv3TransactorSession) CollectProtocol(recipient common.Address, amount0Requested *big.Int, amount1Requested *big.Int) (*types.Transaction, error) { return _Uniswapv3.Contract.CollectProtocol(&_Uniswapv3.TransactOpts, recipient, amount0Requested, amount1Requested) } // Flash is a paid mutator transaction binding the contract method 0x490e6cbc. // // Solidity: function flash(address recipient, uint256 amount0, uint256 amount1, bytes data) returns() func (_Uniswapv3 *Uniswapv3Transactor) Flash(opts *bind.TransactOpts, recipient common.Address, amount0 *big.Int, amount1 *big.Int, data []byte) (*types.Transaction, error) { return _Uniswapv3.contract.Transact(opts, "flash", recipient, amount0, amount1, data) } // Flash is a paid mutator transaction binding the contract method 0x490e6cbc. // // Solidity: function flash(address recipient, uint256 amount0, uint256 amount1, bytes data) returns() func (_Uniswapv3 *Uniswapv3Session) Flash(recipient common.Address, amount0 *big.Int, amount1 *big.Int, data []byte) (*types.Transaction, error) { return _Uniswapv3.Contract.Flash(&_Uniswapv3.TransactOpts, recipient, amount0, amount1, data) } // Flash is a paid mutator transaction binding the contract method 0x490e6cbc. // // Solidity: function flash(address recipient, uint256 amount0, uint256 amount1, bytes data) returns() func (_Uniswapv3 *Uniswapv3TransactorSession) Flash(recipient common.Address, amount0 *big.Int, amount1 *big.Int, data []byte) (*types.Transaction, error) { return _Uniswapv3.Contract.Flash(&_Uniswapv3.TransactOpts, recipient, amount0, amount1, data) } // IncreaseObservationCardinalityNext is a paid mutator transaction binding the contract method 0x32148f67. // // Solidity: function increaseObservationCardinalityNext(uint16 observationCardinalityNext) returns() func (_Uniswapv3 *Uniswapv3Transactor) IncreaseObservationCardinalityNext(opts *bind.TransactOpts, observationCardinalityNext uint16) (*types.Transaction, error) { return _Uniswapv3.contract.Transact(opts, "increaseObservationCardinalityNext", observationCardinalityNext) } // IncreaseObservationCardinalityNext is a paid mutator transaction binding the contract method 0x32148f67. // // Solidity: function increaseObservationCardinalityNext(uint16 observationCardinalityNext) returns() func (_Uniswapv3 *Uniswapv3Session) IncreaseObservationCardinalityNext(observationCardinalityNext uint16) (*types.Transaction, error) { return _Uniswapv3.Contract.IncreaseObservationCardinalityNext(&_Uniswapv3.TransactOpts, observationCardinalityNext) } // IncreaseObservationCardinalityNext is a paid mutator transaction binding the contract method 0x32148f67. // // Solidity: function increaseObservationCardinalityNext(uint16 observationCardinalityNext) returns() func (_Uniswapv3 *Uniswapv3TransactorSession) IncreaseObservationCardinalityNext(observationCardinalityNext uint16) (*types.Transaction, error) { return _Uniswapv3.Contract.IncreaseObservationCardinalityNext(&_Uniswapv3.TransactOpts, observationCardinalityNext) } // Initialize is a paid mutator transaction binding the contract method 0xf637731d. // // Solidity: function initialize(uint160 sqrtPriceX96) returns() func (_Uniswapv3 *Uniswapv3Transactor) Initialize(opts *bind.TransactOpts, sqrtPriceX96 *big.Int) (*types.Transaction, error) { return _Uniswapv3.contract.Transact(opts, "initialize", sqrtPriceX96) } // Initialize is a paid mutator transaction binding the contract method 0xf637731d. // // Solidity: function initialize(uint160 sqrtPriceX96) returns() func (_Uniswapv3 *Uniswapv3Session) Initialize(sqrtPriceX96 *big.Int) (*types.Transaction, error) { return _Uniswapv3.Contract.Initialize(&_Uniswapv3.TransactOpts, sqrtPriceX96) } // Initialize is a paid mutator transaction binding the contract method 0xf637731d. // // Solidity: function initialize(uint160 sqrtPriceX96) returns() func (_Uniswapv3 *Uniswapv3TransactorSession) Initialize(sqrtPriceX96 *big.Int) (*types.Transaction, error) { return _Uniswapv3.Contract.Initialize(&_Uniswapv3.TransactOpts, sqrtPriceX96) } // Mint is a paid mutator transaction binding the contract method 0x3c8a7d8d. // // Solidity: function mint(address recipient, int24 tickLower, int24 tickUpper, uint128 amount, bytes data) returns(uint256 amount0, uint256 amount1) func (_Uniswapv3 *Uniswapv3Transactor) Mint(opts *bind.TransactOpts, recipient common.Address, tickLower *big.Int, tickUpper *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) { return _Uniswapv3.contract.Transact(opts, "mint", recipient, tickLower, tickUpper, amount, data) } // Mint is a paid mutator transaction binding the contract method 0x3c8a7d8d. // // Solidity: function mint(address recipient, int24 tickLower, int24 tickUpper, uint128 amount, bytes data) returns(uint256 amount0, uint256 amount1) func (_Uniswapv3 *Uniswapv3Session) Mint(recipient common.Address, tickLower *big.Int, tickUpper *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) { return _Uniswapv3.Contract.Mint(&_Uniswapv3.TransactOpts, recipient, tickLower, tickUpper, amount, data) } // Mint is a paid mutator transaction binding the contract method 0x3c8a7d8d. // // Solidity: function mint(address recipient, int24 tickLower, int24 tickUpper, uint128 amount, bytes data) returns(uint256 amount0, uint256 amount1) func (_Uniswapv3 *Uniswapv3TransactorSession) Mint(recipient common.Address, tickLower *big.Int, tickUpper *big.Int, amount *big.Int, data []byte) (*types.Transaction, error) { return _Uniswapv3.Contract.Mint(&_Uniswapv3.TransactOpts, recipient, tickLower, tickUpper, amount, data) } // SetFeeProtocol is a paid mutator transaction binding the contract method 0x8206a4d1. // // Solidity: function setFeeProtocol(uint8 feeProtocol0, uint8 feeProtocol1) returns() func (_Uniswapv3 *Uniswapv3Transactor) SetFeeProtocol(opts *bind.TransactOpts, feeProtocol0 uint8, feeProtocol1 uint8) (*types.Transaction, error) { return _Uniswapv3.contract.Transact(opts, "setFeeProtocol", feeProtocol0, feeProtocol1) } // SetFeeProtocol is a paid mutator transaction binding the contract method 0x8206a4d1. // // Solidity: function setFeeProtocol(uint8 feeProtocol0, uint8 feeProtocol1) returns() func (_Uniswapv3 *Uniswapv3Session) SetFeeProtocol(feeProtocol0 uint8, feeProtocol1 uint8) (*types.Transaction, error) { return _Uniswapv3.Contract.SetFeeProtocol(&_Uniswapv3.TransactOpts, feeProtocol0, feeProtocol1) } // SetFeeProtocol is a paid mutator transaction binding the contract method 0x8206a4d1. // // Solidity: function setFeeProtocol(uint8 feeProtocol0, uint8 feeProtocol1) returns() func (_Uniswapv3 *Uniswapv3TransactorSession) SetFeeProtocol(feeProtocol0 uint8, feeProtocol1 uint8) (*types.Transaction, error) { return _Uniswapv3.Contract.SetFeeProtocol(&_Uniswapv3.TransactOpts, feeProtocol0, feeProtocol1) } // Swap is a paid mutator transaction binding the contract method 0x128acb08. // // Solidity: function swap(address recipient, bool zeroForOne, int256 amountSpecified, uint160 sqrtPriceLimitX96, bytes data) returns(int256 amount0, int256 amount1) func (_Uniswapv3 *Uniswapv3Transactor) Swap(opts *bind.TransactOpts, recipient common.Address, zeroForOne bool, amountSpecified *big.Int, sqrtPriceLimitX96 *big.Int, data []byte) (*types.Transaction, error) { return _Uniswapv3.contract.Transact(opts, "swap", recipient, zeroForOne, amountSpecified, sqrtPriceLimitX96, data) } // Swap is a paid mutator transaction binding the contract method 0x128acb08. // // Solidity: function swap(address recipient, bool zeroForOne, int256 amountSpecified, uint160 sqrtPriceLimitX96, bytes data) returns(int256 amount0, int256 amount1) func (_Uniswapv3 *Uniswapv3Session) Swap(recipient common.Address, zeroForOne bool, amountSpecified *big.Int, sqrtPriceLimitX96 *big.Int, data []byte) (*types.Transaction, error) { return _Uniswapv3.Contract.Swap(&_Uniswapv3.TransactOpts, recipient, zeroForOne, amountSpecified, sqrtPriceLimitX96, data) } // Swap is a paid mutator transaction binding the contract method 0x128acb08. // // Solidity: function swap(address recipient, bool zeroForOne, int256 amountSpecified, uint160 sqrtPriceLimitX96, bytes data) returns(int256 amount0, int256 amount1) func (_Uniswapv3 *Uniswapv3TransactorSession) Swap(recipient common.Address, zeroForOne bool, amountSpecified *big.Int, sqrtPriceLimitX96 *big.Int, data []byte) (*types.Transaction, error) { return _Uniswapv3.Contract.Swap(&_Uniswapv3.TransactOpts, recipient, zeroForOne, amountSpecified, sqrtPriceLimitX96, data) } // Uniswapv3BurnIterator is returned from FilterBurn and is used to iterate over the raw logs and unpacked data for Burn events raised by the Uniswapv3 contract. type Uniswapv3BurnIterator struct { Event *Uniswapv3Burn // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *Uniswapv3BurnIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(Uniswapv3Burn) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(Uniswapv3Burn) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *Uniswapv3BurnIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *Uniswapv3BurnIterator) Close() error { it.sub.Unsubscribe() return nil } // Uniswapv3Burn represents a Burn event raised by the Uniswapv3 contract. type Uniswapv3Burn struct { Owner common.Address TickLower *big.Int TickUpper *big.Int Amount *big.Int Amount0 *big.Int Amount1 *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterBurn is a free log retrieval operation binding the contract event 0x0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c. // // Solidity: event Burn(address indexed owner, int24 indexed tickLower, int24 indexed tickUpper, uint128 amount, uint256 amount0, uint256 amount1) func (_Uniswapv3 *Uniswapv3Filterer) FilterBurn(opts *bind.FilterOpts, owner []common.Address, tickLower []*big.Int, tickUpper []*big.Int) (*Uniswapv3BurnIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var tickLowerRule []interface{} for _, tickLowerItem := range tickLower { tickLowerRule = append(tickLowerRule, tickLowerItem) } var tickUpperRule []interface{} for _, tickUpperItem := range tickUpper { tickUpperRule = append(tickUpperRule, tickUpperItem) } logs, sub, err := _Uniswapv3.contract.FilterLogs(opts, "Burn", ownerRule, tickLowerRule, tickUpperRule) if err != nil { return nil, err } return &Uniswapv3BurnIterator{contract: _Uniswapv3.contract, event: "Burn", logs: logs, sub: sub}, nil } // WatchBurn is a free log subscription operation binding the contract event 0x0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c. // // Solidity: event Burn(address indexed owner, int24 indexed tickLower, int24 indexed tickUpper, uint128 amount, uint256 amount0, uint256 amount1) func (_Uniswapv3 *Uniswapv3Filterer) WatchBurn(opts *bind.WatchOpts, sink chan<- *Uniswapv3Burn, owner []common.Address, tickLower []*big.Int, tickUpper []*big.Int) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var tickLowerRule []interface{} for _, tickLowerItem := range tickLower { tickLowerRule = append(tickLowerRule, tickLowerItem) } var tickUpperRule []interface{} for _, tickUpperItem := range tickUpper { tickUpperRule = append(tickUpperRule, tickUpperItem) } logs, sub, err := _Uniswapv3.contract.WatchLogs(opts, "Burn", ownerRule, tickLowerRule, tickUpperRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(Uniswapv3Burn) if err := _Uniswapv3.contract.UnpackLog(event, "Burn", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseBurn is a log parse operation binding the contract event 0x0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c. // // Solidity: event Burn(address indexed owner, int24 indexed tickLower, int24 indexed tickUpper, uint128 amount, uint256 amount0, uint256 amount1) func (_Uniswapv3 *Uniswapv3Filterer) ParseBurn(log types.Log) (*Uniswapv3Burn, error) { event := new(Uniswapv3Burn) if err := _Uniswapv3.contract.UnpackLog(event, "Burn", log); err != nil { return nil, err } event.Raw = log return event, nil } // Uniswapv3CollectIterator is returned from FilterCollect and is used to iterate over the raw logs and unpacked data for Collect events raised by the Uniswapv3 contract. type Uniswapv3CollectIterator struct { Event *Uniswapv3Collect // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *Uniswapv3CollectIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(Uniswapv3Collect) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(Uniswapv3Collect) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *Uniswapv3CollectIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *Uniswapv3CollectIterator) Close() error { it.sub.Unsubscribe() return nil } // Uniswapv3Collect represents a Collect event raised by the Uniswapv3 contract. type Uniswapv3Collect struct { Owner common.Address Recipient common.Address TickLower *big.Int TickUpper *big.Int Amount0 *big.Int Amount1 *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterCollect is a free log retrieval operation binding the contract event 0x70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0. // // Solidity: event Collect(address indexed owner, address recipient, int24 indexed tickLower, int24 indexed tickUpper, uint128 amount0, uint128 amount1) func (_Uniswapv3 *Uniswapv3Filterer) FilterCollect(opts *bind.FilterOpts, owner []common.Address, tickLower []*big.Int, tickUpper []*big.Int) (*Uniswapv3CollectIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var tickLowerRule []interface{} for _, tickLowerItem := range tickLower { tickLowerRule = append(tickLowerRule, tickLowerItem) } var tickUpperRule []interface{} for _, tickUpperItem := range tickUpper { tickUpperRule = append(tickUpperRule, tickUpperItem) } logs, sub, err := _Uniswapv3.contract.FilterLogs(opts, "Collect", ownerRule, tickLowerRule, tickUpperRule) if err != nil { return nil, err } return &Uniswapv3CollectIterator{contract: _Uniswapv3.contract, event: "Collect", logs: logs, sub: sub}, nil } // WatchCollect is a free log subscription operation binding the contract event 0x70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0. // // Solidity: event Collect(address indexed owner, address recipient, int24 indexed tickLower, int24 indexed tickUpper, uint128 amount0, uint128 amount1) func (_Uniswapv3 *Uniswapv3Filterer) WatchCollect(opts *bind.WatchOpts, sink chan<- *Uniswapv3Collect, owner []common.Address, tickLower []*big.Int, tickUpper []*big.Int) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var tickLowerRule []interface{} for _, tickLowerItem := range tickLower { tickLowerRule = append(tickLowerRule, tickLowerItem) } var tickUpperRule []interface{} for _, tickUpperItem := range tickUpper { tickUpperRule = append(tickUpperRule, tickUpperItem) } logs, sub, err := _Uniswapv3.contract.WatchLogs(opts, "Collect", ownerRule, tickLowerRule, tickUpperRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(Uniswapv3Collect) if err := _Uniswapv3.contract.UnpackLog(event, "Collect", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseCollect is a log parse operation binding the contract event 0x70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0. // // Solidity: event Collect(address indexed owner, address recipient, int24 indexed tickLower, int24 indexed tickUpper, uint128 amount0, uint128 amount1) func (_Uniswapv3 *Uniswapv3Filterer) ParseCollect(log types.Log) (*Uniswapv3Collect, error) { event := new(Uniswapv3Collect) if err := _Uniswapv3.contract.UnpackLog(event, "Collect", log); err != nil { return nil, err } event.Raw = log return event, nil } // Uniswapv3CollectProtocolIterator is returned from FilterCollectProtocol and is used to iterate over the raw logs and unpacked data for CollectProtocol events raised by the Uniswapv3 contract. type Uniswapv3CollectProtocolIterator struct { Event *Uniswapv3CollectProtocol // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *Uniswapv3CollectProtocolIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(Uniswapv3CollectProtocol) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(Uniswapv3CollectProtocol) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *Uniswapv3CollectProtocolIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *Uniswapv3CollectProtocolIterator) Close() error { it.sub.Unsubscribe() return nil } // Uniswapv3CollectProtocol represents a CollectProtocol event raised by the Uniswapv3 contract. type Uniswapv3CollectProtocol struct { Sender common.Address Recipient common.Address Amount0 *big.Int Amount1 *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterCollectProtocol is a free log retrieval operation binding the contract event 0x596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151. // // Solidity: event CollectProtocol(address indexed sender, address indexed recipient, uint128 amount0, uint128 amount1) func (_Uniswapv3 *Uniswapv3Filterer) FilterCollectProtocol(opts *bind.FilterOpts, sender []common.Address, recipient []common.Address) (*Uniswapv3CollectProtocolIterator, error) { var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } var recipientRule []interface{} for _, recipientItem := range recipient { recipientRule = append(recipientRule, recipientItem) } logs, sub, err := _Uniswapv3.contract.FilterLogs(opts, "CollectProtocol", senderRule, recipientRule) if err != nil { return nil, err } return &Uniswapv3CollectProtocolIterator{contract: _Uniswapv3.contract, event: "CollectProtocol", logs: logs, sub: sub}, nil } // WatchCollectProtocol is a free log subscription operation binding the contract event 0x596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151. // // Solidity: event CollectProtocol(address indexed sender, address indexed recipient, uint128 amount0, uint128 amount1) func (_Uniswapv3 *Uniswapv3Filterer) WatchCollectProtocol(opts *bind.WatchOpts, sink chan<- *Uniswapv3CollectProtocol, sender []common.Address, recipient []common.Address) (event.Subscription, error) { var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } var recipientRule []interface{} for _, recipientItem := range recipient { recipientRule = append(recipientRule, recipientItem) } logs, sub, err := _Uniswapv3.contract.WatchLogs(opts, "CollectProtocol", senderRule, recipientRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(Uniswapv3CollectProtocol) if err := _Uniswapv3.contract.UnpackLog(event, "CollectProtocol", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseCollectProtocol is a log parse operation binding the contract event 0x596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151. // // Solidity: event CollectProtocol(address indexed sender, address indexed recipient, uint128 amount0, uint128 amount1) func (_Uniswapv3 *Uniswapv3Filterer) ParseCollectProtocol(log types.Log) (*Uniswapv3CollectProtocol, error) { event := new(Uniswapv3CollectProtocol) if err := _Uniswapv3.contract.UnpackLog(event, "CollectProtocol", log); err != nil { return nil, err } event.Raw = log return event, nil } // Uniswapv3FlashIterator is returned from FilterFlash and is used to iterate over the raw logs and unpacked data for Flash events raised by the Uniswapv3 contract. type Uniswapv3FlashIterator struct { Event *Uniswapv3Flash // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *Uniswapv3FlashIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(Uniswapv3Flash) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(Uniswapv3Flash) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *Uniswapv3FlashIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *Uniswapv3FlashIterator) Close() error { it.sub.Unsubscribe() return nil } // Uniswapv3Flash represents a Flash event raised by the Uniswapv3 contract. type Uniswapv3Flash struct { Sender common.Address Recipient common.Address Amount0 *big.Int Amount1 *big.Int Paid0 *big.Int Paid1 *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterFlash is a free log retrieval operation binding the contract event 0xbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca633. // // Solidity: event Flash(address indexed sender, address indexed recipient, uint256 amount0, uint256 amount1, uint256 paid0, uint256 paid1) func (_Uniswapv3 *Uniswapv3Filterer) FilterFlash(opts *bind.FilterOpts, sender []common.Address, recipient []common.Address) (*Uniswapv3FlashIterator, error) { var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } var recipientRule []interface{} for _, recipientItem := range recipient { recipientRule = append(recipientRule, recipientItem) } logs, sub, err := _Uniswapv3.contract.FilterLogs(opts, "Flash", senderRule, recipientRule) if err != nil { return nil, err } return &Uniswapv3FlashIterator{contract: _Uniswapv3.contract, event: "Flash", logs: logs, sub: sub}, nil } // WatchFlash is a free log subscription operation binding the contract event 0xbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca633. // // Solidity: event Flash(address indexed sender, address indexed recipient, uint256 amount0, uint256 amount1, uint256 paid0, uint256 paid1) func (_Uniswapv3 *Uniswapv3Filterer) WatchFlash(opts *bind.WatchOpts, sink chan<- *Uniswapv3Flash, sender []common.Address, recipient []common.Address) (event.Subscription, error) { var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } var recipientRule []interface{} for _, recipientItem := range recipient { recipientRule = append(recipientRule, recipientItem) } logs, sub, err := _Uniswapv3.contract.WatchLogs(opts, "Flash", senderRule, recipientRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(Uniswapv3Flash) if err := _Uniswapv3.contract.UnpackLog(event, "Flash", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseFlash is a log parse operation binding the contract event 0xbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca633. // // Solidity: event Flash(address indexed sender, address indexed recipient, uint256 amount0, uint256 amount1, uint256 paid0, uint256 paid1) func (_Uniswapv3 *Uniswapv3Filterer) ParseFlash(log types.Log) (*Uniswapv3Flash, error) { event := new(Uniswapv3Flash) if err := _Uniswapv3.contract.UnpackLog(event, "Flash", log); err != nil { return nil, err } event.Raw = log return event, nil } // Uniswapv3IncreaseObservationCardinalityNextIterator is returned from FilterIncreaseObservationCardinalityNext and is used to iterate over the raw logs and unpacked data for IncreaseObservationCardinalityNext events raised by the Uniswapv3 contract. type Uniswapv3IncreaseObservationCardinalityNextIterator struct { Event *Uniswapv3IncreaseObservationCardinalityNext // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *Uniswapv3IncreaseObservationCardinalityNextIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(Uniswapv3IncreaseObservationCardinalityNext) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(Uniswapv3IncreaseObservationCardinalityNext) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *Uniswapv3IncreaseObservationCardinalityNextIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *Uniswapv3IncreaseObservationCardinalityNextIterator) Close() error { it.sub.Unsubscribe() return nil } // Uniswapv3IncreaseObservationCardinalityNext represents a IncreaseObservationCardinalityNext event raised by the Uniswapv3 contract. type Uniswapv3IncreaseObservationCardinalityNext struct { ObservationCardinalityNextOld uint16 ObservationCardinalityNextNew uint16 Raw types.Log // Blockchain specific contextual infos } // FilterIncreaseObservationCardinalityNext is a free log retrieval operation binding the contract event 0xac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a. // // Solidity: event IncreaseObservationCardinalityNext(uint16 observationCardinalityNextOld, uint16 observationCardinalityNextNew) func (_Uniswapv3 *Uniswapv3Filterer) FilterIncreaseObservationCardinalityNext(opts *bind.FilterOpts) (*Uniswapv3IncreaseObservationCardinalityNextIterator, error) { logs, sub, err := _Uniswapv3.contract.FilterLogs(opts, "IncreaseObservationCardinalityNext") if err != nil { return nil, err } return &Uniswapv3IncreaseObservationCardinalityNextIterator{contract: _Uniswapv3.contract, event: "IncreaseObservationCardinalityNext", logs: logs, sub: sub}, nil } // WatchIncreaseObservationCardinalityNext is a free log subscription operation binding the contract event 0xac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a. // // Solidity: event IncreaseObservationCardinalityNext(uint16 observationCardinalityNextOld, uint16 observationCardinalityNextNew) func (_Uniswapv3 *Uniswapv3Filterer) WatchIncreaseObservationCardinalityNext(opts *bind.WatchOpts, sink chan<- *Uniswapv3IncreaseObservationCardinalityNext) (event.Subscription, error) { logs, sub, err := _Uniswapv3.contract.WatchLogs(opts, "IncreaseObservationCardinalityNext") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(Uniswapv3IncreaseObservationCardinalityNext) if err := _Uniswapv3.contract.UnpackLog(event, "IncreaseObservationCardinalityNext", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseIncreaseObservationCardinalityNext is a log parse operation binding the contract event 0xac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a. // // Solidity: event IncreaseObservationCardinalityNext(uint16 observationCardinalityNextOld, uint16 observationCardinalityNextNew) func (_Uniswapv3 *Uniswapv3Filterer) ParseIncreaseObservationCardinalityNext(log types.Log) (*Uniswapv3IncreaseObservationCardinalityNext, error) { event := new(Uniswapv3IncreaseObservationCardinalityNext) if err := _Uniswapv3.contract.UnpackLog(event, "IncreaseObservationCardinalityNext", log); err != nil { return nil, err } event.Raw = log return event, nil } // Uniswapv3InitializeIterator is returned from FilterInitialize and is used to iterate over the raw logs and unpacked data for Initialize events raised by the Uniswapv3 contract. type Uniswapv3InitializeIterator struct { Event *Uniswapv3Initialize // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *Uniswapv3InitializeIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(Uniswapv3Initialize) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(Uniswapv3Initialize) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *Uniswapv3InitializeIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *Uniswapv3InitializeIterator) Close() error { it.sub.Unsubscribe() return nil } // Uniswapv3Initialize represents a Initialize event raised by the Uniswapv3 contract. type Uniswapv3Initialize struct { SqrtPriceX96 *big.Int Tick *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterInitialize is a free log retrieval operation binding the contract event 0x98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c95. // // Solidity: event Initialize(uint160 sqrtPriceX96, int24 tick) func (_Uniswapv3 *Uniswapv3Filterer) FilterInitialize(opts *bind.FilterOpts) (*Uniswapv3InitializeIterator, error) { logs, sub, err := _Uniswapv3.contract.FilterLogs(opts, "Initialize") if err != nil { return nil, err } return &Uniswapv3InitializeIterator{contract: _Uniswapv3.contract, event: "Initialize", logs: logs, sub: sub}, nil } // WatchInitialize is a free log subscription operation binding the contract event 0x98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c95. // // Solidity: event Initialize(uint160 sqrtPriceX96, int24 tick) func (_Uniswapv3 *Uniswapv3Filterer) WatchInitialize(opts *bind.WatchOpts, sink chan<- *Uniswapv3Initialize) (event.Subscription, error) { logs, sub, err := _Uniswapv3.contract.WatchLogs(opts, "Initialize") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(Uniswapv3Initialize) if err := _Uniswapv3.contract.UnpackLog(event, "Initialize", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseInitialize is a log parse operation binding the contract event 0x98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c95. // // Solidity: event Initialize(uint160 sqrtPriceX96, int24 tick) func (_Uniswapv3 *Uniswapv3Filterer) ParseInitialize(log types.Log) (*Uniswapv3Initialize, error) { event := new(Uniswapv3Initialize) if err := _Uniswapv3.contract.UnpackLog(event, "Initialize", log); err != nil { return nil, err } event.Raw = log return event, nil } // Uniswapv3MintIterator is returned from FilterMint and is used to iterate over the raw logs and unpacked data for Mint events raised by the Uniswapv3 contract. type Uniswapv3MintIterator struct { Event *Uniswapv3Mint // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *Uniswapv3MintIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(Uniswapv3Mint) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(Uniswapv3Mint) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *Uniswapv3MintIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *Uniswapv3MintIterator) Close() error { it.sub.Unsubscribe() return nil } // Uniswapv3Mint represents a Mint event raised by the Uniswapv3 contract. type Uniswapv3Mint struct { Sender common.Address Owner common.Address TickLower *big.Int TickUpper *big.Int Amount *big.Int Amount0 *big.Int Amount1 *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterMint is a free log retrieval operation binding the contract event 0x7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde. // // Solidity: event Mint(address sender, address indexed owner, int24 indexed tickLower, int24 indexed tickUpper, uint128 amount, uint256 amount0, uint256 amount1) func (_Uniswapv3 *Uniswapv3Filterer) FilterMint(opts *bind.FilterOpts, owner []common.Address, tickLower []*big.Int, tickUpper []*big.Int) (*Uniswapv3MintIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var tickLowerRule []interface{} for _, tickLowerItem := range tickLower { tickLowerRule = append(tickLowerRule, tickLowerItem) } var tickUpperRule []interface{} for _, tickUpperItem := range tickUpper { tickUpperRule = append(tickUpperRule, tickUpperItem) } logs, sub, err := _Uniswapv3.contract.FilterLogs(opts, "Mint", ownerRule, tickLowerRule, tickUpperRule) if err != nil { return nil, err } return &Uniswapv3MintIterator{contract: _Uniswapv3.contract, event: "Mint", logs: logs, sub: sub}, nil } // WatchMint is a free log subscription operation binding the contract event 0x7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde. // // Solidity: event Mint(address sender, address indexed owner, int24 indexed tickLower, int24 indexed tickUpper, uint128 amount, uint256 amount0, uint256 amount1) func (_Uniswapv3 *Uniswapv3Filterer) WatchMint(opts *bind.WatchOpts, sink chan<- *Uniswapv3Mint, owner []common.Address, tickLower []*big.Int, tickUpper []*big.Int) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var tickLowerRule []interface{} for _, tickLowerItem := range tickLower { tickLowerRule = append(tickLowerRule, tickLowerItem) } var tickUpperRule []interface{} for _, tickUpperItem := range tickUpper { tickUpperRule = append(tickUpperRule, tickUpperItem) } logs, sub, err := _Uniswapv3.contract.WatchLogs(opts, "Mint", ownerRule, tickLowerRule, tickUpperRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(Uniswapv3Mint) if err := _Uniswapv3.contract.UnpackLog(event, "Mint", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseMint is a log parse operation binding the contract event 0x7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde. // // Solidity: event Mint(address sender, address indexed owner, int24 indexed tickLower, int24 indexed tickUpper, uint128 amount, uint256 amount0, uint256 amount1) func (_Uniswapv3 *Uniswapv3Filterer) ParseMint(log types.Log) (*Uniswapv3Mint, error) { event := new(Uniswapv3Mint) if err := _Uniswapv3.contract.UnpackLog(event, "Mint", log); err != nil { return nil, err } event.Raw = log return event, nil } // Uniswapv3SetFeeProtocolIterator is returned from FilterSetFeeProtocol and is used to iterate over the raw logs and unpacked data for SetFeeProtocol events raised by the Uniswapv3 contract. type Uniswapv3SetFeeProtocolIterator struct { Event *Uniswapv3SetFeeProtocol // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *Uniswapv3SetFeeProtocolIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(Uniswapv3SetFeeProtocol) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(Uniswapv3SetFeeProtocol) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *Uniswapv3SetFeeProtocolIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *Uniswapv3SetFeeProtocolIterator) Close() error { it.sub.Unsubscribe() return nil } // Uniswapv3SetFeeProtocol represents a SetFeeProtocol event raised by the Uniswapv3 contract. type Uniswapv3SetFeeProtocol struct { FeeProtocol0Old uint8 FeeProtocol1Old uint8 FeeProtocol0New uint8 FeeProtocol1New uint8 Raw types.Log // Blockchain specific contextual infos } // FilterSetFeeProtocol is a free log retrieval operation binding the contract event 0x973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b133. // // Solidity: event SetFeeProtocol(uint8 feeProtocol0Old, uint8 feeProtocol1Old, uint8 feeProtocol0New, uint8 feeProtocol1New) func (_Uniswapv3 *Uniswapv3Filterer) FilterSetFeeProtocol(opts *bind.FilterOpts) (*Uniswapv3SetFeeProtocolIterator, error) { logs, sub, err := _Uniswapv3.contract.FilterLogs(opts, "SetFeeProtocol") if err != nil { return nil, err } return &Uniswapv3SetFeeProtocolIterator{contract: _Uniswapv3.contract, event: "SetFeeProtocol", logs: logs, sub: sub}, nil } // WatchSetFeeProtocol is a free log subscription operation binding the contract event 0x973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b133. // // Solidity: event SetFeeProtocol(uint8 feeProtocol0Old, uint8 feeProtocol1Old, uint8 feeProtocol0New, uint8 feeProtocol1New) func (_Uniswapv3 *Uniswapv3Filterer) WatchSetFeeProtocol(opts *bind.WatchOpts, sink chan<- *Uniswapv3SetFeeProtocol) (event.Subscription, error) { logs, sub, err := _Uniswapv3.contract.WatchLogs(opts, "SetFeeProtocol") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(Uniswapv3SetFeeProtocol) if err := _Uniswapv3.contract.UnpackLog(event, "SetFeeProtocol", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseSetFeeProtocol is a log parse operation binding the contract event 0x973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b133. // // Solidity: event SetFeeProtocol(uint8 feeProtocol0Old, uint8 feeProtocol1Old, uint8 feeProtocol0New, uint8 feeProtocol1New) func (_Uniswapv3 *Uniswapv3Filterer) ParseSetFeeProtocol(log types.Log) (*Uniswapv3SetFeeProtocol, error) { event := new(Uniswapv3SetFeeProtocol) if err := _Uniswapv3.contract.UnpackLog(event, "SetFeeProtocol", log); err != nil { return nil, err } event.Raw = log return event, nil } // Uniswapv3SwapIterator is returned from FilterSwap and is used to iterate over the raw logs and unpacked data for Swap events raised by the Uniswapv3 contract. type Uniswapv3SwapIterator struct { Event *Uniswapv3Swap // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *Uniswapv3SwapIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(Uniswapv3Swap) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(Uniswapv3Swap) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *Uniswapv3SwapIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *Uniswapv3SwapIterator) Close() error { it.sub.Unsubscribe() return nil } // Uniswapv3Swap represents a Swap event raised by the Uniswapv3 contract. type Uniswapv3Swap struct { Sender common.Address Recipient common.Address Amount0 *big.Int Amount1 *big.Int SqrtPriceX96 *big.Int Liquidity *big.Int Tick *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterSwap is a free log retrieval operation binding the contract event 0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67. // // Solidity: event Swap(address indexed sender, address indexed recipient, int256 amount0, int256 amount1, uint160 sqrtPriceX96, uint128 liquidity, int24 tick) func (_Uniswapv3 *Uniswapv3Filterer) FilterSwap(opts *bind.FilterOpts, sender []common.Address, recipient []common.Address) (*Uniswapv3SwapIterator, error) { var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } var recipientRule []interface{} for _, recipientItem := range recipient { recipientRule = append(recipientRule, recipientItem) } logs, sub, err := _Uniswapv3.contract.FilterLogs(opts, "Swap", senderRule, recipientRule) if err != nil { return nil, err } return &Uniswapv3SwapIterator{contract: _Uniswapv3.contract, event: "Swap", logs: logs, sub: sub}, nil } // WatchSwap is a free log subscription operation binding the contract event 0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67. // // Solidity: event Swap(address indexed sender, address indexed recipient, int256 amount0, int256 amount1, uint160 sqrtPriceX96, uint128 liquidity, int24 tick) func (_Uniswapv3 *Uniswapv3Filterer) WatchSwap(opts *bind.WatchOpts, sink chan<- *Uniswapv3Swap, sender []common.Address, recipient []common.Address) (event.Subscription, error) { var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } var recipientRule []interface{} for _, recipientItem := range recipient { recipientRule = append(recipientRule, recipientItem) } logs, sub, err := _Uniswapv3.contract.WatchLogs(opts, "Swap", senderRule, recipientRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(Uniswapv3Swap) if err := _Uniswapv3.contract.UnpackLog(event, "Swap", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ParseSwap is a log parse operation binding the contract event 0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67. // // Solidity: event Swap(address indexed sender, address indexed recipient, int256 amount0, int256 amount1, uint160 sqrtPriceX96, uint128 liquidity, int24 tick) func (_Uniswapv3 *Uniswapv3Filterer) ParseSwap(log types.Log) (*Uniswapv3Swap, error) { event := new(Uniswapv3Swap) if err := _Uniswapv3.contract.UnpackLog(event, "Swap", log); err != nil { return nil, err } event.Raw = log return event, nil }