status-go/contracts/uniswapV3/uniswapv3pool.go

2456 lines
108 KiB
Go
Raw Permalink Normal View History

// 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,\"internalTy
}
// 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
}