github.com/diadata-org/diadata@v1.4.593/pkg/dia/scraper/exchange-scrapers/traderjoe2.1/traderjoe.go (about)

     1  // Code generated - DO NOT EDIT.
     2  // This file is a generated binding and any manual changes will be lost.
     3  
     4  package traderjoe
     5  
     6  import (
     7  	"errors"
     8  	"math/big"
     9  	"strings"
    10  
    11  	ethereum "github.com/ethereum/go-ethereum"
    12  	"github.com/ethereum/go-ethereum/accounts/abi"
    13  	"github.com/ethereum/go-ethereum/accounts/abi/bind"
    14  	"github.com/ethereum/go-ethereum/common"
    15  	"github.com/ethereum/go-ethereum/core/types"
    16  	"github.com/ethereum/go-ethereum/event"
    17  )
    18  
    19  // Reference imports to suppress errors if they are not otherwise used.
    20  var (
    21  	_ = errors.New
    22  	_ = big.NewInt
    23  	_ = strings.NewReader
    24  	_ = ethereum.NotFound
    25  	_ = bind.Bind
    26  	_ = common.Big1
    27  	_ = types.BloomLookup
    28  	_ = event.NewSubscription
    29  	_ = abi.ConvertType
    30  )
    31  
    32  // ILBFactoryLBPairInformation is an auto generated low-level Go binding around an user-defined struct.
    33  type ILBFactoryLBPairInformation struct {
    34  	BinStep           uint16
    35  	LBPair            common.Address
    36  	CreatedByOwner    bool
    37  	IgnoredForRouting bool
    38  }
    39  
    40  // TraderjoeMetaData contains all meta data concerning the Traderjoe contract.
    41  var TraderjoeMetaData = &bind.MetaData{
    42  	ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"feeRecipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"flashLoanFee\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"LBFactory__AddressZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"binStep\",\"type\":\"uint256\"}],\"name\":\"LBFactory__BinStepHasNoPreset\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"binStep\",\"type\":\"uint256\"}],\"name\":\"LBFactory__BinStepTooLow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"fees\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFees\",\"type\":\"uint256\"}],\"name\":\"LBFactory__FlashLoanFeeAboveMax\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"LBFactory__IdenticalAddresses\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LBFactory__ImplementationNotSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"tokenX\",\"type\":\"address\"},{\"internalType\":\"contractIERC20\",\"name\":\"tokenY\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_binStep\",\"type\":\"uint256\"}],\"name\":\"LBFactory__LBPairAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"tokenX\",\"type\":\"address\"},{\"internalType\":\"contractIERC20\",\"name\":\"tokenY\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"binStep\",\"type\":\"uint256\"}],\"name\":\"LBFactory__LBPairDoesNotExist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LBFactory__LBPairIgnoredIsAlreadyInTheSameState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"tokenX\",\"type\":\"address\"},{\"internalType\":\"contractIERC20\",\"name\":\"tokenY\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"binStep\",\"type\":\"uint256\"}],\"name\":\"LBFactory__LBPairNotCreated\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"LBPairImplementation\",\"type\":\"address\"}],\"name\":\"LBFactory__LBPairSafetyCheckFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"binStep\",\"type\":\"uint256\"}],\"name\":\"LBFactory__PresetIsLockedForUsers\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LBFactory__PresetOpenStateIsAlreadyInTheSameState\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"quoteAsset\",\"type\":\"address\"}],\"name\":\"LBFactory__QuoteAssetAlreadyWhitelisted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"quoteAsset\",\"type\":\"address\"}],\"name\":\"LBFactory__QuoteAssetNotWhitelisted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"feeRecipient\",\"type\":\"address\"}],\"name\":\"LBFactory__SameFeeRecipient\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"flashLoanFee\",\"type\":\"uint256\"}],\"name\":\"LBFactory__SameFlashLoanFee\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"LBPairImplementation\",\"type\":\"address\"}],\"name\":\"LBFactory__SameImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PairParametersHelper__InvalidParameter\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PendingOwnable__AddressZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PendingOwnable__NoPendingOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PendingOwnable__NotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PendingOwnable__NotPendingOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PendingOwnable__PendingOwnerAlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SafeCast__Exceeds16Bits\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"y\",\"type\":\"int256\"}],\"name\":\"Uint128x128Math__PowUnderflow\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newRecipient\",\"type\":\"address\"}],\"name\":\"FeeRecipientSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldFlashLoanFee\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newFlashLoanFee\",\"type\":\"uint256\"}],\"name\":\"FlashLoanFeeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contractIERC20\",\"name\":\"tokenX\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contractIERC20\",\"name\":\"tokenY\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"binStep\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contractILBPair\",\"name\":\"LBPair\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pid\",\"type\":\"uint256\"}],\"name\":\"LBPairCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contractILBPair\",\"name\":\"LBPair\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"ignored\",\"type\":\"bool\"}],\"name\":\"LBPairIgnoredStateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldLBPairImplementation\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"LBPairImplementation\",\"type\":\"address\"}],\"name\":\"LBPairImplementationSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"PendingOwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"binStep\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"isOpen\",\"type\":\"bool\"}],\"name\":\"PresetOpenStateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"binStep\",\"type\":\"uint256\"}],\"name\":\"PresetRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"binStep\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseFactor\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"filterPeriod\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decayPeriod\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"reductionFactor\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"variableFeeControl\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"protocolShare\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"maxVolatilityAccumulator\",\"type\":\"uint256\"}],\"name\":\"PresetSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contractIERC20\",\"name\":\"quoteAsset\",\"type\":\"address\"}],\"name\":\"QuoteAssetAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contractIERC20\",\"name\":\"quoteAsset\",\"type\":\"address\"}],\"name\":\"QuoteAssetRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"quoteAsset\",\"type\":\"address\"}],\"name\":\"addQuoteAsset\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"becomeOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"tokenX\",\"type\":\"address\"},{\"internalType\":\"contractIERC20\",\"name\":\"tokenY\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"activeId\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"binStep\",\"type\":\"uint16\"}],\"name\":\"createLBPair\",\"outputs\":[{\"internalType\":\"contractILBPair\",\"name\":\"pair\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractILBPair\",\"name\":\"pair\",\"type\":\"address\"}],\"name\":\"forceDecay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllBinSteps\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"binStepWithPreset\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"tokenX\",\"type\":\"address\"},{\"internalType\":\"contractIERC20\",\"name\":\"tokenY\",\"type\":\"address\"}],\"name\":\"getAllLBPairs\",\"outputs\":[{\"components\":[{\"internalType\":\"uint16\",\"name\":\"binStep\",\"type\":\"uint16\"},{\"internalType\":\"contractILBPair\",\"name\":\"LBPair\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"createdByOwner\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"ignoredForRouting\",\"type\":\"bool\"}],\"internalType\":\"structILBFactory.LBPairInformation[]\",\"name\":\"lbPairsAvailable\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeRecipient\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFlashLoanFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"flashLoanFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getLBPairAtIndex\",\"outputs\":[{\"internalType\":\"contractILBPair\",\"name\":\"lbPair\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLBPairImplementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"lbPairImplementation\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"contractIERC20\",\"name\":\"tokenB\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"binStep\",\"type\":\"uint256\"}],\"name\":\"getLBPairInformation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint16\",\"name\":\"binStep\",\"type\":\"uint16\"},{\"internalType\":\"contractILBPair\",\"name\":\"LBPair\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"createdByOwner\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"ignoredForRouting\",\"type\":\"bool\"}],\"internalType\":\"structILBFactory.LBPairInformation\",\"name\":\"lbPairInformation\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMaxFlashLoanFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxFee\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinBinStep\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"minBinStep\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNumberOfLBPairs\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"lbPairNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNumberOfQuoteAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"numberOfQuoteAssets\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOpenBinSteps\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"openBinStep\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"binStep\",\"type\":\"uint256\"}],\"name\":\"getPreset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"baseFactor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"filterPeriod\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decayPeriod\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reductionFactor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"variableFeeControl\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"protocolShare\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxVolatilityAccumulator\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isOpen\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getQuoteAssetAtIndex\",\"outputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"asset\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"isQuoteAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isQuote\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"binStep\",\"type\":\"uint16\"}],\"name\":\"removePreset\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"quoteAsset\",\"type\":\"address\"}],\"name\":\"removeQuoteAsset\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"revokePendingOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"feeRecipient\",\"type\":\"address\"}],\"name\":\"setFeeRecipient\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"tokenX\",\"type\":\"address\"},{\"internalType\":\"contractIERC20\",\"name\":\"tokenY\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"binStep\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"baseFactor\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"filterPeriod\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"decayPeriod\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"reductionFactor\",\"type\":\"uint16\"},{\"internalType\":\"uint24\",\"name\":\"variableFeeControl\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"protocolShare\",\"type\":\"uint16\"},{\"internalType\":\"uint24\",\"name\":\"maxVolatilityAccumulator\",\"type\":\"uint24\"}],\"name\":\"setFeesParametersOnPair\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"flashLoanFee\",\"type\":\"uint256\"}],\"name\":\"setFlashLoanFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"tokenX\",\"type\":\"address\"},{\"internalType\":\"contractIERC20\",\"name\":\"tokenY\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"binStep\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"ignored\",\"type\":\"bool\"}],\"name\":\"setLBPairIgnored\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newLBPairImplementation\",\"type\":\"address\"}],\"name\":\"setLBPairImplementation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pendingOwner_\",\"type\":\"address\"}],\"name\":\"setPendingOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"binStep\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"baseFactor\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"filterPeriod\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"decayPeriod\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"reductionFactor\",\"type\":\"uint16\"},{\"internalType\":\"uint24\",\"name\":\"variableFeeControl\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"protocolShare\",\"type\":\"uint16\"},{\"internalType\":\"uint24\",\"name\":\"maxVolatilityAccumulator\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"isOpen\",\"type\":\"bool\"}],\"name\":\"setPreset\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"binStep\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"isOpen\",\"type\":\"bool\"}],\"name\":\"setPresetOpenState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
    43  }
    44  
    45  // TraderjoeABI is the input ABI used to generate the binding from.
    46  // Deprecated: Use TraderjoeMetaData.ABI instead.
    47  var TraderjoeABI = TraderjoeMetaData.ABI
    48  
    49  // Traderjoe is an auto generated Go binding around an Ethereum contract.
    50  type Traderjoe struct {
    51  	TraderjoeCaller     // Read-only binding to the contract
    52  	TraderjoeTransactor // Write-only binding to the contract
    53  	TraderjoeFilterer   // Log filterer for contract events
    54  }
    55  
    56  // TraderjoeCaller is an auto generated read-only Go binding around an Ethereum contract.
    57  type TraderjoeCaller struct {
    58  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    59  }
    60  
    61  // TraderjoeTransactor is an auto generated write-only Go binding around an Ethereum contract.
    62  type TraderjoeTransactor struct {
    63  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    64  }
    65  
    66  // TraderjoeFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
    67  type TraderjoeFilterer struct {
    68  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    69  }
    70  
    71  // TraderjoeSession is an auto generated Go binding around an Ethereum contract,
    72  // with pre-set call and transact options.
    73  type TraderjoeSession struct {
    74  	Contract     *Traderjoe        // Generic contract binding to set the session for
    75  	CallOpts     bind.CallOpts     // Call options to use throughout this session
    76  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
    77  }
    78  
    79  // TraderjoeCallerSession is an auto generated read-only Go binding around an Ethereum contract,
    80  // with pre-set call options.
    81  type TraderjoeCallerSession struct {
    82  	Contract *TraderjoeCaller // Generic contract caller binding to set the session for
    83  	CallOpts bind.CallOpts    // Call options to use throughout this session
    84  }
    85  
    86  // TraderjoeTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
    87  // with pre-set transact options.
    88  type TraderjoeTransactorSession struct {
    89  	Contract     *TraderjoeTransactor // Generic contract transactor binding to set the session for
    90  	TransactOpts bind.TransactOpts    // Transaction auth options to use throughout this session
    91  }
    92  
    93  // TraderjoeRaw is an auto generated low-level Go binding around an Ethereum contract.
    94  type TraderjoeRaw struct {
    95  	Contract *Traderjoe // Generic contract binding to access the raw methods on
    96  }
    97  
    98  // TraderjoeCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
    99  type TraderjoeCallerRaw struct {
   100  	Contract *TraderjoeCaller // Generic read-only contract binding to access the raw methods on
   101  }
   102  
   103  // TraderjoeTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
   104  type TraderjoeTransactorRaw struct {
   105  	Contract *TraderjoeTransactor // Generic write-only contract binding to access the raw methods on
   106  }
   107  
   108  // NewTraderjoe creates a new instance of Traderjoe, bound to a specific deployed contract.
   109  func NewTraderjoe(address common.Address, backend bind.ContractBackend) (*Traderjoe, error) {
   110  	contract, err := bindTraderjoe(address, backend, backend, backend)
   111  	if err != nil {
   112  		return nil, err
   113  	}
   114  	return &Traderjoe{TraderjoeCaller: TraderjoeCaller{contract: contract}, TraderjoeTransactor: TraderjoeTransactor{contract: contract}, TraderjoeFilterer: TraderjoeFilterer{contract: contract}}, nil
   115  }
   116  
   117  // NewTraderjoeCaller creates a new read-only instance of Traderjoe, bound to a specific deployed contract.
   118  func NewTraderjoeCaller(address common.Address, caller bind.ContractCaller) (*TraderjoeCaller, error) {
   119  	contract, err := bindTraderjoe(address, caller, nil, nil)
   120  	if err != nil {
   121  		return nil, err
   122  	}
   123  	return &TraderjoeCaller{contract: contract}, nil
   124  }
   125  
   126  // NewTraderjoeTransactor creates a new write-only instance of Traderjoe, bound to a specific deployed contract.
   127  func NewTraderjoeTransactor(address common.Address, transactor bind.ContractTransactor) (*TraderjoeTransactor, error) {
   128  	contract, err := bindTraderjoe(address, nil, transactor, nil)
   129  	if err != nil {
   130  		return nil, err
   131  	}
   132  	return &TraderjoeTransactor{contract: contract}, nil
   133  }
   134  
   135  // NewTraderjoeFilterer creates a new log filterer instance of Traderjoe, bound to a specific deployed contract.
   136  func NewTraderjoeFilterer(address common.Address, filterer bind.ContractFilterer) (*TraderjoeFilterer, error) {
   137  	contract, err := bindTraderjoe(address, nil, nil, filterer)
   138  	if err != nil {
   139  		return nil, err
   140  	}
   141  	return &TraderjoeFilterer{contract: contract}, nil
   142  }
   143  
   144  // bindTraderjoe binds a generic wrapper to an already deployed contract.
   145  func bindTraderjoe(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   146  	parsed, err := TraderjoeMetaData.GetAbi()
   147  	if err != nil {
   148  		return nil, err
   149  	}
   150  	return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil
   151  }
   152  
   153  // Call invokes the (constant) contract method with params as input values and
   154  // sets the output to result. The result type might be a single field for simple
   155  // returns, a slice of interfaces for anonymous returns and a struct for named
   156  // returns.
   157  func (_Traderjoe *TraderjoeRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   158  	return _Traderjoe.Contract.TraderjoeCaller.contract.Call(opts, result, method, params...)
   159  }
   160  
   161  // Transfer initiates a plain transaction to move funds to the contract, calling
   162  // its default method if one is available.
   163  func (_Traderjoe *TraderjoeRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   164  	return _Traderjoe.Contract.TraderjoeTransactor.contract.Transfer(opts)
   165  }
   166  
   167  // Transact invokes the (paid) contract method with params as input values.
   168  func (_Traderjoe *TraderjoeRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   169  	return _Traderjoe.Contract.TraderjoeTransactor.contract.Transact(opts, method, params...)
   170  }
   171  
   172  // Call invokes the (constant) contract method with params as input values and
   173  // sets the output to result. The result type might be a single field for simple
   174  // returns, a slice of interfaces for anonymous returns and a struct for named
   175  // returns.
   176  func (_Traderjoe *TraderjoeCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   177  	return _Traderjoe.Contract.contract.Call(opts, result, method, params...)
   178  }
   179  
   180  // Transfer initiates a plain transaction to move funds to the contract, calling
   181  // its default method if one is available.
   182  func (_Traderjoe *TraderjoeTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   183  	return _Traderjoe.Contract.contract.Transfer(opts)
   184  }
   185  
   186  // Transact invokes the (paid) contract method with params as input values.
   187  func (_Traderjoe *TraderjoeTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   188  	return _Traderjoe.Contract.contract.Transact(opts, method, params...)
   189  }
   190  
   191  // GetAllBinSteps is a free data retrieval call binding the contract method 0x5b35875c.
   192  //
   193  // Solidity: function getAllBinSteps() view returns(uint256[] binStepWithPreset)
   194  func (_Traderjoe *TraderjoeCaller) GetAllBinSteps(opts *bind.CallOpts) ([]*big.Int, error) {
   195  	var out []interface{}
   196  	err := _Traderjoe.contract.Call(opts, &out, "getAllBinSteps")
   197  
   198  	if err != nil {
   199  		return *new([]*big.Int), err
   200  	}
   201  
   202  	out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int)
   203  
   204  	return out0, err
   205  
   206  }
   207  
   208  // GetAllBinSteps is a free data retrieval call binding the contract method 0x5b35875c.
   209  //
   210  // Solidity: function getAllBinSteps() view returns(uint256[] binStepWithPreset)
   211  func (_Traderjoe *TraderjoeSession) GetAllBinSteps() ([]*big.Int, error) {
   212  	return _Traderjoe.Contract.GetAllBinSteps(&_Traderjoe.CallOpts)
   213  }
   214  
   215  // GetAllBinSteps is a free data retrieval call binding the contract method 0x5b35875c.
   216  //
   217  // Solidity: function getAllBinSteps() view returns(uint256[] binStepWithPreset)
   218  func (_Traderjoe *TraderjoeCallerSession) GetAllBinSteps() ([]*big.Int, error) {
   219  	return _Traderjoe.Contract.GetAllBinSteps(&_Traderjoe.CallOpts)
   220  }
   221  
   222  // GetAllLBPairs is a free data retrieval call binding the contract method 0x6622e0d7.
   223  //
   224  // Solidity: function getAllLBPairs(address tokenX, address tokenY) view returns((uint16,address,bool,bool)[] lbPairsAvailable)
   225  func (_Traderjoe *TraderjoeCaller) GetAllLBPairs(opts *bind.CallOpts, tokenX common.Address, tokenY common.Address) ([]ILBFactoryLBPairInformation, error) {
   226  	var out []interface{}
   227  	err := _Traderjoe.contract.Call(opts, &out, "getAllLBPairs", tokenX, tokenY)
   228  
   229  	if err != nil {
   230  		return *new([]ILBFactoryLBPairInformation), err
   231  	}
   232  
   233  	out0 := *abi.ConvertType(out[0], new([]ILBFactoryLBPairInformation)).(*[]ILBFactoryLBPairInformation)
   234  
   235  	return out0, err
   236  
   237  }
   238  
   239  // GetAllLBPairs is a free data retrieval call binding the contract method 0x6622e0d7.
   240  //
   241  // Solidity: function getAllLBPairs(address tokenX, address tokenY) view returns((uint16,address,bool,bool)[] lbPairsAvailable)
   242  func (_Traderjoe *TraderjoeSession) GetAllLBPairs(tokenX common.Address, tokenY common.Address) ([]ILBFactoryLBPairInformation, error) {
   243  	return _Traderjoe.Contract.GetAllLBPairs(&_Traderjoe.CallOpts, tokenX, tokenY)
   244  }
   245  
   246  // GetAllLBPairs is a free data retrieval call binding the contract method 0x6622e0d7.
   247  //
   248  // Solidity: function getAllLBPairs(address tokenX, address tokenY) view returns((uint16,address,bool,bool)[] lbPairsAvailable)
   249  func (_Traderjoe *TraderjoeCallerSession) GetAllLBPairs(tokenX common.Address, tokenY common.Address) ([]ILBFactoryLBPairInformation, error) {
   250  	return _Traderjoe.Contract.GetAllLBPairs(&_Traderjoe.CallOpts, tokenX, tokenY)
   251  }
   252  
   253  // GetFeeRecipient is a free data retrieval call binding the contract method 0x4ccb20c0.
   254  //
   255  // Solidity: function getFeeRecipient() view returns(address feeRecipient)
   256  func (_Traderjoe *TraderjoeCaller) GetFeeRecipient(opts *bind.CallOpts) (common.Address, error) {
   257  	var out []interface{}
   258  	err := _Traderjoe.contract.Call(opts, &out, "getFeeRecipient")
   259  
   260  	if err != nil {
   261  		return *new(common.Address), err
   262  	}
   263  
   264  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   265  
   266  	return out0, err
   267  
   268  }
   269  
   270  // GetFeeRecipient is a free data retrieval call binding the contract method 0x4ccb20c0.
   271  //
   272  // Solidity: function getFeeRecipient() view returns(address feeRecipient)
   273  func (_Traderjoe *TraderjoeSession) GetFeeRecipient() (common.Address, error) {
   274  	return _Traderjoe.Contract.GetFeeRecipient(&_Traderjoe.CallOpts)
   275  }
   276  
   277  // GetFeeRecipient is a free data retrieval call binding the contract method 0x4ccb20c0.
   278  //
   279  // Solidity: function getFeeRecipient() view returns(address feeRecipient)
   280  func (_Traderjoe *TraderjoeCallerSession) GetFeeRecipient() (common.Address, error) {
   281  	return _Traderjoe.Contract.GetFeeRecipient(&_Traderjoe.CallOpts)
   282  }
   283  
   284  // GetFlashLoanFee is a free data retrieval call binding the contract method 0xfd90c2be.
   285  //
   286  // Solidity: function getFlashLoanFee() view returns(uint256 flashLoanFee)
   287  func (_Traderjoe *TraderjoeCaller) GetFlashLoanFee(opts *bind.CallOpts) (*big.Int, error) {
   288  	var out []interface{}
   289  	err := _Traderjoe.contract.Call(opts, &out, "getFlashLoanFee")
   290  
   291  	if err != nil {
   292  		return *new(*big.Int), err
   293  	}
   294  
   295  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   296  
   297  	return out0, err
   298  
   299  }
   300  
   301  // GetFlashLoanFee is a free data retrieval call binding the contract method 0xfd90c2be.
   302  //
   303  // Solidity: function getFlashLoanFee() view returns(uint256 flashLoanFee)
   304  func (_Traderjoe *TraderjoeSession) GetFlashLoanFee() (*big.Int, error) {
   305  	return _Traderjoe.Contract.GetFlashLoanFee(&_Traderjoe.CallOpts)
   306  }
   307  
   308  // GetFlashLoanFee is a free data retrieval call binding the contract method 0xfd90c2be.
   309  //
   310  // Solidity: function getFlashLoanFee() view returns(uint256 flashLoanFee)
   311  func (_Traderjoe *TraderjoeCallerSession) GetFlashLoanFee() (*big.Int, error) {
   312  	return _Traderjoe.Contract.GetFlashLoanFee(&_Traderjoe.CallOpts)
   313  }
   314  
   315  // GetLBPairAtIndex is a free data retrieval call binding the contract method 0x7daf5d66.
   316  //
   317  // Solidity: function getLBPairAtIndex(uint256 index) view returns(address lbPair)
   318  func (_Traderjoe *TraderjoeCaller) GetLBPairAtIndex(opts *bind.CallOpts, index *big.Int) (common.Address, error) {
   319  	var out []interface{}
   320  	err := _Traderjoe.contract.Call(opts, &out, "getLBPairAtIndex", index)
   321  
   322  	if err != nil {
   323  		return *new(common.Address), err
   324  	}
   325  
   326  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   327  
   328  	return out0, err
   329  
   330  }
   331  
   332  // GetLBPairAtIndex is a free data retrieval call binding the contract method 0x7daf5d66.
   333  //
   334  // Solidity: function getLBPairAtIndex(uint256 index) view returns(address lbPair)
   335  func (_Traderjoe *TraderjoeSession) GetLBPairAtIndex(index *big.Int) (common.Address, error) {
   336  	return _Traderjoe.Contract.GetLBPairAtIndex(&_Traderjoe.CallOpts, index)
   337  }
   338  
   339  // GetLBPairAtIndex is a free data retrieval call binding the contract method 0x7daf5d66.
   340  //
   341  // Solidity: function getLBPairAtIndex(uint256 index) view returns(address lbPair)
   342  func (_Traderjoe *TraderjoeCallerSession) GetLBPairAtIndex(index *big.Int) (common.Address, error) {
   343  	return _Traderjoe.Contract.GetLBPairAtIndex(&_Traderjoe.CallOpts, index)
   344  }
   345  
   346  // GetLBPairImplementation is a free data retrieval call binding the contract method 0xaf371065.
   347  //
   348  // Solidity: function getLBPairImplementation() view returns(address lbPairImplementation)
   349  func (_Traderjoe *TraderjoeCaller) GetLBPairImplementation(opts *bind.CallOpts) (common.Address, error) {
   350  	var out []interface{}
   351  	err := _Traderjoe.contract.Call(opts, &out, "getLBPairImplementation")
   352  
   353  	if err != nil {
   354  		return *new(common.Address), err
   355  	}
   356  
   357  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   358  
   359  	return out0, err
   360  
   361  }
   362  
   363  // GetLBPairImplementation is a free data retrieval call binding the contract method 0xaf371065.
   364  //
   365  // Solidity: function getLBPairImplementation() view returns(address lbPairImplementation)
   366  func (_Traderjoe *TraderjoeSession) GetLBPairImplementation() (common.Address, error) {
   367  	return _Traderjoe.Contract.GetLBPairImplementation(&_Traderjoe.CallOpts)
   368  }
   369  
   370  // GetLBPairImplementation is a free data retrieval call binding the contract method 0xaf371065.
   371  //
   372  // Solidity: function getLBPairImplementation() view returns(address lbPairImplementation)
   373  func (_Traderjoe *TraderjoeCallerSession) GetLBPairImplementation() (common.Address, error) {
   374  	return _Traderjoe.Contract.GetLBPairImplementation(&_Traderjoe.CallOpts)
   375  }
   376  
   377  // GetLBPairInformation is a free data retrieval call binding the contract method 0x704037bd.
   378  //
   379  // Solidity: function getLBPairInformation(address tokenA, address tokenB, uint256 binStep) view returns((uint16,address,bool,bool) lbPairInformation)
   380  func (_Traderjoe *TraderjoeCaller) GetLBPairInformation(opts *bind.CallOpts, tokenA common.Address, tokenB common.Address, binStep *big.Int) (ILBFactoryLBPairInformation, error) {
   381  	var out []interface{}
   382  	err := _Traderjoe.contract.Call(opts, &out, "getLBPairInformation", tokenA, tokenB, binStep)
   383  
   384  	if err != nil {
   385  		return *new(ILBFactoryLBPairInformation), err
   386  	}
   387  
   388  	out0 := *abi.ConvertType(out[0], new(ILBFactoryLBPairInformation)).(*ILBFactoryLBPairInformation)
   389  
   390  	return out0, err
   391  
   392  }
   393  
   394  // GetLBPairInformation is a free data retrieval call binding the contract method 0x704037bd.
   395  //
   396  // Solidity: function getLBPairInformation(address tokenA, address tokenB, uint256 binStep) view returns((uint16,address,bool,bool) lbPairInformation)
   397  func (_Traderjoe *TraderjoeSession) GetLBPairInformation(tokenA common.Address, tokenB common.Address, binStep *big.Int) (ILBFactoryLBPairInformation, error) {
   398  	return _Traderjoe.Contract.GetLBPairInformation(&_Traderjoe.CallOpts, tokenA, tokenB, binStep)
   399  }
   400  
   401  // GetLBPairInformation is a free data retrieval call binding the contract method 0x704037bd.
   402  //
   403  // Solidity: function getLBPairInformation(address tokenA, address tokenB, uint256 binStep) view returns((uint16,address,bool,bool) lbPairInformation)
   404  func (_Traderjoe *TraderjoeCallerSession) GetLBPairInformation(tokenA common.Address, tokenB common.Address, binStep *big.Int) (ILBFactoryLBPairInformation, error) {
   405  	return _Traderjoe.Contract.GetLBPairInformation(&_Traderjoe.CallOpts, tokenA, tokenB, binStep)
   406  }
   407  
   408  // GetMaxFlashLoanFee is a free data retrieval call binding the contract method 0x8ce9aa1c.
   409  //
   410  // Solidity: function getMaxFlashLoanFee() pure returns(uint256 maxFee)
   411  func (_Traderjoe *TraderjoeCaller) GetMaxFlashLoanFee(opts *bind.CallOpts) (*big.Int, error) {
   412  	var out []interface{}
   413  	err := _Traderjoe.contract.Call(opts, &out, "getMaxFlashLoanFee")
   414  
   415  	if err != nil {
   416  		return *new(*big.Int), err
   417  	}
   418  
   419  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   420  
   421  	return out0, err
   422  
   423  }
   424  
   425  // GetMaxFlashLoanFee is a free data retrieval call binding the contract method 0x8ce9aa1c.
   426  //
   427  // Solidity: function getMaxFlashLoanFee() pure returns(uint256 maxFee)
   428  func (_Traderjoe *TraderjoeSession) GetMaxFlashLoanFee() (*big.Int, error) {
   429  	return _Traderjoe.Contract.GetMaxFlashLoanFee(&_Traderjoe.CallOpts)
   430  }
   431  
   432  // GetMaxFlashLoanFee is a free data retrieval call binding the contract method 0x8ce9aa1c.
   433  //
   434  // Solidity: function getMaxFlashLoanFee() pure returns(uint256 maxFee)
   435  func (_Traderjoe *TraderjoeCallerSession) GetMaxFlashLoanFee() (*big.Int, error) {
   436  	return _Traderjoe.Contract.GetMaxFlashLoanFee(&_Traderjoe.CallOpts)
   437  }
   438  
   439  // GetMinBinStep is a free data retrieval call binding the contract method 0x701ab8c1.
   440  //
   441  // Solidity: function getMinBinStep() pure returns(uint256 minBinStep)
   442  func (_Traderjoe *TraderjoeCaller) GetMinBinStep(opts *bind.CallOpts) (*big.Int, error) {
   443  	var out []interface{}
   444  	err := _Traderjoe.contract.Call(opts, &out, "getMinBinStep")
   445  
   446  	if err != nil {
   447  		return *new(*big.Int), err
   448  	}
   449  
   450  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   451  
   452  	return out0, err
   453  
   454  }
   455  
   456  // GetMinBinStep is a free data retrieval call binding the contract method 0x701ab8c1.
   457  //
   458  // Solidity: function getMinBinStep() pure returns(uint256 minBinStep)
   459  func (_Traderjoe *TraderjoeSession) GetMinBinStep() (*big.Int, error) {
   460  	return _Traderjoe.Contract.GetMinBinStep(&_Traderjoe.CallOpts)
   461  }
   462  
   463  // GetMinBinStep is a free data retrieval call binding the contract method 0x701ab8c1.
   464  //
   465  // Solidity: function getMinBinStep() pure returns(uint256 minBinStep)
   466  func (_Traderjoe *TraderjoeCallerSession) GetMinBinStep() (*big.Int, error) {
   467  	return _Traderjoe.Contract.GetMinBinStep(&_Traderjoe.CallOpts)
   468  }
   469  
   470  // GetNumberOfLBPairs is a free data retrieval call binding the contract method 0x4e937c3a.
   471  //
   472  // Solidity: function getNumberOfLBPairs() view returns(uint256 lbPairNumber)
   473  func (_Traderjoe *TraderjoeCaller) GetNumberOfLBPairs(opts *bind.CallOpts) (*big.Int, error) {
   474  	var out []interface{}
   475  	err := _Traderjoe.contract.Call(opts, &out, "getNumberOfLBPairs")
   476  
   477  	if err != nil {
   478  		return *new(*big.Int), err
   479  	}
   480  
   481  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   482  
   483  	return out0, err
   484  
   485  }
   486  
   487  // GetNumberOfLBPairs is a free data retrieval call binding the contract method 0x4e937c3a.
   488  //
   489  // Solidity: function getNumberOfLBPairs() view returns(uint256 lbPairNumber)
   490  func (_Traderjoe *TraderjoeSession) GetNumberOfLBPairs() (*big.Int, error) {
   491  	return _Traderjoe.Contract.GetNumberOfLBPairs(&_Traderjoe.CallOpts)
   492  }
   493  
   494  // GetNumberOfLBPairs is a free data retrieval call binding the contract method 0x4e937c3a.
   495  //
   496  // Solidity: function getNumberOfLBPairs() view returns(uint256 lbPairNumber)
   497  func (_Traderjoe *TraderjoeCallerSession) GetNumberOfLBPairs() (*big.Int, error) {
   498  	return _Traderjoe.Contract.GetNumberOfLBPairs(&_Traderjoe.CallOpts)
   499  }
   500  
   501  // GetNumberOfQuoteAssets is a free data retrieval call binding the contract method 0x80c5061e.
   502  //
   503  // Solidity: function getNumberOfQuoteAssets() view returns(uint256 numberOfQuoteAssets)
   504  func (_Traderjoe *TraderjoeCaller) GetNumberOfQuoteAssets(opts *bind.CallOpts) (*big.Int, error) {
   505  	var out []interface{}
   506  	err := _Traderjoe.contract.Call(opts, &out, "getNumberOfQuoteAssets")
   507  
   508  	if err != nil {
   509  		return *new(*big.Int), err
   510  	}
   511  
   512  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   513  
   514  	return out0, err
   515  
   516  }
   517  
   518  // GetNumberOfQuoteAssets is a free data retrieval call binding the contract method 0x80c5061e.
   519  //
   520  // Solidity: function getNumberOfQuoteAssets() view returns(uint256 numberOfQuoteAssets)
   521  func (_Traderjoe *TraderjoeSession) GetNumberOfQuoteAssets() (*big.Int, error) {
   522  	return _Traderjoe.Contract.GetNumberOfQuoteAssets(&_Traderjoe.CallOpts)
   523  }
   524  
   525  // GetNumberOfQuoteAssets is a free data retrieval call binding the contract method 0x80c5061e.
   526  //
   527  // Solidity: function getNumberOfQuoteAssets() view returns(uint256 numberOfQuoteAssets)
   528  func (_Traderjoe *TraderjoeCallerSession) GetNumberOfQuoteAssets() (*big.Int, error) {
   529  	return _Traderjoe.Contract.GetNumberOfQuoteAssets(&_Traderjoe.CallOpts)
   530  }
   531  
   532  // GetOpenBinSteps is a free data retrieval call binding the contract method 0x0282c9c1.
   533  //
   534  // Solidity: function getOpenBinSteps() view returns(uint256[] openBinStep)
   535  func (_Traderjoe *TraderjoeCaller) GetOpenBinSteps(opts *bind.CallOpts) ([]*big.Int, error) {
   536  	var out []interface{}
   537  	err := _Traderjoe.contract.Call(opts, &out, "getOpenBinSteps")
   538  
   539  	if err != nil {
   540  		return *new([]*big.Int), err
   541  	}
   542  
   543  	out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int)
   544  
   545  	return out0, err
   546  
   547  }
   548  
   549  // GetOpenBinSteps is a free data retrieval call binding the contract method 0x0282c9c1.
   550  //
   551  // Solidity: function getOpenBinSteps() view returns(uint256[] openBinStep)
   552  func (_Traderjoe *TraderjoeSession) GetOpenBinSteps() ([]*big.Int, error) {
   553  	return _Traderjoe.Contract.GetOpenBinSteps(&_Traderjoe.CallOpts)
   554  }
   555  
   556  // GetOpenBinSteps is a free data retrieval call binding the contract method 0x0282c9c1.
   557  //
   558  // Solidity: function getOpenBinSteps() view returns(uint256[] openBinStep)
   559  func (_Traderjoe *TraderjoeCallerSession) GetOpenBinSteps() ([]*big.Int, error) {
   560  	return _Traderjoe.Contract.GetOpenBinSteps(&_Traderjoe.CallOpts)
   561  }
   562  
   563  // GetPreset is a free data retrieval call binding the contract method 0xaabc4b3c.
   564  //
   565  // Solidity: function getPreset(uint256 binStep) view returns(uint256 baseFactor, uint256 filterPeriod, uint256 decayPeriod, uint256 reductionFactor, uint256 variableFeeControl, uint256 protocolShare, uint256 maxVolatilityAccumulator, bool isOpen)
   566  func (_Traderjoe *TraderjoeCaller) GetPreset(opts *bind.CallOpts, binStep *big.Int) (struct {
   567  	BaseFactor               *big.Int
   568  	FilterPeriod             *big.Int
   569  	DecayPeriod              *big.Int
   570  	ReductionFactor          *big.Int
   571  	VariableFeeControl       *big.Int
   572  	ProtocolShare            *big.Int
   573  	MaxVolatilityAccumulator *big.Int
   574  	IsOpen                   bool
   575  }, error) {
   576  	var out []interface{}
   577  	err := _Traderjoe.contract.Call(opts, &out, "getPreset", binStep)
   578  
   579  	outstruct := new(struct {
   580  		BaseFactor               *big.Int
   581  		FilterPeriod             *big.Int
   582  		DecayPeriod              *big.Int
   583  		ReductionFactor          *big.Int
   584  		VariableFeeControl       *big.Int
   585  		ProtocolShare            *big.Int
   586  		MaxVolatilityAccumulator *big.Int
   587  		IsOpen                   bool
   588  	})
   589  	if err != nil {
   590  		return *outstruct, err
   591  	}
   592  
   593  	outstruct.BaseFactor = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   594  	outstruct.FilterPeriod = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int)
   595  	outstruct.DecayPeriod = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int)
   596  	outstruct.ReductionFactor = *abi.ConvertType(out[3], new(*big.Int)).(**big.Int)
   597  	outstruct.VariableFeeControl = *abi.ConvertType(out[4], new(*big.Int)).(**big.Int)
   598  	outstruct.ProtocolShare = *abi.ConvertType(out[5], new(*big.Int)).(**big.Int)
   599  	outstruct.MaxVolatilityAccumulator = *abi.ConvertType(out[6], new(*big.Int)).(**big.Int)
   600  	outstruct.IsOpen = *abi.ConvertType(out[7], new(bool)).(*bool)
   601  
   602  	return *outstruct, err
   603  
   604  }
   605  
   606  // GetPreset is a free data retrieval call binding the contract method 0xaabc4b3c.
   607  //
   608  // Solidity: function getPreset(uint256 binStep) view returns(uint256 baseFactor, uint256 filterPeriod, uint256 decayPeriod, uint256 reductionFactor, uint256 variableFeeControl, uint256 protocolShare, uint256 maxVolatilityAccumulator, bool isOpen)
   609  func (_Traderjoe *TraderjoeSession) GetPreset(binStep *big.Int) (struct {
   610  	BaseFactor               *big.Int
   611  	FilterPeriod             *big.Int
   612  	DecayPeriod              *big.Int
   613  	ReductionFactor          *big.Int
   614  	VariableFeeControl       *big.Int
   615  	ProtocolShare            *big.Int
   616  	MaxVolatilityAccumulator *big.Int
   617  	IsOpen                   bool
   618  }, error) {
   619  	return _Traderjoe.Contract.GetPreset(&_Traderjoe.CallOpts, binStep)
   620  }
   621  
   622  // GetPreset is a free data retrieval call binding the contract method 0xaabc4b3c.
   623  //
   624  // Solidity: function getPreset(uint256 binStep) view returns(uint256 baseFactor, uint256 filterPeriod, uint256 decayPeriod, uint256 reductionFactor, uint256 variableFeeControl, uint256 protocolShare, uint256 maxVolatilityAccumulator, bool isOpen)
   625  func (_Traderjoe *TraderjoeCallerSession) GetPreset(binStep *big.Int) (struct {
   626  	BaseFactor               *big.Int
   627  	FilterPeriod             *big.Int
   628  	DecayPeriod              *big.Int
   629  	ReductionFactor          *big.Int
   630  	VariableFeeControl       *big.Int
   631  	ProtocolShare            *big.Int
   632  	MaxVolatilityAccumulator *big.Int
   633  	IsOpen                   bool
   634  }, error) {
   635  	return _Traderjoe.Contract.GetPreset(&_Traderjoe.CallOpts, binStep)
   636  }
   637  
   638  // GetQuoteAssetAtIndex is a free data retrieval call binding the contract method 0x0752092b.
   639  //
   640  // Solidity: function getQuoteAssetAtIndex(uint256 index) view returns(address asset)
   641  func (_Traderjoe *TraderjoeCaller) GetQuoteAssetAtIndex(opts *bind.CallOpts, index *big.Int) (common.Address, error) {
   642  	var out []interface{}
   643  	err := _Traderjoe.contract.Call(opts, &out, "getQuoteAssetAtIndex", index)
   644  
   645  	if err != nil {
   646  		return *new(common.Address), err
   647  	}
   648  
   649  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   650  
   651  	return out0, err
   652  
   653  }
   654  
   655  // GetQuoteAssetAtIndex is a free data retrieval call binding the contract method 0x0752092b.
   656  //
   657  // Solidity: function getQuoteAssetAtIndex(uint256 index) view returns(address asset)
   658  func (_Traderjoe *TraderjoeSession) GetQuoteAssetAtIndex(index *big.Int) (common.Address, error) {
   659  	return _Traderjoe.Contract.GetQuoteAssetAtIndex(&_Traderjoe.CallOpts, index)
   660  }
   661  
   662  // GetQuoteAssetAtIndex is a free data retrieval call binding the contract method 0x0752092b.
   663  //
   664  // Solidity: function getQuoteAssetAtIndex(uint256 index) view returns(address asset)
   665  func (_Traderjoe *TraderjoeCallerSession) GetQuoteAssetAtIndex(index *big.Int) (common.Address, error) {
   666  	return _Traderjoe.Contract.GetQuoteAssetAtIndex(&_Traderjoe.CallOpts, index)
   667  }
   668  
   669  // IsQuoteAsset is a free data retrieval call binding the contract method 0x27721842.
   670  //
   671  // Solidity: function isQuoteAsset(address token) view returns(bool isQuote)
   672  func (_Traderjoe *TraderjoeCaller) IsQuoteAsset(opts *bind.CallOpts, token common.Address) (bool, error) {
   673  	var out []interface{}
   674  	err := _Traderjoe.contract.Call(opts, &out, "isQuoteAsset", token)
   675  
   676  	if err != nil {
   677  		return *new(bool), err
   678  	}
   679  
   680  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   681  
   682  	return out0, err
   683  
   684  }
   685  
   686  // IsQuoteAsset is a free data retrieval call binding the contract method 0x27721842.
   687  //
   688  // Solidity: function isQuoteAsset(address token) view returns(bool isQuote)
   689  func (_Traderjoe *TraderjoeSession) IsQuoteAsset(token common.Address) (bool, error) {
   690  	return _Traderjoe.Contract.IsQuoteAsset(&_Traderjoe.CallOpts, token)
   691  }
   692  
   693  // IsQuoteAsset is a free data retrieval call binding the contract method 0x27721842.
   694  //
   695  // Solidity: function isQuoteAsset(address token) view returns(bool isQuote)
   696  func (_Traderjoe *TraderjoeCallerSession) IsQuoteAsset(token common.Address) (bool, error) {
   697  	return _Traderjoe.Contract.IsQuoteAsset(&_Traderjoe.CallOpts, token)
   698  }
   699  
   700  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   701  //
   702  // Solidity: function owner() view returns(address)
   703  func (_Traderjoe *TraderjoeCaller) Owner(opts *bind.CallOpts) (common.Address, error) {
   704  	var out []interface{}
   705  	err := _Traderjoe.contract.Call(opts, &out, "owner")
   706  
   707  	if err != nil {
   708  		return *new(common.Address), err
   709  	}
   710  
   711  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   712  
   713  	return out0, err
   714  
   715  }
   716  
   717  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   718  //
   719  // Solidity: function owner() view returns(address)
   720  func (_Traderjoe *TraderjoeSession) Owner() (common.Address, error) {
   721  	return _Traderjoe.Contract.Owner(&_Traderjoe.CallOpts)
   722  }
   723  
   724  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   725  //
   726  // Solidity: function owner() view returns(address)
   727  func (_Traderjoe *TraderjoeCallerSession) Owner() (common.Address, error) {
   728  	return _Traderjoe.Contract.Owner(&_Traderjoe.CallOpts)
   729  }
   730  
   731  // PendingOwner is a free data retrieval call binding the contract method 0xe30c3978.
   732  //
   733  // Solidity: function pendingOwner() view returns(address)
   734  func (_Traderjoe *TraderjoeCaller) PendingOwner(opts *bind.CallOpts) (common.Address, error) {
   735  	var out []interface{}
   736  	err := _Traderjoe.contract.Call(opts, &out, "pendingOwner")
   737  
   738  	if err != nil {
   739  		return *new(common.Address), err
   740  	}
   741  
   742  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   743  
   744  	return out0, err
   745  
   746  }
   747  
   748  // PendingOwner is a free data retrieval call binding the contract method 0xe30c3978.
   749  //
   750  // Solidity: function pendingOwner() view returns(address)
   751  func (_Traderjoe *TraderjoeSession) PendingOwner() (common.Address, error) {
   752  	return _Traderjoe.Contract.PendingOwner(&_Traderjoe.CallOpts)
   753  }
   754  
   755  // PendingOwner is a free data retrieval call binding the contract method 0xe30c3978.
   756  //
   757  // Solidity: function pendingOwner() view returns(address)
   758  func (_Traderjoe *TraderjoeCallerSession) PendingOwner() (common.Address, error) {
   759  	return _Traderjoe.Contract.PendingOwner(&_Traderjoe.CallOpts)
   760  }
   761  
   762  // AddQuoteAsset is a paid mutator transaction binding the contract method 0x5a440923.
   763  //
   764  // Solidity: function addQuoteAsset(address quoteAsset) returns()
   765  func (_Traderjoe *TraderjoeTransactor) AddQuoteAsset(opts *bind.TransactOpts, quoteAsset common.Address) (*types.Transaction, error) {
   766  	return _Traderjoe.contract.Transact(opts, "addQuoteAsset", quoteAsset)
   767  }
   768  
   769  // AddQuoteAsset is a paid mutator transaction binding the contract method 0x5a440923.
   770  //
   771  // Solidity: function addQuoteAsset(address quoteAsset) returns()
   772  func (_Traderjoe *TraderjoeSession) AddQuoteAsset(quoteAsset common.Address) (*types.Transaction, error) {
   773  	return _Traderjoe.Contract.AddQuoteAsset(&_Traderjoe.TransactOpts, quoteAsset)
   774  }
   775  
   776  // AddQuoteAsset is a paid mutator transaction binding the contract method 0x5a440923.
   777  //
   778  // Solidity: function addQuoteAsset(address quoteAsset) returns()
   779  func (_Traderjoe *TraderjoeTransactorSession) AddQuoteAsset(quoteAsset common.Address) (*types.Transaction, error) {
   780  	return _Traderjoe.Contract.AddQuoteAsset(&_Traderjoe.TransactOpts, quoteAsset)
   781  }
   782  
   783  // BecomeOwner is a paid mutator transaction binding the contract method 0xf9dca989.
   784  //
   785  // Solidity: function becomeOwner() returns()
   786  func (_Traderjoe *TraderjoeTransactor) BecomeOwner(opts *bind.TransactOpts) (*types.Transaction, error) {
   787  	return _Traderjoe.contract.Transact(opts, "becomeOwner")
   788  }
   789  
   790  // BecomeOwner is a paid mutator transaction binding the contract method 0xf9dca989.
   791  //
   792  // Solidity: function becomeOwner() returns()
   793  func (_Traderjoe *TraderjoeSession) BecomeOwner() (*types.Transaction, error) {
   794  	return _Traderjoe.Contract.BecomeOwner(&_Traderjoe.TransactOpts)
   795  }
   796  
   797  // BecomeOwner is a paid mutator transaction binding the contract method 0xf9dca989.
   798  //
   799  // Solidity: function becomeOwner() returns()
   800  func (_Traderjoe *TraderjoeTransactorSession) BecomeOwner() (*types.Transaction, error) {
   801  	return _Traderjoe.Contract.BecomeOwner(&_Traderjoe.TransactOpts)
   802  }
   803  
   804  // CreateLBPair is a paid mutator transaction binding the contract method 0x659ac74b.
   805  //
   806  // Solidity: function createLBPair(address tokenX, address tokenY, uint24 activeId, uint16 binStep) returns(address pair)
   807  func (_Traderjoe *TraderjoeTransactor) CreateLBPair(opts *bind.TransactOpts, tokenX common.Address, tokenY common.Address, activeId *big.Int, binStep uint16) (*types.Transaction, error) {
   808  	return _Traderjoe.contract.Transact(opts, "createLBPair", tokenX, tokenY, activeId, binStep)
   809  }
   810  
   811  // CreateLBPair is a paid mutator transaction binding the contract method 0x659ac74b.
   812  //
   813  // Solidity: function createLBPair(address tokenX, address tokenY, uint24 activeId, uint16 binStep) returns(address pair)
   814  func (_Traderjoe *TraderjoeSession) CreateLBPair(tokenX common.Address, tokenY common.Address, activeId *big.Int, binStep uint16) (*types.Transaction, error) {
   815  	return _Traderjoe.Contract.CreateLBPair(&_Traderjoe.TransactOpts, tokenX, tokenY, activeId, binStep)
   816  }
   817  
   818  // CreateLBPair is a paid mutator transaction binding the contract method 0x659ac74b.
   819  //
   820  // Solidity: function createLBPair(address tokenX, address tokenY, uint24 activeId, uint16 binStep) returns(address pair)
   821  func (_Traderjoe *TraderjoeTransactorSession) CreateLBPair(tokenX common.Address, tokenY common.Address, activeId *big.Int, binStep uint16) (*types.Transaction, error) {
   822  	return _Traderjoe.Contract.CreateLBPair(&_Traderjoe.TransactOpts, tokenX, tokenY, activeId, binStep)
   823  }
   824  
   825  // ForceDecay is a paid mutator transaction binding the contract method 0x3c78a941.
   826  //
   827  // Solidity: function forceDecay(address pair) returns()
   828  func (_Traderjoe *TraderjoeTransactor) ForceDecay(opts *bind.TransactOpts, pair common.Address) (*types.Transaction, error) {
   829  	return _Traderjoe.contract.Transact(opts, "forceDecay", pair)
   830  }
   831  
   832  // ForceDecay is a paid mutator transaction binding the contract method 0x3c78a941.
   833  //
   834  // Solidity: function forceDecay(address pair) returns()
   835  func (_Traderjoe *TraderjoeSession) ForceDecay(pair common.Address) (*types.Transaction, error) {
   836  	return _Traderjoe.Contract.ForceDecay(&_Traderjoe.TransactOpts, pair)
   837  }
   838  
   839  // ForceDecay is a paid mutator transaction binding the contract method 0x3c78a941.
   840  //
   841  // Solidity: function forceDecay(address pair) returns()
   842  func (_Traderjoe *TraderjoeTransactorSession) ForceDecay(pair common.Address) (*types.Transaction, error) {
   843  	return _Traderjoe.Contract.ForceDecay(&_Traderjoe.TransactOpts, pair)
   844  }
   845  
   846  // RemovePreset is a paid mutator transaction binding the contract method 0xe203a31f.
   847  //
   848  // Solidity: function removePreset(uint16 binStep) returns()
   849  func (_Traderjoe *TraderjoeTransactor) RemovePreset(opts *bind.TransactOpts, binStep uint16) (*types.Transaction, error) {
   850  	return _Traderjoe.contract.Transact(opts, "removePreset", binStep)
   851  }
   852  
   853  // RemovePreset is a paid mutator transaction binding the contract method 0xe203a31f.
   854  //
   855  // Solidity: function removePreset(uint16 binStep) returns()
   856  func (_Traderjoe *TraderjoeSession) RemovePreset(binStep uint16) (*types.Transaction, error) {
   857  	return _Traderjoe.Contract.RemovePreset(&_Traderjoe.TransactOpts, binStep)
   858  }
   859  
   860  // RemovePreset is a paid mutator transaction binding the contract method 0xe203a31f.
   861  //
   862  // Solidity: function removePreset(uint16 binStep) returns()
   863  func (_Traderjoe *TraderjoeTransactorSession) RemovePreset(binStep uint16) (*types.Transaction, error) {
   864  	return _Traderjoe.Contract.RemovePreset(&_Traderjoe.TransactOpts, binStep)
   865  }
   866  
   867  // RemoveQuoteAsset is a paid mutator transaction binding the contract method 0xddbfd941.
   868  //
   869  // Solidity: function removeQuoteAsset(address quoteAsset) returns()
   870  func (_Traderjoe *TraderjoeTransactor) RemoveQuoteAsset(opts *bind.TransactOpts, quoteAsset common.Address) (*types.Transaction, error) {
   871  	return _Traderjoe.contract.Transact(opts, "removeQuoteAsset", quoteAsset)
   872  }
   873  
   874  // RemoveQuoteAsset is a paid mutator transaction binding the contract method 0xddbfd941.
   875  //
   876  // Solidity: function removeQuoteAsset(address quoteAsset) returns()
   877  func (_Traderjoe *TraderjoeSession) RemoveQuoteAsset(quoteAsset common.Address) (*types.Transaction, error) {
   878  	return _Traderjoe.Contract.RemoveQuoteAsset(&_Traderjoe.TransactOpts, quoteAsset)
   879  }
   880  
   881  // RemoveQuoteAsset is a paid mutator transaction binding the contract method 0xddbfd941.
   882  //
   883  // Solidity: function removeQuoteAsset(address quoteAsset) returns()
   884  func (_Traderjoe *TraderjoeTransactorSession) RemoveQuoteAsset(quoteAsset common.Address) (*types.Transaction, error) {
   885  	return _Traderjoe.Contract.RemoveQuoteAsset(&_Traderjoe.TransactOpts, quoteAsset)
   886  }
   887  
   888  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
   889  //
   890  // Solidity: function renounceOwnership() returns()
   891  func (_Traderjoe *TraderjoeTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) {
   892  	return _Traderjoe.contract.Transact(opts, "renounceOwnership")
   893  }
   894  
   895  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
   896  //
   897  // Solidity: function renounceOwnership() returns()
   898  func (_Traderjoe *TraderjoeSession) RenounceOwnership() (*types.Transaction, error) {
   899  	return _Traderjoe.Contract.RenounceOwnership(&_Traderjoe.TransactOpts)
   900  }
   901  
   902  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
   903  //
   904  // Solidity: function renounceOwnership() returns()
   905  func (_Traderjoe *TraderjoeTransactorSession) RenounceOwnership() (*types.Transaction, error) {
   906  	return _Traderjoe.Contract.RenounceOwnership(&_Traderjoe.TransactOpts)
   907  }
   908  
   909  // RevokePendingOwner is a paid mutator transaction binding the contract method 0x67ab8a4e.
   910  //
   911  // Solidity: function revokePendingOwner() returns()
   912  func (_Traderjoe *TraderjoeTransactor) RevokePendingOwner(opts *bind.TransactOpts) (*types.Transaction, error) {
   913  	return _Traderjoe.contract.Transact(opts, "revokePendingOwner")
   914  }
   915  
   916  // RevokePendingOwner is a paid mutator transaction binding the contract method 0x67ab8a4e.
   917  //
   918  // Solidity: function revokePendingOwner() returns()
   919  func (_Traderjoe *TraderjoeSession) RevokePendingOwner() (*types.Transaction, error) {
   920  	return _Traderjoe.Contract.RevokePendingOwner(&_Traderjoe.TransactOpts)
   921  }
   922  
   923  // RevokePendingOwner is a paid mutator transaction binding the contract method 0x67ab8a4e.
   924  //
   925  // Solidity: function revokePendingOwner() returns()
   926  func (_Traderjoe *TraderjoeTransactorSession) RevokePendingOwner() (*types.Transaction, error) {
   927  	return _Traderjoe.Contract.RevokePendingOwner(&_Traderjoe.TransactOpts)
   928  }
   929  
   930  // SetFeeRecipient is a paid mutator transaction binding the contract method 0xe74b981b.
   931  //
   932  // Solidity: function setFeeRecipient(address feeRecipient) returns()
   933  func (_Traderjoe *TraderjoeTransactor) SetFeeRecipient(opts *bind.TransactOpts, feeRecipient common.Address) (*types.Transaction, error) {
   934  	return _Traderjoe.contract.Transact(opts, "setFeeRecipient", feeRecipient)
   935  }
   936  
   937  // SetFeeRecipient is a paid mutator transaction binding the contract method 0xe74b981b.
   938  //
   939  // Solidity: function setFeeRecipient(address feeRecipient) returns()
   940  func (_Traderjoe *TraderjoeSession) SetFeeRecipient(feeRecipient common.Address) (*types.Transaction, error) {
   941  	return _Traderjoe.Contract.SetFeeRecipient(&_Traderjoe.TransactOpts, feeRecipient)
   942  }
   943  
   944  // SetFeeRecipient is a paid mutator transaction binding the contract method 0xe74b981b.
   945  //
   946  // Solidity: function setFeeRecipient(address feeRecipient) returns()
   947  func (_Traderjoe *TraderjoeTransactorSession) SetFeeRecipient(feeRecipient common.Address) (*types.Transaction, error) {
   948  	return _Traderjoe.Contract.SetFeeRecipient(&_Traderjoe.TransactOpts, feeRecipient)
   949  }
   950  
   951  // SetFeesParametersOnPair is a paid mutator transaction binding the contract method 0x093ff769.
   952  //
   953  // Solidity: function setFeesParametersOnPair(address tokenX, address tokenY, uint16 binStep, uint16 baseFactor, uint16 filterPeriod, uint16 decayPeriod, uint16 reductionFactor, uint24 variableFeeControl, uint16 protocolShare, uint24 maxVolatilityAccumulator) returns()
   954  func (_Traderjoe *TraderjoeTransactor) SetFeesParametersOnPair(opts *bind.TransactOpts, tokenX common.Address, tokenY common.Address, binStep uint16, baseFactor uint16, filterPeriod uint16, decayPeriod uint16, reductionFactor uint16, variableFeeControl *big.Int, protocolShare uint16, maxVolatilityAccumulator *big.Int) (*types.Transaction, error) {
   955  	return _Traderjoe.contract.Transact(opts, "setFeesParametersOnPair", tokenX, tokenY, binStep, baseFactor, filterPeriod, decayPeriod, reductionFactor, variableFeeControl, protocolShare, maxVolatilityAccumulator)
   956  }
   957  
   958  // SetFeesParametersOnPair is a paid mutator transaction binding the contract method 0x093ff769.
   959  //
   960  // Solidity: function setFeesParametersOnPair(address tokenX, address tokenY, uint16 binStep, uint16 baseFactor, uint16 filterPeriod, uint16 decayPeriod, uint16 reductionFactor, uint24 variableFeeControl, uint16 protocolShare, uint24 maxVolatilityAccumulator) returns()
   961  func (_Traderjoe *TraderjoeSession) SetFeesParametersOnPair(tokenX common.Address, tokenY common.Address, binStep uint16, baseFactor uint16, filterPeriod uint16, decayPeriod uint16, reductionFactor uint16, variableFeeControl *big.Int, protocolShare uint16, maxVolatilityAccumulator *big.Int) (*types.Transaction, error) {
   962  	return _Traderjoe.Contract.SetFeesParametersOnPair(&_Traderjoe.TransactOpts, tokenX, tokenY, binStep, baseFactor, filterPeriod, decayPeriod, reductionFactor, variableFeeControl, protocolShare, maxVolatilityAccumulator)
   963  }
   964  
   965  // SetFeesParametersOnPair is a paid mutator transaction binding the contract method 0x093ff769.
   966  //
   967  // Solidity: function setFeesParametersOnPair(address tokenX, address tokenY, uint16 binStep, uint16 baseFactor, uint16 filterPeriod, uint16 decayPeriod, uint16 reductionFactor, uint24 variableFeeControl, uint16 protocolShare, uint24 maxVolatilityAccumulator) returns()
   968  func (_Traderjoe *TraderjoeTransactorSession) SetFeesParametersOnPair(tokenX common.Address, tokenY common.Address, binStep uint16, baseFactor uint16, filterPeriod uint16, decayPeriod uint16, reductionFactor uint16, variableFeeControl *big.Int, protocolShare uint16, maxVolatilityAccumulator *big.Int) (*types.Transaction, error) {
   969  	return _Traderjoe.Contract.SetFeesParametersOnPair(&_Traderjoe.TransactOpts, tokenX, tokenY, binStep, baseFactor, filterPeriod, decayPeriod, reductionFactor, variableFeeControl, protocolShare, maxVolatilityAccumulator)
   970  }
   971  
   972  // SetFlashLoanFee is a paid mutator transaction binding the contract method 0xe92d0d5d.
   973  //
   974  // Solidity: function setFlashLoanFee(uint256 flashLoanFee) returns()
   975  func (_Traderjoe *TraderjoeTransactor) SetFlashLoanFee(opts *bind.TransactOpts, flashLoanFee *big.Int) (*types.Transaction, error) {
   976  	return _Traderjoe.contract.Transact(opts, "setFlashLoanFee", flashLoanFee)
   977  }
   978  
   979  // SetFlashLoanFee is a paid mutator transaction binding the contract method 0xe92d0d5d.
   980  //
   981  // Solidity: function setFlashLoanFee(uint256 flashLoanFee) returns()
   982  func (_Traderjoe *TraderjoeSession) SetFlashLoanFee(flashLoanFee *big.Int) (*types.Transaction, error) {
   983  	return _Traderjoe.Contract.SetFlashLoanFee(&_Traderjoe.TransactOpts, flashLoanFee)
   984  }
   985  
   986  // SetFlashLoanFee is a paid mutator transaction binding the contract method 0xe92d0d5d.
   987  //
   988  // Solidity: function setFlashLoanFee(uint256 flashLoanFee) returns()
   989  func (_Traderjoe *TraderjoeTransactorSession) SetFlashLoanFee(flashLoanFee *big.Int) (*types.Transaction, error) {
   990  	return _Traderjoe.Contract.SetFlashLoanFee(&_Traderjoe.TransactOpts, flashLoanFee)
   991  }
   992  
   993  // SetLBPairIgnored is a paid mutator transaction binding the contract method 0x69d56ea3.
   994  //
   995  // Solidity: function setLBPairIgnored(address tokenX, address tokenY, uint16 binStep, bool ignored) returns()
   996  func (_Traderjoe *TraderjoeTransactor) SetLBPairIgnored(opts *bind.TransactOpts, tokenX common.Address, tokenY common.Address, binStep uint16, ignored bool) (*types.Transaction, error) {
   997  	return _Traderjoe.contract.Transact(opts, "setLBPairIgnored", tokenX, tokenY, binStep, ignored)
   998  }
   999  
  1000  // SetLBPairIgnored is a paid mutator transaction binding the contract method 0x69d56ea3.
  1001  //
  1002  // Solidity: function setLBPairIgnored(address tokenX, address tokenY, uint16 binStep, bool ignored) returns()
  1003  func (_Traderjoe *TraderjoeSession) SetLBPairIgnored(tokenX common.Address, tokenY common.Address, binStep uint16, ignored bool) (*types.Transaction, error) {
  1004  	return _Traderjoe.Contract.SetLBPairIgnored(&_Traderjoe.TransactOpts, tokenX, tokenY, binStep, ignored)
  1005  }
  1006  
  1007  // SetLBPairIgnored is a paid mutator transaction binding the contract method 0x69d56ea3.
  1008  //
  1009  // Solidity: function setLBPairIgnored(address tokenX, address tokenY, uint16 binStep, bool ignored) returns()
  1010  func (_Traderjoe *TraderjoeTransactorSession) SetLBPairIgnored(tokenX common.Address, tokenY common.Address, binStep uint16, ignored bool) (*types.Transaction, error) {
  1011  	return _Traderjoe.Contract.SetLBPairIgnored(&_Traderjoe.TransactOpts, tokenX, tokenY, binStep, ignored)
  1012  }
  1013  
  1014  // SetLBPairImplementation is a paid mutator transaction binding the contract method 0xb0384781.
  1015  //
  1016  // Solidity: function setLBPairImplementation(address newLBPairImplementation) returns()
  1017  func (_Traderjoe *TraderjoeTransactor) SetLBPairImplementation(opts *bind.TransactOpts, newLBPairImplementation common.Address) (*types.Transaction, error) {
  1018  	return _Traderjoe.contract.Transact(opts, "setLBPairImplementation", newLBPairImplementation)
  1019  }
  1020  
  1021  // SetLBPairImplementation is a paid mutator transaction binding the contract method 0xb0384781.
  1022  //
  1023  // Solidity: function setLBPairImplementation(address newLBPairImplementation) returns()
  1024  func (_Traderjoe *TraderjoeSession) SetLBPairImplementation(newLBPairImplementation common.Address) (*types.Transaction, error) {
  1025  	return _Traderjoe.Contract.SetLBPairImplementation(&_Traderjoe.TransactOpts, newLBPairImplementation)
  1026  }
  1027  
  1028  // SetLBPairImplementation is a paid mutator transaction binding the contract method 0xb0384781.
  1029  //
  1030  // Solidity: function setLBPairImplementation(address newLBPairImplementation) returns()
  1031  func (_Traderjoe *TraderjoeTransactorSession) SetLBPairImplementation(newLBPairImplementation common.Address) (*types.Transaction, error) {
  1032  	return _Traderjoe.Contract.SetLBPairImplementation(&_Traderjoe.TransactOpts, newLBPairImplementation)
  1033  }
  1034  
  1035  // SetPendingOwner is a paid mutator transaction binding the contract method 0xc42069ec.
  1036  //
  1037  // Solidity: function setPendingOwner(address pendingOwner_) returns()
  1038  func (_Traderjoe *TraderjoeTransactor) SetPendingOwner(opts *bind.TransactOpts, pendingOwner_ common.Address) (*types.Transaction, error) {
  1039  	return _Traderjoe.contract.Transact(opts, "setPendingOwner", pendingOwner_)
  1040  }
  1041  
  1042  // SetPendingOwner is a paid mutator transaction binding the contract method 0xc42069ec.
  1043  //
  1044  // Solidity: function setPendingOwner(address pendingOwner_) returns()
  1045  func (_Traderjoe *TraderjoeSession) SetPendingOwner(pendingOwner_ common.Address) (*types.Transaction, error) {
  1046  	return _Traderjoe.Contract.SetPendingOwner(&_Traderjoe.TransactOpts, pendingOwner_)
  1047  }
  1048  
  1049  // SetPendingOwner is a paid mutator transaction binding the contract method 0xc42069ec.
  1050  //
  1051  // Solidity: function setPendingOwner(address pendingOwner_) returns()
  1052  func (_Traderjoe *TraderjoeTransactorSession) SetPendingOwner(pendingOwner_ common.Address) (*types.Transaction, error) {
  1053  	return _Traderjoe.Contract.SetPendingOwner(&_Traderjoe.TransactOpts, pendingOwner_)
  1054  }
  1055  
  1056  // SetPreset is a paid mutator transaction binding the contract method 0x379ee803.
  1057  //
  1058  // Solidity: function setPreset(uint16 binStep, uint16 baseFactor, uint16 filterPeriod, uint16 decayPeriod, uint16 reductionFactor, uint24 variableFeeControl, uint16 protocolShare, uint24 maxVolatilityAccumulator, bool isOpen) returns()
  1059  func (_Traderjoe *TraderjoeTransactor) SetPreset(opts *bind.TransactOpts, binStep uint16, baseFactor uint16, filterPeriod uint16, decayPeriod uint16, reductionFactor uint16, variableFeeControl *big.Int, protocolShare uint16, maxVolatilityAccumulator *big.Int, isOpen bool) (*types.Transaction, error) {
  1060  	return _Traderjoe.contract.Transact(opts, "setPreset", binStep, baseFactor, filterPeriod, decayPeriod, reductionFactor, variableFeeControl, protocolShare, maxVolatilityAccumulator, isOpen)
  1061  }
  1062  
  1063  // SetPreset is a paid mutator transaction binding the contract method 0x379ee803.
  1064  //
  1065  // Solidity: function setPreset(uint16 binStep, uint16 baseFactor, uint16 filterPeriod, uint16 decayPeriod, uint16 reductionFactor, uint24 variableFeeControl, uint16 protocolShare, uint24 maxVolatilityAccumulator, bool isOpen) returns()
  1066  func (_Traderjoe *TraderjoeSession) SetPreset(binStep uint16, baseFactor uint16, filterPeriod uint16, decayPeriod uint16, reductionFactor uint16, variableFeeControl *big.Int, protocolShare uint16, maxVolatilityAccumulator *big.Int, isOpen bool) (*types.Transaction, error) {
  1067  	return _Traderjoe.Contract.SetPreset(&_Traderjoe.TransactOpts, binStep, baseFactor, filterPeriod, decayPeriod, reductionFactor, variableFeeControl, protocolShare, maxVolatilityAccumulator, isOpen)
  1068  }
  1069  
  1070  // SetPreset is a paid mutator transaction binding the contract method 0x379ee803.
  1071  //
  1072  // Solidity: function setPreset(uint16 binStep, uint16 baseFactor, uint16 filterPeriod, uint16 decayPeriod, uint16 reductionFactor, uint24 variableFeeControl, uint16 protocolShare, uint24 maxVolatilityAccumulator, bool isOpen) returns()
  1073  func (_Traderjoe *TraderjoeTransactorSession) SetPreset(binStep uint16, baseFactor uint16, filterPeriod uint16, decayPeriod uint16, reductionFactor uint16, variableFeeControl *big.Int, protocolShare uint16, maxVolatilityAccumulator *big.Int, isOpen bool) (*types.Transaction, error) {
  1074  	return _Traderjoe.Contract.SetPreset(&_Traderjoe.TransactOpts, binStep, baseFactor, filterPeriod, decayPeriod, reductionFactor, variableFeeControl, protocolShare, maxVolatilityAccumulator, isOpen)
  1075  }
  1076  
  1077  // SetPresetOpenState is a paid mutator transaction binding the contract method 0x4cd161d3.
  1078  //
  1079  // Solidity: function setPresetOpenState(uint16 binStep, bool isOpen) returns()
  1080  func (_Traderjoe *TraderjoeTransactor) SetPresetOpenState(opts *bind.TransactOpts, binStep uint16, isOpen bool) (*types.Transaction, error) {
  1081  	return _Traderjoe.contract.Transact(opts, "setPresetOpenState", binStep, isOpen)
  1082  }
  1083  
  1084  // SetPresetOpenState is a paid mutator transaction binding the contract method 0x4cd161d3.
  1085  //
  1086  // Solidity: function setPresetOpenState(uint16 binStep, bool isOpen) returns()
  1087  func (_Traderjoe *TraderjoeSession) SetPresetOpenState(binStep uint16, isOpen bool) (*types.Transaction, error) {
  1088  	return _Traderjoe.Contract.SetPresetOpenState(&_Traderjoe.TransactOpts, binStep, isOpen)
  1089  }
  1090  
  1091  // SetPresetOpenState is a paid mutator transaction binding the contract method 0x4cd161d3.
  1092  //
  1093  // Solidity: function setPresetOpenState(uint16 binStep, bool isOpen) returns()
  1094  func (_Traderjoe *TraderjoeTransactorSession) SetPresetOpenState(binStep uint16, isOpen bool) (*types.Transaction, error) {
  1095  	return _Traderjoe.Contract.SetPresetOpenState(&_Traderjoe.TransactOpts, binStep, isOpen)
  1096  }
  1097  
  1098  // TraderjoeFeeRecipientSetIterator is returned from FilterFeeRecipientSet and is used to iterate over the raw logs and unpacked data for FeeRecipientSet events raised by the Traderjoe contract.
  1099  type TraderjoeFeeRecipientSetIterator struct {
  1100  	Event *TraderjoeFeeRecipientSet // Event containing the contract specifics and raw log
  1101  
  1102  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1103  	event    string              // Event name to use for unpacking event data
  1104  
  1105  	logs chan types.Log        // Log channel receiving the found contract events
  1106  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1107  	done bool                  // Whether the subscription completed delivering logs
  1108  	fail error                 // Occurred error to stop iteration
  1109  }
  1110  
  1111  // Next advances the iterator to the subsequent event, returning whether there
  1112  // are any more events found. In case of a retrieval or parsing error, false is
  1113  // returned and Error() can be queried for the exact failure.
  1114  func (it *TraderjoeFeeRecipientSetIterator) Next() bool {
  1115  	// If the iterator failed, stop iterating
  1116  	if it.fail != nil {
  1117  		return false
  1118  	}
  1119  	// If the iterator completed, deliver directly whatever's available
  1120  	if it.done {
  1121  		select {
  1122  		case log := <-it.logs:
  1123  			it.Event = new(TraderjoeFeeRecipientSet)
  1124  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1125  				it.fail = err
  1126  				return false
  1127  			}
  1128  			it.Event.Raw = log
  1129  			return true
  1130  
  1131  		default:
  1132  			return false
  1133  		}
  1134  	}
  1135  	// Iterator still in progress, wait for either a data or an error event
  1136  	select {
  1137  	case log := <-it.logs:
  1138  		it.Event = new(TraderjoeFeeRecipientSet)
  1139  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1140  			it.fail = err
  1141  			return false
  1142  		}
  1143  		it.Event.Raw = log
  1144  		return true
  1145  
  1146  	case err := <-it.sub.Err():
  1147  		it.done = true
  1148  		it.fail = err
  1149  		return it.Next()
  1150  	}
  1151  }
  1152  
  1153  // Error returns any retrieval or parsing error occurred during filtering.
  1154  func (it *TraderjoeFeeRecipientSetIterator) Error() error {
  1155  	return it.fail
  1156  }
  1157  
  1158  // Close terminates the iteration process, releasing any pending underlying
  1159  // resources.
  1160  func (it *TraderjoeFeeRecipientSetIterator) Close() error {
  1161  	it.sub.Unsubscribe()
  1162  	return nil
  1163  }
  1164  
  1165  // TraderjoeFeeRecipientSet represents a FeeRecipientSet event raised by the Traderjoe contract.
  1166  type TraderjoeFeeRecipientSet struct {
  1167  	OldRecipient common.Address
  1168  	NewRecipient common.Address
  1169  	Raw          types.Log // Blockchain specific contextual infos
  1170  }
  1171  
  1172  // FilterFeeRecipientSet is a free log retrieval operation binding the contract event 0x15d80a013f22151bc7246e3bc132e12828cde19de98870475e3fa70840152721.
  1173  //
  1174  // Solidity: event FeeRecipientSet(address oldRecipient, address newRecipient)
  1175  func (_Traderjoe *TraderjoeFilterer) FilterFeeRecipientSet(opts *bind.FilterOpts) (*TraderjoeFeeRecipientSetIterator, error) {
  1176  
  1177  	logs, sub, err := _Traderjoe.contract.FilterLogs(opts, "FeeRecipientSet")
  1178  	if err != nil {
  1179  		return nil, err
  1180  	}
  1181  	return &TraderjoeFeeRecipientSetIterator{contract: _Traderjoe.contract, event: "FeeRecipientSet", logs: logs, sub: sub}, nil
  1182  }
  1183  
  1184  // WatchFeeRecipientSet is a free log subscription operation binding the contract event 0x15d80a013f22151bc7246e3bc132e12828cde19de98870475e3fa70840152721.
  1185  //
  1186  // Solidity: event FeeRecipientSet(address oldRecipient, address newRecipient)
  1187  func (_Traderjoe *TraderjoeFilterer) WatchFeeRecipientSet(opts *bind.WatchOpts, sink chan<- *TraderjoeFeeRecipientSet) (event.Subscription, error) {
  1188  
  1189  	logs, sub, err := _Traderjoe.contract.WatchLogs(opts, "FeeRecipientSet")
  1190  	if err != nil {
  1191  		return nil, err
  1192  	}
  1193  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1194  		defer sub.Unsubscribe()
  1195  		for {
  1196  			select {
  1197  			case log := <-logs:
  1198  				// New log arrived, parse the event and forward to the user
  1199  				event := new(TraderjoeFeeRecipientSet)
  1200  				if err := _Traderjoe.contract.UnpackLog(event, "FeeRecipientSet", log); err != nil {
  1201  					return err
  1202  				}
  1203  				event.Raw = log
  1204  
  1205  				select {
  1206  				case sink <- event:
  1207  				case err := <-sub.Err():
  1208  					return err
  1209  				case <-quit:
  1210  					return nil
  1211  				}
  1212  			case err := <-sub.Err():
  1213  				return err
  1214  			case <-quit:
  1215  				return nil
  1216  			}
  1217  		}
  1218  	}), nil
  1219  }
  1220  
  1221  // ParseFeeRecipientSet is a log parse operation binding the contract event 0x15d80a013f22151bc7246e3bc132e12828cde19de98870475e3fa70840152721.
  1222  //
  1223  // Solidity: event FeeRecipientSet(address oldRecipient, address newRecipient)
  1224  func (_Traderjoe *TraderjoeFilterer) ParseFeeRecipientSet(log types.Log) (*TraderjoeFeeRecipientSet, error) {
  1225  	event := new(TraderjoeFeeRecipientSet)
  1226  	if err := _Traderjoe.contract.UnpackLog(event, "FeeRecipientSet", log); err != nil {
  1227  		return nil, err
  1228  	}
  1229  	event.Raw = log
  1230  	return event, nil
  1231  }
  1232  
  1233  // TraderjoeFlashLoanFeeSetIterator is returned from FilterFlashLoanFeeSet and is used to iterate over the raw logs and unpacked data for FlashLoanFeeSet events raised by the Traderjoe contract.
  1234  type TraderjoeFlashLoanFeeSetIterator struct {
  1235  	Event *TraderjoeFlashLoanFeeSet // Event containing the contract specifics and raw log
  1236  
  1237  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1238  	event    string              // Event name to use for unpacking event data
  1239  
  1240  	logs chan types.Log        // Log channel receiving the found contract events
  1241  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1242  	done bool                  // Whether the subscription completed delivering logs
  1243  	fail error                 // Occurred error to stop iteration
  1244  }
  1245  
  1246  // Next advances the iterator to the subsequent event, returning whether there
  1247  // are any more events found. In case of a retrieval or parsing error, false is
  1248  // returned and Error() can be queried for the exact failure.
  1249  func (it *TraderjoeFlashLoanFeeSetIterator) Next() bool {
  1250  	// If the iterator failed, stop iterating
  1251  	if it.fail != nil {
  1252  		return false
  1253  	}
  1254  	// If the iterator completed, deliver directly whatever's available
  1255  	if it.done {
  1256  		select {
  1257  		case log := <-it.logs:
  1258  			it.Event = new(TraderjoeFlashLoanFeeSet)
  1259  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1260  				it.fail = err
  1261  				return false
  1262  			}
  1263  			it.Event.Raw = log
  1264  			return true
  1265  
  1266  		default:
  1267  			return false
  1268  		}
  1269  	}
  1270  	// Iterator still in progress, wait for either a data or an error event
  1271  	select {
  1272  	case log := <-it.logs:
  1273  		it.Event = new(TraderjoeFlashLoanFeeSet)
  1274  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1275  			it.fail = err
  1276  			return false
  1277  		}
  1278  		it.Event.Raw = log
  1279  		return true
  1280  
  1281  	case err := <-it.sub.Err():
  1282  		it.done = true
  1283  		it.fail = err
  1284  		return it.Next()
  1285  	}
  1286  }
  1287  
  1288  // Error returns any retrieval or parsing error occurred during filtering.
  1289  func (it *TraderjoeFlashLoanFeeSetIterator) Error() error {
  1290  	return it.fail
  1291  }
  1292  
  1293  // Close terminates the iteration process, releasing any pending underlying
  1294  // resources.
  1295  func (it *TraderjoeFlashLoanFeeSetIterator) Close() error {
  1296  	it.sub.Unsubscribe()
  1297  	return nil
  1298  }
  1299  
  1300  // TraderjoeFlashLoanFeeSet represents a FlashLoanFeeSet event raised by the Traderjoe contract.
  1301  type TraderjoeFlashLoanFeeSet struct {
  1302  	OldFlashLoanFee *big.Int
  1303  	NewFlashLoanFee *big.Int
  1304  	Raw             types.Log // Blockchain specific contextual infos
  1305  }
  1306  
  1307  // FilterFlashLoanFeeSet is a free log retrieval operation binding the contract event 0x5c34e91c94c78b662a45d0bd4a25a4e32c584c54a45a76e4a4d43be27ba40e50.
  1308  //
  1309  // Solidity: event FlashLoanFeeSet(uint256 oldFlashLoanFee, uint256 newFlashLoanFee)
  1310  func (_Traderjoe *TraderjoeFilterer) FilterFlashLoanFeeSet(opts *bind.FilterOpts) (*TraderjoeFlashLoanFeeSetIterator, error) {
  1311  
  1312  	logs, sub, err := _Traderjoe.contract.FilterLogs(opts, "FlashLoanFeeSet")
  1313  	if err != nil {
  1314  		return nil, err
  1315  	}
  1316  	return &TraderjoeFlashLoanFeeSetIterator{contract: _Traderjoe.contract, event: "FlashLoanFeeSet", logs: logs, sub: sub}, nil
  1317  }
  1318  
  1319  // WatchFlashLoanFeeSet is a free log subscription operation binding the contract event 0x5c34e91c94c78b662a45d0bd4a25a4e32c584c54a45a76e4a4d43be27ba40e50.
  1320  //
  1321  // Solidity: event FlashLoanFeeSet(uint256 oldFlashLoanFee, uint256 newFlashLoanFee)
  1322  func (_Traderjoe *TraderjoeFilterer) WatchFlashLoanFeeSet(opts *bind.WatchOpts, sink chan<- *TraderjoeFlashLoanFeeSet) (event.Subscription, error) {
  1323  
  1324  	logs, sub, err := _Traderjoe.contract.WatchLogs(opts, "FlashLoanFeeSet")
  1325  	if err != nil {
  1326  		return nil, err
  1327  	}
  1328  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1329  		defer sub.Unsubscribe()
  1330  		for {
  1331  			select {
  1332  			case log := <-logs:
  1333  				// New log arrived, parse the event and forward to the user
  1334  				event := new(TraderjoeFlashLoanFeeSet)
  1335  				if err := _Traderjoe.contract.UnpackLog(event, "FlashLoanFeeSet", log); err != nil {
  1336  					return err
  1337  				}
  1338  				event.Raw = log
  1339  
  1340  				select {
  1341  				case sink <- event:
  1342  				case err := <-sub.Err():
  1343  					return err
  1344  				case <-quit:
  1345  					return nil
  1346  				}
  1347  			case err := <-sub.Err():
  1348  				return err
  1349  			case <-quit:
  1350  				return nil
  1351  			}
  1352  		}
  1353  	}), nil
  1354  }
  1355  
  1356  // ParseFlashLoanFeeSet is a log parse operation binding the contract event 0x5c34e91c94c78b662a45d0bd4a25a4e32c584c54a45a76e4a4d43be27ba40e50.
  1357  //
  1358  // Solidity: event FlashLoanFeeSet(uint256 oldFlashLoanFee, uint256 newFlashLoanFee)
  1359  func (_Traderjoe *TraderjoeFilterer) ParseFlashLoanFeeSet(log types.Log) (*TraderjoeFlashLoanFeeSet, error) {
  1360  	event := new(TraderjoeFlashLoanFeeSet)
  1361  	if err := _Traderjoe.contract.UnpackLog(event, "FlashLoanFeeSet", log); err != nil {
  1362  		return nil, err
  1363  	}
  1364  	event.Raw = log
  1365  	return event, nil
  1366  }
  1367  
  1368  // TraderjoeLBPairCreatedIterator is returned from FilterLBPairCreated and is used to iterate over the raw logs and unpacked data for LBPairCreated events raised by the Traderjoe contract.
  1369  type TraderjoeLBPairCreatedIterator struct {
  1370  	Event *TraderjoeLBPairCreated // Event containing the contract specifics and raw log
  1371  
  1372  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1373  	event    string              // Event name to use for unpacking event data
  1374  
  1375  	logs chan types.Log        // Log channel receiving the found contract events
  1376  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1377  	done bool                  // Whether the subscription completed delivering logs
  1378  	fail error                 // Occurred error to stop iteration
  1379  }
  1380  
  1381  // Next advances the iterator to the subsequent event, returning whether there
  1382  // are any more events found. In case of a retrieval or parsing error, false is
  1383  // returned and Error() can be queried for the exact failure.
  1384  func (it *TraderjoeLBPairCreatedIterator) Next() bool {
  1385  	// If the iterator failed, stop iterating
  1386  	if it.fail != nil {
  1387  		return false
  1388  	}
  1389  	// If the iterator completed, deliver directly whatever's available
  1390  	if it.done {
  1391  		select {
  1392  		case log := <-it.logs:
  1393  			it.Event = new(TraderjoeLBPairCreated)
  1394  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1395  				it.fail = err
  1396  				return false
  1397  			}
  1398  			it.Event.Raw = log
  1399  			return true
  1400  
  1401  		default:
  1402  			return false
  1403  		}
  1404  	}
  1405  	// Iterator still in progress, wait for either a data or an error event
  1406  	select {
  1407  	case log := <-it.logs:
  1408  		it.Event = new(TraderjoeLBPairCreated)
  1409  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1410  			it.fail = err
  1411  			return false
  1412  		}
  1413  		it.Event.Raw = log
  1414  		return true
  1415  
  1416  	case err := <-it.sub.Err():
  1417  		it.done = true
  1418  		it.fail = err
  1419  		return it.Next()
  1420  	}
  1421  }
  1422  
  1423  // Error returns any retrieval or parsing error occurred during filtering.
  1424  func (it *TraderjoeLBPairCreatedIterator) Error() error {
  1425  	return it.fail
  1426  }
  1427  
  1428  // Close terminates the iteration process, releasing any pending underlying
  1429  // resources.
  1430  func (it *TraderjoeLBPairCreatedIterator) Close() error {
  1431  	it.sub.Unsubscribe()
  1432  	return nil
  1433  }
  1434  
  1435  // TraderjoeLBPairCreated represents a LBPairCreated event raised by the Traderjoe contract.
  1436  type TraderjoeLBPairCreated struct {
  1437  	TokenX  common.Address
  1438  	TokenY  common.Address
  1439  	BinStep *big.Int
  1440  	LBPair  common.Address
  1441  	Pid     *big.Int
  1442  	Raw     types.Log // Blockchain specific contextual infos
  1443  }
  1444  
  1445  // FilterLBPairCreated is a free log retrieval operation binding the contract event 0x2c8d104b27c6b7f4492017a6f5cf3803043688934ebcaa6a03540beeaf976aff.
  1446  //
  1447  // Solidity: event LBPairCreated(address indexed tokenX, address indexed tokenY, uint256 indexed binStep, address LBPair, uint256 pid)
  1448  func (_Traderjoe *TraderjoeFilterer) FilterLBPairCreated(opts *bind.FilterOpts, tokenX []common.Address, tokenY []common.Address, binStep []*big.Int) (*TraderjoeLBPairCreatedIterator, error) {
  1449  
  1450  	var tokenXRule []interface{}
  1451  	for _, tokenXItem := range tokenX {
  1452  		tokenXRule = append(tokenXRule, tokenXItem)
  1453  	}
  1454  	var tokenYRule []interface{}
  1455  	for _, tokenYItem := range tokenY {
  1456  		tokenYRule = append(tokenYRule, tokenYItem)
  1457  	}
  1458  	var binStepRule []interface{}
  1459  	for _, binStepItem := range binStep {
  1460  		binStepRule = append(binStepRule, binStepItem)
  1461  	}
  1462  
  1463  	logs, sub, err := _Traderjoe.contract.FilterLogs(opts, "LBPairCreated", tokenXRule, tokenYRule, binStepRule)
  1464  	if err != nil {
  1465  		return nil, err
  1466  	}
  1467  	return &TraderjoeLBPairCreatedIterator{contract: _Traderjoe.contract, event: "LBPairCreated", logs: logs, sub: sub}, nil
  1468  }
  1469  
  1470  // WatchLBPairCreated is a free log subscription operation binding the contract event 0x2c8d104b27c6b7f4492017a6f5cf3803043688934ebcaa6a03540beeaf976aff.
  1471  //
  1472  // Solidity: event LBPairCreated(address indexed tokenX, address indexed tokenY, uint256 indexed binStep, address LBPair, uint256 pid)
  1473  func (_Traderjoe *TraderjoeFilterer) WatchLBPairCreated(opts *bind.WatchOpts, sink chan<- *TraderjoeLBPairCreated, tokenX []common.Address, tokenY []common.Address, binStep []*big.Int) (event.Subscription, error) {
  1474  
  1475  	var tokenXRule []interface{}
  1476  	for _, tokenXItem := range tokenX {
  1477  		tokenXRule = append(tokenXRule, tokenXItem)
  1478  	}
  1479  	var tokenYRule []interface{}
  1480  	for _, tokenYItem := range tokenY {
  1481  		tokenYRule = append(tokenYRule, tokenYItem)
  1482  	}
  1483  	var binStepRule []interface{}
  1484  	for _, binStepItem := range binStep {
  1485  		binStepRule = append(binStepRule, binStepItem)
  1486  	}
  1487  
  1488  	logs, sub, err := _Traderjoe.contract.WatchLogs(opts, "LBPairCreated", tokenXRule, tokenYRule, binStepRule)
  1489  	if err != nil {
  1490  		return nil, err
  1491  	}
  1492  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1493  		defer sub.Unsubscribe()
  1494  		for {
  1495  			select {
  1496  			case log := <-logs:
  1497  				// New log arrived, parse the event and forward to the user
  1498  				event := new(TraderjoeLBPairCreated)
  1499  				if err := _Traderjoe.contract.UnpackLog(event, "LBPairCreated", log); err != nil {
  1500  					return err
  1501  				}
  1502  				event.Raw = log
  1503  
  1504  				select {
  1505  				case sink <- event:
  1506  				case err := <-sub.Err():
  1507  					return err
  1508  				case <-quit:
  1509  					return nil
  1510  				}
  1511  			case err := <-sub.Err():
  1512  				return err
  1513  			case <-quit:
  1514  				return nil
  1515  			}
  1516  		}
  1517  	}), nil
  1518  }
  1519  
  1520  // ParseLBPairCreated is a log parse operation binding the contract event 0x2c8d104b27c6b7f4492017a6f5cf3803043688934ebcaa6a03540beeaf976aff.
  1521  //
  1522  // Solidity: event LBPairCreated(address indexed tokenX, address indexed tokenY, uint256 indexed binStep, address LBPair, uint256 pid)
  1523  func (_Traderjoe *TraderjoeFilterer) ParseLBPairCreated(log types.Log) (*TraderjoeLBPairCreated, error) {
  1524  	event := new(TraderjoeLBPairCreated)
  1525  	if err := _Traderjoe.contract.UnpackLog(event, "LBPairCreated", log); err != nil {
  1526  		return nil, err
  1527  	}
  1528  	event.Raw = log
  1529  	return event, nil
  1530  }
  1531  
  1532  // TraderjoeLBPairIgnoredStateChangedIterator is returned from FilterLBPairIgnoredStateChanged and is used to iterate over the raw logs and unpacked data for LBPairIgnoredStateChanged events raised by the Traderjoe contract.
  1533  type TraderjoeLBPairIgnoredStateChangedIterator struct {
  1534  	Event *TraderjoeLBPairIgnoredStateChanged // Event containing the contract specifics and raw log
  1535  
  1536  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1537  	event    string              // Event name to use for unpacking event data
  1538  
  1539  	logs chan types.Log        // Log channel receiving the found contract events
  1540  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1541  	done bool                  // Whether the subscription completed delivering logs
  1542  	fail error                 // Occurred error to stop iteration
  1543  }
  1544  
  1545  // Next advances the iterator to the subsequent event, returning whether there
  1546  // are any more events found. In case of a retrieval or parsing error, false is
  1547  // returned and Error() can be queried for the exact failure.
  1548  func (it *TraderjoeLBPairIgnoredStateChangedIterator) Next() bool {
  1549  	// If the iterator failed, stop iterating
  1550  	if it.fail != nil {
  1551  		return false
  1552  	}
  1553  	// If the iterator completed, deliver directly whatever's available
  1554  	if it.done {
  1555  		select {
  1556  		case log := <-it.logs:
  1557  			it.Event = new(TraderjoeLBPairIgnoredStateChanged)
  1558  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1559  				it.fail = err
  1560  				return false
  1561  			}
  1562  			it.Event.Raw = log
  1563  			return true
  1564  
  1565  		default:
  1566  			return false
  1567  		}
  1568  	}
  1569  	// Iterator still in progress, wait for either a data or an error event
  1570  	select {
  1571  	case log := <-it.logs:
  1572  		it.Event = new(TraderjoeLBPairIgnoredStateChanged)
  1573  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1574  			it.fail = err
  1575  			return false
  1576  		}
  1577  		it.Event.Raw = log
  1578  		return true
  1579  
  1580  	case err := <-it.sub.Err():
  1581  		it.done = true
  1582  		it.fail = err
  1583  		return it.Next()
  1584  	}
  1585  }
  1586  
  1587  // Error returns any retrieval or parsing error occurred during filtering.
  1588  func (it *TraderjoeLBPairIgnoredStateChangedIterator) Error() error {
  1589  	return it.fail
  1590  }
  1591  
  1592  // Close terminates the iteration process, releasing any pending underlying
  1593  // resources.
  1594  func (it *TraderjoeLBPairIgnoredStateChangedIterator) Close() error {
  1595  	it.sub.Unsubscribe()
  1596  	return nil
  1597  }
  1598  
  1599  // TraderjoeLBPairIgnoredStateChanged represents a LBPairIgnoredStateChanged event raised by the Traderjoe contract.
  1600  type TraderjoeLBPairIgnoredStateChanged struct {
  1601  	LBPair  common.Address
  1602  	Ignored bool
  1603  	Raw     types.Log // Blockchain specific contextual infos
  1604  }
  1605  
  1606  // FilterLBPairIgnoredStateChanged is a free log retrieval operation binding the contract event 0x44cf35361c9ff3c8c1397ec6410d5495cc481feaef35c9af11da1a637107de4f.
  1607  //
  1608  // Solidity: event LBPairIgnoredStateChanged(address indexed LBPair, bool ignored)
  1609  func (_Traderjoe *TraderjoeFilterer) FilterLBPairIgnoredStateChanged(opts *bind.FilterOpts, LBPair []common.Address) (*TraderjoeLBPairIgnoredStateChangedIterator, error) {
  1610  
  1611  	var LBPairRule []interface{}
  1612  	for _, LBPairItem := range LBPair {
  1613  		LBPairRule = append(LBPairRule, LBPairItem)
  1614  	}
  1615  
  1616  	logs, sub, err := _Traderjoe.contract.FilterLogs(opts, "LBPairIgnoredStateChanged", LBPairRule)
  1617  	if err != nil {
  1618  		return nil, err
  1619  	}
  1620  	return &TraderjoeLBPairIgnoredStateChangedIterator{contract: _Traderjoe.contract, event: "LBPairIgnoredStateChanged", logs: logs, sub: sub}, nil
  1621  }
  1622  
  1623  // WatchLBPairIgnoredStateChanged is a free log subscription operation binding the contract event 0x44cf35361c9ff3c8c1397ec6410d5495cc481feaef35c9af11da1a637107de4f.
  1624  //
  1625  // Solidity: event LBPairIgnoredStateChanged(address indexed LBPair, bool ignored)
  1626  func (_Traderjoe *TraderjoeFilterer) WatchLBPairIgnoredStateChanged(opts *bind.WatchOpts, sink chan<- *TraderjoeLBPairIgnoredStateChanged, LBPair []common.Address) (event.Subscription, error) {
  1627  
  1628  	var LBPairRule []interface{}
  1629  	for _, LBPairItem := range LBPair {
  1630  		LBPairRule = append(LBPairRule, LBPairItem)
  1631  	}
  1632  
  1633  	logs, sub, err := _Traderjoe.contract.WatchLogs(opts, "LBPairIgnoredStateChanged", LBPairRule)
  1634  	if err != nil {
  1635  		return nil, err
  1636  	}
  1637  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1638  		defer sub.Unsubscribe()
  1639  		for {
  1640  			select {
  1641  			case log := <-logs:
  1642  				// New log arrived, parse the event and forward to the user
  1643  				event := new(TraderjoeLBPairIgnoredStateChanged)
  1644  				if err := _Traderjoe.contract.UnpackLog(event, "LBPairIgnoredStateChanged", log); err != nil {
  1645  					return err
  1646  				}
  1647  				event.Raw = log
  1648  
  1649  				select {
  1650  				case sink <- event:
  1651  				case err := <-sub.Err():
  1652  					return err
  1653  				case <-quit:
  1654  					return nil
  1655  				}
  1656  			case err := <-sub.Err():
  1657  				return err
  1658  			case <-quit:
  1659  				return nil
  1660  			}
  1661  		}
  1662  	}), nil
  1663  }
  1664  
  1665  // ParseLBPairIgnoredStateChanged is a log parse operation binding the contract event 0x44cf35361c9ff3c8c1397ec6410d5495cc481feaef35c9af11da1a637107de4f.
  1666  //
  1667  // Solidity: event LBPairIgnoredStateChanged(address indexed LBPair, bool ignored)
  1668  func (_Traderjoe *TraderjoeFilterer) ParseLBPairIgnoredStateChanged(log types.Log) (*TraderjoeLBPairIgnoredStateChanged, error) {
  1669  	event := new(TraderjoeLBPairIgnoredStateChanged)
  1670  	if err := _Traderjoe.contract.UnpackLog(event, "LBPairIgnoredStateChanged", log); err != nil {
  1671  		return nil, err
  1672  	}
  1673  	event.Raw = log
  1674  	return event, nil
  1675  }
  1676  
  1677  // TraderjoeLBPairImplementationSetIterator is returned from FilterLBPairImplementationSet and is used to iterate over the raw logs and unpacked data for LBPairImplementationSet events raised by the Traderjoe contract.
  1678  type TraderjoeLBPairImplementationSetIterator struct {
  1679  	Event *TraderjoeLBPairImplementationSet // Event containing the contract specifics and raw log
  1680  
  1681  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1682  	event    string              // Event name to use for unpacking event data
  1683  
  1684  	logs chan types.Log        // Log channel receiving the found contract events
  1685  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1686  	done bool                  // Whether the subscription completed delivering logs
  1687  	fail error                 // Occurred error to stop iteration
  1688  }
  1689  
  1690  // Next advances the iterator to the subsequent event, returning whether there
  1691  // are any more events found. In case of a retrieval or parsing error, false is
  1692  // returned and Error() can be queried for the exact failure.
  1693  func (it *TraderjoeLBPairImplementationSetIterator) Next() bool {
  1694  	// If the iterator failed, stop iterating
  1695  	if it.fail != nil {
  1696  		return false
  1697  	}
  1698  	// If the iterator completed, deliver directly whatever's available
  1699  	if it.done {
  1700  		select {
  1701  		case log := <-it.logs:
  1702  			it.Event = new(TraderjoeLBPairImplementationSet)
  1703  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1704  				it.fail = err
  1705  				return false
  1706  			}
  1707  			it.Event.Raw = log
  1708  			return true
  1709  
  1710  		default:
  1711  			return false
  1712  		}
  1713  	}
  1714  	// Iterator still in progress, wait for either a data or an error event
  1715  	select {
  1716  	case log := <-it.logs:
  1717  		it.Event = new(TraderjoeLBPairImplementationSet)
  1718  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1719  			it.fail = err
  1720  			return false
  1721  		}
  1722  		it.Event.Raw = log
  1723  		return true
  1724  
  1725  	case err := <-it.sub.Err():
  1726  		it.done = true
  1727  		it.fail = err
  1728  		return it.Next()
  1729  	}
  1730  }
  1731  
  1732  // Error returns any retrieval or parsing error occurred during filtering.
  1733  func (it *TraderjoeLBPairImplementationSetIterator) Error() error {
  1734  	return it.fail
  1735  }
  1736  
  1737  // Close terminates the iteration process, releasing any pending underlying
  1738  // resources.
  1739  func (it *TraderjoeLBPairImplementationSetIterator) Close() error {
  1740  	it.sub.Unsubscribe()
  1741  	return nil
  1742  }
  1743  
  1744  // TraderjoeLBPairImplementationSet represents a LBPairImplementationSet event raised by the Traderjoe contract.
  1745  type TraderjoeLBPairImplementationSet struct {
  1746  	OldLBPairImplementation common.Address
  1747  	LBPairImplementation    common.Address
  1748  	Raw                     types.Log // Blockchain specific contextual infos
  1749  }
  1750  
  1751  // FilterLBPairImplementationSet is a free log retrieval operation binding the contract event 0x900d0e3d359f50e4f923ecdc06b401e07dbb9f485e17b07bcfc91a13000b277e.
  1752  //
  1753  // Solidity: event LBPairImplementationSet(address oldLBPairImplementation, address LBPairImplementation)
  1754  func (_Traderjoe *TraderjoeFilterer) FilterLBPairImplementationSet(opts *bind.FilterOpts) (*TraderjoeLBPairImplementationSetIterator, error) {
  1755  
  1756  	logs, sub, err := _Traderjoe.contract.FilterLogs(opts, "LBPairImplementationSet")
  1757  	if err != nil {
  1758  		return nil, err
  1759  	}
  1760  	return &TraderjoeLBPairImplementationSetIterator{contract: _Traderjoe.contract, event: "LBPairImplementationSet", logs: logs, sub: sub}, nil
  1761  }
  1762  
  1763  // WatchLBPairImplementationSet is a free log subscription operation binding the contract event 0x900d0e3d359f50e4f923ecdc06b401e07dbb9f485e17b07bcfc91a13000b277e.
  1764  //
  1765  // Solidity: event LBPairImplementationSet(address oldLBPairImplementation, address LBPairImplementation)
  1766  func (_Traderjoe *TraderjoeFilterer) WatchLBPairImplementationSet(opts *bind.WatchOpts, sink chan<- *TraderjoeLBPairImplementationSet) (event.Subscription, error) {
  1767  
  1768  	logs, sub, err := _Traderjoe.contract.WatchLogs(opts, "LBPairImplementationSet")
  1769  	if err != nil {
  1770  		return nil, err
  1771  	}
  1772  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1773  		defer sub.Unsubscribe()
  1774  		for {
  1775  			select {
  1776  			case log := <-logs:
  1777  				// New log arrived, parse the event and forward to the user
  1778  				event := new(TraderjoeLBPairImplementationSet)
  1779  				if err := _Traderjoe.contract.UnpackLog(event, "LBPairImplementationSet", log); err != nil {
  1780  					return err
  1781  				}
  1782  				event.Raw = log
  1783  
  1784  				select {
  1785  				case sink <- event:
  1786  				case err := <-sub.Err():
  1787  					return err
  1788  				case <-quit:
  1789  					return nil
  1790  				}
  1791  			case err := <-sub.Err():
  1792  				return err
  1793  			case <-quit:
  1794  				return nil
  1795  			}
  1796  		}
  1797  	}), nil
  1798  }
  1799  
  1800  // ParseLBPairImplementationSet is a log parse operation binding the contract event 0x900d0e3d359f50e4f923ecdc06b401e07dbb9f485e17b07bcfc91a13000b277e.
  1801  //
  1802  // Solidity: event LBPairImplementationSet(address oldLBPairImplementation, address LBPairImplementation)
  1803  func (_Traderjoe *TraderjoeFilterer) ParseLBPairImplementationSet(log types.Log) (*TraderjoeLBPairImplementationSet, error) {
  1804  	event := new(TraderjoeLBPairImplementationSet)
  1805  	if err := _Traderjoe.contract.UnpackLog(event, "LBPairImplementationSet", log); err != nil {
  1806  		return nil, err
  1807  	}
  1808  	event.Raw = log
  1809  	return event, nil
  1810  }
  1811  
  1812  // TraderjoeOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the Traderjoe contract.
  1813  type TraderjoeOwnershipTransferredIterator struct {
  1814  	Event *TraderjoeOwnershipTransferred // Event containing the contract specifics and raw log
  1815  
  1816  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1817  	event    string              // Event name to use for unpacking event data
  1818  
  1819  	logs chan types.Log        // Log channel receiving the found contract events
  1820  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1821  	done bool                  // Whether the subscription completed delivering logs
  1822  	fail error                 // Occurred error to stop iteration
  1823  }
  1824  
  1825  // Next advances the iterator to the subsequent event, returning whether there
  1826  // are any more events found. In case of a retrieval or parsing error, false is
  1827  // returned and Error() can be queried for the exact failure.
  1828  func (it *TraderjoeOwnershipTransferredIterator) Next() bool {
  1829  	// If the iterator failed, stop iterating
  1830  	if it.fail != nil {
  1831  		return false
  1832  	}
  1833  	// If the iterator completed, deliver directly whatever's available
  1834  	if it.done {
  1835  		select {
  1836  		case log := <-it.logs:
  1837  			it.Event = new(TraderjoeOwnershipTransferred)
  1838  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1839  				it.fail = err
  1840  				return false
  1841  			}
  1842  			it.Event.Raw = log
  1843  			return true
  1844  
  1845  		default:
  1846  			return false
  1847  		}
  1848  	}
  1849  	// Iterator still in progress, wait for either a data or an error event
  1850  	select {
  1851  	case log := <-it.logs:
  1852  		it.Event = new(TraderjoeOwnershipTransferred)
  1853  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1854  			it.fail = err
  1855  			return false
  1856  		}
  1857  		it.Event.Raw = log
  1858  		return true
  1859  
  1860  	case err := <-it.sub.Err():
  1861  		it.done = true
  1862  		it.fail = err
  1863  		return it.Next()
  1864  	}
  1865  }
  1866  
  1867  // Error returns any retrieval or parsing error occurred during filtering.
  1868  func (it *TraderjoeOwnershipTransferredIterator) Error() error {
  1869  	return it.fail
  1870  }
  1871  
  1872  // Close terminates the iteration process, releasing any pending underlying
  1873  // resources.
  1874  func (it *TraderjoeOwnershipTransferredIterator) Close() error {
  1875  	it.sub.Unsubscribe()
  1876  	return nil
  1877  }
  1878  
  1879  // TraderjoeOwnershipTransferred represents a OwnershipTransferred event raised by the Traderjoe contract.
  1880  type TraderjoeOwnershipTransferred struct {
  1881  	PreviousOwner common.Address
  1882  	NewOwner      common.Address
  1883  	Raw           types.Log // Blockchain specific contextual infos
  1884  }
  1885  
  1886  // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  1887  //
  1888  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  1889  func (_Traderjoe *TraderjoeFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*TraderjoeOwnershipTransferredIterator, error) {
  1890  
  1891  	var previousOwnerRule []interface{}
  1892  	for _, previousOwnerItem := range previousOwner {
  1893  		previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
  1894  	}
  1895  	var newOwnerRule []interface{}
  1896  	for _, newOwnerItem := range newOwner {
  1897  		newOwnerRule = append(newOwnerRule, newOwnerItem)
  1898  	}
  1899  
  1900  	logs, sub, err := _Traderjoe.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
  1901  	if err != nil {
  1902  		return nil, err
  1903  	}
  1904  	return &TraderjoeOwnershipTransferredIterator{contract: _Traderjoe.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil
  1905  }
  1906  
  1907  // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  1908  //
  1909  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  1910  func (_Traderjoe *TraderjoeFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *TraderjoeOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) {
  1911  
  1912  	var previousOwnerRule []interface{}
  1913  	for _, previousOwnerItem := range previousOwner {
  1914  		previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
  1915  	}
  1916  	var newOwnerRule []interface{}
  1917  	for _, newOwnerItem := range newOwner {
  1918  		newOwnerRule = append(newOwnerRule, newOwnerItem)
  1919  	}
  1920  
  1921  	logs, sub, err := _Traderjoe.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
  1922  	if err != nil {
  1923  		return nil, err
  1924  	}
  1925  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1926  		defer sub.Unsubscribe()
  1927  		for {
  1928  			select {
  1929  			case log := <-logs:
  1930  				// New log arrived, parse the event and forward to the user
  1931  				event := new(TraderjoeOwnershipTransferred)
  1932  				if err := _Traderjoe.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
  1933  					return err
  1934  				}
  1935  				event.Raw = log
  1936  
  1937  				select {
  1938  				case sink <- event:
  1939  				case err := <-sub.Err():
  1940  					return err
  1941  				case <-quit:
  1942  					return nil
  1943  				}
  1944  			case err := <-sub.Err():
  1945  				return err
  1946  			case <-quit:
  1947  				return nil
  1948  			}
  1949  		}
  1950  	}), nil
  1951  }
  1952  
  1953  // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  1954  //
  1955  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  1956  func (_Traderjoe *TraderjoeFilterer) ParseOwnershipTransferred(log types.Log) (*TraderjoeOwnershipTransferred, error) {
  1957  	event := new(TraderjoeOwnershipTransferred)
  1958  	if err := _Traderjoe.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
  1959  		return nil, err
  1960  	}
  1961  	event.Raw = log
  1962  	return event, nil
  1963  }
  1964  
  1965  // TraderjoePendingOwnerSetIterator is returned from FilterPendingOwnerSet and is used to iterate over the raw logs and unpacked data for PendingOwnerSet events raised by the Traderjoe contract.
  1966  type TraderjoePendingOwnerSetIterator struct {
  1967  	Event *TraderjoePendingOwnerSet // Event containing the contract specifics and raw log
  1968  
  1969  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1970  	event    string              // Event name to use for unpacking event data
  1971  
  1972  	logs chan types.Log        // Log channel receiving the found contract events
  1973  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1974  	done bool                  // Whether the subscription completed delivering logs
  1975  	fail error                 // Occurred error to stop iteration
  1976  }
  1977  
  1978  // Next advances the iterator to the subsequent event, returning whether there
  1979  // are any more events found. In case of a retrieval or parsing error, false is
  1980  // returned and Error() can be queried for the exact failure.
  1981  func (it *TraderjoePendingOwnerSetIterator) Next() bool {
  1982  	// If the iterator failed, stop iterating
  1983  	if it.fail != nil {
  1984  		return false
  1985  	}
  1986  	// If the iterator completed, deliver directly whatever's available
  1987  	if it.done {
  1988  		select {
  1989  		case log := <-it.logs:
  1990  			it.Event = new(TraderjoePendingOwnerSet)
  1991  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1992  				it.fail = err
  1993  				return false
  1994  			}
  1995  			it.Event.Raw = log
  1996  			return true
  1997  
  1998  		default:
  1999  			return false
  2000  		}
  2001  	}
  2002  	// Iterator still in progress, wait for either a data or an error event
  2003  	select {
  2004  	case log := <-it.logs:
  2005  		it.Event = new(TraderjoePendingOwnerSet)
  2006  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2007  			it.fail = err
  2008  			return false
  2009  		}
  2010  		it.Event.Raw = log
  2011  		return true
  2012  
  2013  	case err := <-it.sub.Err():
  2014  		it.done = true
  2015  		it.fail = err
  2016  		return it.Next()
  2017  	}
  2018  }
  2019  
  2020  // Error returns any retrieval or parsing error occurred during filtering.
  2021  func (it *TraderjoePendingOwnerSetIterator) Error() error {
  2022  	return it.fail
  2023  }
  2024  
  2025  // Close terminates the iteration process, releasing any pending underlying
  2026  // resources.
  2027  func (it *TraderjoePendingOwnerSetIterator) Close() error {
  2028  	it.sub.Unsubscribe()
  2029  	return nil
  2030  }
  2031  
  2032  // TraderjoePendingOwnerSet represents a PendingOwnerSet event raised by the Traderjoe contract.
  2033  type TraderjoePendingOwnerSet struct {
  2034  	PendingOwner common.Address
  2035  	Raw          types.Log // Blockchain specific contextual infos
  2036  }
  2037  
  2038  // FilterPendingOwnerSet is a free log retrieval operation binding the contract event 0x68f49b346b94582a8b5f9d10e3fe3365318fe8f191ff8dce7c59c6cad06b02f5.
  2039  //
  2040  // Solidity: event PendingOwnerSet(address indexed pendingOwner)
  2041  func (_Traderjoe *TraderjoeFilterer) FilterPendingOwnerSet(opts *bind.FilterOpts, pendingOwner []common.Address) (*TraderjoePendingOwnerSetIterator, error) {
  2042  
  2043  	var pendingOwnerRule []interface{}
  2044  	for _, pendingOwnerItem := range pendingOwner {
  2045  		pendingOwnerRule = append(pendingOwnerRule, pendingOwnerItem)
  2046  	}
  2047  
  2048  	logs, sub, err := _Traderjoe.contract.FilterLogs(opts, "PendingOwnerSet", pendingOwnerRule)
  2049  	if err != nil {
  2050  		return nil, err
  2051  	}
  2052  	return &TraderjoePendingOwnerSetIterator{contract: _Traderjoe.contract, event: "PendingOwnerSet", logs: logs, sub: sub}, nil
  2053  }
  2054  
  2055  // WatchPendingOwnerSet is a free log subscription operation binding the contract event 0x68f49b346b94582a8b5f9d10e3fe3365318fe8f191ff8dce7c59c6cad06b02f5.
  2056  //
  2057  // Solidity: event PendingOwnerSet(address indexed pendingOwner)
  2058  func (_Traderjoe *TraderjoeFilterer) WatchPendingOwnerSet(opts *bind.WatchOpts, sink chan<- *TraderjoePendingOwnerSet, pendingOwner []common.Address) (event.Subscription, error) {
  2059  
  2060  	var pendingOwnerRule []interface{}
  2061  	for _, pendingOwnerItem := range pendingOwner {
  2062  		pendingOwnerRule = append(pendingOwnerRule, pendingOwnerItem)
  2063  	}
  2064  
  2065  	logs, sub, err := _Traderjoe.contract.WatchLogs(opts, "PendingOwnerSet", pendingOwnerRule)
  2066  	if err != nil {
  2067  		return nil, err
  2068  	}
  2069  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2070  		defer sub.Unsubscribe()
  2071  		for {
  2072  			select {
  2073  			case log := <-logs:
  2074  				// New log arrived, parse the event and forward to the user
  2075  				event := new(TraderjoePendingOwnerSet)
  2076  				if err := _Traderjoe.contract.UnpackLog(event, "PendingOwnerSet", log); err != nil {
  2077  					return err
  2078  				}
  2079  				event.Raw = log
  2080  
  2081  				select {
  2082  				case sink <- event:
  2083  				case err := <-sub.Err():
  2084  					return err
  2085  				case <-quit:
  2086  					return nil
  2087  				}
  2088  			case err := <-sub.Err():
  2089  				return err
  2090  			case <-quit:
  2091  				return nil
  2092  			}
  2093  		}
  2094  	}), nil
  2095  }
  2096  
  2097  // ParsePendingOwnerSet is a log parse operation binding the contract event 0x68f49b346b94582a8b5f9d10e3fe3365318fe8f191ff8dce7c59c6cad06b02f5.
  2098  //
  2099  // Solidity: event PendingOwnerSet(address indexed pendingOwner)
  2100  func (_Traderjoe *TraderjoeFilterer) ParsePendingOwnerSet(log types.Log) (*TraderjoePendingOwnerSet, error) {
  2101  	event := new(TraderjoePendingOwnerSet)
  2102  	if err := _Traderjoe.contract.UnpackLog(event, "PendingOwnerSet", log); err != nil {
  2103  		return nil, err
  2104  	}
  2105  	event.Raw = log
  2106  	return event, nil
  2107  }
  2108  
  2109  // TraderjoePresetOpenStateChangedIterator is returned from FilterPresetOpenStateChanged and is used to iterate over the raw logs and unpacked data for PresetOpenStateChanged events raised by the Traderjoe contract.
  2110  type TraderjoePresetOpenStateChangedIterator struct {
  2111  	Event *TraderjoePresetOpenStateChanged // Event containing the contract specifics and raw log
  2112  
  2113  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2114  	event    string              // Event name to use for unpacking event data
  2115  
  2116  	logs chan types.Log        // Log channel receiving the found contract events
  2117  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2118  	done bool                  // Whether the subscription completed delivering logs
  2119  	fail error                 // Occurred error to stop iteration
  2120  }
  2121  
  2122  // Next advances the iterator to the subsequent event, returning whether there
  2123  // are any more events found. In case of a retrieval or parsing error, false is
  2124  // returned and Error() can be queried for the exact failure.
  2125  func (it *TraderjoePresetOpenStateChangedIterator) Next() bool {
  2126  	// If the iterator failed, stop iterating
  2127  	if it.fail != nil {
  2128  		return false
  2129  	}
  2130  	// If the iterator completed, deliver directly whatever's available
  2131  	if it.done {
  2132  		select {
  2133  		case log := <-it.logs:
  2134  			it.Event = new(TraderjoePresetOpenStateChanged)
  2135  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2136  				it.fail = err
  2137  				return false
  2138  			}
  2139  			it.Event.Raw = log
  2140  			return true
  2141  
  2142  		default:
  2143  			return false
  2144  		}
  2145  	}
  2146  	// Iterator still in progress, wait for either a data or an error event
  2147  	select {
  2148  	case log := <-it.logs:
  2149  		it.Event = new(TraderjoePresetOpenStateChanged)
  2150  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2151  			it.fail = err
  2152  			return false
  2153  		}
  2154  		it.Event.Raw = log
  2155  		return true
  2156  
  2157  	case err := <-it.sub.Err():
  2158  		it.done = true
  2159  		it.fail = err
  2160  		return it.Next()
  2161  	}
  2162  }
  2163  
  2164  // Error returns any retrieval or parsing error occurred during filtering.
  2165  func (it *TraderjoePresetOpenStateChangedIterator) Error() error {
  2166  	return it.fail
  2167  }
  2168  
  2169  // Close terminates the iteration process, releasing any pending underlying
  2170  // resources.
  2171  func (it *TraderjoePresetOpenStateChangedIterator) Close() error {
  2172  	it.sub.Unsubscribe()
  2173  	return nil
  2174  }
  2175  
  2176  // TraderjoePresetOpenStateChanged represents a PresetOpenStateChanged event raised by the Traderjoe contract.
  2177  type TraderjoePresetOpenStateChanged struct {
  2178  	BinStep *big.Int
  2179  	IsOpen  bool
  2180  	Raw     types.Log // Blockchain specific contextual infos
  2181  }
  2182  
  2183  // FilterPresetOpenStateChanged is a free log retrieval operation binding the contract event 0x58a8b6a02b964cca2712e5a71d7b0d564a56b4a0f573b4c47f389341ade14cfd.
  2184  //
  2185  // Solidity: event PresetOpenStateChanged(uint256 indexed binStep, bool indexed isOpen)
  2186  func (_Traderjoe *TraderjoeFilterer) FilterPresetOpenStateChanged(opts *bind.FilterOpts, binStep []*big.Int, isOpen []bool) (*TraderjoePresetOpenStateChangedIterator, error) {
  2187  
  2188  	var binStepRule []interface{}
  2189  	for _, binStepItem := range binStep {
  2190  		binStepRule = append(binStepRule, binStepItem)
  2191  	}
  2192  	var isOpenRule []interface{}
  2193  	for _, isOpenItem := range isOpen {
  2194  		isOpenRule = append(isOpenRule, isOpenItem)
  2195  	}
  2196  
  2197  	logs, sub, err := _Traderjoe.contract.FilterLogs(opts, "PresetOpenStateChanged", binStepRule, isOpenRule)
  2198  	if err != nil {
  2199  		return nil, err
  2200  	}
  2201  	return &TraderjoePresetOpenStateChangedIterator{contract: _Traderjoe.contract, event: "PresetOpenStateChanged", logs: logs, sub: sub}, nil
  2202  }
  2203  
  2204  // WatchPresetOpenStateChanged is a free log subscription operation binding the contract event 0x58a8b6a02b964cca2712e5a71d7b0d564a56b4a0f573b4c47f389341ade14cfd.
  2205  //
  2206  // Solidity: event PresetOpenStateChanged(uint256 indexed binStep, bool indexed isOpen)
  2207  func (_Traderjoe *TraderjoeFilterer) WatchPresetOpenStateChanged(opts *bind.WatchOpts, sink chan<- *TraderjoePresetOpenStateChanged, binStep []*big.Int, isOpen []bool) (event.Subscription, error) {
  2208  
  2209  	var binStepRule []interface{}
  2210  	for _, binStepItem := range binStep {
  2211  		binStepRule = append(binStepRule, binStepItem)
  2212  	}
  2213  	var isOpenRule []interface{}
  2214  	for _, isOpenItem := range isOpen {
  2215  		isOpenRule = append(isOpenRule, isOpenItem)
  2216  	}
  2217  
  2218  	logs, sub, err := _Traderjoe.contract.WatchLogs(opts, "PresetOpenStateChanged", binStepRule, isOpenRule)
  2219  	if err != nil {
  2220  		return nil, err
  2221  	}
  2222  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2223  		defer sub.Unsubscribe()
  2224  		for {
  2225  			select {
  2226  			case log := <-logs:
  2227  				// New log arrived, parse the event and forward to the user
  2228  				event := new(TraderjoePresetOpenStateChanged)
  2229  				if err := _Traderjoe.contract.UnpackLog(event, "PresetOpenStateChanged", log); err != nil {
  2230  					return err
  2231  				}
  2232  				event.Raw = log
  2233  
  2234  				select {
  2235  				case sink <- event:
  2236  				case err := <-sub.Err():
  2237  					return err
  2238  				case <-quit:
  2239  					return nil
  2240  				}
  2241  			case err := <-sub.Err():
  2242  				return err
  2243  			case <-quit:
  2244  				return nil
  2245  			}
  2246  		}
  2247  	}), nil
  2248  }
  2249  
  2250  // ParsePresetOpenStateChanged is a log parse operation binding the contract event 0x58a8b6a02b964cca2712e5a71d7b0d564a56b4a0f573b4c47f389341ade14cfd.
  2251  //
  2252  // Solidity: event PresetOpenStateChanged(uint256 indexed binStep, bool indexed isOpen)
  2253  func (_Traderjoe *TraderjoeFilterer) ParsePresetOpenStateChanged(log types.Log) (*TraderjoePresetOpenStateChanged, error) {
  2254  	event := new(TraderjoePresetOpenStateChanged)
  2255  	if err := _Traderjoe.contract.UnpackLog(event, "PresetOpenStateChanged", log); err != nil {
  2256  		return nil, err
  2257  	}
  2258  	event.Raw = log
  2259  	return event, nil
  2260  }
  2261  
  2262  // TraderjoePresetRemovedIterator is returned from FilterPresetRemoved and is used to iterate over the raw logs and unpacked data for PresetRemoved events raised by the Traderjoe contract.
  2263  type TraderjoePresetRemovedIterator struct {
  2264  	Event *TraderjoePresetRemoved // Event containing the contract specifics and raw log
  2265  
  2266  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2267  	event    string              // Event name to use for unpacking event data
  2268  
  2269  	logs chan types.Log        // Log channel receiving the found contract events
  2270  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2271  	done bool                  // Whether the subscription completed delivering logs
  2272  	fail error                 // Occurred error to stop iteration
  2273  }
  2274  
  2275  // Next advances the iterator to the subsequent event, returning whether there
  2276  // are any more events found. In case of a retrieval or parsing error, false is
  2277  // returned and Error() can be queried for the exact failure.
  2278  func (it *TraderjoePresetRemovedIterator) Next() bool {
  2279  	// If the iterator failed, stop iterating
  2280  	if it.fail != nil {
  2281  		return false
  2282  	}
  2283  	// If the iterator completed, deliver directly whatever's available
  2284  	if it.done {
  2285  		select {
  2286  		case log := <-it.logs:
  2287  			it.Event = new(TraderjoePresetRemoved)
  2288  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2289  				it.fail = err
  2290  				return false
  2291  			}
  2292  			it.Event.Raw = log
  2293  			return true
  2294  
  2295  		default:
  2296  			return false
  2297  		}
  2298  	}
  2299  	// Iterator still in progress, wait for either a data or an error event
  2300  	select {
  2301  	case log := <-it.logs:
  2302  		it.Event = new(TraderjoePresetRemoved)
  2303  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2304  			it.fail = err
  2305  			return false
  2306  		}
  2307  		it.Event.Raw = log
  2308  		return true
  2309  
  2310  	case err := <-it.sub.Err():
  2311  		it.done = true
  2312  		it.fail = err
  2313  		return it.Next()
  2314  	}
  2315  }
  2316  
  2317  // Error returns any retrieval or parsing error occurred during filtering.
  2318  func (it *TraderjoePresetRemovedIterator) Error() error {
  2319  	return it.fail
  2320  }
  2321  
  2322  // Close terminates the iteration process, releasing any pending underlying
  2323  // resources.
  2324  func (it *TraderjoePresetRemovedIterator) Close() error {
  2325  	it.sub.Unsubscribe()
  2326  	return nil
  2327  }
  2328  
  2329  // TraderjoePresetRemoved represents a PresetRemoved event raised by the Traderjoe contract.
  2330  type TraderjoePresetRemoved struct {
  2331  	BinStep *big.Int
  2332  	Raw     types.Log // Blockchain specific contextual infos
  2333  }
  2334  
  2335  // FilterPresetRemoved is a free log retrieval operation binding the contract event 0xdd86b848bb56ff540caa68683fa467d0e7eb5f8b2d44e4ee435742eeeae9be13.
  2336  //
  2337  // Solidity: event PresetRemoved(uint256 indexed binStep)
  2338  func (_Traderjoe *TraderjoeFilterer) FilterPresetRemoved(opts *bind.FilterOpts, binStep []*big.Int) (*TraderjoePresetRemovedIterator, error) {
  2339  
  2340  	var binStepRule []interface{}
  2341  	for _, binStepItem := range binStep {
  2342  		binStepRule = append(binStepRule, binStepItem)
  2343  	}
  2344  
  2345  	logs, sub, err := _Traderjoe.contract.FilterLogs(opts, "PresetRemoved", binStepRule)
  2346  	if err != nil {
  2347  		return nil, err
  2348  	}
  2349  	return &TraderjoePresetRemovedIterator{contract: _Traderjoe.contract, event: "PresetRemoved", logs: logs, sub: sub}, nil
  2350  }
  2351  
  2352  // WatchPresetRemoved is a free log subscription operation binding the contract event 0xdd86b848bb56ff540caa68683fa467d0e7eb5f8b2d44e4ee435742eeeae9be13.
  2353  //
  2354  // Solidity: event PresetRemoved(uint256 indexed binStep)
  2355  func (_Traderjoe *TraderjoeFilterer) WatchPresetRemoved(opts *bind.WatchOpts, sink chan<- *TraderjoePresetRemoved, binStep []*big.Int) (event.Subscription, error) {
  2356  
  2357  	var binStepRule []interface{}
  2358  	for _, binStepItem := range binStep {
  2359  		binStepRule = append(binStepRule, binStepItem)
  2360  	}
  2361  
  2362  	logs, sub, err := _Traderjoe.contract.WatchLogs(opts, "PresetRemoved", binStepRule)
  2363  	if err != nil {
  2364  		return nil, err
  2365  	}
  2366  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2367  		defer sub.Unsubscribe()
  2368  		for {
  2369  			select {
  2370  			case log := <-logs:
  2371  				// New log arrived, parse the event and forward to the user
  2372  				event := new(TraderjoePresetRemoved)
  2373  				if err := _Traderjoe.contract.UnpackLog(event, "PresetRemoved", log); err != nil {
  2374  					return err
  2375  				}
  2376  				event.Raw = log
  2377  
  2378  				select {
  2379  				case sink <- event:
  2380  				case err := <-sub.Err():
  2381  					return err
  2382  				case <-quit:
  2383  					return nil
  2384  				}
  2385  			case err := <-sub.Err():
  2386  				return err
  2387  			case <-quit:
  2388  				return nil
  2389  			}
  2390  		}
  2391  	}), nil
  2392  }
  2393  
  2394  // ParsePresetRemoved is a log parse operation binding the contract event 0xdd86b848bb56ff540caa68683fa467d0e7eb5f8b2d44e4ee435742eeeae9be13.
  2395  //
  2396  // Solidity: event PresetRemoved(uint256 indexed binStep)
  2397  func (_Traderjoe *TraderjoeFilterer) ParsePresetRemoved(log types.Log) (*TraderjoePresetRemoved, error) {
  2398  	event := new(TraderjoePresetRemoved)
  2399  	if err := _Traderjoe.contract.UnpackLog(event, "PresetRemoved", log); err != nil {
  2400  		return nil, err
  2401  	}
  2402  	event.Raw = log
  2403  	return event, nil
  2404  }
  2405  
  2406  // TraderjoePresetSetIterator is returned from FilterPresetSet and is used to iterate over the raw logs and unpacked data for PresetSet events raised by the Traderjoe contract.
  2407  type TraderjoePresetSetIterator struct {
  2408  	Event *TraderjoePresetSet // Event containing the contract specifics and raw log
  2409  
  2410  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2411  	event    string              // Event name to use for unpacking event data
  2412  
  2413  	logs chan types.Log        // Log channel receiving the found contract events
  2414  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2415  	done bool                  // Whether the subscription completed delivering logs
  2416  	fail error                 // Occurred error to stop iteration
  2417  }
  2418  
  2419  // Next advances the iterator to the subsequent event, returning whether there
  2420  // are any more events found. In case of a retrieval or parsing error, false is
  2421  // returned and Error() can be queried for the exact failure.
  2422  func (it *TraderjoePresetSetIterator) Next() bool {
  2423  	// If the iterator failed, stop iterating
  2424  	if it.fail != nil {
  2425  		return false
  2426  	}
  2427  	// If the iterator completed, deliver directly whatever's available
  2428  	if it.done {
  2429  		select {
  2430  		case log := <-it.logs:
  2431  			it.Event = new(TraderjoePresetSet)
  2432  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2433  				it.fail = err
  2434  				return false
  2435  			}
  2436  			it.Event.Raw = log
  2437  			return true
  2438  
  2439  		default:
  2440  			return false
  2441  		}
  2442  	}
  2443  	// Iterator still in progress, wait for either a data or an error event
  2444  	select {
  2445  	case log := <-it.logs:
  2446  		it.Event = new(TraderjoePresetSet)
  2447  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2448  			it.fail = err
  2449  			return false
  2450  		}
  2451  		it.Event.Raw = log
  2452  		return true
  2453  
  2454  	case err := <-it.sub.Err():
  2455  		it.done = true
  2456  		it.fail = err
  2457  		return it.Next()
  2458  	}
  2459  }
  2460  
  2461  // Error returns any retrieval or parsing error occurred during filtering.
  2462  func (it *TraderjoePresetSetIterator) Error() error {
  2463  	return it.fail
  2464  }
  2465  
  2466  // Close terminates the iteration process, releasing any pending underlying
  2467  // resources.
  2468  func (it *TraderjoePresetSetIterator) Close() error {
  2469  	it.sub.Unsubscribe()
  2470  	return nil
  2471  }
  2472  
  2473  // TraderjoePresetSet represents a PresetSet event raised by the Traderjoe contract.
  2474  type TraderjoePresetSet struct {
  2475  	BinStep                  *big.Int
  2476  	BaseFactor               *big.Int
  2477  	FilterPeriod             *big.Int
  2478  	DecayPeriod              *big.Int
  2479  	ReductionFactor          *big.Int
  2480  	VariableFeeControl       *big.Int
  2481  	ProtocolShare            *big.Int
  2482  	MaxVolatilityAccumulator *big.Int
  2483  	Raw                      types.Log // Blockchain specific contextual infos
  2484  }
  2485  
  2486  // FilterPresetSet is a free log retrieval operation binding the contract event 0x839844a256a87f87c9c835117d9a1c40be013954064c937072acb32d36db6a28.
  2487  //
  2488  // Solidity: event PresetSet(uint256 indexed binStep, uint256 baseFactor, uint256 filterPeriod, uint256 decayPeriod, uint256 reductionFactor, uint256 variableFeeControl, uint256 protocolShare, uint256 maxVolatilityAccumulator)
  2489  func (_Traderjoe *TraderjoeFilterer) FilterPresetSet(opts *bind.FilterOpts, binStep []*big.Int) (*TraderjoePresetSetIterator, error) {
  2490  
  2491  	var binStepRule []interface{}
  2492  	for _, binStepItem := range binStep {
  2493  		binStepRule = append(binStepRule, binStepItem)
  2494  	}
  2495  
  2496  	logs, sub, err := _Traderjoe.contract.FilterLogs(opts, "PresetSet", binStepRule)
  2497  	if err != nil {
  2498  		return nil, err
  2499  	}
  2500  	return &TraderjoePresetSetIterator{contract: _Traderjoe.contract, event: "PresetSet", logs: logs, sub: sub}, nil
  2501  }
  2502  
  2503  // WatchPresetSet is a free log subscription operation binding the contract event 0x839844a256a87f87c9c835117d9a1c40be013954064c937072acb32d36db6a28.
  2504  //
  2505  // Solidity: event PresetSet(uint256 indexed binStep, uint256 baseFactor, uint256 filterPeriod, uint256 decayPeriod, uint256 reductionFactor, uint256 variableFeeControl, uint256 protocolShare, uint256 maxVolatilityAccumulator)
  2506  func (_Traderjoe *TraderjoeFilterer) WatchPresetSet(opts *bind.WatchOpts, sink chan<- *TraderjoePresetSet, binStep []*big.Int) (event.Subscription, error) {
  2507  
  2508  	var binStepRule []interface{}
  2509  	for _, binStepItem := range binStep {
  2510  		binStepRule = append(binStepRule, binStepItem)
  2511  	}
  2512  
  2513  	logs, sub, err := _Traderjoe.contract.WatchLogs(opts, "PresetSet", binStepRule)
  2514  	if err != nil {
  2515  		return nil, err
  2516  	}
  2517  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2518  		defer sub.Unsubscribe()
  2519  		for {
  2520  			select {
  2521  			case log := <-logs:
  2522  				// New log arrived, parse the event and forward to the user
  2523  				event := new(TraderjoePresetSet)
  2524  				if err := _Traderjoe.contract.UnpackLog(event, "PresetSet", log); err != nil {
  2525  					return err
  2526  				}
  2527  				event.Raw = log
  2528  
  2529  				select {
  2530  				case sink <- event:
  2531  				case err := <-sub.Err():
  2532  					return err
  2533  				case <-quit:
  2534  					return nil
  2535  				}
  2536  			case err := <-sub.Err():
  2537  				return err
  2538  			case <-quit:
  2539  				return nil
  2540  			}
  2541  		}
  2542  	}), nil
  2543  }
  2544  
  2545  // ParsePresetSet is a log parse operation binding the contract event 0x839844a256a87f87c9c835117d9a1c40be013954064c937072acb32d36db6a28.
  2546  //
  2547  // Solidity: event PresetSet(uint256 indexed binStep, uint256 baseFactor, uint256 filterPeriod, uint256 decayPeriod, uint256 reductionFactor, uint256 variableFeeControl, uint256 protocolShare, uint256 maxVolatilityAccumulator)
  2548  func (_Traderjoe *TraderjoeFilterer) ParsePresetSet(log types.Log) (*TraderjoePresetSet, error) {
  2549  	event := new(TraderjoePresetSet)
  2550  	if err := _Traderjoe.contract.UnpackLog(event, "PresetSet", log); err != nil {
  2551  		return nil, err
  2552  	}
  2553  	event.Raw = log
  2554  	return event, nil
  2555  }
  2556  
  2557  // TraderjoeQuoteAssetAddedIterator is returned from FilterQuoteAssetAdded and is used to iterate over the raw logs and unpacked data for QuoteAssetAdded events raised by the Traderjoe contract.
  2558  type TraderjoeQuoteAssetAddedIterator struct {
  2559  	Event *TraderjoeQuoteAssetAdded // Event containing the contract specifics and raw log
  2560  
  2561  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2562  	event    string              // Event name to use for unpacking event data
  2563  
  2564  	logs chan types.Log        // Log channel receiving the found contract events
  2565  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2566  	done bool                  // Whether the subscription completed delivering logs
  2567  	fail error                 // Occurred error to stop iteration
  2568  }
  2569  
  2570  // Next advances the iterator to the subsequent event, returning whether there
  2571  // are any more events found. In case of a retrieval or parsing error, false is
  2572  // returned and Error() can be queried for the exact failure.
  2573  func (it *TraderjoeQuoteAssetAddedIterator) Next() bool {
  2574  	// If the iterator failed, stop iterating
  2575  	if it.fail != nil {
  2576  		return false
  2577  	}
  2578  	// If the iterator completed, deliver directly whatever's available
  2579  	if it.done {
  2580  		select {
  2581  		case log := <-it.logs:
  2582  			it.Event = new(TraderjoeQuoteAssetAdded)
  2583  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2584  				it.fail = err
  2585  				return false
  2586  			}
  2587  			it.Event.Raw = log
  2588  			return true
  2589  
  2590  		default:
  2591  			return false
  2592  		}
  2593  	}
  2594  	// Iterator still in progress, wait for either a data or an error event
  2595  	select {
  2596  	case log := <-it.logs:
  2597  		it.Event = new(TraderjoeQuoteAssetAdded)
  2598  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2599  			it.fail = err
  2600  			return false
  2601  		}
  2602  		it.Event.Raw = log
  2603  		return true
  2604  
  2605  	case err := <-it.sub.Err():
  2606  		it.done = true
  2607  		it.fail = err
  2608  		return it.Next()
  2609  	}
  2610  }
  2611  
  2612  // Error returns any retrieval or parsing error occurred during filtering.
  2613  func (it *TraderjoeQuoteAssetAddedIterator) Error() error {
  2614  	return it.fail
  2615  }
  2616  
  2617  // Close terminates the iteration process, releasing any pending underlying
  2618  // resources.
  2619  func (it *TraderjoeQuoteAssetAddedIterator) Close() error {
  2620  	it.sub.Unsubscribe()
  2621  	return nil
  2622  }
  2623  
  2624  // TraderjoeQuoteAssetAdded represents a QuoteAssetAdded event raised by the Traderjoe contract.
  2625  type TraderjoeQuoteAssetAdded struct {
  2626  	QuoteAsset common.Address
  2627  	Raw        types.Log // Blockchain specific contextual infos
  2628  }
  2629  
  2630  // FilterQuoteAssetAdded is a free log retrieval operation binding the contract event 0x84cc2115995684dcb0cd3d3a9565e3d32f075de81db70c8dc3a719b2a47af67e.
  2631  //
  2632  // Solidity: event QuoteAssetAdded(address indexed quoteAsset)
  2633  func (_Traderjoe *TraderjoeFilterer) FilterQuoteAssetAdded(opts *bind.FilterOpts, quoteAsset []common.Address) (*TraderjoeQuoteAssetAddedIterator, error) {
  2634  
  2635  	var quoteAssetRule []interface{}
  2636  	for _, quoteAssetItem := range quoteAsset {
  2637  		quoteAssetRule = append(quoteAssetRule, quoteAssetItem)
  2638  	}
  2639  
  2640  	logs, sub, err := _Traderjoe.contract.FilterLogs(opts, "QuoteAssetAdded", quoteAssetRule)
  2641  	if err != nil {
  2642  		return nil, err
  2643  	}
  2644  	return &TraderjoeQuoteAssetAddedIterator{contract: _Traderjoe.contract, event: "QuoteAssetAdded", logs: logs, sub: sub}, nil
  2645  }
  2646  
  2647  // WatchQuoteAssetAdded is a free log subscription operation binding the contract event 0x84cc2115995684dcb0cd3d3a9565e3d32f075de81db70c8dc3a719b2a47af67e.
  2648  //
  2649  // Solidity: event QuoteAssetAdded(address indexed quoteAsset)
  2650  func (_Traderjoe *TraderjoeFilterer) WatchQuoteAssetAdded(opts *bind.WatchOpts, sink chan<- *TraderjoeQuoteAssetAdded, quoteAsset []common.Address) (event.Subscription, error) {
  2651  
  2652  	var quoteAssetRule []interface{}
  2653  	for _, quoteAssetItem := range quoteAsset {
  2654  		quoteAssetRule = append(quoteAssetRule, quoteAssetItem)
  2655  	}
  2656  
  2657  	logs, sub, err := _Traderjoe.contract.WatchLogs(opts, "QuoteAssetAdded", quoteAssetRule)
  2658  	if err != nil {
  2659  		return nil, err
  2660  	}
  2661  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2662  		defer sub.Unsubscribe()
  2663  		for {
  2664  			select {
  2665  			case log := <-logs:
  2666  				// New log arrived, parse the event and forward to the user
  2667  				event := new(TraderjoeQuoteAssetAdded)
  2668  				if err := _Traderjoe.contract.UnpackLog(event, "QuoteAssetAdded", log); err != nil {
  2669  					return err
  2670  				}
  2671  				event.Raw = log
  2672  
  2673  				select {
  2674  				case sink <- event:
  2675  				case err := <-sub.Err():
  2676  					return err
  2677  				case <-quit:
  2678  					return nil
  2679  				}
  2680  			case err := <-sub.Err():
  2681  				return err
  2682  			case <-quit:
  2683  				return nil
  2684  			}
  2685  		}
  2686  	}), nil
  2687  }
  2688  
  2689  // ParseQuoteAssetAdded is a log parse operation binding the contract event 0x84cc2115995684dcb0cd3d3a9565e3d32f075de81db70c8dc3a719b2a47af67e.
  2690  //
  2691  // Solidity: event QuoteAssetAdded(address indexed quoteAsset)
  2692  func (_Traderjoe *TraderjoeFilterer) ParseQuoteAssetAdded(log types.Log) (*TraderjoeQuoteAssetAdded, error) {
  2693  	event := new(TraderjoeQuoteAssetAdded)
  2694  	if err := _Traderjoe.contract.UnpackLog(event, "QuoteAssetAdded", log); err != nil {
  2695  		return nil, err
  2696  	}
  2697  	event.Raw = log
  2698  	return event, nil
  2699  }
  2700  
  2701  // TraderjoeQuoteAssetRemovedIterator is returned from FilterQuoteAssetRemoved and is used to iterate over the raw logs and unpacked data for QuoteAssetRemoved events raised by the Traderjoe contract.
  2702  type TraderjoeQuoteAssetRemovedIterator struct {
  2703  	Event *TraderjoeQuoteAssetRemoved // Event containing the contract specifics and raw log
  2704  
  2705  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2706  	event    string              // Event name to use for unpacking event data
  2707  
  2708  	logs chan types.Log        // Log channel receiving the found contract events
  2709  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2710  	done bool                  // Whether the subscription completed delivering logs
  2711  	fail error                 // Occurred error to stop iteration
  2712  }
  2713  
  2714  // Next advances the iterator to the subsequent event, returning whether there
  2715  // are any more events found. In case of a retrieval or parsing error, false is
  2716  // returned and Error() can be queried for the exact failure.
  2717  func (it *TraderjoeQuoteAssetRemovedIterator) Next() bool {
  2718  	// If the iterator failed, stop iterating
  2719  	if it.fail != nil {
  2720  		return false
  2721  	}
  2722  	// If the iterator completed, deliver directly whatever's available
  2723  	if it.done {
  2724  		select {
  2725  		case log := <-it.logs:
  2726  			it.Event = new(TraderjoeQuoteAssetRemoved)
  2727  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2728  				it.fail = err
  2729  				return false
  2730  			}
  2731  			it.Event.Raw = log
  2732  			return true
  2733  
  2734  		default:
  2735  			return false
  2736  		}
  2737  	}
  2738  	// Iterator still in progress, wait for either a data or an error event
  2739  	select {
  2740  	case log := <-it.logs:
  2741  		it.Event = new(TraderjoeQuoteAssetRemoved)
  2742  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2743  			it.fail = err
  2744  			return false
  2745  		}
  2746  		it.Event.Raw = log
  2747  		return true
  2748  
  2749  	case err := <-it.sub.Err():
  2750  		it.done = true
  2751  		it.fail = err
  2752  		return it.Next()
  2753  	}
  2754  }
  2755  
  2756  // Error returns any retrieval or parsing error occurred during filtering.
  2757  func (it *TraderjoeQuoteAssetRemovedIterator) Error() error {
  2758  	return it.fail
  2759  }
  2760  
  2761  // Close terminates the iteration process, releasing any pending underlying
  2762  // resources.
  2763  func (it *TraderjoeQuoteAssetRemovedIterator) Close() error {
  2764  	it.sub.Unsubscribe()
  2765  	return nil
  2766  }
  2767  
  2768  // TraderjoeQuoteAssetRemoved represents a QuoteAssetRemoved event raised by the Traderjoe contract.
  2769  type TraderjoeQuoteAssetRemoved struct {
  2770  	QuoteAsset common.Address
  2771  	Raw        types.Log // Blockchain specific contextual infos
  2772  }
  2773  
  2774  // FilterQuoteAssetRemoved is a free log retrieval operation binding the contract event 0x0b767739217755d8af5a2ba75b181a19fa1750f8bb701f09311cb19a90140cb3.
  2775  //
  2776  // Solidity: event QuoteAssetRemoved(address indexed quoteAsset)
  2777  func (_Traderjoe *TraderjoeFilterer) FilterQuoteAssetRemoved(opts *bind.FilterOpts, quoteAsset []common.Address) (*TraderjoeQuoteAssetRemovedIterator, error) {
  2778  
  2779  	var quoteAssetRule []interface{}
  2780  	for _, quoteAssetItem := range quoteAsset {
  2781  		quoteAssetRule = append(quoteAssetRule, quoteAssetItem)
  2782  	}
  2783  
  2784  	logs, sub, err := _Traderjoe.contract.FilterLogs(opts, "QuoteAssetRemoved", quoteAssetRule)
  2785  	if err != nil {
  2786  		return nil, err
  2787  	}
  2788  	return &TraderjoeQuoteAssetRemovedIterator{contract: _Traderjoe.contract, event: "QuoteAssetRemoved", logs: logs, sub: sub}, nil
  2789  }
  2790  
  2791  // WatchQuoteAssetRemoved is a free log subscription operation binding the contract event 0x0b767739217755d8af5a2ba75b181a19fa1750f8bb701f09311cb19a90140cb3.
  2792  //
  2793  // Solidity: event QuoteAssetRemoved(address indexed quoteAsset)
  2794  func (_Traderjoe *TraderjoeFilterer) WatchQuoteAssetRemoved(opts *bind.WatchOpts, sink chan<- *TraderjoeQuoteAssetRemoved, quoteAsset []common.Address) (event.Subscription, error) {
  2795  
  2796  	var quoteAssetRule []interface{}
  2797  	for _, quoteAssetItem := range quoteAsset {
  2798  		quoteAssetRule = append(quoteAssetRule, quoteAssetItem)
  2799  	}
  2800  
  2801  	logs, sub, err := _Traderjoe.contract.WatchLogs(opts, "QuoteAssetRemoved", quoteAssetRule)
  2802  	if err != nil {
  2803  		return nil, err
  2804  	}
  2805  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2806  		defer sub.Unsubscribe()
  2807  		for {
  2808  			select {
  2809  			case log := <-logs:
  2810  				// New log arrived, parse the event and forward to the user
  2811  				event := new(TraderjoeQuoteAssetRemoved)
  2812  				if err := _Traderjoe.contract.UnpackLog(event, "QuoteAssetRemoved", log); err != nil {
  2813  					return err
  2814  				}
  2815  				event.Raw = log
  2816  
  2817  				select {
  2818  				case sink <- event:
  2819  				case err := <-sub.Err():
  2820  					return err
  2821  				case <-quit:
  2822  					return nil
  2823  				}
  2824  			case err := <-sub.Err():
  2825  				return err
  2826  			case <-quit:
  2827  				return nil
  2828  			}
  2829  		}
  2830  	}), nil
  2831  }
  2832  
  2833  // ParseQuoteAssetRemoved is a log parse operation binding the contract event 0x0b767739217755d8af5a2ba75b181a19fa1750f8bb701f09311cb19a90140cb3.
  2834  //
  2835  // Solidity: event QuoteAssetRemoved(address indexed quoteAsset)
  2836  func (_Traderjoe *TraderjoeFilterer) ParseQuoteAssetRemoved(log types.Log) (*TraderjoeQuoteAssetRemoved, error) {
  2837  	event := new(TraderjoeQuoteAssetRemoved)
  2838  	if err := _Traderjoe.contract.UnpackLog(event, "QuoteAssetRemoved", log); err != nil {
  2839  		return nil, err
  2840  	}
  2841  	event.Raw = log
  2842  	return event, nil
  2843  }