github.com/0chain/gosdk@v1.17.11/zcnbridge/ethereum/uniswaprouter/uniswaprouter.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 uniswaprouter
     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  // UniswaprouterMetaData contains all meta data concerning the Uniswaprouter contract.
    33  var UniswaprouterMetaData = &bind.MetaData{
    34  	ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_factory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_WETH\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"WETH\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountADesired\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountBDesired\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountAMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountBMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"addLiquidity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountB\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountTokenDesired\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountTokenMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETHMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"addLiquidityETH\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountToken\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETH\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveOut\",\"type\":\"uint256\"}],\"name\":\"getAmountIn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveOut\",\"type\":\"uint256\"}],\"name\":\"getAmountOut\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"}],\"name\":\"getAmountsIn\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"}],\"name\":\"getAmountsOut\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveB\",\"type\":\"uint256\"}],\"name\":\"quote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountB\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountAMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountBMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"removeLiquidity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountB\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountTokenMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETHMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"removeLiquidityETH\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountToken\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETH\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountTokenMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETHMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"removeLiquidityETHSupportingFeeOnTransferTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountETH\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountTokenMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETHMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"approveMax\",\"type\":\"bool\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"removeLiquidityETHWithPermit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountToken\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETH\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountTokenMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountETHMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"approveMax\",\"type\":\"bool\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountETH\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountAMin\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountBMin\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"approveMax\",\"type\":\"bool\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"removeLiquidityWithPermit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountB\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapETHForExactTokens\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapExactETHForTokens\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapExactETHForTokensSupportingFeeOnTransferTokens\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapExactTokensForETH\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapExactTokensForETHSupportingFeeOnTransferTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapExactTokensForTokens\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapExactTokensForTokensSupportingFeeOnTransferTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountInMax\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapTokensForExactETH\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountInMax\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swapTokensForExactTokens\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]",
    35  }
    36  
    37  // UniswaprouterABI is the input ABI used to generate the binding from.
    38  // Deprecated: Use UniswaprouterMetaData.ABI instead.
    39  var UniswaprouterABI = UniswaprouterMetaData.ABI
    40  
    41  // Uniswaprouter is an auto generated Go binding around an Ethereum contract.
    42  type Uniswaprouter struct {
    43  	UniswaprouterCaller     // Read-only binding to the contract
    44  	UniswaprouterTransactor // Write-only binding to the contract
    45  	UniswaprouterFilterer   // Log filterer for contract events
    46  }
    47  
    48  // UniswaprouterCaller is an auto generated read-only Go binding around an Ethereum contract.
    49  type UniswaprouterCaller struct {
    50  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    51  }
    52  
    53  // UniswaprouterTransactor is an auto generated write-only Go binding around an Ethereum contract.
    54  type UniswaprouterTransactor struct {
    55  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    56  }
    57  
    58  // UniswaprouterFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
    59  type UniswaprouterFilterer struct {
    60  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    61  }
    62  
    63  // UniswaprouterSession is an auto generated Go binding around an Ethereum contract,
    64  // with pre-set call and transact options.
    65  type UniswaprouterSession struct {
    66  	Contract     *Uniswaprouter    // Generic contract binding to set the session for
    67  	CallOpts     bind.CallOpts     // Call options to use throughout this session
    68  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
    69  }
    70  
    71  // UniswaprouterCallerSession is an auto generated read-only Go binding around an Ethereum contract,
    72  // with pre-set call options.
    73  type UniswaprouterCallerSession struct {
    74  	Contract *UniswaprouterCaller // Generic contract caller binding to set the session for
    75  	CallOpts bind.CallOpts        // Call options to use throughout this session
    76  }
    77  
    78  // UniswaprouterTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
    79  // with pre-set transact options.
    80  type UniswaprouterTransactorSession struct {
    81  	Contract     *UniswaprouterTransactor // Generic contract transactor binding to set the session for
    82  	TransactOpts bind.TransactOpts        // Transaction auth options to use throughout this session
    83  }
    84  
    85  // UniswaprouterRaw is an auto generated low-level Go binding around an Ethereum contract.
    86  type UniswaprouterRaw struct {
    87  	Contract *Uniswaprouter // Generic contract binding to access the raw methods on
    88  }
    89  
    90  // UniswaprouterCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
    91  type UniswaprouterCallerRaw struct {
    92  	Contract *UniswaprouterCaller // Generic read-only contract binding to access the raw methods on
    93  }
    94  
    95  // UniswaprouterTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
    96  type UniswaprouterTransactorRaw struct {
    97  	Contract *UniswaprouterTransactor // Generic write-only contract binding to access the raw methods on
    98  }
    99  
   100  // NewUniswaprouter creates a new instance of Uniswaprouter, bound to a specific deployed contract.
   101  func NewUniswaprouter(address common.Address, backend bind.ContractBackend) (*Uniswaprouter, error) {
   102  	contract, err := bindUniswaprouter(address, backend, backend, backend)
   103  	if err != nil {
   104  		return nil, err
   105  	}
   106  	return &Uniswaprouter{UniswaprouterCaller: UniswaprouterCaller{contract: contract}, UniswaprouterTransactor: UniswaprouterTransactor{contract: contract}, UniswaprouterFilterer: UniswaprouterFilterer{contract: contract}}, nil
   107  }
   108  
   109  // NewUniswaprouterCaller creates a new read-only instance of Uniswaprouter, bound to a specific deployed contract.
   110  func NewUniswaprouterCaller(address common.Address, caller bind.ContractCaller) (*UniswaprouterCaller, error) {
   111  	contract, err := bindUniswaprouter(address, caller, nil, nil)
   112  	if err != nil {
   113  		return nil, err
   114  	}
   115  	return &UniswaprouterCaller{contract: contract}, nil
   116  }
   117  
   118  // NewUniswaprouterTransactor creates a new write-only instance of Uniswaprouter, bound to a specific deployed contract.
   119  func NewUniswaprouterTransactor(address common.Address, transactor bind.ContractTransactor) (*UniswaprouterTransactor, error) {
   120  	contract, err := bindUniswaprouter(address, nil, transactor, nil)
   121  	if err != nil {
   122  		return nil, err
   123  	}
   124  	return &UniswaprouterTransactor{contract: contract}, nil
   125  }
   126  
   127  // NewUniswaprouterFilterer creates a new log filterer instance of Uniswaprouter, bound to a specific deployed contract.
   128  func NewUniswaprouterFilterer(address common.Address, filterer bind.ContractFilterer) (*UniswaprouterFilterer, error) {
   129  	contract, err := bindUniswaprouter(address, nil, nil, filterer)
   130  	if err != nil {
   131  		return nil, err
   132  	}
   133  	return &UniswaprouterFilterer{contract: contract}, nil
   134  }
   135  
   136  // bindUniswaprouter binds a generic wrapper to an already deployed contract.
   137  func bindUniswaprouter(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   138  	parsed, err := UniswaprouterMetaData.GetAbi()
   139  	if err != nil {
   140  		return nil, err
   141  	}
   142  	return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil
   143  }
   144  
   145  // Call invokes the (constant) contract method with params as input values and
   146  // sets the output to result. The result type might be a single field for simple
   147  // returns, a slice of interfaces for anonymous returns and a struct for named
   148  // returns.
   149  func (_Uniswaprouter *UniswaprouterRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   150  	return _Uniswaprouter.Contract.UniswaprouterCaller.contract.Call(opts, result, method, params...)
   151  }
   152  
   153  // Transfer initiates a plain transaction to move funds to the contract, calling
   154  // its default method if one is available.
   155  func (_Uniswaprouter *UniswaprouterRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   156  	return _Uniswaprouter.Contract.UniswaprouterTransactor.contract.Transfer(opts)
   157  }
   158  
   159  // Transact invokes the (paid) contract method with params as input values.
   160  func (_Uniswaprouter *UniswaprouterRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   161  	return _Uniswaprouter.Contract.UniswaprouterTransactor.contract.Transact(opts, method, params...)
   162  }
   163  
   164  // Call invokes the (constant) contract method with params as input values and
   165  // sets the output to result. The result type might be a single field for simple
   166  // returns, a slice of interfaces for anonymous returns and a struct for named
   167  // returns.
   168  func (_Uniswaprouter *UniswaprouterCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   169  	return _Uniswaprouter.Contract.contract.Call(opts, result, method, params...)
   170  }
   171  
   172  // Transfer initiates a plain transaction to move funds to the contract, calling
   173  // its default method if one is available.
   174  func (_Uniswaprouter *UniswaprouterTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   175  	return _Uniswaprouter.Contract.contract.Transfer(opts)
   176  }
   177  
   178  // Transact invokes the (paid) contract method with params as input values.
   179  func (_Uniswaprouter *UniswaprouterTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   180  	return _Uniswaprouter.Contract.contract.Transact(opts, method, params...)
   181  }
   182  
   183  // WETH is a free data retrieval call binding the contract method 0xad5c4648.
   184  //
   185  // Solidity: function WETH() view returns(address)
   186  func (_Uniswaprouter *UniswaprouterCaller) WETH(opts *bind.CallOpts) (common.Address, error) {
   187  	var out []interface{}
   188  	err := _Uniswaprouter.contract.Call(opts, &out, "WETH")
   189  
   190  	if err != nil {
   191  		return *new(common.Address), err
   192  	}
   193  
   194  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   195  
   196  	return out0, err
   197  
   198  }
   199  
   200  // WETH is a free data retrieval call binding the contract method 0xad5c4648.
   201  //
   202  // Solidity: function WETH() view returns(address)
   203  func (_Uniswaprouter *UniswaprouterSession) WETH() (common.Address, error) {
   204  	return _Uniswaprouter.Contract.WETH(&_Uniswaprouter.CallOpts)
   205  }
   206  
   207  // WETH is a free data retrieval call binding the contract method 0xad5c4648.
   208  //
   209  // Solidity: function WETH() view returns(address)
   210  func (_Uniswaprouter *UniswaprouterCallerSession) WETH() (common.Address, error) {
   211  	return _Uniswaprouter.Contract.WETH(&_Uniswaprouter.CallOpts)
   212  }
   213  
   214  // Factory is a free data retrieval call binding the contract method 0xc45a0155.
   215  //
   216  // Solidity: function factory() view returns(address)
   217  func (_Uniswaprouter *UniswaprouterCaller) Factory(opts *bind.CallOpts) (common.Address, error) {
   218  	var out []interface{}
   219  	err := _Uniswaprouter.contract.Call(opts, &out, "factory")
   220  
   221  	if err != nil {
   222  		return *new(common.Address), err
   223  	}
   224  
   225  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   226  
   227  	return out0, err
   228  
   229  }
   230  
   231  // Factory is a free data retrieval call binding the contract method 0xc45a0155.
   232  //
   233  // Solidity: function factory() view returns(address)
   234  func (_Uniswaprouter *UniswaprouterSession) Factory() (common.Address, error) {
   235  	return _Uniswaprouter.Contract.Factory(&_Uniswaprouter.CallOpts)
   236  }
   237  
   238  // Factory is a free data retrieval call binding the contract method 0xc45a0155.
   239  //
   240  // Solidity: function factory() view returns(address)
   241  func (_Uniswaprouter *UniswaprouterCallerSession) Factory() (common.Address, error) {
   242  	return _Uniswaprouter.Contract.Factory(&_Uniswaprouter.CallOpts)
   243  }
   244  
   245  // GetAmountIn is a free data retrieval call binding the contract method 0x85f8c259.
   246  //
   247  // Solidity: function getAmountIn(uint256 amountOut, uint256 reserveIn, uint256 reserveOut) pure returns(uint256 amountIn)
   248  func (_Uniswaprouter *UniswaprouterCaller) GetAmountIn(opts *bind.CallOpts, amountOut *big.Int, reserveIn *big.Int, reserveOut *big.Int) (*big.Int, error) {
   249  	var out []interface{}
   250  	err := _Uniswaprouter.contract.Call(opts, &out, "getAmountIn", amountOut, reserveIn, reserveOut)
   251  
   252  	if err != nil {
   253  		return *new(*big.Int), err
   254  	}
   255  
   256  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   257  
   258  	return out0, err
   259  
   260  }
   261  
   262  // GetAmountIn is a free data retrieval call binding the contract method 0x85f8c259.
   263  //
   264  // Solidity: function getAmountIn(uint256 amountOut, uint256 reserveIn, uint256 reserveOut) pure returns(uint256 amountIn)
   265  func (_Uniswaprouter *UniswaprouterSession) GetAmountIn(amountOut *big.Int, reserveIn *big.Int, reserveOut *big.Int) (*big.Int, error) {
   266  	return _Uniswaprouter.Contract.GetAmountIn(&_Uniswaprouter.CallOpts, amountOut, reserveIn, reserveOut)
   267  }
   268  
   269  // GetAmountIn is a free data retrieval call binding the contract method 0x85f8c259.
   270  //
   271  // Solidity: function getAmountIn(uint256 amountOut, uint256 reserveIn, uint256 reserveOut) pure returns(uint256 amountIn)
   272  func (_Uniswaprouter *UniswaprouterCallerSession) GetAmountIn(amountOut *big.Int, reserveIn *big.Int, reserveOut *big.Int) (*big.Int, error) {
   273  	return _Uniswaprouter.Contract.GetAmountIn(&_Uniswaprouter.CallOpts, amountOut, reserveIn, reserveOut)
   274  }
   275  
   276  // GetAmountOut is a free data retrieval call binding the contract method 0x054d50d4.
   277  //
   278  // Solidity: function getAmountOut(uint256 amountIn, uint256 reserveIn, uint256 reserveOut) pure returns(uint256 amountOut)
   279  func (_Uniswaprouter *UniswaprouterCaller) GetAmountOut(opts *bind.CallOpts, amountIn *big.Int, reserveIn *big.Int, reserveOut *big.Int) (*big.Int, error) {
   280  	var out []interface{}
   281  	err := _Uniswaprouter.contract.Call(opts, &out, "getAmountOut", amountIn, reserveIn, reserveOut)
   282  
   283  	if err != nil {
   284  		return *new(*big.Int), err
   285  	}
   286  
   287  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   288  
   289  	return out0, err
   290  
   291  }
   292  
   293  // GetAmountOut is a free data retrieval call binding the contract method 0x054d50d4.
   294  //
   295  // Solidity: function getAmountOut(uint256 amountIn, uint256 reserveIn, uint256 reserveOut) pure returns(uint256 amountOut)
   296  func (_Uniswaprouter *UniswaprouterSession) GetAmountOut(amountIn *big.Int, reserveIn *big.Int, reserveOut *big.Int) (*big.Int, error) {
   297  	return _Uniswaprouter.Contract.GetAmountOut(&_Uniswaprouter.CallOpts, amountIn, reserveIn, reserveOut)
   298  }
   299  
   300  // GetAmountOut is a free data retrieval call binding the contract method 0x054d50d4.
   301  //
   302  // Solidity: function getAmountOut(uint256 amountIn, uint256 reserveIn, uint256 reserveOut) pure returns(uint256 amountOut)
   303  func (_Uniswaprouter *UniswaprouterCallerSession) GetAmountOut(amountIn *big.Int, reserveIn *big.Int, reserveOut *big.Int) (*big.Int, error) {
   304  	return _Uniswaprouter.Contract.GetAmountOut(&_Uniswaprouter.CallOpts, amountIn, reserveIn, reserveOut)
   305  }
   306  
   307  // GetAmountsIn is a free data retrieval call binding the contract method 0x1f00ca74.
   308  //
   309  // Solidity: function getAmountsIn(uint256 amountOut, address[] path) view returns(uint256[] amounts)
   310  func (_Uniswaprouter *UniswaprouterCaller) GetAmountsIn(opts *bind.CallOpts, amountOut *big.Int, path []common.Address) ([]*big.Int, error) {
   311  	var out []interface{}
   312  	err := _Uniswaprouter.contract.Call(opts, &out, "getAmountsIn", amountOut, path)
   313  
   314  	if err != nil {
   315  		return *new([]*big.Int), err
   316  	}
   317  
   318  	out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int)
   319  
   320  	return out0, err
   321  
   322  }
   323  
   324  // GetAmountsIn is a free data retrieval call binding the contract method 0x1f00ca74.
   325  //
   326  // Solidity: function getAmountsIn(uint256 amountOut, address[] path) view returns(uint256[] amounts)
   327  func (_Uniswaprouter *UniswaprouterSession) GetAmountsIn(amountOut *big.Int, path []common.Address) ([]*big.Int, error) {
   328  	return _Uniswaprouter.Contract.GetAmountsIn(&_Uniswaprouter.CallOpts, amountOut, path)
   329  }
   330  
   331  // GetAmountsIn is a free data retrieval call binding the contract method 0x1f00ca74.
   332  //
   333  // Solidity: function getAmountsIn(uint256 amountOut, address[] path) view returns(uint256[] amounts)
   334  func (_Uniswaprouter *UniswaprouterCallerSession) GetAmountsIn(amountOut *big.Int, path []common.Address) ([]*big.Int, error) {
   335  	return _Uniswaprouter.Contract.GetAmountsIn(&_Uniswaprouter.CallOpts, amountOut, path)
   336  }
   337  
   338  // GetAmountsOut is a free data retrieval call binding the contract method 0xd06ca61f.
   339  //
   340  // Solidity: function getAmountsOut(uint256 amountIn, address[] path) view returns(uint256[] amounts)
   341  func (_Uniswaprouter *UniswaprouterCaller) GetAmountsOut(opts *bind.CallOpts, amountIn *big.Int, path []common.Address) ([]*big.Int, error) {
   342  	var out []interface{}
   343  	err := _Uniswaprouter.contract.Call(opts, &out, "getAmountsOut", amountIn, path)
   344  
   345  	if err != nil {
   346  		return *new([]*big.Int), err
   347  	}
   348  
   349  	out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int)
   350  
   351  	return out0, err
   352  
   353  }
   354  
   355  // GetAmountsOut is a free data retrieval call binding the contract method 0xd06ca61f.
   356  //
   357  // Solidity: function getAmountsOut(uint256 amountIn, address[] path) view returns(uint256[] amounts)
   358  func (_Uniswaprouter *UniswaprouterSession) GetAmountsOut(amountIn *big.Int, path []common.Address) ([]*big.Int, error) {
   359  	return _Uniswaprouter.Contract.GetAmountsOut(&_Uniswaprouter.CallOpts, amountIn, path)
   360  }
   361  
   362  // GetAmountsOut is a free data retrieval call binding the contract method 0xd06ca61f.
   363  //
   364  // Solidity: function getAmountsOut(uint256 amountIn, address[] path) view returns(uint256[] amounts)
   365  func (_Uniswaprouter *UniswaprouterCallerSession) GetAmountsOut(amountIn *big.Int, path []common.Address) ([]*big.Int, error) {
   366  	return _Uniswaprouter.Contract.GetAmountsOut(&_Uniswaprouter.CallOpts, amountIn, path)
   367  }
   368  
   369  // Quote is a free data retrieval call binding the contract method 0xad615dec.
   370  //
   371  // Solidity: function quote(uint256 amountA, uint256 reserveA, uint256 reserveB) pure returns(uint256 amountB)
   372  func (_Uniswaprouter *UniswaprouterCaller) Quote(opts *bind.CallOpts, amountA *big.Int, reserveA *big.Int, reserveB *big.Int) (*big.Int, error) {
   373  	var out []interface{}
   374  	err := _Uniswaprouter.contract.Call(opts, &out, "quote", amountA, reserveA, reserveB)
   375  
   376  	if err != nil {
   377  		return *new(*big.Int), err
   378  	}
   379  
   380  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   381  
   382  	return out0, err
   383  
   384  }
   385  
   386  // Quote is a free data retrieval call binding the contract method 0xad615dec.
   387  //
   388  // Solidity: function quote(uint256 amountA, uint256 reserveA, uint256 reserveB) pure returns(uint256 amountB)
   389  func (_Uniswaprouter *UniswaprouterSession) Quote(amountA *big.Int, reserveA *big.Int, reserveB *big.Int) (*big.Int, error) {
   390  	return _Uniswaprouter.Contract.Quote(&_Uniswaprouter.CallOpts, amountA, reserveA, reserveB)
   391  }
   392  
   393  // Quote is a free data retrieval call binding the contract method 0xad615dec.
   394  //
   395  // Solidity: function quote(uint256 amountA, uint256 reserveA, uint256 reserveB) pure returns(uint256 amountB)
   396  func (_Uniswaprouter *UniswaprouterCallerSession) Quote(amountA *big.Int, reserveA *big.Int, reserveB *big.Int) (*big.Int, error) {
   397  	return _Uniswaprouter.Contract.Quote(&_Uniswaprouter.CallOpts, amountA, reserveA, reserveB)
   398  }
   399  
   400  // AddLiquidity is a paid mutator transaction binding the contract method 0xe8e33700.
   401  //
   402  // Solidity: function addLiquidity(address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline) returns(uint256 amountA, uint256 amountB, uint256 liquidity)
   403  func (_Uniswaprouter *UniswaprouterTransactor) AddLiquidity(opts *bind.TransactOpts, tokenA common.Address, tokenB common.Address, amountADesired *big.Int, amountBDesired *big.Int, amountAMin *big.Int, amountBMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   404  	return _Uniswaprouter.contract.Transact(opts, "addLiquidity", tokenA, tokenB, amountADesired, amountBDesired, amountAMin, amountBMin, to, deadline)
   405  }
   406  
   407  // AddLiquidity is a paid mutator transaction binding the contract method 0xe8e33700.
   408  //
   409  // Solidity: function addLiquidity(address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline) returns(uint256 amountA, uint256 amountB, uint256 liquidity)
   410  func (_Uniswaprouter *UniswaprouterSession) AddLiquidity(tokenA common.Address, tokenB common.Address, amountADesired *big.Int, amountBDesired *big.Int, amountAMin *big.Int, amountBMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   411  	return _Uniswaprouter.Contract.AddLiquidity(&_Uniswaprouter.TransactOpts, tokenA, tokenB, amountADesired, amountBDesired, amountAMin, amountBMin, to, deadline)
   412  }
   413  
   414  // AddLiquidity is a paid mutator transaction binding the contract method 0xe8e33700.
   415  //
   416  // Solidity: function addLiquidity(address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline) returns(uint256 amountA, uint256 amountB, uint256 liquidity)
   417  func (_Uniswaprouter *UniswaprouterTransactorSession) AddLiquidity(tokenA common.Address, tokenB common.Address, amountADesired *big.Int, amountBDesired *big.Int, amountAMin *big.Int, amountBMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   418  	return _Uniswaprouter.Contract.AddLiquidity(&_Uniswaprouter.TransactOpts, tokenA, tokenB, amountADesired, amountBDesired, amountAMin, amountBMin, to, deadline)
   419  }
   420  
   421  // AddLiquidityETH is a paid mutator transaction binding the contract method 0xf305d719.
   422  //
   423  // Solidity: function addLiquidityETH(address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) payable returns(uint256 amountToken, uint256 amountETH, uint256 liquidity)
   424  func (_Uniswaprouter *UniswaprouterTransactor) AddLiquidityETH(opts *bind.TransactOpts, token common.Address, amountTokenDesired *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   425  	return _Uniswaprouter.contract.Transact(opts, "addLiquidityETH", token, amountTokenDesired, amountTokenMin, amountETHMin, to, deadline)
   426  }
   427  
   428  // AddLiquidityETH is a paid mutator transaction binding the contract method 0xf305d719.
   429  //
   430  // Solidity: function addLiquidityETH(address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) payable returns(uint256 amountToken, uint256 amountETH, uint256 liquidity)
   431  func (_Uniswaprouter *UniswaprouterSession) AddLiquidityETH(token common.Address, amountTokenDesired *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   432  	return _Uniswaprouter.Contract.AddLiquidityETH(&_Uniswaprouter.TransactOpts, token, amountTokenDesired, amountTokenMin, amountETHMin, to, deadline)
   433  }
   434  
   435  // AddLiquidityETH is a paid mutator transaction binding the contract method 0xf305d719.
   436  //
   437  // Solidity: function addLiquidityETH(address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) payable returns(uint256 amountToken, uint256 amountETH, uint256 liquidity)
   438  func (_Uniswaprouter *UniswaprouterTransactorSession) AddLiquidityETH(token common.Address, amountTokenDesired *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   439  	return _Uniswaprouter.Contract.AddLiquidityETH(&_Uniswaprouter.TransactOpts, token, amountTokenDesired, amountTokenMin, amountETHMin, to, deadline)
   440  }
   441  
   442  // RemoveLiquidity is a paid mutator transaction binding the contract method 0xbaa2abde.
   443  //
   444  // Solidity: function removeLiquidity(address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline) returns(uint256 amountA, uint256 amountB)
   445  func (_Uniswaprouter *UniswaprouterTransactor) RemoveLiquidity(opts *bind.TransactOpts, tokenA common.Address, tokenB common.Address, liquidity *big.Int, amountAMin *big.Int, amountBMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   446  	return _Uniswaprouter.contract.Transact(opts, "removeLiquidity", tokenA, tokenB, liquidity, amountAMin, amountBMin, to, deadline)
   447  }
   448  
   449  // RemoveLiquidity is a paid mutator transaction binding the contract method 0xbaa2abde.
   450  //
   451  // Solidity: function removeLiquidity(address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline) returns(uint256 amountA, uint256 amountB)
   452  func (_Uniswaprouter *UniswaprouterSession) RemoveLiquidity(tokenA common.Address, tokenB common.Address, liquidity *big.Int, amountAMin *big.Int, amountBMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   453  	return _Uniswaprouter.Contract.RemoveLiquidity(&_Uniswaprouter.TransactOpts, tokenA, tokenB, liquidity, amountAMin, amountBMin, to, deadline)
   454  }
   455  
   456  // RemoveLiquidity is a paid mutator transaction binding the contract method 0xbaa2abde.
   457  //
   458  // Solidity: function removeLiquidity(address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline) returns(uint256 amountA, uint256 amountB)
   459  func (_Uniswaprouter *UniswaprouterTransactorSession) RemoveLiquidity(tokenA common.Address, tokenB common.Address, liquidity *big.Int, amountAMin *big.Int, amountBMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   460  	return _Uniswaprouter.Contract.RemoveLiquidity(&_Uniswaprouter.TransactOpts, tokenA, tokenB, liquidity, amountAMin, amountBMin, to, deadline)
   461  }
   462  
   463  // RemoveLiquidityETH is a paid mutator transaction binding the contract method 0x02751cec.
   464  //
   465  // Solidity: function removeLiquidityETH(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) returns(uint256 amountToken, uint256 amountETH)
   466  func (_Uniswaprouter *UniswaprouterTransactor) RemoveLiquidityETH(opts *bind.TransactOpts, token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   467  	return _Uniswaprouter.contract.Transact(opts, "removeLiquidityETH", token, liquidity, amountTokenMin, amountETHMin, to, deadline)
   468  }
   469  
   470  // RemoveLiquidityETH is a paid mutator transaction binding the contract method 0x02751cec.
   471  //
   472  // Solidity: function removeLiquidityETH(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) returns(uint256 amountToken, uint256 amountETH)
   473  func (_Uniswaprouter *UniswaprouterSession) RemoveLiquidityETH(token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   474  	return _Uniswaprouter.Contract.RemoveLiquidityETH(&_Uniswaprouter.TransactOpts, token, liquidity, amountTokenMin, amountETHMin, to, deadline)
   475  }
   476  
   477  // RemoveLiquidityETH is a paid mutator transaction binding the contract method 0x02751cec.
   478  //
   479  // Solidity: function removeLiquidityETH(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) returns(uint256 amountToken, uint256 amountETH)
   480  func (_Uniswaprouter *UniswaprouterTransactorSession) RemoveLiquidityETH(token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   481  	return _Uniswaprouter.Contract.RemoveLiquidityETH(&_Uniswaprouter.TransactOpts, token, liquidity, amountTokenMin, amountETHMin, to, deadline)
   482  }
   483  
   484  // RemoveLiquidityETHSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0xaf2979eb.
   485  //
   486  // Solidity: function removeLiquidityETHSupportingFeeOnTransferTokens(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) returns(uint256 amountETH)
   487  func (_Uniswaprouter *UniswaprouterTransactor) RemoveLiquidityETHSupportingFeeOnTransferTokens(opts *bind.TransactOpts, token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   488  	return _Uniswaprouter.contract.Transact(opts, "removeLiquidityETHSupportingFeeOnTransferTokens", token, liquidity, amountTokenMin, amountETHMin, to, deadline)
   489  }
   490  
   491  // RemoveLiquidityETHSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0xaf2979eb.
   492  //
   493  // Solidity: function removeLiquidityETHSupportingFeeOnTransferTokens(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) returns(uint256 amountETH)
   494  func (_Uniswaprouter *UniswaprouterSession) RemoveLiquidityETHSupportingFeeOnTransferTokens(token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   495  	return _Uniswaprouter.Contract.RemoveLiquidityETHSupportingFeeOnTransferTokens(&_Uniswaprouter.TransactOpts, token, liquidity, amountTokenMin, amountETHMin, to, deadline)
   496  }
   497  
   498  // RemoveLiquidityETHSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0xaf2979eb.
   499  //
   500  // Solidity: function removeLiquidityETHSupportingFeeOnTransferTokens(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) returns(uint256 amountETH)
   501  func (_Uniswaprouter *UniswaprouterTransactorSession) RemoveLiquidityETHSupportingFeeOnTransferTokens(token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   502  	return _Uniswaprouter.Contract.RemoveLiquidityETHSupportingFeeOnTransferTokens(&_Uniswaprouter.TransactOpts, token, liquidity, amountTokenMin, amountETHMin, to, deadline)
   503  }
   504  
   505  // RemoveLiquidityETHWithPermit is a paid mutator transaction binding the contract method 0xded9382a.
   506  //
   507  // Solidity: function removeLiquidityETHWithPermit(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) returns(uint256 amountToken, uint256 amountETH)
   508  func (_Uniswaprouter *UniswaprouterTransactor) RemoveLiquidityETHWithPermit(opts *bind.TransactOpts, token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int, approveMax bool, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) {
   509  	return _Uniswaprouter.contract.Transact(opts, "removeLiquidityETHWithPermit", token, liquidity, amountTokenMin, amountETHMin, to, deadline, approveMax, v, r, s)
   510  }
   511  
   512  // RemoveLiquidityETHWithPermit is a paid mutator transaction binding the contract method 0xded9382a.
   513  //
   514  // Solidity: function removeLiquidityETHWithPermit(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) returns(uint256 amountToken, uint256 amountETH)
   515  func (_Uniswaprouter *UniswaprouterSession) RemoveLiquidityETHWithPermit(token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int, approveMax bool, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) {
   516  	return _Uniswaprouter.Contract.RemoveLiquidityETHWithPermit(&_Uniswaprouter.TransactOpts, token, liquidity, amountTokenMin, amountETHMin, to, deadline, approveMax, v, r, s)
   517  }
   518  
   519  // RemoveLiquidityETHWithPermit is a paid mutator transaction binding the contract method 0xded9382a.
   520  //
   521  // Solidity: function removeLiquidityETHWithPermit(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) returns(uint256 amountToken, uint256 amountETH)
   522  func (_Uniswaprouter *UniswaprouterTransactorSession) RemoveLiquidityETHWithPermit(token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int, approveMax bool, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) {
   523  	return _Uniswaprouter.Contract.RemoveLiquidityETHWithPermit(&_Uniswaprouter.TransactOpts, token, liquidity, amountTokenMin, amountETHMin, to, deadline, approveMax, v, r, s)
   524  }
   525  
   526  // RemoveLiquidityETHWithPermitSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0x5b0d5984.
   527  //
   528  // Solidity: function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) returns(uint256 amountETH)
   529  func (_Uniswaprouter *UniswaprouterTransactor) RemoveLiquidityETHWithPermitSupportingFeeOnTransferTokens(opts *bind.TransactOpts, token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int, approveMax bool, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) {
   530  	return _Uniswaprouter.contract.Transact(opts, "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens", token, liquidity, amountTokenMin, amountETHMin, to, deadline, approveMax, v, r, s)
   531  }
   532  
   533  // RemoveLiquidityETHWithPermitSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0x5b0d5984.
   534  //
   535  // Solidity: function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) returns(uint256 amountETH)
   536  func (_Uniswaprouter *UniswaprouterSession) RemoveLiquidityETHWithPermitSupportingFeeOnTransferTokens(token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int, approveMax bool, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) {
   537  	return _Uniswaprouter.Contract.RemoveLiquidityETHWithPermitSupportingFeeOnTransferTokens(&_Uniswaprouter.TransactOpts, token, liquidity, amountTokenMin, amountETHMin, to, deadline, approveMax, v, r, s)
   538  }
   539  
   540  // RemoveLiquidityETHWithPermitSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0x5b0d5984.
   541  //
   542  // Solidity: function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) returns(uint256 amountETH)
   543  func (_Uniswaprouter *UniswaprouterTransactorSession) RemoveLiquidityETHWithPermitSupportingFeeOnTransferTokens(token common.Address, liquidity *big.Int, amountTokenMin *big.Int, amountETHMin *big.Int, to common.Address, deadline *big.Int, approveMax bool, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) {
   544  	return _Uniswaprouter.Contract.RemoveLiquidityETHWithPermitSupportingFeeOnTransferTokens(&_Uniswaprouter.TransactOpts, token, liquidity, amountTokenMin, amountETHMin, to, deadline, approveMax, v, r, s)
   545  }
   546  
   547  // RemoveLiquidityWithPermit is a paid mutator transaction binding the contract method 0x2195995c.
   548  //
   549  // Solidity: function removeLiquidityWithPermit(address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) returns(uint256 amountA, uint256 amountB)
   550  func (_Uniswaprouter *UniswaprouterTransactor) RemoveLiquidityWithPermit(opts *bind.TransactOpts, tokenA common.Address, tokenB common.Address, liquidity *big.Int, amountAMin *big.Int, amountBMin *big.Int, to common.Address, deadline *big.Int, approveMax bool, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) {
   551  	return _Uniswaprouter.contract.Transact(opts, "removeLiquidityWithPermit", tokenA, tokenB, liquidity, amountAMin, amountBMin, to, deadline, approveMax, v, r, s)
   552  }
   553  
   554  // RemoveLiquidityWithPermit is a paid mutator transaction binding the contract method 0x2195995c.
   555  //
   556  // Solidity: function removeLiquidityWithPermit(address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) returns(uint256 amountA, uint256 amountB)
   557  func (_Uniswaprouter *UniswaprouterSession) RemoveLiquidityWithPermit(tokenA common.Address, tokenB common.Address, liquidity *big.Int, amountAMin *big.Int, amountBMin *big.Int, to common.Address, deadline *big.Int, approveMax bool, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) {
   558  	return _Uniswaprouter.Contract.RemoveLiquidityWithPermit(&_Uniswaprouter.TransactOpts, tokenA, tokenB, liquidity, amountAMin, amountBMin, to, deadline, approveMax, v, r, s)
   559  }
   560  
   561  // RemoveLiquidityWithPermit is a paid mutator transaction binding the contract method 0x2195995c.
   562  //
   563  // Solidity: function removeLiquidityWithPermit(address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) returns(uint256 amountA, uint256 amountB)
   564  func (_Uniswaprouter *UniswaprouterTransactorSession) RemoveLiquidityWithPermit(tokenA common.Address, tokenB common.Address, liquidity *big.Int, amountAMin *big.Int, amountBMin *big.Int, to common.Address, deadline *big.Int, approveMax bool, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) {
   565  	return _Uniswaprouter.Contract.RemoveLiquidityWithPermit(&_Uniswaprouter.TransactOpts, tokenA, tokenB, liquidity, amountAMin, amountBMin, to, deadline, approveMax, v, r, s)
   566  }
   567  
   568  // SwapETHForExactTokens is a paid mutator transaction binding the contract method 0xfb3bdb41.
   569  //
   570  // Solidity: function swapETHForExactTokens(uint256 amountOut, address[] path, address to, uint256 deadline) payable returns(uint256[] amounts)
   571  func (_Uniswaprouter *UniswaprouterTransactor) SwapETHForExactTokens(opts *bind.TransactOpts, amountOut *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   572  	return _Uniswaprouter.contract.Transact(opts, "swapETHForExactTokens", amountOut, path, to, deadline)
   573  }
   574  
   575  // SwapETHForExactTokens is a paid mutator transaction binding the contract method 0xfb3bdb41.
   576  //
   577  // Solidity: function swapETHForExactTokens(uint256 amountOut, address[] path, address to, uint256 deadline) payable returns(uint256[] amounts)
   578  func (_Uniswaprouter *UniswaprouterSession) SwapETHForExactTokens(amountOut *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   579  	return _Uniswaprouter.Contract.SwapETHForExactTokens(&_Uniswaprouter.TransactOpts, amountOut, path, to, deadline)
   580  }
   581  
   582  // SwapETHForExactTokens is a paid mutator transaction binding the contract method 0xfb3bdb41.
   583  //
   584  // Solidity: function swapETHForExactTokens(uint256 amountOut, address[] path, address to, uint256 deadline) payable returns(uint256[] amounts)
   585  func (_Uniswaprouter *UniswaprouterTransactorSession) SwapETHForExactTokens(amountOut *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   586  	return _Uniswaprouter.Contract.SwapETHForExactTokens(&_Uniswaprouter.TransactOpts, amountOut, path, to, deadline)
   587  }
   588  
   589  // SwapExactETHForTokens is a paid mutator transaction binding the contract method 0x7ff36ab5.
   590  //
   591  // Solidity: function swapExactETHForTokens(uint256 amountOutMin, address[] path, address to, uint256 deadline) payable returns(uint256[] amounts)
   592  func (_Uniswaprouter *UniswaprouterTransactor) SwapExactETHForTokens(opts *bind.TransactOpts, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   593  	return _Uniswaprouter.contract.Transact(opts, "swapExactETHForTokens", amountOutMin, path, to, deadline)
   594  }
   595  
   596  // SwapExactETHForTokens is a paid mutator transaction binding the contract method 0x7ff36ab5.
   597  //
   598  // Solidity: function swapExactETHForTokens(uint256 amountOutMin, address[] path, address to, uint256 deadline) payable returns(uint256[] amounts)
   599  func (_Uniswaprouter *UniswaprouterSession) SwapExactETHForTokens(amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   600  	return _Uniswaprouter.Contract.SwapExactETHForTokens(&_Uniswaprouter.TransactOpts, amountOutMin, path, to, deadline)
   601  }
   602  
   603  // SwapExactETHForTokens is a paid mutator transaction binding the contract method 0x7ff36ab5.
   604  //
   605  // Solidity: function swapExactETHForTokens(uint256 amountOutMin, address[] path, address to, uint256 deadline) payable returns(uint256[] amounts)
   606  func (_Uniswaprouter *UniswaprouterTransactorSession) SwapExactETHForTokens(amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   607  	return _Uniswaprouter.Contract.SwapExactETHForTokens(&_Uniswaprouter.TransactOpts, amountOutMin, path, to, deadline)
   608  }
   609  
   610  // SwapExactETHForTokensSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0xb6f9de95.
   611  //
   612  // Solidity: function swapExactETHForTokensSupportingFeeOnTransferTokens(uint256 amountOutMin, address[] path, address to, uint256 deadline) payable returns()
   613  func (_Uniswaprouter *UniswaprouterTransactor) SwapExactETHForTokensSupportingFeeOnTransferTokens(opts *bind.TransactOpts, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   614  	return _Uniswaprouter.contract.Transact(opts, "swapExactETHForTokensSupportingFeeOnTransferTokens", amountOutMin, path, to, deadline)
   615  }
   616  
   617  // SwapExactETHForTokensSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0xb6f9de95.
   618  //
   619  // Solidity: function swapExactETHForTokensSupportingFeeOnTransferTokens(uint256 amountOutMin, address[] path, address to, uint256 deadline) payable returns()
   620  func (_Uniswaprouter *UniswaprouterSession) SwapExactETHForTokensSupportingFeeOnTransferTokens(amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   621  	return _Uniswaprouter.Contract.SwapExactETHForTokensSupportingFeeOnTransferTokens(&_Uniswaprouter.TransactOpts, amountOutMin, path, to, deadline)
   622  }
   623  
   624  // SwapExactETHForTokensSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0xb6f9de95.
   625  //
   626  // Solidity: function swapExactETHForTokensSupportingFeeOnTransferTokens(uint256 amountOutMin, address[] path, address to, uint256 deadline) payable returns()
   627  func (_Uniswaprouter *UniswaprouterTransactorSession) SwapExactETHForTokensSupportingFeeOnTransferTokens(amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   628  	return _Uniswaprouter.Contract.SwapExactETHForTokensSupportingFeeOnTransferTokens(&_Uniswaprouter.TransactOpts, amountOutMin, path, to, deadline)
   629  }
   630  
   631  // SwapExactTokensForETH is a paid mutator transaction binding the contract method 0x18cbafe5.
   632  //
   633  // Solidity: function swapExactTokensForETH(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns(uint256[] amounts)
   634  func (_Uniswaprouter *UniswaprouterTransactor) SwapExactTokensForETH(opts *bind.TransactOpts, amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   635  	return _Uniswaprouter.contract.Transact(opts, "swapExactTokensForETH", amountIn, amountOutMin, path, to, deadline)
   636  }
   637  
   638  // SwapExactTokensForETH is a paid mutator transaction binding the contract method 0x18cbafe5.
   639  //
   640  // Solidity: function swapExactTokensForETH(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns(uint256[] amounts)
   641  func (_Uniswaprouter *UniswaprouterSession) SwapExactTokensForETH(amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   642  	return _Uniswaprouter.Contract.SwapExactTokensForETH(&_Uniswaprouter.TransactOpts, amountIn, amountOutMin, path, to, deadline)
   643  }
   644  
   645  // SwapExactTokensForETH is a paid mutator transaction binding the contract method 0x18cbafe5.
   646  //
   647  // Solidity: function swapExactTokensForETH(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns(uint256[] amounts)
   648  func (_Uniswaprouter *UniswaprouterTransactorSession) SwapExactTokensForETH(amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   649  	return _Uniswaprouter.Contract.SwapExactTokensForETH(&_Uniswaprouter.TransactOpts, amountIn, amountOutMin, path, to, deadline)
   650  }
   651  
   652  // SwapExactTokensForETHSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0x791ac947.
   653  //
   654  // Solidity: function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns()
   655  func (_Uniswaprouter *UniswaprouterTransactor) SwapExactTokensForETHSupportingFeeOnTransferTokens(opts *bind.TransactOpts, amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   656  	return _Uniswaprouter.contract.Transact(opts, "swapExactTokensForETHSupportingFeeOnTransferTokens", amountIn, amountOutMin, path, to, deadline)
   657  }
   658  
   659  // SwapExactTokensForETHSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0x791ac947.
   660  //
   661  // Solidity: function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns()
   662  func (_Uniswaprouter *UniswaprouterSession) SwapExactTokensForETHSupportingFeeOnTransferTokens(amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   663  	return _Uniswaprouter.Contract.SwapExactTokensForETHSupportingFeeOnTransferTokens(&_Uniswaprouter.TransactOpts, amountIn, amountOutMin, path, to, deadline)
   664  }
   665  
   666  // SwapExactTokensForETHSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0x791ac947.
   667  //
   668  // Solidity: function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns()
   669  func (_Uniswaprouter *UniswaprouterTransactorSession) SwapExactTokensForETHSupportingFeeOnTransferTokens(amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   670  	return _Uniswaprouter.Contract.SwapExactTokensForETHSupportingFeeOnTransferTokens(&_Uniswaprouter.TransactOpts, amountIn, amountOutMin, path, to, deadline)
   671  }
   672  
   673  // SwapExactTokensForTokens is a paid mutator transaction binding the contract method 0x38ed1739.
   674  //
   675  // Solidity: function swapExactTokensForTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns(uint256[] amounts)
   676  func (_Uniswaprouter *UniswaprouterTransactor) SwapExactTokensForTokens(opts *bind.TransactOpts, amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   677  	return _Uniswaprouter.contract.Transact(opts, "swapExactTokensForTokens", amountIn, amountOutMin, path, to, deadline)
   678  }
   679  
   680  // SwapExactTokensForTokens is a paid mutator transaction binding the contract method 0x38ed1739.
   681  //
   682  // Solidity: function swapExactTokensForTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns(uint256[] amounts)
   683  func (_Uniswaprouter *UniswaprouterSession) SwapExactTokensForTokens(amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   684  	return _Uniswaprouter.Contract.SwapExactTokensForTokens(&_Uniswaprouter.TransactOpts, amountIn, amountOutMin, path, to, deadline)
   685  }
   686  
   687  // SwapExactTokensForTokens is a paid mutator transaction binding the contract method 0x38ed1739.
   688  //
   689  // Solidity: function swapExactTokensForTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns(uint256[] amounts)
   690  func (_Uniswaprouter *UniswaprouterTransactorSession) SwapExactTokensForTokens(amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   691  	return _Uniswaprouter.Contract.SwapExactTokensForTokens(&_Uniswaprouter.TransactOpts, amountIn, amountOutMin, path, to, deadline)
   692  }
   693  
   694  // SwapExactTokensForTokensSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0x5c11d795.
   695  //
   696  // Solidity: function swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns()
   697  func (_Uniswaprouter *UniswaprouterTransactor) SwapExactTokensForTokensSupportingFeeOnTransferTokens(opts *bind.TransactOpts, amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   698  	return _Uniswaprouter.contract.Transact(opts, "swapExactTokensForTokensSupportingFeeOnTransferTokens", amountIn, amountOutMin, path, to, deadline)
   699  }
   700  
   701  // SwapExactTokensForTokensSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0x5c11d795.
   702  //
   703  // Solidity: function swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns()
   704  func (_Uniswaprouter *UniswaprouterSession) SwapExactTokensForTokensSupportingFeeOnTransferTokens(amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   705  	return _Uniswaprouter.Contract.SwapExactTokensForTokensSupportingFeeOnTransferTokens(&_Uniswaprouter.TransactOpts, amountIn, amountOutMin, path, to, deadline)
   706  }
   707  
   708  // SwapExactTokensForTokensSupportingFeeOnTransferTokens is a paid mutator transaction binding the contract method 0x5c11d795.
   709  //
   710  // Solidity: function swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] path, address to, uint256 deadline) returns()
   711  func (_Uniswaprouter *UniswaprouterTransactorSession) SwapExactTokensForTokensSupportingFeeOnTransferTokens(amountIn *big.Int, amountOutMin *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   712  	return _Uniswaprouter.Contract.SwapExactTokensForTokensSupportingFeeOnTransferTokens(&_Uniswaprouter.TransactOpts, amountIn, amountOutMin, path, to, deadline)
   713  }
   714  
   715  // SwapTokensForExactETH is a paid mutator transaction binding the contract method 0x4a25d94a.
   716  //
   717  // Solidity: function swapTokensForExactETH(uint256 amountOut, uint256 amountInMax, address[] path, address to, uint256 deadline) returns(uint256[] amounts)
   718  func (_Uniswaprouter *UniswaprouterTransactor) SwapTokensForExactETH(opts *bind.TransactOpts, amountOut *big.Int, amountInMax *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   719  	return _Uniswaprouter.contract.Transact(opts, "swapTokensForExactETH", amountOut, amountInMax, path, to, deadline)
   720  }
   721  
   722  // SwapTokensForExactETH is a paid mutator transaction binding the contract method 0x4a25d94a.
   723  //
   724  // Solidity: function swapTokensForExactETH(uint256 amountOut, uint256 amountInMax, address[] path, address to, uint256 deadline) returns(uint256[] amounts)
   725  func (_Uniswaprouter *UniswaprouterSession) SwapTokensForExactETH(amountOut *big.Int, amountInMax *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   726  	return _Uniswaprouter.Contract.SwapTokensForExactETH(&_Uniswaprouter.TransactOpts, amountOut, amountInMax, path, to, deadline)
   727  }
   728  
   729  // SwapTokensForExactETH is a paid mutator transaction binding the contract method 0x4a25d94a.
   730  //
   731  // Solidity: function swapTokensForExactETH(uint256 amountOut, uint256 amountInMax, address[] path, address to, uint256 deadline) returns(uint256[] amounts)
   732  func (_Uniswaprouter *UniswaprouterTransactorSession) SwapTokensForExactETH(amountOut *big.Int, amountInMax *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   733  	return _Uniswaprouter.Contract.SwapTokensForExactETH(&_Uniswaprouter.TransactOpts, amountOut, amountInMax, path, to, deadline)
   734  }
   735  
   736  // SwapTokensForExactTokens is a paid mutator transaction binding the contract method 0x8803dbee.
   737  //
   738  // Solidity: function swapTokensForExactTokens(uint256 amountOut, uint256 amountInMax, address[] path, address to, uint256 deadline) returns(uint256[] amounts)
   739  func (_Uniswaprouter *UniswaprouterTransactor) SwapTokensForExactTokens(opts *bind.TransactOpts, amountOut *big.Int, amountInMax *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   740  	return _Uniswaprouter.contract.Transact(opts, "swapTokensForExactTokens", amountOut, amountInMax, path, to, deadline)
   741  }
   742  
   743  // SwapTokensForExactTokens is a paid mutator transaction binding the contract method 0x8803dbee.
   744  //
   745  // Solidity: function swapTokensForExactTokens(uint256 amountOut, uint256 amountInMax, address[] path, address to, uint256 deadline) returns(uint256[] amounts)
   746  func (_Uniswaprouter *UniswaprouterSession) SwapTokensForExactTokens(amountOut *big.Int, amountInMax *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   747  	return _Uniswaprouter.Contract.SwapTokensForExactTokens(&_Uniswaprouter.TransactOpts, amountOut, amountInMax, path, to, deadline)
   748  }
   749  
   750  // SwapTokensForExactTokens is a paid mutator transaction binding the contract method 0x8803dbee.
   751  //
   752  // Solidity: function swapTokensForExactTokens(uint256 amountOut, uint256 amountInMax, address[] path, address to, uint256 deadline) returns(uint256[] amounts)
   753  func (_Uniswaprouter *UniswaprouterTransactorSession) SwapTokensForExactTokens(amountOut *big.Int, amountInMax *big.Int, path []common.Address, to common.Address, deadline *big.Int) (*types.Transaction, error) {
   754  	return _Uniswaprouter.Contract.SwapTokensForExactTokens(&_Uniswaprouter.TransactOpts, amountOut, amountInMax, path, to, deadline)
   755  }
   756  
   757  // Receive is a paid mutator transaction binding the contract receive function.
   758  //
   759  // Solidity: receive() payable returns()
   760  func (_Uniswaprouter *UniswaprouterTransactor) Receive(opts *bind.TransactOpts) (*types.Transaction, error) {
   761  	return _Uniswaprouter.contract.RawTransact(opts, nil) // calldata is disallowed for receive function
   762  }
   763  
   764  // Receive is a paid mutator transaction binding the contract receive function.
   765  //
   766  // Solidity: receive() payable returns()
   767  func (_Uniswaprouter *UniswaprouterSession) Receive() (*types.Transaction, error) {
   768  	return _Uniswaprouter.Contract.Receive(&_Uniswaprouter.TransactOpts)
   769  }
   770  
   771  // Receive is a paid mutator transaction binding the contract receive function.
   772  //
   773  // Solidity: receive() payable returns()
   774  func (_Uniswaprouter *UniswaprouterTransactorSession) Receive() (*types.Transaction, error) {
   775  	return _Uniswaprouter.Contract.Receive(&_Uniswaprouter.TransactOpts)
   776  }
   777