github.com/cwntr/go-defi@v0.0.0-20210629134751-07f9ec2f7e66/binding/hcurve/hcurve.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 hcurve
     5  
     6  import (
     7  	"math/big"
     8  	"strings"
     9  
    10  	ethereum "github.com/ethereum/go-ethereum"
    11  	"github.com/ethereum/go-ethereum/accounts/abi"
    12  	"github.com/ethereum/go-ethereum/accounts/abi/bind"
    13  	"github.com/ethereum/go-ethereum/common"
    14  	"github.com/ethereum/go-ethereum/core/types"
    15  	"github.com/ethereum/go-ethereum/event"
    16  )
    17  
    18  // Reference imports to suppress errors if they are not otherwise used.
    19  var (
    20  	_ = big.NewInt
    21  	_ = strings.NewReader
    22  	_ = ethereum.NotFound
    23  	_ = bind.Bind
    24  	_ = common.Big1
    25  	_ = types.BloomLookup
    26  	_ = event.NewSubscription
    27  )
    28  
    29  // HcurveABI is the input ABI used to generate the binding from.
    30  const HcurveABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"ONE_SPLIT\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"handler\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"tokens\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"minMintAmount\",\"type\":\"uint256\"}],\"name\":\"addLiquidity\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"handler\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenI\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenJ\",\"type\":\"address\"},{\"internalType\":\"int128\",\"name\":\"i\",\"type\":\"int128\"},{\"internalType\":\"int128\",\"name\":\"j\",\"type\":\"int128\"},{\"internalType\":\"uint256\",\"name\":\"dx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minDy\",\"type\":\"uint256\"}],\"name\":\"exchange\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"handler\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenI\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenJ\",\"type\":\"address\"},{\"internalType\":\"int128\",\"name\":\"i\",\"type\":\"int128\"},{\"internalType\":\"int128\",\"name\":\"j\",\"type\":\"int128\"},{\"internalType\":\"uint256\",\"name\":\"dx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minDy\",\"type\":\"uint256\"}],\"name\":\"exchangeUnderlying\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"postProcess\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"handler\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenI\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenAmount\",\"type\":\"uint256\"},{\"internalType\":\"int128\",\"name\":\"i\",\"type\":\"int128\"},{\"internalType\":\"uint256\",\"name\":\"minAmount\",\"type\":\"uint256\"}],\"name\":\"removeLiquidityOneCoin\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"handler\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenI\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenAmount\",\"type\":\"uint256\"},{\"internalType\":\"int128\",\"name\":\"i\",\"type\":\"int128\"},{\"internalType\":\"uint256\",\"name\":\"minAmount\",\"type\":\"uint256\"}],\"name\":\"removeLiquidityOneCoinDust\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"fromToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"toToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minReturn\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"distribution\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"featureFlags\",\"type\":\"uint256\"}],\"name\":\"swap\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"}]"
    31  
    32  // Hcurve is an auto generated Go binding around an Ethereum contract.
    33  type Hcurve struct {
    34  	HcurveCaller     // Read-only binding to the contract
    35  	HcurveTransactor // Write-only binding to the contract
    36  	HcurveFilterer   // Log filterer for contract events
    37  }
    38  
    39  // HcurveCaller is an auto generated read-only Go binding around an Ethereum contract.
    40  type HcurveCaller struct {
    41  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    42  }
    43  
    44  // HcurveTransactor is an auto generated write-only Go binding around an Ethereum contract.
    45  type HcurveTransactor struct {
    46  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    47  }
    48  
    49  // HcurveFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
    50  type HcurveFilterer struct {
    51  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    52  }
    53  
    54  // HcurveSession is an auto generated Go binding around an Ethereum contract,
    55  // with pre-set call and transact options.
    56  type HcurveSession struct {
    57  	Contract     *Hcurve           // Generic contract binding to set the session for
    58  	CallOpts     bind.CallOpts     // Call options to use throughout this session
    59  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
    60  }
    61  
    62  // HcurveCallerSession is an auto generated read-only Go binding around an Ethereum contract,
    63  // with pre-set call options.
    64  type HcurveCallerSession struct {
    65  	Contract *HcurveCaller // Generic contract caller binding to set the session for
    66  	CallOpts bind.CallOpts // Call options to use throughout this session
    67  }
    68  
    69  // HcurveTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
    70  // with pre-set transact options.
    71  type HcurveTransactorSession struct {
    72  	Contract     *HcurveTransactor // Generic contract transactor binding to set the session for
    73  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
    74  }
    75  
    76  // HcurveRaw is an auto generated low-level Go binding around an Ethereum contract.
    77  type HcurveRaw struct {
    78  	Contract *Hcurve // Generic contract binding to access the raw methods on
    79  }
    80  
    81  // HcurveCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
    82  type HcurveCallerRaw struct {
    83  	Contract *HcurveCaller // Generic read-only contract binding to access the raw methods on
    84  }
    85  
    86  // HcurveTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
    87  type HcurveTransactorRaw struct {
    88  	Contract *HcurveTransactor // Generic write-only contract binding to access the raw methods on
    89  }
    90  
    91  // NewHcurve creates a new instance of Hcurve, bound to a specific deployed contract.
    92  func NewHcurve(address common.Address, backend bind.ContractBackend) (*Hcurve, error) {
    93  	contract, err := bindHcurve(address, backend, backend, backend)
    94  	if err != nil {
    95  		return nil, err
    96  	}
    97  	return &Hcurve{HcurveCaller: HcurveCaller{contract: contract}, HcurveTransactor: HcurveTransactor{contract: contract}, HcurveFilterer: HcurveFilterer{contract: contract}}, nil
    98  }
    99  
   100  // NewHcurveCaller creates a new read-only instance of Hcurve, bound to a specific deployed contract.
   101  func NewHcurveCaller(address common.Address, caller bind.ContractCaller) (*HcurveCaller, error) {
   102  	contract, err := bindHcurve(address, caller, nil, nil)
   103  	if err != nil {
   104  		return nil, err
   105  	}
   106  	return &HcurveCaller{contract: contract}, nil
   107  }
   108  
   109  // NewHcurveTransactor creates a new write-only instance of Hcurve, bound to a specific deployed contract.
   110  func NewHcurveTransactor(address common.Address, transactor bind.ContractTransactor) (*HcurveTransactor, error) {
   111  	contract, err := bindHcurve(address, nil, transactor, nil)
   112  	if err != nil {
   113  		return nil, err
   114  	}
   115  	return &HcurveTransactor{contract: contract}, nil
   116  }
   117  
   118  // NewHcurveFilterer creates a new log filterer instance of Hcurve, bound to a specific deployed contract.
   119  func NewHcurveFilterer(address common.Address, filterer bind.ContractFilterer) (*HcurveFilterer, error) {
   120  	contract, err := bindHcurve(address, nil, nil, filterer)
   121  	if err != nil {
   122  		return nil, err
   123  	}
   124  	return &HcurveFilterer{contract: contract}, nil
   125  }
   126  
   127  // bindHcurve binds a generic wrapper to an already deployed contract.
   128  func bindHcurve(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   129  	parsed, err := abi.JSON(strings.NewReader(HcurveABI))
   130  	if err != nil {
   131  		return nil, err
   132  	}
   133  	return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
   134  }
   135  
   136  // Call invokes the (constant) contract method with params as input values and
   137  // sets the output to result. The result type might be a single field for simple
   138  // returns, a slice of interfaces for anonymous returns and a struct for named
   139  // returns.
   140  func (_Hcurve *HcurveRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   141  	return _Hcurve.Contract.HcurveCaller.contract.Call(opts, result, method, params...)
   142  }
   143  
   144  // Transfer initiates a plain transaction to move funds to the contract, calling
   145  // its default method if one is available.
   146  func (_Hcurve *HcurveRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   147  	return _Hcurve.Contract.HcurveTransactor.contract.Transfer(opts)
   148  }
   149  
   150  // Transact invokes the (paid) contract method with params as input values.
   151  func (_Hcurve *HcurveRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   152  	return _Hcurve.Contract.HcurveTransactor.contract.Transact(opts, method, params...)
   153  }
   154  
   155  // Call invokes the (constant) contract method with params as input values and
   156  // sets the output to result. The result type might be a single field for simple
   157  // returns, a slice of interfaces for anonymous returns and a struct for named
   158  // returns.
   159  func (_Hcurve *HcurveCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   160  	return _Hcurve.Contract.contract.Call(opts, result, method, params...)
   161  }
   162  
   163  // Transfer initiates a plain transaction to move funds to the contract, calling
   164  // its default method if one is available.
   165  func (_Hcurve *HcurveTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   166  	return _Hcurve.Contract.contract.Transfer(opts)
   167  }
   168  
   169  // Transact invokes the (paid) contract method with params as input values.
   170  func (_Hcurve *HcurveTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   171  	return _Hcurve.Contract.contract.Transact(opts, method, params...)
   172  }
   173  
   174  // ONESPLIT is a free data retrieval call binding the contract method 0x33a469e6.
   175  //
   176  // Solidity: function ONE_SPLIT() view returns(address)
   177  func (_Hcurve *HcurveCaller) ONESPLIT(opts *bind.CallOpts) (common.Address, error) {
   178  	var out []interface{}
   179  	err := _Hcurve.contract.Call(opts, &out, "ONE_SPLIT")
   180  
   181  	if err != nil {
   182  		return *new(common.Address), err
   183  	}
   184  
   185  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   186  
   187  	return out0, err
   188  
   189  }
   190  
   191  // ONESPLIT is a free data retrieval call binding the contract method 0x33a469e6.
   192  //
   193  // Solidity: function ONE_SPLIT() view returns(address)
   194  func (_Hcurve *HcurveSession) ONESPLIT() (common.Address, error) {
   195  	return _Hcurve.Contract.ONESPLIT(&_Hcurve.CallOpts)
   196  }
   197  
   198  // ONESPLIT is a free data retrieval call binding the contract method 0x33a469e6.
   199  //
   200  // Solidity: function ONE_SPLIT() view returns(address)
   201  func (_Hcurve *HcurveCallerSession) ONESPLIT() (common.Address, error) {
   202  	return _Hcurve.Contract.ONESPLIT(&_Hcurve.CallOpts)
   203  }
   204  
   205  // AddLiquidity is a paid mutator transaction binding the contract method 0x51a34ca5.
   206  //
   207  // Solidity: function addLiquidity(address handler, address pool, address[] tokens, uint256[] amounts, uint256 minMintAmount) payable returns()
   208  func (_Hcurve *HcurveTransactor) AddLiquidity(opts *bind.TransactOpts, handler common.Address, pool common.Address, tokens []common.Address, amounts []*big.Int, minMintAmount *big.Int) (*types.Transaction, error) {
   209  	return _Hcurve.contract.Transact(opts, "addLiquidity", handler, pool, tokens, amounts, minMintAmount)
   210  }
   211  
   212  // AddLiquidity is a paid mutator transaction binding the contract method 0x51a34ca5.
   213  //
   214  // Solidity: function addLiquidity(address handler, address pool, address[] tokens, uint256[] amounts, uint256 minMintAmount) payable returns()
   215  func (_Hcurve *HcurveSession) AddLiquidity(handler common.Address, pool common.Address, tokens []common.Address, amounts []*big.Int, minMintAmount *big.Int) (*types.Transaction, error) {
   216  	return _Hcurve.Contract.AddLiquidity(&_Hcurve.TransactOpts, handler, pool, tokens, amounts, minMintAmount)
   217  }
   218  
   219  // AddLiquidity is a paid mutator transaction binding the contract method 0x51a34ca5.
   220  //
   221  // Solidity: function addLiquidity(address handler, address pool, address[] tokens, uint256[] amounts, uint256 minMintAmount) payable returns()
   222  func (_Hcurve *HcurveTransactorSession) AddLiquidity(handler common.Address, pool common.Address, tokens []common.Address, amounts []*big.Int, minMintAmount *big.Int) (*types.Transaction, error) {
   223  	return _Hcurve.Contract.AddLiquidity(&_Hcurve.TransactOpts, handler, pool, tokens, amounts, minMintAmount)
   224  }
   225  
   226  // Exchange is a paid mutator transaction binding the contract method 0x8337782d.
   227  //
   228  // Solidity: function exchange(address handler, address tokenI, address tokenJ, int128 i, int128 j, uint256 dx, uint256 minDy) payable returns()
   229  func (_Hcurve *HcurveTransactor) Exchange(opts *bind.TransactOpts, handler common.Address, tokenI common.Address, tokenJ common.Address, i *big.Int, j *big.Int, dx *big.Int, minDy *big.Int) (*types.Transaction, error) {
   230  	return _Hcurve.contract.Transact(opts, "exchange", handler, tokenI, tokenJ, i, j, dx, minDy)
   231  }
   232  
   233  // Exchange is a paid mutator transaction binding the contract method 0x8337782d.
   234  //
   235  // Solidity: function exchange(address handler, address tokenI, address tokenJ, int128 i, int128 j, uint256 dx, uint256 minDy) payable returns()
   236  func (_Hcurve *HcurveSession) Exchange(handler common.Address, tokenI common.Address, tokenJ common.Address, i *big.Int, j *big.Int, dx *big.Int, minDy *big.Int) (*types.Transaction, error) {
   237  	return _Hcurve.Contract.Exchange(&_Hcurve.TransactOpts, handler, tokenI, tokenJ, i, j, dx, minDy)
   238  }
   239  
   240  // Exchange is a paid mutator transaction binding the contract method 0x8337782d.
   241  //
   242  // Solidity: function exchange(address handler, address tokenI, address tokenJ, int128 i, int128 j, uint256 dx, uint256 minDy) payable returns()
   243  func (_Hcurve *HcurveTransactorSession) Exchange(handler common.Address, tokenI common.Address, tokenJ common.Address, i *big.Int, j *big.Int, dx *big.Int, minDy *big.Int) (*types.Transaction, error) {
   244  	return _Hcurve.Contract.Exchange(&_Hcurve.TransactOpts, handler, tokenI, tokenJ, i, j, dx, minDy)
   245  }
   246  
   247  // ExchangeUnderlying is a paid mutator transaction binding the contract method 0xfef6074e.
   248  //
   249  // Solidity: function exchangeUnderlying(address handler, address tokenI, address tokenJ, int128 i, int128 j, uint256 dx, uint256 minDy) payable returns()
   250  func (_Hcurve *HcurveTransactor) ExchangeUnderlying(opts *bind.TransactOpts, handler common.Address, tokenI common.Address, tokenJ common.Address, i *big.Int, j *big.Int, dx *big.Int, minDy *big.Int) (*types.Transaction, error) {
   251  	return _Hcurve.contract.Transact(opts, "exchangeUnderlying", handler, tokenI, tokenJ, i, j, dx, minDy)
   252  }
   253  
   254  // ExchangeUnderlying is a paid mutator transaction binding the contract method 0xfef6074e.
   255  //
   256  // Solidity: function exchangeUnderlying(address handler, address tokenI, address tokenJ, int128 i, int128 j, uint256 dx, uint256 minDy) payable returns()
   257  func (_Hcurve *HcurveSession) ExchangeUnderlying(handler common.Address, tokenI common.Address, tokenJ common.Address, i *big.Int, j *big.Int, dx *big.Int, minDy *big.Int) (*types.Transaction, error) {
   258  	return _Hcurve.Contract.ExchangeUnderlying(&_Hcurve.TransactOpts, handler, tokenI, tokenJ, i, j, dx, minDy)
   259  }
   260  
   261  // ExchangeUnderlying is a paid mutator transaction binding the contract method 0xfef6074e.
   262  //
   263  // Solidity: function exchangeUnderlying(address handler, address tokenI, address tokenJ, int128 i, int128 j, uint256 dx, uint256 minDy) payable returns()
   264  func (_Hcurve *HcurveTransactorSession) ExchangeUnderlying(handler common.Address, tokenI common.Address, tokenJ common.Address, i *big.Int, j *big.Int, dx *big.Int, minDy *big.Int) (*types.Transaction, error) {
   265  	return _Hcurve.Contract.ExchangeUnderlying(&_Hcurve.TransactOpts, handler, tokenI, tokenJ, i, j, dx, minDy)
   266  }
   267  
   268  // PostProcess is a paid mutator transaction binding the contract method 0xc2722916.
   269  //
   270  // Solidity: function postProcess() payable returns()
   271  func (_Hcurve *HcurveTransactor) PostProcess(opts *bind.TransactOpts) (*types.Transaction, error) {
   272  	return _Hcurve.contract.Transact(opts, "postProcess")
   273  }
   274  
   275  // PostProcess is a paid mutator transaction binding the contract method 0xc2722916.
   276  //
   277  // Solidity: function postProcess() payable returns()
   278  func (_Hcurve *HcurveSession) PostProcess() (*types.Transaction, error) {
   279  	return _Hcurve.Contract.PostProcess(&_Hcurve.TransactOpts)
   280  }
   281  
   282  // PostProcess is a paid mutator transaction binding the contract method 0xc2722916.
   283  //
   284  // Solidity: function postProcess() payable returns()
   285  func (_Hcurve *HcurveTransactorSession) PostProcess() (*types.Transaction, error) {
   286  	return _Hcurve.Contract.PostProcess(&_Hcurve.TransactOpts)
   287  }
   288  
   289  // RemoveLiquidityOneCoin is a paid mutator transaction binding the contract method 0x301ee996.
   290  //
   291  // Solidity: function removeLiquidityOneCoin(address handler, address pool, address tokenI, uint256 tokenAmount, int128 i, uint256 minAmount) payable returns()
   292  func (_Hcurve *HcurveTransactor) RemoveLiquidityOneCoin(opts *bind.TransactOpts, handler common.Address, pool common.Address, tokenI common.Address, tokenAmount *big.Int, i *big.Int, minAmount *big.Int) (*types.Transaction, error) {
   293  	return _Hcurve.contract.Transact(opts, "removeLiquidityOneCoin", handler, pool, tokenI, tokenAmount, i, minAmount)
   294  }
   295  
   296  // RemoveLiquidityOneCoin is a paid mutator transaction binding the contract method 0x301ee996.
   297  //
   298  // Solidity: function removeLiquidityOneCoin(address handler, address pool, address tokenI, uint256 tokenAmount, int128 i, uint256 minAmount) payable returns()
   299  func (_Hcurve *HcurveSession) RemoveLiquidityOneCoin(handler common.Address, pool common.Address, tokenI common.Address, tokenAmount *big.Int, i *big.Int, minAmount *big.Int) (*types.Transaction, error) {
   300  	return _Hcurve.Contract.RemoveLiquidityOneCoin(&_Hcurve.TransactOpts, handler, pool, tokenI, tokenAmount, i, minAmount)
   301  }
   302  
   303  // RemoveLiquidityOneCoin is a paid mutator transaction binding the contract method 0x301ee996.
   304  //
   305  // Solidity: function removeLiquidityOneCoin(address handler, address pool, address tokenI, uint256 tokenAmount, int128 i, uint256 minAmount) payable returns()
   306  func (_Hcurve *HcurveTransactorSession) RemoveLiquidityOneCoin(handler common.Address, pool common.Address, tokenI common.Address, tokenAmount *big.Int, i *big.Int, minAmount *big.Int) (*types.Transaction, error) {
   307  	return _Hcurve.Contract.RemoveLiquidityOneCoin(&_Hcurve.TransactOpts, handler, pool, tokenI, tokenAmount, i, minAmount)
   308  }
   309  
   310  // RemoveLiquidityOneCoinDust is a paid mutator transaction binding the contract method 0xe3878667.
   311  //
   312  // Solidity: function removeLiquidityOneCoinDust(address handler, address pool, address tokenI, uint256 tokenAmount, int128 i, uint256 minAmount) payable returns()
   313  func (_Hcurve *HcurveTransactor) RemoveLiquidityOneCoinDust(opts *bind.TransactOpts, handler common.Address, pool common.Address, tokenI common.Address, tokenAmount *big.Int, i *big.Int, minAmount *big.Int) (*types.Transaction, error) {
   314  	return _Hcurve.contract.Transact(opts, "removeLiquidityOneCoinDust", handler, pool, tokenI, tokenAmount, i, minAmount)
   315  }
   316  
   317  // RemoveLiquidityOneCoinDust is a paid mutator transaction binding the contract method 0xe3878667.
   318  //
   319  // Solidity: function removeLiquidityOneCoinDust(address handler, address pool, address tokenI, uint256 tokenAmount, int128 i, uint256 minAmount) payable returns()
   320  func (_Hcurve *HcurveSession) RemoveLiquidityOneCoinDust(handler common.Address, pool common.Address, tokenI common.Address, tokenAmount *big.Int, i *big.Int, minAmount *big.Int) (*types.Transaction, error) {
   321  	return _Hcurve.Contract.RemoveLiquidityOneCoinDust(&_Hcurve.TransactOpts, handler, pool, tokenI, tokenAmount, i, minAmount)
   322  }
   323  
   324  // RemoveLiquidityOneCoinDust is a paid mutator transaction binding the contract method 0xe3878667.
   325  //
   326  // Solidity: function removeLiquidityOneCoinDust(address handler, address pool, address tokenI, uint256 tokenAmount, int128 i, uint256 minAmount) payable returns()
   327  func (_Hcurve *HcurveTransactorSession) RemoveLiquidityOneCoinDust(handler common.Address, pool common.Address, tokenI common.Address, tokenAmount *big.Int, i *big.Int, minAmount *big.Int) (*types.Transaction, error) {
   328  	return _Hcurve.Contract.RemoveLiquidityOneCoinDust(&_Hcurve.TransactOpts, handler, pool, tokenI, tokenAmount, i, minAmount)
   329  }
   330  
   331  // Swap is a paid mutator transaction binding the contract method 0xe2a7515e.
   332  //
   333  // Solidity: function swap(address fromToken, address toToken, uint256 amount, uint256 minReturn, uint256[] distribution, uint256 featureFlags) payable returns()
   334  func (_Hcurve *HcurveTransactor) Swap(opts *bind.TransactOpts, fromToken common.Address, toToken common.Address, amount *big.Int, minReturn *big.Int, distribution []*big.Int, featureFlags *big.Int) (*types.Transaction, error) {
   335  	return _Hcurve.contract.Transact(opts, "swap", fromToken, toToken, amount, minReturn, distribution, featureFlags)
   336  }
   337  
   338  // Swap is a paid mutator transaction binding the contract method 0xe2a7515e.
   339  //
   340  // Solidity: function swap(address fromToken, address toToken, uint256 amount, uint256 minReturn, uint256[] distribution, uint256 featureFlags) payable returns()
   341  func (_Hcurve *HcurveSession) Swap(fromToken common.Address, toToken common.Address, amount *big.Int, minReturn *big.Int, distribution []*big.Int, featureFlags *big.Int) (*types.Transaction, error) {
   342  	return _Hcurve.Contract.Swap(&_Hcurve.TransactOpts, fromToken, toToken, amount, minReturn, distribution, featureFlags)
   343  }
   344  
   345  // Swap is a paid mutator transaction binding the contract method 0xe2a7515e.
   346  //
   347  // Solidity: function swap(address fromToken, address toToken, uint256 amount, uint256 minReturn, uint256[] distribution, uint256 featureFlags) payable returns()
   348  func (_Hcurve *HcurveTransactorSession) Swap(fromToken common.Address, toToken common.Address, amount *big.Int, minReturn *big.Int, distribution []*big.Int, featureFlags *big.Int) (*types.Transaction, error) {
   349  	return _Hcurve.Contract.Swap(&_Hcurve.TransactOpts, fromToken, toToken, amount, minReturn, distribution, featureFlags)
   350  }