github.com/diadata-org/diadata@v1.4.593/pkg/dia/scraper/exchange-scrapers/curvefifactory/curvefifactory.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 curvefifactory
     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  // CurvefifactoryMetaData contains all meta data concerning the Curvefifactory contract.
    33  var CurvefifactoryMetaData = &bind.MetaData{
    34  	ABI: "[{\"name\":\"TokenExchange\",\"inputs\":[{\"name\":\"buyer\",\"type\":\"address\",\"indexed\":true},{\"name\":\"sold_id\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"tokens_sold\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"bought_id\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"tokens_bought\",\"type\":\"uint256\",\"indexed\":false}],\"anonymous\":false,\"type\":\"event\"},{\"name\":\"AddLiquidity\",\"inputs\":[{\"name\":\"provider\",\"type\":\"address\",\"indexed\":true},{\"name\":\"token_amounts\",\"type\":\"uint256[2]\",\"indexed\":false},{\"name\":\"fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"token_supply\",\"type\":\"uint256\",\"indexed\":false}],\"anonymous\":false,\"type\":\"event\"},{\"name\":\"RemoveLiquidity\",\"inputs\":[{\"name\":\"provider\",\"type\":\"address\",\"indexed\":true},{\"name\":\"token_amounts\",\"type\":\"uint256[2]\",\"indexed\":false},{\"name\":\"token_supply\",\"type\":\"uint256\",\"indexed\":false}],\"anonymous\":false,\"type\":\"event\"},{\"name\":\"RemoveLiquidityOne\",\"inputs\":[{\"name\":\"provider\",\"type\":\"address\",\"indexed\":true},{\"name\":\"token_amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"coin_index\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"coin_amount\",\"type\":\"uint256\",\"indexed\":false}],\"anonymous\":false,\"type\":\"event\"},{\"name\":\"CommitNewParameters\",\"inputs\":[{\"name\":\"deadline\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"admin_fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"mid_fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"out_fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"fee_gamma\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"allowed_extra_profit\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"adjustment_step\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"ma_half_time\",\"type\":\"uint256\",\"indexed\":false}],\"anonymous\":false,\"type\":\"event\"},{\"name\":\"NewParameters\",\"inputs\":[{\"name\":\"admin_fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"mid_fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"out_fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"fee_gamma\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"allowed_extra_profit\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"adjustment_step\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"ma_half_time\",\"type\":\"uint256\",\"indexed\":false}],\"anonymous\":false,\"type\":\"event\"},{\"name\":\"RampAgamma\",\"inputs\":[{\"name\":\"initial_A\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"future_A\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"initial_gamma\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"future_gamma\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"initial_time\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"future_time\",\"type\":\"uint256\",\"indexed\":false}],\"anonymous\":false,\"type\":\"event\"},{\"name\":\"StopRampA\",\"inputs\":[{\"name\":\"current_A\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"current_gamma\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"time\",\"type\":\"uint256\",\"indexed\":false}],\"anonymous\":false,\"type\":\"event\"},{\"name\":\"ClaimAdminFee\",\"inputs\":[{\"name\":\"admin\",\"type\":\"address\",\"indexed\":true},{\"name\":\"tokens\",\"type\":\"uint256\",\"indexed\":false}],\"anonymous\":false,\"type\":\"event\"},{\"stateMutability\":\"nonpayable\",\"type\":\"constructor\",\"inputs\":[{\"name\":\"_weth\",\"type\":\"address\"}],\"outputs\":[]},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"stateMutability\":\"payable\",\"type\":\"function\",\"name\":\"exchange\",\"inputs\":[{\"name\":\"i\",\"type\":\"uint256\"},{\"name\":\"j\",\"type\":\"uint256\"},{\"name\":\"dx\",\"type\":\"uint256\"},{\"name\":\"min_dy\",\"type\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"payable\",\"type\":\"function\",\"name\":\"exchange\",\"inputs\":[{\"name\":\"i\",\"type\":\"uint256\"},{\"name\":\"j\",\"type\":\"uint256\"},{\"name\":\"dx\",\"type\":\"uint256\"},{\"name\":\"min_dy\",\"type\":\"uint256\"},{\"name\":\"use_eth\",\"type\":\"bool\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"payable\",\"type\":\"function\",\"name\":\"exchange\",\"inputs\":[{\"name\":\"i\",\"type\":\"uint256\"},{\"name\":\"j\",\"type\":\"uint256\"},{\"name\":\"dx\",\"type\":\"uint256\"},{\"name\":\"min_dy\",\"type\":\"uint256\"},{\"name\":\"use_eth\",\"type\":\"bool\"},{\"name\":\"receiver\",\"type\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"payable\",\"type\":\"function\",\"name\":\"exchange_underlying\",\"inputs\":[{\"name\":\"i\",\"type\":\"uint256\"},{\"name\":\"j\",\"type\":\"uint256\"},{\"name\":\"dx\",\"type\":\"uint256\"},{\"name\":\"min_dy\",\"type\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"payable\",\"type\":\"function\",\"name\":\"exchange_underlying\",\"inputs\":[{\"name\":\"i\",\"type\":\"uint256\"},{\"name\":\"j\",\"type\":\"uint256\"},{\"name\":\"dx\",\"type\":\"uint256\"},{\"name\":\"min_dy\",\"type\":\"uint256\"},{\"name\":\"receiver\",\"type\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"payable\",\"type\":\"function\",\"name\":\"exchange_extended\",\"inputs\":[{\"name\":\"i\",\"type\":\"uint256\"},{\"name\":\"j\",\"type\":\"uint256\"},{\"name\":\"dx\",\"type\":\"uint256\"},{\"name\":\"min_dy\",\"type\":\"uint256\"},{\"name\":\"use_eth\",\"type\":\"bool\"},{\"name\":\"sender\",\"type\":\"address\"},{\"name\":\"receiver\",\"type\":\"address\"},{\"name\":\"cb\",\"type\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"payable\",\"type\":\"function\",\"name\":\"add_liquidity\",\"inputs\":[{\"name\":\"amounts\",\"type\":\"uint256[2]\"},{\"name\":\"min_mint_amount\",\"type\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"payable\",\"type\":\"function\",\"name\":\"add_liquidity\",\"inputs\":[{\"name\":\"amounts\",\"type\":\"uint256[2]\"},{\"name\":\"min_mint_amount\",\"type\":\"uint256\"},{\"name\":\"use_eth\",\"type\":\"bool\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"payable\",\"type\":\"function\",\"name\":\"add_liquidity\",\"inputs\":[{\"name\":\"amounts\",\"type\":\"uint256[2]\"},{\"name\":\"min_mint_amount\",\"type\":\"uint256\"},{\"name\":\"use_eth\",\"type\":\"bool\"},{\"name\":\"receiver\",\"type\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"remove_liquidity\",\"inputs\":[{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"min_amounts\",\"type\":\"uint256[2]\"}],\"outputs\":[]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"remove_liquidity\",\"inputs\":[{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"min_amounts\",\"type\":\"uint256[2]\"},{\"name\":\"use_eth\",\"type\":\"bool\"}],\"outputs\":[]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"remove_liquidity\",\"inputs\":[{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"min_amounts\",\"type\":\"uint256[2]\"},{\"name\":\"use_eth\",\"type\":\"bool\"},{\"name\":\"receiver\",\"type\":\"address\"}],\"outputs\":[]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"remove_liquidity_one_coin\",\"inputs\":[{\"name\":\"token_amount\",\"type\":\"uint256\"},{\"name\":\"i\",\"type\":\"uint256\"},{\"name\":\"min_amount\",\"type\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"remove_liquidity_one_coin\",\"inputs\":[{\"name\":\"token_amount\",\"type\":\"uint256\"},{\"name\":\"i\",\"type\":\"uint256\"},{\"name\":\"min_amount\",\"type\":\"uint256\"},{\"name\":\"use_eth\",\"type\":\"bool\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"remove_liquidity_one_coin\",\"inputs\":[{\"name\":\"token_amount\",\"type\":\"uint256\"},{\"name\":\"i\",\"type\":\"uint256\"},{\"name\":\"min_amount\",\"type\":\"uint256\"},{\"name\":\"use_eth\",\"type\":\"bool\"},{\"name\":\"receiver\",\"type\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"claim_admin_fees\",\"inputs\":[],\"outputs\":[]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"ramp_A_gamma\",\"inputs\":[{\"name\":\"future_A\",\"type\":\"uint256\"},{\"name\":\"future_gamma\",\"type\":\"uint256\"},{\"name\":\"future_time\",\"type\":\"uint256\"}],\"outputs\":[]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"stop_ramp_A_gamma\",\"inputs\":[],\"outputs\":[]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"commit_new_parameters\",\"inputs\":[{\"name\":\"_new_mid_fee\",\"type\":\"uint256\"},{\"name\":\"_new_out_fee\",\"type\":\"uint256\"},{\"name\":\"_new_admin_fee\",\"type\":\"uint256\"},{\"name\":\"_new_fee_gamma\",\"type\":\"uint256\"},{\"name\":\"_new_allowed_extra_profit\",\"type\":\"uint256\"},{\"name\":\"_new_adjustment_step\",\"type\":\"uint256\"},{\"name\":\"_new_ma_half_time\",\"type\":\"uint256\"}],\"outputs\":[]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"apply_new_parameters\",\"inputs\":[],\"outputs\":[]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"revert_new_parameters\",\"inputs\":[],\"outputs\":[]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"get_dy\",\"inputs\":[{\"name\":\"i\",\"type\":\"uint256\"},{\"name\":\"j\",\"type\":\"uint256\"},{\"name\":\"dx\",\"type\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"calc_token_amount\",\"inputs\":[{\"name\":\"amounts\",\"type\":\"uint256[2]\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"calc_withdraw_one_coin\",\"inputs\":[{\"name\":\"token_amount\",\"type\":\"uint256\"},{\"name\":\"i\",\"type\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"lp_price\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"A\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"gamma\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"fee\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"get_virtual_price\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"price_oracle\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"initialize\",\"inputs\":[{\"name\":\"A\",\"type\":\"uint256\"},{\"name\":\"gamma\",\"type\":\"uint256\"},{\"name\":\"mid_fee\",\"type\":\"uint256\"},{\"name\":\"out_fee\",\"type\":\"uint256\"},{\"name\":\"allowed_extra_profit\",\"type\":\"uint256\"},{\"name\":\"fee_gamma\",\"type\":\"uint256\"},{\"name\":\"adjustment_step\",\"type\":\"uint256\"},{\"name\":\"admin_fee\",\"type\":\"uint256\"},{\"name\":\"ma_half_time\",\"type\":\"uint256\"},{\"name\":\"initial_price\",\"type\":\"uint256\"},{\"name\":\"_token\",\"type\":\"address\"},{\"name\":\"_coins\",\"type\":\"address[2]\"},{\"name\":\"_precisions\",\"type\":\"uint256\"}],\"outputs\":[]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"token\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"coins\",\"inputs\":[{\"name\":\"arg0\",\"type\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"price_scale\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"last_prices\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"last_prices_timestamp\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"initial_A_gamma\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"future_A_gamma\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"initial_A_gamma_time\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"future_A_gamma_time\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"allowed_extra_profit\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"future_allowed_extra_profit\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"fee_gamma\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"future_fee_gamma\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"adjustment_step\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"future_adjustment_step\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"ma_half_time\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"future_ma_half_time\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"mid_fee\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"out_fee\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"admin_fee\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"future_mid_fee\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"future_out_fee\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"future_admin_fee\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"balances\",\"inputs\":[{\"name\":\"arg0\",\"type\":\"uint256\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"D\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"factory\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"xcp_profit\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"xcp_profit_a\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"virtual_price\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]},{\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"admin_actions_deadline\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}]}]",
    35  }
    36  
    37  // CurvefifactoryABI is the input ABI used to generate the binding from.
    38  // Deprecated: Use CurvefifactoryMetaData.ABI instead.
    39  var CurvefifactoryABI = CurvefifactoryMetaData.ABI
    40  
    41  // Curvefifactory is an auto generated Go binding around an Ethereum contract.
    42  type Curvefifactory struct {
    43  	CurvefifactoryCaller     // Read-only binding to the contract
    44  	CurvefifactoryTransactor // Write-only binding to the contract
    45  	CurvefifactoryFilterer   // Log filterer for contract events
    46  }
    47  
    48  // CurvefifactoryCaller is an auto generated read-only Go binding around an Ethereum contract.
    49  type CurvefifactoryCaller struct {
    50  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    51  }
    52  
    53  // CurvefifactoryTransactor is an auto generated write-only Go binding around an Ethereum contract.
    54  type CurvefifactoryTransactor struct {
    55  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    56  }
    57  
    58  // CurvefifactoryFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
    59  type CurvefifactoryFilterer struct {
    60  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    61  }
    62  
    63  // CurvefifactorySession is an auto generated Go binding around an Ethereum contract,
    64  // with pre-set call and transact options.
    65  type CurvefifactorySession struct {
    66  	Contract     *Curvefifactory   // 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  // CurvefifactoryCallerSession is an auto generated read-only Go binding around an Ethereum contract,
    72  // with pre-set call options.
    73  type CurvefifactoryCallerSession struct {
    74  	Contract *CurvefifactoryCaller // Generic contract caller binding to set the session for
    75  	CallOpts bind.CallOpts         // Call options to use throughout this session
    76  }
    77  
    78  // CurvefifactoryTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
    79  // with pre-set transact options.
    80  type CurvefifactoryTransactorSession struct {
    81  	Contract     *CurvefifactoryTransactor // Generic contract transactor binding to set the session for
    82  	TransactOpts bind.TransactOpts         // Transaction auth options to use throughout this session
    83  }
    84  
    85  // CurvefifactoryRaw is an auto generated low-level Go binding around an Ethereum contract.
    86  type CurvefifactoryRaw struct {
    87  	Contract *Curvefifactory // Generic contract binding to access the raw methods on
    88  }
    89  
    90  // CurvefifactoryCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
    91  type CurvefifactoryCallerRaw struct {
    92  	Contract *CurvefifactoryCaller // Generic read-only contract binding to access the raw methods on
    93  }
    94  
    95  // CurvefifactoryTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
    96  type CurvefifactoryTransactorRaw struct {
    97  	Contract *CurvefifactoryTransactor // Generic write-only contract binding to access the raw methods on
    98  }
    99  
   100  // NewCurvefifactory creates a new instance of Curvefifactory, bound to a specific deployed contract.
   101  func NewCurvefifactory(address common.Address, backend bind.ContractBackend) (*Curvefifactory, error) {
   102  	contract, err := bindCurvefifactory(address, backend, backend, backend)
   103  	if err != nil {
   104  		return nil, err
   105  	}
   106  	return &Curvefifactory{CurvefifactoryCaller: CurvefifactoryCaller{contract: contract}, CurvefifactoryTransactor: CurvefifactoryTransactor{contract: contract}, CurvefifactoryFilterer: CurvefifactoryFilterer{contract: contract}}, nil
   107  }
   108  
   109  // NewCurvefifactoryCaller creates a new read-only instance of Curvefifactory, bound to a specific deployed contract.
   110  func NewCurvefifactoryCaller(address common.Address, caller bind.ContractCaller) (*CurvefifactoryCaller, error) {
   111  	contract, err := bindCurvefifactory(address, caller, nil, nil)
   112  	if err != nil {
   113  		return nil, err
   114  	}
   115  	return &CurvefifactoryCaller{contract: contract}, nil
   116  }
   117  
   118  // NewCurvefifactoryTransactor creates a new write-only instance of Curvefifactory, bound to a specific deployed contract.
   119  func NewCurvefifactoryTransactor(address common.Address, transactor bind.ContractTransactor) (*CurvefifactoryTransactor, error) {
   120  	contract, err := bindCurvefifactory(address, nil, transactor, nil)
   121  	if err != nil {
   122  		return nil, err
   123  	}
   124  	return &CurvefifactoryTransactor{contract: contract}, nil
   125  }
   126  
   127  // NewCurvefifactoryFilterer creates a new log filterer instance of Curvefifactory, bound to a specific deployed contract.
   128  func NewCurvefifactoryFilterer(address common.Address, filterer bind.ContractFilterer) (*CurvefifactoryFilterer, error) {
   129  	contract, err := bindCurvefifactory(address, nil, nil, filterer)
   130  	if err != nil {
   131  		return nil, err
   132  	}
   133  	return &CurvefifactoryFilterer{contract: contract}, nil
   134  }
   135  
   136  // bindCurvefifactory binds a generic wrapper to an already deployed contract.
   137  func bindCurvefifactory(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   138  	parsed, err := CurvefifactoryMetaData.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 (_Curvefifactory *CurvefifactoryRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   150  	return _Curvefifactory.Contract.CurvefifactoryCaller.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 (_Curvefifactory *CurvefifactoryRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   156  	return _Curvefifactory.Contract.CurvefifactoryTransactor.contract.Transfer(opts)
   157  }
   158  
   159  // Transact invokes the (paid) contract method with params as input values.
   160  func (_Curvefifactory *CurvefifactoryRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   161  	return _Curvefifactory.Contract.CurvefifactoryTransactor.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 (_Curvefifactory *CurvefifactoryCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   169  	return _Curvefifactory.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 (_Curvefifactory *CurvefifactoryTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   175  	return _Curvefifactory.Contract.contract.Transfer(opts)
   176  }
   177  
   178  // Transact invokes the (paid) contract method with params as input values.
   179  func (_Curvefifactory *CurvefifactoryTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   180  	return _Curvefifactory.Contract.contract.Transact(opts, method, params...)
   181  }
   182  
   183  // A is a free data retrieval call binding the contract method 0xf446c1d0.
   184  //
   185  // Solidity: function A() view returns(uint256)
   186  func (_Curvefifactory *CurvefifactoryCaller) A(opts *bind.CallOpts) (*big.Int, error) {
   187  	var out []interface{}
   188  	err := _Curvefifactory.contract.Call(opts, &out, "A")
   189  
   190  	if err != nil {
   191  		return *new(*big.Int), err
   192  	}
   193  
   194  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   195  
   196  	return out0, err
   197  
   198  }
   199  
   200  // A is a free data retrieval call binding the contract method 0xf446c1d0.
   201  //
   202  // Solidity: function A() view returns(uint256)
   203  func (_Curvefifactory *CurvefifactorySession) A() (*big.Int, error) {
   204  	return _Curvefifactory.Contract.A(&_Curvefifactory.CallOpts)
   205  }
   206  
   207  // A is a free data retrieval call binding the contract method 0xf446c1d0.
   208  //
   209  // Solidity: function A() view returns(uint256)
   210  func (_Curvefifactory *CurvefifactoryCallerSession) A() (*big.Int, error) {
   211  	return _Curvefifactory.Contract.A(&_Curvefifactory.CallOpts)
   212  }
   213  
   214  // D is a free data retrieval call binding the contract method 0x0f529ba2.
   215  //
   216  // Solidity: function D() view returns(uint256)
   217  func (_Curvefifactory *CurvefifactoryCaller) D(opts *bind.CallOpts) (*big.Int, error) {
   218  	var out []interface{}
   219  	err := _Curvefifactory.contract.Call(opts, &out, "D")
   220  
   221  	if err != nil {
   222  		return *new(*big.Int), err
   223  	}
   224  
   225  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   226  
   227  	return out0, err
   228  
   229  }
   230  
   231  // D is a free data retrieval call binding the contract method 0x0f529ba2.
   232  //
   233  // Solidity: function D() view returns(uint256)
   234  func (_Curvefifactory *CurvefifactorySession) D() (*big.Int, error) {
   235  	return _Curvefifactory.Contract.D(&_Curvefifactory.CallOpts)
   236  }
   237  
   238  // D is a free data retrieval call binding the contract method 0x0f529ba2.
   239  //
   240  // Solidity: function D() view returns(uint256)
   241  func (_Curvefifactory *CurvefifactoryCallerSession) D() (*big.Int, error) {
   242  	return _Curvefifactory.Contract.D(&_Curvefifactory.CallOpts)
   243  }
   244  
   245  // AdjustmentStep is a free data retrieval call binding the contract method 0x083812e5.
   246  //
   247  // Solidity: function adjustment_step() view returns(uint256)
   248  func (_Curvefifactory *CurvefifactoryCaller) AdjustmentStep(opts *bind.CallOpts) (*big.Int, error) {
   249  	var out []interface{}
   250  	err := _Curvefifactory.contract.Call(opts, &out, "adjustment_step")
   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  // AdjustmentStep is a free data retrieval call binding the contract method 0x083812e5.
   263  //
   264  // Solidity: function adjustment_step() view returns(uint256)
   265  func (_Curvefifactory *CurvefifactorySession) AdjustmentStep() (*big.Int, error) {
   266  	return _Curvefifactory.Contract.AdjustmentStep(&_Curvefifactory.CallOpts)
   267  }
   268  
   269  // AdjustmentStep is a free data retrieval call binding the contract method 0x083812e5.
   270  //
   271  // Solidity: function adjustment_step() view returns(uint256)
   272  func (_Curvefifactory *CurvefifactoryCallerSession) AdjustmentStep() (*big.Int, error) {
   273  	return _Curvefifactory.Contract.AdjustmentStep(&_Curvefifactory.CallOpts)
   274  }
   275  
   276  // AdminActionsDeadline is a free data retrieval call binding the contract method 0x405e28f8.
   277  //
   278  // Solidity: function admin_actions_deadline() view returns(uint256)
   279  func (_Curvefifactory *CurvefifactoryCaller) AdminActionsDeadline(opts *bind.CallOpts) (*big.Int, error) {
   280  	var out []interface{}
   281  	err := _Curvefifactory.contract.Call(opts, &out, "admin_actions_deadline")
   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  // AdminActionsDeadline is a free data retrieval call binding the contract method 0x405e28f8.
   294  //
   295  // Solidity: function admin_actions_deadline() view returns(uint256)
   296  func (_Curvefifactory *CurvefifactorySession) AdminActionsDeadline() (*big.Int, error) {
   297  	return _Curvefifactory.Contract.AdminActionsDeadline(&_Curvefifactory.CallOpts)
   298  }
   299  
   300  // AdminActionsDeadline is a free data retrieval call binding the contract method 0x405e28f8.
   301  //
   302  // Solidity: function admin_actions_deadline() view returns(uint256)
   303  func (_Curvefifactory *CurvefifactoryCallerSession) AdminActionsDeadline() (*big.Int, error) {
   304  	return _Curvefifactory.Contract.AdminActionsDeadline(&_Curvefifactory.CallOpts)
   305  }
   306  
   307  // AdminFee is a free data retrieval call binding the contract method 0xfee3f7f9.
   308  //
   309  // Solidity: function admin_fee() view returns(uint256)
   310  func (_Curvefifactory *CurvefifactoryCaller) AdminFee(opts *bind.CallOpts) (*big.Int, error) {
   311  	var out []interface{}
   312  	err := _Curvefifactory.contract.Call(opts, &out, "admin_fee")
   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  // AdminFee is a free data retrieval call binding the contract method 0xfee3f7f9.
   325  //
   326  // Solidity: function admin_fee() view returns(uint256)
   327  func (_Curvefifactory *CurvefifactorySession) AdminFee() (*big.Int, error) {
   328  	return _Curvefifactory.Contract.AdminFee(&_Curvefifactory.CallOpts)
   329  }
   330  
   331  // AdminFee is a free data retrieval call binding the contract method 0xfee3f7f9.
   332  //
   333  // Solidity: function admin_fee() view returns(uint256)
   334  func (_Curvefifactory *CurvefifactoryCallerSession) AdminFee() (*big.Int, error) {
   335  	return _Curvefifactory.Contract.AdminFee(&_Curvefifactory.CallOpts)
   336  }
   337  
   338  // AllowedExtraProfit is a free data retrieval call binding the contract method 0x49fe9e77.
   339  //
   340  // Solidity: function allowed_extra_profit() view returns(uint256)
   341  func (_Curvefifactory *CurvefifactoryCaller) AllowedExtraProfit(opts *bind.CallOpts) (*big.Int, error) {
   342  	var out []interface{}
   343  	err := _Curvefifactory.contract.Call(opts, &out, "allowed_extra_profit")
   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  // AllowedExtraProfit is a free data retrieval call binding the contract method 0x49fe9e77.
   356  //
   357  // Solidity: function allowed_extra_profit() view returns(uint256)
   358  func (_Curvefifactory *CurvefifactorySession) AllowedExtraProfit() (*big.Int, error) {
   359  	return _Curvefifactory.Contract.AllowedExtraProfit(&_Curvefifactory.CallOpts)
   360  }
   361  
   362  // AllowedExtraProfit is a free data retrieval call binding the contract method 0x49fe9e77.
   363  //
   364  // Solidity: function allowed_extra_profit() view returns(uint256)
   365  func (_Curvefifactory *CurvefifactoryCallerSession) AllowedExtraProfit() (*big.Int, error) {
   366  	return _Curvefifactory.Contract.AllowedExtraProfit(&_Curvefifactory.CallOpts)
   367  }
   368  
   369  // Balances is a free data retrieval call binding the contract method 0x4903b0d1.
   370  //
   371  // Solidity: function balances(uint256 arg0) view returns(uint256)
   372  func (_Curvefifactory *CurvefifactoryCaller) Balances(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error) {
   373  	var out []interface{}
   374  	err := _Curvefifactory.contract.Call(opts, &out, "balances", arg0)
   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  // Balances is a free data retrieval call binding the contract method 0x4903b0d1.
   387  //
   388  // Solidity: function balances(uint256 arg0) view returns(uint256)
   389  func (_Curvefifactory *CurvefifactorySession) Balances(arg0 *big.Int) (*big.Int, error) {
   390  	return _Curvefifactory.Contract.Balances(&_Curvefifactory.CallOpts, arg0)
   391  }
   392  
   393  // Balances is a free data retrieval call binding the contract method 0x4903b0d1.
   394  //
   395  // Solidity: function balances(uint256 arg0) view returns(uint256)
   396  func (_Curvefifactory *CurvefifactoryCallerSession) Balances(arg0 *big.Int) (*big.Int, error) {
   397  	return _Curvefifactory.Contract.Balances(&_Curvefifactory.CallOpts, arg0)
   398  }
   399  
   400  // CalcTokenAmount is a free data retrieval call binding the contract method 0x8d8ea727.
   401  //
   402  // Solidity: function calc_token_amount(uint256[2] amounts) view returns(uint256)
   403  func (_Curvefifactory *CurvefifactoryCaller) CalcTokenAmount(opts *bind.CallOpts, amounts [2]*big.Int) (*big.Int, error) {
   404  	var out []interface{}
   405  	err := _Curvefifactory.contract.Call(opts, &out, "calc_token_amount", amounts)
   406  
   407  	if err != nil {
   408  		return *new(*big.Int), err
   409  	}
   410  
   411  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   412  
   413  	return out0, err
   414  
   415  }
   416  
   417  // CalcTokenAmount is a free data retrieval call binding the contract method 0x8d8ea727.
   418  //
   419  // Solidity: function calc_token_amount(uint256[2] amounts) view returns(uint256)
   420  func (_Curvefifactory *CurvefifactorySession) CalcTokenAmount(amounts [2]*big.Int) (*big.Int, error) {
   421  	return _Curvefifactory.Contract.CalcTokenAmount(&_Curvefifactory.CallOpts, amounts)
   422  }
   423  
   424  // CalcTokenAmount is a free data retrieval call binding the contract method 0x8d8ea727.
   425  //
   426  // Solidity: function calc_token_amount(uint256[2] amounts) view returns(uint256)
   427  func (_Curvefifactory *CurvefifactoryCallerSession) CalcTokenAmount(amounts [2]*big.Int) (*big.Int, error) {
   428  	return _Curvefifactory.Contract.CalcTokenAmount(&_Curvefifactory.CallOpts, amounts)
   429  }
   430  
   431  // CalcWithdrawOneCoin is a free data retrieval call binding the contract method 0x4fb08c5e.
   432  //
   433  // Solidity: function calc_withdraw_one_coin(uint256 token_amount, uint256 i) view returns(uint256)
   434  func (_Curvefifactory *CurvefifactoryCaller) CalcWithdrawOneCoin(opts *bind.CallOpts, token_amount *big.Int, i *big.Int) (*big.Int, error) {
   435  	var out []interface{}
   436  	err := _Curvefifactory.contract.Call(opts, &out, "calc_withdraw_one_coin", token_amount, i)
   437  
   438  	if err != nil {
   439  		return *new(*big.Int), err
   440  	}
   441  
   442  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   443  
   444  	return out0, err
   445  
   446  }
   447  
   448  // CalcWithdrawOneCoin is a free data retrieval call binding the contract method 0x4fb08c5e.
   449  //
   450  // Solidity: function calc_withdraw_one_coin(uint256 token_amount, uint256 i) view returns(uint256)
   451  func (_Curvefifactory *CurvefifactorySession) CalcWithdrawOneCoin(token_amount *big.Int, i *big.Int) (*big.Int, error) {
   452  	return _Curvefifactory.Contract.CalcWithdrawOneCoin(&_Curvefifactory.CallOpts, token_amount, i)
   453  }
   454  
   455  // CalcWithdrawOneCoin is a free data retrieval call binding the contract method 0x4fb08c5e.
   456  //
   457  // Solidity: function calc_withdraw_one_coin(uint256 token_amount, uint256 i) view returns(uint256)
   458  func (_Curvefifactory *CurvefifactoryCallerSession) CalcWithdrawOneCoin(token_amount *big.Int, i *big.Int) (*big.Int, error) {
   459  	return _Curvefifactory.Contract.CalcWithdrawOneCoin(&_Curvefifactory.CallOpts, token_amount, i)
   460  }
   461  
   462  // Coins is a free data retrieval call binding the contract method 0xc6610657.
   463  //
   464  // Solidity: function coins(uint256 arg0) view returns(address)
   465  func (_Curvefifactory *CurvefifactoryCaller) Coins(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) {
   466  	var out []interface{}
   467  	err := _Curvefifactory.contract.Call(opts, &out, "coins", arg0)
   468  
   469  	if err != nil {
   470  		return *new(common.Address), err
   471  	}
   472  
   473  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   474  
   475  	return out0, err
   476  
   477  }
   478  
   479  // Coins is a free data retrieval call binding the contract method 0xc6610657.
   480  //
   481  // Solidity: function coins(uint256 arg0) view returns(address)
   482  func (_Curvefifactory *CurvefifactorySession) Coins(arg0 *big.Int) (common.Address, error) {
   483  	return _Curvefifactory.Contract.Coins(&_Curvefifactory.CallOpts, arg0)
   484  }
   485  
   486  // Coins is a free data retrieval call binding the contract method 0xc6610657.
   487  //
   488  // Solidity: function coins(uint256 arg0) view returns(address)
   489  func (_Curvefifactory *CurvefifactoryCallerSession) Coins(arg0 *big.Int) (common.Address, error) {
   490  	return _Curvefifactory.Contract.Coins(&_Curvefifactory.CallOpts, arg0)
   491  }
   492  
   493  // Factory is a free data retrieval call binding the contract method 0xc45a0155.
   494  //
   495  // Solidity: function factory() view returns(address)
   496  func (_Curvefifactory *CurvefifactoryCaller) Factory(opts *bind.CallOpts) (common.Address, error) {
   497  	var out []interface{}
   498  	err := _Curvefifactory.contract.Call(opts, &out, "factory")
   499  
   500  	if err != nil {
   501  		return *new(common.Address), err
   502  	}
   503  
   504  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   505  
   506  	return out0, err
   507  
   508  }
   509  
   510  // Factory is a free data retrieval call binding the contract method 0xc45a0155.
   511  //
   512  // Solidity: function factory() view returns(address)
   513  func (_Curvefifactory *CurvefifactorySession) Factory() (common.Address, error) {
   514  	return _Curvefifactory.Contract.Factory(&_Curvefifactory.CallOpts)
   515  }
   516  
   517  // Factory is a free data retrieval call binding the contract method 0xc45a0155.
   518  //
   519  // Solidity: function factory() view returns(address)
   520  func (_Curvefifactory *CurvefifactoryCallerSession) Factory() (common.Address, error) {
   521  	return _Curvefifactory.Contract.Factory(&_Curvefifactory.CallOpts)
   522  }
   523  
   524  // Fee is a free data retrieval call binding the contract method 0xddca3f43.
   525  //
   526  // Solidity: function fee() view returns(uint256)
   527  func (_Curvefifactory *CurvefifactoryCaller) Fee(opts *bind.CallOpts) (*big.Int, error) {
   528  	var out []interface{}
   529  	err := _Curvefifactory.contract.Call(opts, &out, "fee")
   530  
   531  	if err != nil {
   532  		return *new(*big.Int), err
   533  	}
   534  
   535  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   536  
   537  	return out0, err
   538  
   539  }
   540  
   541  // Fee is a free data retrieval call binding the contract method 0xddca3f43.
   542  //
   543  // Solidity: function fee() view returns(uint256)
   544  func (_Curvefifactory *CurvefifactorySession) Fee() (*big.Int, error) {
   545  	return _Curvefifactory.Contract.Fee(&_Curvefifactory.CallOpts)
   546  }
   547  
   548  // Fee is a free data retrieval call binding the contract method 0xddca3f43.
   549  //
   550  // Solidity: function fee() view returns(uint256)
   551  func (_Curvefifactory *CurvefifactoryCallerSession) Fee() (*big.Int, error) {
   552  	return _Curvefifactory.Contract.Fee(&_Curvefifactory.CallOpts)
   553  }
   554  
   555  // FeeGamma is a free data retrieval call binding the contract method 0x72d4f0e2.
   556  //
   557  // Solidity: function fee_gamma() view returns(uint256)
   558  func (_Curvefifactory *CurvefifactoryCaller) FeeGamma(opts *bind.CallOpts) (*big.Int, error) {
   559  	var out []interface{}
   560  	err := _Curvefifactory.contract.Call(opts, &out, "fee_gamma")
   561  
   562  	if err != nil {
   563  		return *new(*big.Int), err
   564  	}
   565  
   566  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   567  
   568  	return out0, err
   569  
   570  }
   571  
   572  // FeeGamma is a free data retrieval call binding the contract method 0x72d4f0e2.
   573  //
   574  // Solidity: function fee_gamma() view returns(uint256)
   575  func (_Curvefifactory *CurvefifactorySession) FeeGamma() (*big.Int, error) {
   576  	return _Curvefifactory.Contract.FeeGamma(&_Curvefifactory.CallOpts)
   577  }
   578  
   579  // FeeGamma is a free data retrieval call binding the contract method 0x72d4f0e2.
   580  //
   581  // Solidity: function fee_gamma() view returns(uint256)
   582  func (_Curvefifactory *CurvefifactoryCallerSession) FeeGamma() (*big.Int, error) {
   583  	return _Curvefifactory.Contract.FeeGamma(&_Curvefifactory.CallOpts)
   584  }
   585  
   586  // FutureAGamma is a free data retrieval call binding the contract method 0xf30cfad5.
   587  //
   588  // Solidity: function future_A_gamma() view returns(uint256)
   589  func (_Curvefifactory *CurvefifactoryCaller) FutureAGamma(opts *bind.CallOpts) (*big.Int, error) {
   590  	var out []interface{}
   591  	err := _Curvefifactory.contract.Call(opts, &out, "future_A_gamma")
   592  
   593  	if err != nil {
   594  		return *new(*big.Int), err
   595  	}
   596  
   597  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   598  
   599  	return out0, err
   600  
   601  }
   602  
   603  // FutureAGamma is a free data retrieval call binding the contract method 0xf30cfad5.
   604  //
   605  // Solidity: function future_A_gamma() view returns(uint256)
   606  func (_Curvefifactory *CurvefifactorySession) FutureAGamma() (*big.Int, error) {
   607  	return _Curvefifactory.Contract.FutureAGamma(&_Curvefifactory.CallOpts)
   608  }
   609  
   610  // FutureAGamma is a free data retrieval call binding the contract method 0xf30cfad5.
   611  //
   612  // Solidity: function future_A_gamma() view returns(uint256)
   613  func (_Curvefifactory *CurvefifactoryCallerSession) FutureAGamma() (*big.Int, error) {
   614  	return _Curvefifactory.Contract.FutureAGamma(&_Curvefifactory.CallOpts)
   615  }
   616  
   617  // FutureAGammaTime is a free data retrieval call binding the contract method 0xf9ed9597.
   618  //
   619  // Solidity: function future_A_gamma_time() view returns(uint256)
   620  func (_Curvefifactory *CurvefifactoryCaller) FutureAGammaTime(opts *bind.CallOpts) (*big.Int, error) {
   621  	var out []interface{}
   622  	err := _Curvefifactory.contract.Call(opts, &out, "future_A_gamma_time")
   623  
   624  	if err != nil {
   625  		return *new(*big.Int), err
   626  	}
   627  
   628  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   629  
   630  	return out0, err
   631  
   632  }
   633  
   634  // FutureAGammaTime is a free data retrieval call binding the contract method 0xf9ed9597.
   635  //
   636  // Solidity: function future_A_gamma_time() view returns(uint256)
   637  func (_Curvefifactory *CurvefifactorySession) FutureAGammaTime() (*big.Int, error) {
   638  	return _Curvefifactory.Contract.FutureAGammaTime(&_Curvefifactory.CallOpts)
   639  }
   640  
   641  // FutureAGammaTime is a free data retrieval call binding the contract method 0xf9ed9597.
   642  //
   643  // Solidity: function future_A_gamma_time() view returns(uint256)
   644  func (_Curvefifactory *CurvefifactoryCallerSession) FutureAGammaTime() (*big.Int, error) {
   645  	return _Curvefifactory.Contract.FutureAGammaTime(&_Curvefifactory.CallOpts)
   646  }
   647  
   648  // FutureAdjustmentStep is a free data retrieval call binding the contract method 0x4ea12c7d.
   649  //
   650  // Solidity: function future_adjustment_step() view returns(uint256)
   651  func (_Curvefifactory *CurvefifactoryCaller) FutureAdjustmentStep(opts *bind.CallOpts) (*big.Int, error) {
   652  	var out []interface{}
   653  	err := _Curvefifactory.contract.Call(opts, &out, "future_adjustment_step")
   654  
   655  	if err != nil {
   656  		return *new(*big.Int), err
   657  	}
   658  
   659  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   660  
   661  	return out0, err
   662  
   663  }
   664  
   665  // FutureAdjustmentStep is a free data retrieval call binding the contract method 0x4ea12c7d.
   666  //
   667  // Solidity: function future_adjustment_step() view returns(uint256)
   668  func (_Curvefifactory *CurvefifactorySession) FutureAdjustmentStep() (*big.Int, error) {
   669  	return _Curvefifactory.Contract.FutureAdjustmentStep(&_Curvefifactory.CallOpts)
   670  }
   671  
   672  // FutureAdjustmentStep is a free data retrieval call binding the contract method 0x4ea12c7d.
   673  //
   674  // Solidity: function future_adjustment_step() view returns(uint256)
   675  func (_Curvefifactory *CurvefifactoryCallerSession) FutureAdjustmentStep() (*big.Int, error) {
   676  	return _Curvefifactory.Contract.FutureAdjustmentStep(&_Curvefifactory.CallOpts)
   677  }
   678  
   679  // FutureAdminFee is a free data retrieval call binding the contract method 0xe3824462.
   680  //
   681  // Solidity: function future_admin_fee() view returns(uint256)
   682  func (_Curvefifactory *CurvefifactoryCaller) FutureAdminFee(opts *bind.CallOpts) (*big.Int, error) {
   683  	var out []interface{}
   684  	err := _Curvefifactory.contract.Call(opts, &out, "future_admin_fee")
   685  
   686  	if err != nil {
   687  		return *new(*big.Int), err
   688  	}
   689  
   690  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   691  
   692  	return out0, err
   693  
   694  }
   695  
   696  // FutureAdminFee is a free data retrieval call binding the contract method 0xe3824462.
   697  //
   698  // Solidity: function future_admin_fee() view returns(uint256)
   699  func (_Curvefifactory *CurvefifactorySession) FutureAdminFee() (*big.Int, error) {
   700  	return _Curvefifactory.Contract.FutureAdminFee(&_Curvefifactory.CallOpts)
   701  }
   702  
   703  // FutureAdminFee is a free data retrieval call binding the contract method 0xe3824462.
   704  //
   705  // Solidity: function future_admin_fee() view returns(uint256)
   706  func (_Curvefifactory *CurvefifactoryCallerSession) FutureAdminFee() (*big.Int, error) {
   707  	return _Curvefifactory.Contract.FutureAdminFee(&_Curvefifactory.CallOpts)
   708  }
   709  
   710  // FutureAllowedExtraProfit is a free data retrieval call binding the contract method 0x727ced57.
   711  //
   712  // Solidity: function future_allowed_extra_profit() view returns(uint256)
   713  func (_Curvefifactory *CurvefifactoryCaller) FutureAllowedExtraProfit(opts *bind.CallOpts) (*big.Int, error) {
   714  	var out []interface{}
   715  	err := _Curvefifactory.contract.Call(opts, &out, "future_allowed_extra_profit")
   716  
   717  	if err != nil {
   718  		return *new(*big.Int), err
   719  	}
   720  
   721  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   722  
   723  	return out0, err
   724  
   725  }
   726  
   727  // FutureAllowedExtraProfit is a free data retrieval call binding the contract method 0x727ced57.
   728  //
   729  // Solidity: function future_allowed_extra_profit() view returns(uint256)
   730  func (_Curvefifactory *CurvefifactorySession) FutureAllowedExtraProfit() (*big.Int, error) {
   731  	return _Curvefifactory.Contract.FutureAllowedExtraProfit(&_Curvefifactory.CallOpts)
   732  }
   733  
   734  // FutureAllowedExtraProfit is a free data retrieval call binding the contract method 0x727ced57.
   735  //
   736  // Solidity: function future_allowed_extra_profit() view returns(uint256)
   737  func (_Curvefifactory *CurvefifactoryCallerSession) FutureAllowedExtraProfit() (*big.Int, error) {
   738  	return _Curvefifactory.Contract.FutureAllowedExtraProfit(&_Curvefifactory.CallOpts)
   739  }
   740  
   741  // FutureFeeGamma is a free data retrieval call binding the contract method 0xd7c3dcbe.
   742  //
   743  // Solidity: function future_fee_gamma() view returns(uint256)
   744  func (_Curvefifactory *CurvefifactoryCaller) FutureFeeGamma(opts *bind.CallOpts) (*big.Int, error) {
   745  	var out []interface{}
   746  	err := _Curvefifactory.contract.Call(opts, &out, "future_fee_gamma")
   747  
   748  	if err != nil {
   749  		return *new(*big.Int), err
   750  	}
   751  
   752  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   753  
   754  	return out0, err
   755  
   756  }
   757  
   758  // FutureFeeGamma is a free data retrieval call binding the contract method 0xd7c3dcbe.
   759  //
   760  // Solidity: function future_fee_gamma() view returns(uint256)
   761  func (_Curvefifactory *CurvefifactorySession) FutureFeeGamma() (*big.Int, error) {
   762  	return _Curvefifactory.Contract.FutureFeeGamma(&_Curvefifactory.CallOpts)
   763  }
   764  
   765  // FutureFeeGamma is a free data retrieval call binding the contract method 0xd7c3dcbe.
   766  //
   767  // Solidity: function future_fee_gamma() view returns(uint256)
   768  func (_Curvefifactory *CurvefifactoryCallerSession) FutureFeeGamma() (*big.Int, error) {
   769  	return _Curvefifactory.Contract.FutureFeeGamma(&_Curvefifactory.CallOpts)
   770  }
   771  
   772  // FutureMaHalfTime is a free data retrieval call binding the contract method 0x0c5e23d4.
   773  //
   774  // Solidity: function future_ma_half_time() view returns(uint256)
   775  func (_Curvefifactory *CurvefifactoryCaller) FutureMaHalfTime(opts *bind.CallOpts) (*big.Int, error) {
   776  	var out []interface{}
   777  	err := _Curvefifactory.contract.Call(opts, &out, "future_ma_half_time")
   778  
   779  	if err != nil {
   780  		return *new(*big.Int), err
   781  	}
   782  
   783  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   784  
   785  	return out0, err
   786  
   787  }
   788  
   789  // FutureMaHalfTime is a free data retrieval call binding the contract method 0x0c5e23d4.
   790  //
   791  // Solidity: function future_ma_half_time() view returns(uint256)
   792  func (_Curvefifactory *CurvefifactorySession) FutureMaHalfTime() (*big.Int, error) {
   793  	return _Curvefifactory.Contract.FutureMaHalfTime(&_Curvefifactory.CallOpts)
   794  }
   795  
   796  // FutureMaHalfTime is a free data retrieval call binding the contract method 0x0c5e23d4.
   797  //
   798  // Solidity: function future_ma_half_time() view returns(uint256)
   799  func (_Curvefifactory *CurvefifactoryCallerSession) FutureMaHalfTime() (*big.Int, error) {
   800  	return _Curvefifactory.Contract.FutureMaHalfTime(&_Curvefifactory.CallOpts)
   801  }
   802  
   803  // FutureMidFee is a free data retrieval call binding the contract method 0x7cf9aedc.
   804  //
   805  // Solidity: function future_mid_fee() view returns(uint256)
   806  func (_Curvefifactory *CurvefifactoryCaller) FutureMidFee(opts *bind.CallOpts) (*big.Int, error) {
   807  	var out []interface{}
   808  	err := _Curvefifactory.contract.Call(opts, &out, "future_mid_fee")
   809  
   810  	if err != nil {
   811  		return *new(*big.Int), err
   812  	}
   813  
   814  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   815  
   816  	return out0, err
   817  
   818  }
   819  
   820  // FutureMidFee is a free data retrieval call binding the contract method 0x7cf9aedc.
   821  //
   822  // Solidity: function future_mid_fee() view returns(uint256)
   823  func (_Curvefifactory *CurvefifactorySession) FutureMidFee() (*big.Int, error) {
   824  	return _Curvefifactory.Contract.FutureMidFee(&_Curvefifactory.CallOpts)
   825  }
   826  
   827  // FutureMidFee is a free data retrieval call binding the contract method 0x7cf9aedc.
   828  //
   829  // Solidity: function future_mid_fee() view returns(uint256)
   830  func (_Curvefifactory *CurvefifactoryCallerSession) FutureMidFee() (*big.Int, error) {
   831  	return _Curvefifactory.Contract.FutureMidFee(&_Curvefifactory.CallOpts)
   832  }
   833  
   834  // FutureOutFee is a free data retrieval call binding the contract method 0x7d1b060c.
   835  //
   836  // Solidity: function future_out_fee() view returns(uint256)
   837  func (_Curvefifactory *CurvefifactoryCaller) FutureOutFee(opts *bind.CallOpts) (*big.Int, error) {
   838  	var out []interface{}
   839  	err := _Curvefifactory.contract.Call(opts, &out, "future_out_fee")
   840  
   841  	if err != nil {
   842  		return *new(*big.Int), err
   843  	}
   844  
   845  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   846  
   847  	return out0, err
   848  
   849  }
   850  
   851  // FutureOutFee is a free data retrieval call binding the contract method 0x7d1b060c.
   852  //
   853  // Solidity: function future_out_fee() view returns(uint256)
   854  func (_Curvefifactory *CurvefifactorySession) FutureOutFee() (*big.Int, error) {
   855  	return _Curvefifactory.Contract.FutureOutFee(&_Curvefifactory.CallOpts)
   856  }
   857  
   858  // FutureOutFee is a free data retrieval call binding the contract method 0x7d1b060c.
   859  //
   860  // Solidity: function future_out_fee() view returns(uint256)
   861  func (_Curvefifactory *CurvefifactoryCallerSession) FutureOutFee() (*big.Int, error) {
   862  	return _Curvefifactory.Contract.FutureOutFee(&_Curvefifactory.CallOpts)
   863  }
   864  
   865  // Gamma is a free data retrieval call binding the contract method 0xb1373929.
   866  //
   867  // Solidity: function gamma() view returns(uint256)
   868  func (_Curvefifactory *CurvefifactoryCaller) Gamma(opts *bind.CallOpts) (*big.Int, error) {
   869  	var out []interface{}
   870  	err := _Curvefifactory.contract.Call(opts, &out, "gamma")
   871  
   872  	if err != nil {
   873  		return *new(*big.Int), err
   874  	}
   875  
   876  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   877  
   878  	return out0, err
   879  
   880  }
   881  
   882  // Gamma is a free data retrieval call binding the contract method 0xb1373929.
   883  //
   884  // Solidity: function gamma() view returns(uint256)
   885  func (_Curvefifactory *CurvefifactorySession) Gamma() (*big.Int, error) {
   886  	return _Curvefifactory.Contract.Gamma(&_Curvefifactory.CallOpts)
   887  }
   888  
   889  // Gamma is a free data retrieval call binding the contract method 0xb1373929.
   890  //
   891  // Solidity: function gamma() view returns(uint256)
   892  func (_Curvefifactory *CurvefifactoryCallerSession) Gamma() (*big.Int, error) {
   893  	return _Curvefifactory.Contract.Gamma(&_Curvefifactory.CallOpts)
   894  }
   895  
   896  // GetDy is a free data retrieval call binding the contract method 0x556d6e9f.
   897  //
   898  // Solidity: function get_dy(uint256 i, uint256 j, uint256 dx) view returns(uint256)
   899  func (_Curvefifactory *CurvefifactoryCaller) GetDy(opts *bind.CallOpts, i *big.Int, j *big.Int, dx *big.Int) (*big.Int, error) {
   900  	var out []interface{}
   901  	err := _Curvefifactory.contract.Call(opts, &out, "get_dy", i, j, dx)
   902  
   903  	if err != nil {
   904  		return *new(*big.Int), err
   905  	}
   906  
   907  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   908  
   909  	return out0, err
   910  
   911  }
   912  
   913  // GetDy is a free data retrieval call binding the contract method 0x556d6e9f.
   914  //
   915  // Solidity: function get_dy(uint256 i, uint256 j, uint256 dx) view returns(uint256)
   916  func (_Curvefifactory *CurvefifactorySession) GetDy(i *big.Int, j *big.Int, dx *big.Int) (*big.Int, error) {
   917  	return _Curvefifactory.Contract.GetDy(&_Curvefifactory.CallOpts, i, j, dx)
   918  }
   919  
   920  // GetDy is a free data retrieval call binding the contract method 0x556d6e9f.
   921  //
   922  // Solidity: function get_dy(uint256 i, uint256 j, uint256 dx) view returns(uint256)
   923  func (_Curvefifactory *CurvefifactoryCallerSession) GetDy(i *big.Int, j *big.Int, dx *big.Int) (*big.Int, error) {
   924  	return _Curvefifactory.Contract.GetDy(&_Curvefifactory.CallOpts, i, j, dx)
   925  }
   926  
   927  // GetVirtualPrice is a free data retrieval call binding the contract method 0xbb7b8b80.
   928  //
   929  // Solidity: function get_virtual_price() view returns(uint256)
   930  func (_Curvefifactory *CurvefifactoryCaller) GetVirtualPrice(opts *bind.CallOpts) (*big.Int, error) {
   931  	var out []interface{}
   932  	err := _Curvefifactory.contract.Call(opts, &out, "get_virtual_price")
   933  
   934  	if err != nil {
   935  		return *new(*big.Int), err
   936  	}
   937  
   938  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   939  
   940  	return out0, err
   941  
   942  }
   943  
   944  // GetVirtualPrice is a free data retrieval call binding the contract method 0xbb7b8b80.
   945  //
   946  // Solidity: function get_virtual_price() view returns(uint256)
   947  func (_Curvefifactory *CurvefifactorySession) GetVirtualPrice() (*big.Int, error) {
   948  	return _Curvefifactory.Contract.GetVirtualPrice(&_Curvefifactory.CallOpts)
   949  }
   950  
   951  // GetVirtualPrice is a free data retrieval call binding the contract method 0xbb7b8b80.
   952  //
   953  // Solidity: function get_virtual_price() view returns(uint256)
   954  func (_Curvefifactory *CurvefifactoryCallerSession) GetVirtualPrice() (*big.Int, error) {
   955  	return _Curvefifactory.Contract.GetVirtualPrice(&_Curvefifactory.CallOpts)
   956  }
   957  
   958  // InitialAGamma is a free data retrieval call binding the contract method 0x204fe3d5.
   959  //
   960  // Solidity: function initial_A_gamma() view returns(uint256)
   961  func (_Curvefifactory *CurvefifactoryCaller) InitialAGamma(opts *bind.CallOpts) (*big.Int, error) {
   962  	var out []interface{}
   963  	err := _Curvefifactory.contract.Call(opts, &out, "initial_A_gamma")
   964  
   965  	if err != nil {
   966  		return *new(*big.Int), err
   967  	}
   968  
   969  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   970  
   971  	return out0, err
   972  
   973  }
   974  
   975  // InitialAGamma is a free data retrieval call binding the contract method 0x204fe3d5.
   976  //
   977  // Solidity: function initial_A_gamma() view returns(uint256)
   978  func (_Curvefifactory *CurvefifactorySession) InitialAGamma() (*big.Int, error) {
   979  	return _Curvefifactory.Contract.InitialAGamma(&_Curvefifactory.CallOpts)
   980  }
   981  
   982  // InitialAGamma is a free data retrieval call binding the contract method 0x204fe3d5.
   983  //
   984  // Solidity: function initial_A_gamma() view returns(uint256)
   985  func (_Curvefifactory *CurvefifactoryCallerSession) InitialAGamma() (*big.Int, error) {
   986  	return _Curvefifactory.Contract.InitialAGamma(&_Curvefifactory.CallOpts)
   987  }
   988  
   989  // InitialAGammaTime is a free data retrieval call binding the contract method 0xe89876ff.
   990  //
   991  // Solidity: function initial_A_gamma_time() view returns(uint256)
   992  func (_Curvefifactory *CurvefifactoryCaller) InitialAGammaTime(opts *bind.CallOpts) (*big.Int, error) {
   993  	var out []interface{}
   994  	err := _Curvefifactory.contract.Call(opts, &out, "initial_A_gamma_time")
   995  
   996  	if err != nil {
   997  		return *new(*big.Int), err
   998  	}
   999  
  1000  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1001  
  1002  	return out0, err
  1003  
  1004  }
  1005  
  1006  // InitialAGammaTime is a free data retrieval call binding the contract method 0xe89876ff.
  1007  //
  1008  // Solidity: function initial_A_gamma_time() view returns(uint256)
  1009  func (_Curvefifactory *CurvefifactorySession) InitialAGammaTime() (*big.Int, error) {
  1010  	return _Curvefifactory.Contract.InitialAGammaTime(&_Curvefifactory.CallOpts)
  1011  }
  1012  
  1013  // InitialAGammaTime is a free data retrieval call binding the contract method 0xe89876ff.
  1014  //
  1015  // Solidity: function initial_A_gamma_time() view returns(uint256)
  1016  func (_Curvefifactory *CurvefifactoryCallerSession) InitialAGammaTime() (*big.Int, error) {
  1017  	return _Curvefifactory.Contract.InitialAGammaTime(&_Curvefifactory.CallOpts)
  1018  }
  1019  
  1020  // LastPrices is a free data retrieval call binding the contract method 0xc146bf94.
  1021  //
  1022  // Solidity: function last_prices() view returns(uint256)
  1023  func (_Curvefifactory *CurvefifactoryCaller) LastPrices(opts *bind.CallOpts) (*big.Int, error) {
  1024  	var out []interface{}
  1025  	err := _Curvefifactory.contract.Call(opts, &out, "last_prices")
  1026  
  1027  	if err != nil {
  1028  		return *new(*big.Int), err
  1029  	}
  1030  
  1031  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1032  
  1033  	return out0, err
  1034  
  1035  }
  1036  
  1037  // LastPrices is a free data retrieval call binding the contract method 0xc146bf94.
  1038  //
  1039  // Solidity: function last_prices() view returns(uint256)
  1040  func (_Curvefifactory *CurvefifactorySession) LastPrices() (*big.Int, error) {
  1041  	return _Curvefifactory.Contract.LastPrices(&_Curvefifactory.CallOpts)
  1042  }
  1043  
  1044  // LastPrices is a free data retrieval call binding the contract method 0xc146bf94.
  1045  //
  1046  // Solidity: function last_prices() view returns(uint256)
  1047  func (_Curvefifactory *CurvefifactoryCallerSession) LastPrices() (*big.Int, error) {
  1048  	return _Curvefifactory.Contract.LastPrices(&_Curvefifactory.CallOpts)
  1049  }
  1050  
  1051  // LastPricesTimestamp is a free data retrieval call binding the contract method 0x6112c747.
  1052  //
  1053  // Solidity: function last_prices_timestamp() view returns(uint256)
  1054  func (_Curvefifactory *CurvefifactoryCaller) LastPricesTimestamp(opts *bind.CallOpts) (*big.Int, error) {
  1055  	var out []interface{}
  1056  	err := _Curvefifactory.contract.Call(opts, &out, "last_prices_timestamp")
  1057  
  1058  	if err != nil {
  1059  		return *new(*big.Int), err
  1060  	}
  1061  
  1062  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1063  
  1064  	return out0, err
  1065  
  1066  }
  1067  
  1068  // LastPricesTimestamp is a free data retrieval call binding the contract method 0x6112c747.
  1069  //
  1070  // Solidity: function last_prices_timestamp() view returns(uint256)
  1071  func (_Curvefifactory *CurvefifactorySession) LastPricesTimestamp() (*big.Int, error) {
  1072  	return _Curvefifactory.Contract.LastPricesTimestamp(&_Curvefifactory.CallOpts)
  1073  }
  1074  
  1075  // LastPricesTimestamp is a free data retrieval call binding the contract method 0x6112c747.
  1076  //
  1077  // Solidity: function last_prices_timestamp() view returns(uint256)
  1078  func (_Curvefifactory *CurvefifactoryCallerSession) LastPricesTimestamp() (*big.Int, error) {
  1079  	return _Curvefifactory.Contract.LastPricesTimestamp(&_Curvefifactory.CallOpts)
  1080  }
  1081  
  1082  // LpPrice is a free data retrieval call binding the contract method 0x54f0f7d5.
  1083  //
  1084  // Solidity: function lp_price() view returns(uint256)
  1085  func (_Curvefifactory *CurvefifactoryCaller) LpPrice(opts *bind.CallOpts) (*big.Int, error) {
  1086  	var out []interface{}
  1087  	err := _Curvefifactory.contract.Call(opts, &out, "lp_price")
  1088  
  1089  	if err != nil {
  1090  		return *new(*big.Int), err
  1091  	}
  1092  
  1093  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1094  
  1095  	return out0, err
  1096  
  1097  }
  1098  
  1099  // LpPrice is a free data retrieval call binding the contract method 0x54f0f7d5.
  1100  //
  1101  // Solidity: function lp_price() view returns(uint256)
  1102  func (_Curvefifactory *CurvefifactorySession) LpPrice() (*big.Int, error) {
  1103  	return _Curvefifactory.Contract.LpPrice(&_Curvefifactory.CallOpts)
  1104  }
  1105  
  1106  // LpPrice is a free data retrieval call binding the contract method 0x54f0f7d5.
  1107  //
  1108  // Solidity: function lp_price() view returns(uint256)
  1109  func (_Curvefifactory *CurvefifactoryCallerSession) LpPrice() (*big.Int, error) {
  1110  	return _Curvefifactory.Contract.LpPrice(&_Curvefifactory.CallOpts)
  1111  }
  1112  
  1113  // MaHalfTime is a free data retrieval call binding the contract method 0x662b6274.
  1114  //
  1115  // Solidity: function ma_half_time() view returns(uint256)
  1116  func (_Curvefifactory *CurvefifactoryCaller) MaHalfTime(opts *bind.CallOpts) (*big.Int, error) {
  1117  	var out []interface{}
  1118  	err := _Curvefifactory.contract.Call(opts, &out, "ma_half_time")
  1119  
  1120  	if err != nil {
  1121  		return *new(*big.Int), err
  1122  	}
  1123  
  1124  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1125  
  1126  	return out0, err
  1127  
  1128  }
  1129  
  1130  // MaHalfTime is a free data retrieval call binding the contract method 0x662b6274.
  1131  //
  1132  // Solidity: function ma_half_time() view returns(uint256)
  1133  func (_Curvefifactory *CurvefifactorySession) MaHalfTime() (*big.Int, error) {
  1134  	return _Curvefifactory.Contract.MaHalfTime(&_Curvefifactory.CallOpts)
  1135  }
  1136  
  1137  // MaHalfTime is a free data retrieval call binding the contract method 0x662b6274.
  1138  //
  1139  // Solidity: function ma_half_time() view returns(uint256)
  1140  func (_Curvefifactory *CurvefifactoryCallerSession) MaHalfTime() (*big.Int, error) {
  1141  	return _Curvefifactory.Contract.MaHalfTime(&_Curvefifactory.CallOpts)
  1142  }
  1143  
  1144  // MidFee is a free data retrieval call binding the contract method 0x92526c0c.
  1145  //
  1146  // Solidity: function mid_fee() view returns(uint256)
  1147  func (_Curvefifactory *CurvefifactoryCaller) MidFee(opts *bind.CallOpts) (*big.Int, error) {
  1148  	var out []interface{}
  1149  	err := _Curvefifactory.contract.Call(opts, &out, "mid_fee")
  1150  
  1151  	if err != nil {
  1152  		return *new(*big.Int), err
  1153  	}
  1154  
  1155  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1156  
  1157  	return out0, err
  1158  
  1159  }
  1160  
  1161  // MidFee is a free data retrieval call binding the contract method 0x92526c0c.
  1162  //
  1163  // Solidity: function mid_fee() view returns(uint256)
  1164  func (_Curvefifactory *CurvefifactorySession) MidFee() (*big.Int, error) {
  1165  	return _Curvefifactory.Contract.MidFee(&_Curvefifactory.CallOpts)
  1166  }
  1167  
  1168  // MidFee is a free data retrieval call binding the contract method 0x92526c0c.
  1169  //
  1170  // Solidity: function mid_fee() view returns(uint256)
  1171  func (_Curvefifactory *CurvefifactoryCallerSession) MidFee() (*big.Int, error) {
  1172  	return _Curvefifactory.Contract.MidFee(&_Curvefifactory.CallOpts)
  1173  }
  1174  
  1175  // OutFee is a free data retrieval call binding the contract method 0xee8de675.
  1176  //
  1177  // Solidity: function out_fee() view returns(uint256)
  1178  func (_Curvefifactory *CurvefifactoryCaller) OutFee(opts *bind.CallOpts) (*big.Int, error) {
  1179  	var out []interface{}
  1180  	err := _Curvefifactory.contract.Call(opts, &out, "out_fee")
  1181  
  1182  	if err != nil {
  1183  		return *new(*big.Int), err
  1184  	}
  1185  
  1186  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1187  
  1188  	return out0, err
  1189  
  1190  }
  1191  
  1192  // OutFee is a free data retrieval call binding the contract method 0xee8de675.
  1193  //
  1194  // Solidity: function out_fee() view returns(uint256)
  1195  func (_Curvefifactory *CurvefifactorySession) OutFee() (*big.Int, error) {
  1196  	return _Curvefifactory.Contract.OutFee(&_Curvefifactory.CallOpts)
  1197  }
  1198  
  1199  // OutFee is a free data retrieval call binding the contract method 0xee8de675.
  1200  //
  1201  // Solidity: function out_fee() view returns(uint256)
  1202  func (_Curvefifactory *CurvefifactoryCallerSession) OutFee() (*big.Int, error) {
  1203  	return _Curvefifactory.Contract.OutFee(&_Curvefifactory.CallOpts)
  1204  }
  1205  
  1206  // PriceOracle is a free data retrieval call binding the contract method 0x86fc88d3.
  1207  //
  1208  // Solidity: function price_oracle() view returns(uint256)
  1209  func (_Curvefifactory *CurvefifactoryCaller) PriceOracle(opts *bind.CallOpts) (*big.Int, error) {
  1210  	var out []interface{}
  1211  	err := _Curvefifactory.contract.Call(opts, &out, "price_oracle")
  1212  
  1213  	if err != nil {
  1214  		return *new(*big.Int), err
  1215  	}
  1216  
  1217  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1218  
  1219  	return out0, err
  1220  
  1221  }
  1222  
  1223  // PriceOracle is a free data retrieval call binding the contract method 0x86fc88d3.
  1224  //
  1225  // Solidity: function price_oracle() view returns(uint256)
  1226  func (_Curvefifactory *CurvefifactorySession) PriceOracle() (*big.Int, error) {
  1227  	return _Curvefifactory.Contract.PriceOracle(&_Curvefifactory.CallOpts)
  1228  }
  1229  
  1230  // PriceOracle is a free data retrieval call binding the contract method 0x86fc88d3.
  1231  //
  1232  // Solidity: function price_oracle() view returns(uint256)
  1233  func (_Curvefifactory *CurvefifactoryCallerSession) PriceOracle() (*big.Int, error) {
  1234  	return _Curvefifactory.Contract.PriceOracle(&_Curvefifactory.CallOpts)
  1235  }
  1236  
  1237  // PriceScale is a free data retrieval call binding the contract method 0xb9e8c9fd.
  1238  //
  1239  // Solidity: function price_scale() view returns(uint256)
  1240  func (_Curvefifactory *CurvefifactoryCaller) PriceScale(opts *bind.CallOpts) (*big.Int, error) {
  1241  	var out []interface{}
  1242  	err := _Curvefifactory.contract.Call(opts, &out, "price_scale")
  1243  
  1244  	if err != nil {
  1245  		return *new(*big.Int), err
  1246  	}
  1247  
  1248  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1249  
  1250  	return out0, err
  1251  
  1252  }
  1253  
  1254  // PriceScale is a free data retrieval call binding the contract method 0xb9e8c9fd.
  1255  //
  1256  // Solidity: function price_scale() view returns(uint256)
  1257  func (_Curvefifactory *CurvefifactorySession) PriceScale() (*big.Int, error) {
  1258  	return _Curvefifactory.Contract.PriceScale(&_Curvefifactory.CallOpts)
  1259  }
  1260  
  1261  // PriceScale is a free data retrieval call binding the contract method 0xb9e8c9fd.
  1262  //
  1263  // Solidity: function price_scale() view returns(uint256)
  1264  func (_Curvefifactory *CurvefifactoryCallerSession) PriceScale() (*big.Int, error) {
  1265  	return _Curvefifactory.Contract.PriceScale(&_Curvefifactory.CallOpts)
  1266  }
  1267  
  1268  // Token is a free data retrieval call binding the contract method 0xfc0c546a.
  1269  //
  1270  // Solidity: function token() view returns(address)
  1271  func (_Curvefifactory *CurvefifactoryCaller) Token(opts *bind.CallOpts) (common.Address, error) {
  1272  	var out []interface{}
  1273  	err := _Curvefifactory.contract.Call(opts, &out, "token")
  1274  
  1275  	if err != nil {
  1276  		return *new(common.Address), err
  1277  	}
  1278  
  1279  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  1280  
  1281  	return out0, err
  1282  
  1283  }
  1284  
  1285  // Token is a free data retrieval call binding the contract method 0xfc0c546a.
  1286  //
  1287  // Solidity: function token() view returns(address)
  1288  func (_Curvefifactory *CurvefifactorySession) Token() (common.Address, error) {
  1289  	return _Curvefifactory.Contract.Token(&_Curvefifactory.CallOpts)
  1290  }
  1291  
  1292  // Token is a free data retrieval call binding the contract method 0xfc0c546a.
  1293  //
  1294  // Solidity: function token() view returns(address)
  1295  func (_Curvefifactory *CurvefifactoryCallerSession) Token() (common.Address, error) {
  1296  	return _Curvefifactory.Contract.Token(&_Curvefifactory.CallOpts)
  1297  }
  1298  
  1299  // VirtualPrice is a free data retrieval call binding the contract method 0x0c46b72a.
  1300  //
  1301  // Solidity: function virtual_price() view returns(uint256)
  1302  func (_Curvefifactory *CurvefifactoryCaller) VirtualPrice(opts *bind.CallOpts) (*big.Int, error) {
  1303  	var out []interface{}
  1304  	err := _Curvefifactory.contract.Call(opts, &out, "virtual_price")
  1305  
  1306  	if err != nil {
  1307  		return *new(*big.Int), err
  1308  	}
  1309  
  1310  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1311  
  1312  	return out0, err
  1313  
  1314  }
  1315  
  1316  // VirtualPrice is a free data retrieval call binding the contract method 0x0c46b72a.
  1317  //
  1318  // Solidity: function virtual_price() view returns(uint256)
  1319  func (_Curvefifactory *CurvefifactorySession) VirtualPrice() (*big.Int, error) {
  1320  	return _Curvefifactory.Contract.VirtualPrice(&_Curvefifactory.CallOpts)
  1321  }
  1322  
  1323  // VirtualPrice is a free data retrieval call binding the contract method 0x0c46b72a.
  1324  //
  1325  // Solidity: function virtual_price() view returns(uint256)
  1326  func (_Curvefifactory *CurvefifactoryCallerSession) VirtualPrice() (*big.Int, error) {
  1327  	return _Curvefifactory.Contract.VirtualPrice(&_Curvefifactory.CallOpts)
  1328  }
  1329  
  1330  // XcpProfit is a free data retrieval call binding the contract method 0x7ba1a74d.
  1331  //
  1332  // Solidity: function xcp_profit() view returns(uint256)
  1333  func (_Curvefifactory *CurvefifactoryCaller) XcpProfit(opts *bind.CallOpts) (*big.Int, error) {
  1334  	var out []interface{}
  1335  	err := _Curvefifactory.contract.Call(opts, &out, "xcp_profit")
  1336  
  1337  	if err != nil {
  1338  		return *new(*big.Int), err
  1339  	}
  1340  
  1341  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1342  
  1343  	return out0, err
  1344  
  1345  }
  1346  
  1347  // XcpProfit is a free data retrieval call binding the contract method 0x7ba1a74d.
  1348  //
  1349  // Solidity: function xcp_profit() view returns(uint256)
  1350  func (_Curvefifactory *CurvefifactorySession) XcpProfit() (*big.Int, error) {
  1351  	return _Curvefifactory.Contract.XcpProfit(&_Curvefifactory.CallOpts)
  1352  }
  1353  
  1354  // XcpProfit is a free data retrieval call binding the contract method 0x7ba1a74d.
  1355  //
  1356  // Solidity: function xcp_profit() view returns(uint256)
  1357  func (_Curvefifactory *CurvefifactoryCallerSession) XcpProfit() (*big.Int, error) {
  1358  	return _Curvefifactory.Contract.XcpProfit(&_Curvefifactory.CallOpts)
  1359  }
  1360  
  1361  // XcpProfitA is a free data retrieval call binding the contract method 0x0b7b594b.
  1362  //
  1363  // Solidity: function xcp_profit_a() view returns(uint256)
  1364  func (_Curvefifactory *CurvefifactoryCaller) XcpProfitA(opts *bind.CallOpts) (*big.Int, error) {
  1365  	var out []interface{}
  1366  	err := _Curvefifactory.contract.Call(opts, &out, "xcp_profit_a")
  1367  
  1368  	if err != nil {
  1369  		return *new(*big.Int), err
  1370  	}
  1371  
  1372  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1373  
  1374  	return out0, err
  1375  
  1376  }
  1377  
  1378  // XcpProfitA is a free data retrieval call binding the contract method 0x0b7b594b.
  1379  //
  1380  // Solidity: function xcp_profit_a() view returns(uint256)
  1381  func (_Curvefifactory *CurvefifactorySession) XcpProfitA() (*big.Int, error) {
  1382  	return _Curvefifactory.Contract.XcpProfitA(&_Curvefifactory.CallOpts)
  1383  }
  1384  
  1385  // XcpProfitA is a free data retrieval call binding the contract method 0x0b7b594b.
  1386  //
  1387  // Solidity: function xcp_profit_a() view returns(uint256)
  1388  func (_Curvefifactory *CurvefifactoryCallerSession) XcpProfitA() (*big.Int, error) {
  1389  	return _Curvefifactory.Contract.XcpProfitA(&_Curvefifactory.CallOpts)
  1390  }
  1391  
  1392  // AddLiquidity is a paid mutator transaction binding the contract method 0x0b4c7e4d.
  1393  //
  1394  // Solidity: function add_liquidity(uint256[2] amounts, uint256 min_mint_amount) payable returns(uint256)
  1395  func (_Curvefifactory *CurvefifactoryTransactor) AddLiquidity(opts *bind.TransactOpts, amounts [2]*big.Int, min_mint_amount *big.Int) (*types.Transaction, error) {
  1396  	return _Curvefifactory.contract.Transact(opts, "add_liquidity", amounts, min_mint_amount)
  1397  }
  1398  
  1399  // AddLiquidity is a paid mutator transaction binding the contract method 0x0b4c7e4d.
  1400  //
  1401  // Solidity: function add_liquidity(uint256[2] amounts, uint256 min_mint_amount) payable returns(uint256)
  1402  func (_Curvefifactory *CurvefifactorySession) AddLiquidity(amounts [2]*big.Int, min_mint_amount *big.Int) (*types.Transaction, error) {
  1403  	return _Curvefifactory.Contract.AddLiquidity(&_Curvefifactory.TransactOpts, amounts, min_mint_amount)
  1404  }
  1405  
  1406  // AddLiquidity is a paid mutator transaction binding the contract method 0x0b4c7e4d.
  1407  //
  1408  // Solidity: function add_liquidity(uint256[2] amounts, uint256 min_mint_amount) payable returns(uint256)
  1409  func (_Curvefifactory *CurvefifactoryTransactorSession) AddLiquidity(amounts [2]*big.Int, min_mint_amount *big.Int) (*types.Transaction, error) {
  1410  	return _Curvefifactory.Contract.AddLiquidity(&_Curvefifactory.TransactOpts, amounts, min_mint_amount)
  1411  }
  1412  
  1413  // AddLiquidity0 is a paid mutator transaction binding the contract method 0xee22be23.
  1414  //
  1415  // Solidity: function add_liquidity(uint256[2] amounts, uint256 min_mint_amount, bool use_eth) payable returns(uint256)
  1416  func (_Curvefifactory *CurvefifactoryTransactor) AddLiquidity0(opts *bind.TransactOpts, amounts [2]*big.Int, min_mint_amount *big.Int, use_eth bool) (*types.Transaction, error) {
  1417  	return _Curvefifactory.contract.Transact(opts, "add_liquidity0", amounts, min_mint_amount, use_eth)
  1418  }
  1419  
  1420  // AddLiquidity0 is a paid mutator transaction binding the contract method 0xee22be23.
  1421  //
  1422  // Solidity: function add_liquidity(uint256[2] amounts, uint256 min_mint_amount, bool use_eth) payable returns(uint256)
  1423  func (_Curvefifactory *CurvefifactorySession) AddLiquidity0(amounts [2]*big.Int, min_mint_amount *big.Int, use_eth bool) (*types.Transaction, error) {
  1424  	return _Curvefifactory.Contract.AddLiquidity0(&_Curvefifactory.TransactOpts, amounts, min_mint_amount, use_eth)
  1425  }
  1426  
  1427  // AddLiquidity0 is a paid mutator transaction binding the contract method 0xee22be23.
  1428  //
  1429  // Solidity: function add_liquidity(uint256[2] amounts, uint256 min_mint_amount, bool use_eth) payable returns(uint256)
  1430  func (_Curvefifactory *CurvefifactoryTransactorSession) AddLiquidity0(amounts [2]*big.Int, min_mint_amount *big.Int, use_eth bool) (*types.Transaction, error) {
  1431  	return _Curvefifactory.Contract.AddLiquidity0(&_Curvefifactory.TransactOpts, amounts, min_mint_amount, use_eth)
  1432  }
  1433  
  1434  // AddLiquidity1 is a paid mutator transaction binding the contract method 0x7328333b.
  1435  //
  1436  // Solidity: function add_liquidity(uint256[2] amounts, uint256 min_mint_amount, bool use_eth, address receiver) payable returns(uint256)
  1437  func (_Curvefifactory *CurvefifactoryTransactor) AddLiquidity1(opts *bind.TransactOpts, amounts [2]*big.Int, min_mint_amount *big.Int, use_eth bool, receiver common.Address) (*types.Transaction, error) {
  1438  	return _Curvefifactory.contract.Transact(opts, "add_liquidity1", amounts, min_mint_amount, use_eth, receiver)
  1439  }
  1440  
  1441  // AddLiquidity1 is a paid mutator transaction binding the contract method 0x7328333b.
  1442  //
  1443  // Solidity: function add_liquidity(uint256[2] amounts, uint256 min_mint_amount, bool use_eth, address receiver) payable returns(uint256)
  1444  func (_Curvefifactory *CurvefifactorySession) AddLiquidity1(amounts [2]*big.Int, min_mint_amount *big.Int, use_eth bool, receiver common.Address) (*types.Transaction, error) {
  1445  	return _Curvefifactory.Contract.AddLiquidity1(&_Curvefifactory.TransactOpts, amounts, min_mint_amount, use_eth, receiver)
  1446  }
  1447  
  1448  // AddLiquidity1 is a paid mutator transaction binding the contract method 0x7328333b.
  1449  //
  1450  // Solidity: function add_liquidity(uint256[2] amounts, uint256 min_mint_amount, bool use_eth, address receiver) payable returns(uint256)
  1451  func (_Curvefifactory *CurvefifactoryTransactorSession) AddLiquidity1(amounts [2]*big.Int, min_mint_amount *big.Int, use_eth bool, receiver common.Address) (*types.Transaction, error) {
  1452  	return _Curvefifactory.Contract.AddLiquidity1(&_Curvefifactory.TransactOpts, amounts, min_mint_amount, use_eth, receiver)
  1453  }
  1454  
  1455  // ApplyNewParameters is a paid mutator transaction binding the contract method 0x2a7dd7cd.
  1456  //
  1457  // Solidity: function apply_new_parameters() returns()
  1458  func (_Curvefifactory *CurvefifactoryTransactor) ApplyNewParameters(opts *bind.TransactOpts) (*types.Transaction, error) {
  1459  	return _Curvefifactory.contract.Transact(opts, "apply_new_parameters")
  1460  }
  1461  
  1462  // ApplyNewParameters is a paid mutator transaction binding the contract method 0x2a7dd7cd.
  1463  //
  1464  // Solidity: function apply_new_parameters() returns()
  1465  func (_Curvefifactory *CurvefifactorySession) ApplyNewParameters() (*types.Transaction, error) {
  1466  	return _Curvefifactory.Contract.ApplyNewParameters(&_Curvefifactory.TransactOpts)
  1467  }
  1468  
  1469  // ApplyNewParameters is a paid mutator transaction binding the contract method 0x2a7dd7cd.
  1470  //
  1471  // Solidity: function apply_new_parameters() returns()
  1472  func (_Curvefifactory *CurvefifactoryTransactorSession) ApplyNewParameters() (*types.Transaction, error) {
  1473  	return _Curvefifactory.Contract.ApplyNewParameters(&_Curvefifactory.TransactOpts)
  1474  }
  1475  
  1476  // ClaimAdminFees is a paid mutator transaction binding the contract method 0xc93f49e8.
  1477  //
  1478  // Solidity: function claim_admin_fees() returns()
  1479  func (_Curvefifactory *CurvefifactoryTransactor) ClaimAdminFees(opts *bind.TransactOpts) (*types.Transaction, error) {
  1480  	return _Curvefifactory.contract.Transact(opts, "claim_admin_fees")
  1481  }
  1482  
  1483  // ClaimAdminFees is a paid mutator transaction binding the contract method 0xc93f49e8.
  1484  //
  1485  // Solidity: function claim_admin_fees() returns()
  1486  func (_Curvefifactory *CurvefifactorySession) ClaimAdminFees() (*types.Transaction, error) {
  1487  	return _Curvefifactory.Contract.ClaimAdminFees(&_Curvefifactory.TransactOpts)
  1488  }
  1489  
  1490  // ClaimAdminFees is a paid mutator transaction binding the contract method 0xc93f49e8.
  1491  //
  1492  // Solidity: function claim_admin_fees() returns()
  1493  func (_Curvefifactory *CurvefifactoryTransactorSession) ClaimAdminFees() (*types.Transaction, error) {
  1494  	return _Curvefifactory.Contract.ClaimAdminFees(&_Curvefifactory.TransactOpts)
  1495  }
  1496  
  1497  // CommitNewParameters is a paid mutator transaction binding the contract method 0xa43c3351.
  1498  //
  1499  // Solidity: function commit_new_parameters(uint256 _new_mid_fee, uint256 _new_out_fee, uint256 _new_admin_fee, uint256 _new_fee_gamma, uint256 _new_allowed_extra_profit, uint256 _new_adjustment_step, uint256 _new_ma_half_time) returns()
  1500  func (_Curvefifactory *CurvefifactoryTransactor) CommitNewParameters(opts *bind.TransactOpts, _new_mid_fee *big.Int, _new_out_fee *big.Int, _new_admin_fee *big.Int, _new_fee_gamma *big.Int, _new_allowed_extra_profit *big.Int, _new_adjustment_step *big.Int, _new_ma_half_time *big.Int) (*types.Transaction, error) {
  1501  	return _Curvefifactory.contract.Transact(opts, "commit_new_parameters", _new_mid_fee, _new_out_fee, _new_admin_fee, _new_fee_gamma, _new_allowed_extra_profit, _new_adjustment_step, _new_ma_half_time)
  1502  }
  1503  
  1504  // CommitNewParameters is a paid mutator transaction binding the contract method 0xa43c3351.
  1505  //
  1506  // Solidity: function commit_new_parameters(uint256 _new_mid_fee, uint256 _new_out_fee, uint256 _new_admin_fee, uint256 _new_fee_gamma, uint256 _new_allowed_extra_profit, uint256 _new_adjustment_step, uint256 _new_ma_half_time) returns()
  1507  func (_Curvefifactory *CurvefifactorySession) CommitNewParameters(_new_mid_fee *big.Int, _new_out_fee *big.Int, _new_admin_fee *big.Int, _new_fee_gamma *big.Int, _new_allowed_extra_profit *big.Int, _new_adjustment_step *big.Int, _new_ma_half_time *big.Int) (*types.Transaction, error) {
  1508  	return _Curvefifactory.Contract.CommitNewParameters(&_Curvefifactory.TransactOpts, _new_mid_fee, _new_out_fee, _new_admin_fee, _new_fee_gamma, _new_allowed_extra_profit, _new_adjustment_step, _new_ma_half_time)
  1509  }
  1510  
  1511  // CommitNewParameters is a paid mutator transaction binding the contract method 0xa43c3351.
  1512  //
  1513  // Solidity: function commit_new_parameters(uint256 _new_mid_fee, uint256 _new_out_fee, uint256 _new_admin_fee, uint256 _new_fee_gamma, uint256 _new_allowed_extra_profit, uint256 _new_adjustment_step, uint256 _new_ma_half_time) returns()
  1514  func (_Curvefifactory *CurvefifactoryTransactorSession) CommitNewParameters(_new_mid_fee *big.Int, _new_out_fee *big.Int, _new_admin_fee *big.Int, _new_fee_gamma *big.Int, _new_allowed_extra_profit *big.Int, _new_adjustment_step *big.Int, _new_ma_half_time *big.Int) (*types.Transaction, error) {
  1515  	return _Curvefifactory.Contract.CommitNewParameters(&_Curvefifactory.TransactOpts, _new_mid_fee, _new_out_fee, _new_admin_fee, _new_fee_gamma, _new_allowed_extra_profit, _new_adjustment_step, _new_ma_half_time)
  1516  }
  1517  
  1518  // Exchange is a paid mutator transaction binding the contract method 0x5b41b908.
  1519  //
  1520  // Solidity: function exchange(uint256 i, uint256 j, uint256 dx, uint256 min_dy) payable returns(uint256)
  1521  func (_Curvefifactory *CurvefifactoryTransactor) Exchange(opts *bind.TransactOpts, i *big.Int, j *big.Int, dx *big.Int, min_dy *big.Int) (*types.Transaction, error) {
  1522  	return _Curvefifactory.contract.Transact(opts, "exchange", i, j, dx, min_dy)
  1523  }
  1524  
  1525  // Exchange is a paid mutator transaction binding the contract method 0x5b41b908.
  1526  //
  1527  // Solidity: function exchange(uint256 i, uint256 j, uint256 dx, uint256 min_dy) payable returns(uint256)
  1528  func (_Curvefifactory *CurvefifactorySession) Exchange(i *big.Int, j *big.Int, dx *big.Int, min_dy *big.Int) (*types.Transaction, error) {
  1529  	return _Curvefifactory.Contract.Exchange(&_Curvefifactory.TransactOpts, i, j, dx, min_dy)
  1530  }
  1531  
  1532  // Exchange is a paid mutator transaction binding the contract method 0x5b41b908.
  1533  //
  1534  // Solidity: function exchange(uint256 i, uint256 j, uint256 dx, uint256 min_dy) payable returns(uint256)
  1535  func (_Curvefifactory *CurvefifactoryTransactorSession) Exchange(i *big.Int, j *big.Int, dx *big.Int, min_dy *big.Int) (*types.Transaction, error) {
  1536  	return _Curvefifactory.Contract.Exchange(&_Curvefifactory.TransactOpts, i, j, dx, min_dy)
  1537  }
  1538  
  1539  // Exchange0 is a paid mutator transaction binding the contract method 0x394747c5.
  1540  //
  1541  // Solidity: function exchange(uint256 i, uint256 j, uint256 dx, uint256 min_dy, bool use_eth) payable returns(uint256)
  1542  func (_Curvefifactory *CurvefifactoryTransactor) Exchange0(opts *bind.TransactOpts, i *big.Int, j *big.Int, dx *big.Int, min_dy *big.Int, use_eth bool) (*types.Transaction, error) {
  1543  	return _Curvefifactory.contract.Transact(opts, "exchange0", i, j, dx, min_dy, use_eth)
  1544  }
  1545  
  1546  // Exchange0 is a paid mutator transaction binding the contract method 0x394747c5.
  1547  //
  1548  // Solidity: function exchange(uint256 i, uint256 j, uint256 dx, uint256 min_dy, bool use_eth) payable returns(uint256)
  1549  func (_Curvefifactory *CurvefifactorySession) Exchange0(i *big.Int, j *big.Int, dx *big.Int, min_dy *big.Int, use_eth bool) (*types.Transaction, error) {
  1550  	return _Curvefifactory.Contract.Exchange0(&_Curvefifactory.TransactOpts, i, j, dx, min_dy, use_eth)
  1551  }
  1552  
  1553  // Exchange0 is a paid mutator transaction binding the contract method 0x394747c5.
  1554  //
  1555  // Solidity: function exchange(uint256 i, uint256 j, uint256 dx, uint256 min_dy, bool use_eth) payable returns(uint256)
  1556  func (_Curvefifactory *CurvefifactoryTransactorSession) Exchange0(i *big.Int, j *big.Int, dx *big.Int, min_dy *big.Int, use_eth bool) (*types.Transaction, error) {
  1557  	return _Curvefifactory.Contract.Exchange0(&_Curvefifactory.TransactOpts, i, j, dx, min_dy, use_eth)
  1558  }
  1559  
  1560  // Exchange1 is a paid mutator transaction binding the contract method 0xce7d6503.
  1561  //
  1562  // Solidity: function exchange(uint256 i, uint256 j, uint256 dx, uint256 min_dy, bool use_eth, address receiver) payable returns(uint256)
  1563  func (_Curvefifactory *CurvefifactoryTransactor) Exchange1(opts *bind.TransactOpts, i *big.Int, j *big.Int, dx *big.Int, min_dy *big.Int, use_eth bool, receiver common.Address) (*types.Transaction, error) {
  1564  	return _Curvefifactory.contract.Transact(opts, "exchange1", i, j, dx, min_dy, use_eth, receiver)
  1565  }
  1566  
  1567  // Exchange1 is a paid mutator transaction binding the contract method 0xce7d6503.
  1568  //
  1569  // Solidity: function exchange(uint256 i, uint256 j, uint256 dx, uint256 min_dy, bool use_eth, address receiver) payable returns(uint256)
  1570  func (_Curvefifactory *CurvefifactorySession) Exchange1(i *big.Int, j *big.Int, dx *big.Int, min_dy *big.Int, use_eth bool, receiver common.Address) (*types.Transaction, error) {
  1571  	return _Curvefifactory.Contract.Exchange1(&_Curvefifactory.TransactOpts, i, j, dx, min_dy, use_eth, receiver)
  1572  }
  1573  
  1574  // Exchange1 is a paid mutator transaction binding the contract method 0xce7d6503.
  1575  //
  1576  // Solidity: function exchange(uint256 i, uint256 j, uint256 dx, uint256 min_dy, bool use_eth, address receiver) payable returns(uint256)
  1577  func (_Curvefifactory *CurvefifactoryTransactorSession) Exchange1(i *big.Int, j *big.Int, dx *big.Int, min_dy *big.Int, use_eth bool, receiver common.Address) (*types.Transaction, error) {
  1578  	return _Curvefifactory.Contract.Exchange1(&_Curvefifactory.TransactOpts, i, j, dx, min_dy, use_eth, receiver)
  1579  }
  1580  
  1581  // ExchangeExtended is a paid mutator transaction binding the contract method 0xdd96994f.
  1582  //
  1583  // Solidity: function exchange_extended(uint256 i, uint256 j, uint256 dx, uint256 min_dy, bool use_eth, address sender, address receiver, bytes32 cb) payable returns(uint256)
  1584  func (_Curvefifactory *CurvefifactoryTransactor) ExchangeExtended(opts *bind.TransactOpts, i *big.Int, j *big.Int, dx *big.Int, min_dy *big.Int, use_eth bool, sender common.Address, receiver common.Address, cb [32]byte) (*types.Transaction, error) {
  1585  	return _Curvefifactory.contract.Transact(opts, "exchange_extended", i, j, dx, min_dy, use_eth, sender, receiver, cb)
  1586  }
  1587  
  1588  // ExchangeExtended is a paid mutator transaction binding the contract method 0xdd96994f.
  1589  //
  1590  // Solidity: function exchange_extended(uint256 i, uint256 j, uint256 dx, uint256 min_dy, bool use_eth, address sender, address receiver, bytes32 cb) payable returns(uint256)
  1591  func (_Curvefifactory *CurvefifactorySession) ExchangeExtended(i *big.Int, j *big.Int, dx *big.Int, min_dy *big.Int, use_eth bool, sender common.Address, receiver common.Address, cb [32]byte) (*types.Transaction, error) {
  1592  	return _Curvefifactory.Contract.ExchangeExtended(&_Curvefifactory.TransactOpts, i, j, dx, min_dy, use_eth, sender, receiver, cb)
  1593  }
  1594  
  1595  // ExchangeExtended is a paid mutator transaction binding the contract method 0xdd96994f.
  1596  //
  1597  // Solidity: function exchange_extended(uint256 i, uint256 j, uint256 dx, uint256 min_dy, bool use_eth, address sender, address receiver, bytes32 cb) payable returns(uint256)
  1598  func (_Curvefifactory *CurvefifactoryTransactorSession) ExchangeExtended(i *big.Int, j *big.Int, dx *big.Int, min_dy *big.Int, use_eth bool, sender common.Address, receiver common.Address, cb [32]byte) (*types.Transaction, error) {
  1599  	return _Curvefifactory.Contract.ExchangeExtended(&_Curvefifactory.TransactOpts, i, j, dx, min_dy, use_eth, sender, receiver, cb)
  1600  }
  1601  
  1602  // ExchangeUnderlying is a paid mutator transaction binding the contract method 0x65b2489b.
  1603  //
  1604  // Solidity: function exchange_underlying(uint256 i, uint256 j, uint256 dx, uint256 min_dy) payable returns(uint256)
  1605  func (_Curvefifactory *CurvefifactoryTransactor) ExchangeUnderlying(opts *bind.TransactOpts, i *big.Int, j *big.Int, dx *big.Int, min_dy *big.Int) (*types.Transaction, error) {
  1606  	return _Curvefifactory.contract.Transact(opts, "exchange_underlying", i, j, dx, min_dy)
  1607  }
  1608  
  1609  // ExchangeUnderlying is a paid mutator transaction binding the contract method 0x65b2489b.
  1610  //
  1611  // Solidity: function exchange_underlying(uint256 i, uint256 j, uint256 dx, uint256 min_dy) payable returns(uint256)
  1612  func (_Curvefifactory *CurvefifactorySession) ExchangeUnderlying(i *big.Int, j *big.Int, dx *big.Int, min_dy *big.Int) (*types.Transaction, error) {
  1613  	return _Curvefifactory.Contract.ExchangeUnderlying(&_Curvefifactory.TransactOpts, i, j, dx, min_dy)
  1614  }
  1615  
  1616  // ExchangeUnderlying is a paid mutator transaction binding the contract method 0x65b2489b.
  1617  //
  1618  // Solidity: function exchange_underlying(uint256 i, uint256 j, uint256 dx, uint256 min_dy) payable returns(uint256)
  1619  func (_Curvefifactory *CurvefifactoryTransactorSession) ExchangeUnderlying(i *big.Int, j *big.Int, dx *big.Int, min_dy *big.Int) (*types.Transaction, error) {
  1620  	return _Curvefifactory.Contract.ExchangeUnderlying(&_Curvefifactory.TransactOpts, i, j, dx, min_dy)
  1621  }
  1622  
  1623  // ExchangeUnderlying0 is a paid mutator transaction binding the contract method 0xe2ad025a.
  1624  //
  1625  // Solidity: function exchange_underlying(uint256 i, uint256 j, uint256 dx, uint256 min_dy, address receiver) payable returns(uint256)
  1626  func (_Curvefifactory *CurvefifactoryTransactor) ExchangeUnderlying0(opts *bind.TransactOpts, i *big.Int, j *big.Int, dx *big.Int, min_dy *big.Int, receiver common.Address) (*types.Transaction, error) {
  1627  	return _Curvefifactory.contract.Transact(opts, "exchange_underlying0", i, j, dx, min_dy, receiver)
  1628  }
  1629  
  1630  // ExchangeUnderlying0 is a paid mutator transaction binding the contract method 0xe2ad025a.
  1631  //
  1632  // Solidity: function exchange_underlying(uint256 i, uint256 j, uint256 dx, uint256 min_dy, address receiver) payable returns(uint256)
  1633  func (_Curvefifactory *CurvefifactorySession) ExchangeUnderlying0(i *big.Int, j *big.Int, dx *big.Int, min_dy *big.Int, receiver common.Address) (*types.Transaction, error) {
  1634  	return _Curvefifactory.Contract.ExchangeUnderlying0(&_Curvefifactory.TransactOpts, i, j, dx, min_dy, receiver)
  1635  }
  1636  
  1637  // ExchangeUnderlying0 is a paid mutator transaction binding the contract method 0xe2ad025a.
  1638  //
  1639  // Solidity: function exchange_underlying(uint256 i, uint256 j, uint256 dx, uint256 min_dy, address receiver) payable returns(uint256)
  1640  func (_Curvefifactory *CurvefifactoryTransactorSession) ExchangeUnderlying0(i *big.Int, j *big.Int, dx *big.Int, min_dy *big.Int, receiver common.Address) (*types.Transaction, error) {
  1641  	return _Curvefifactory.Contract.ExchangeUnderlying0(&_Curvefifactory.TransactOpts, i, j, dx, min_dy, receiver)
  1642  }
  1643  
  1644  // Initialize is a paid mutator transaction binding the contract method 0xa39e95c5.
  1645  //
  1646  // Solidity: function initialize(uint256 A, uint256 gamma, uint256 mid_fee, uint256 out_fee, uint256 allowed_extra_profit, uint256 fee_gamma, uint256 adjustment_step, uint256 admin_fee, uint256 ma_half_time, uint256 initial_price, address _token, address[2] _coins, uint256 _precisions) returns()
  1647  func (_Curvefifactory *CurvefifactoryTransactor) Initialize(opts *bind.TransactOpts, A *big.Int, gamma *big.Int, mid_fee *big.Int, out_fee *big.Int, allowed_extra_profit *big.Int, fee_gamma *big.Int, adjustment_step *big.Int, admin_fee *big.Int, ma_half_time *big.Int, initial_price *big.Int, _token common.Address, _coins [2]common.Address, _precisions *big.Int) (*types.Transaction, error) {
  1648  	return _Curvefifactory.contract.Transact(opts, "initialize", A, gamma, mid_fee, out_fee, allowed_extra_profit, fee_gamma, adjustment_step, admin_fee, ma_half_time, initial_price, _token, _coins, _precisions)
  1649  }
  1650  
  1651  // Initialize is a paid mutator transaction binding the contract method 0xa39e95c5.
  1652  //
  1653  // Solidity: function initialize(uint256 A, uint256 gamma, uint256 mid_fee, uint256 out_fee, uint256 allowed_extra_profit, uint256 fee_gamma, uint256 adjustment_step, uint256 admin_fee, uint256 ma_half_time, uint256 initial_price, address _token, address[2] _coins, uint256 _precisions) returns()
  1654  func (_Curvefifactory *CurvefifactorySession) Initialize(A *big.Int, gamma *big.Int, mid_fee *big.Int, out_fee *big.Int, allowed_extra_profit *big.Int, fee_gamma *big.Int, adjustment_step *big.Int, admin_fee *big.Int, ma_half_time *big.Int, initial_price *big.Int, _token common.Address, _coins [2]common.Address, _precisions *big.Int) (*types.Transaction, error) {
  1655  	return _Curvefifactory.Contract.Initialize(&_Curvefifactory.TransactOpts, A, gamma, mid_fee, out_fee, allowed_extra_profit, fee_gamma, adjustment_step, admin_fee, ma_half_time, initial_price, _token, _coins, _precisions)
  1656  }
  1657  
  1658  // Initialize is a paid mutator transaction binding the contract method 0xa39e95c5.
  1659  //
  1660  // Solidity: function initialize(uint256 A, uint256 gamma, uint256 mid_fee, uint256 out_fee, uint256 allowed_extra_profit, uint256 fee_gamma, uint256 adjustment_step, uint256 admin_fee, uint256 ma_half_time, uint256 initial_price, address _token, address[2] _coins, uint256 _precisions) returns()
  1661  func (_Curvefifactory *CurvefifactoryTransactorSession) Initialize(A *big.Int, gamma *big.Int, mid_fee *big.Int, out_fee *big.Int, allowed_extra_profit *big.Int, fee_gamma *big.Int, adjustment_step *big.Int, admin_fee *big.Int, ma_half_time *big.Int, initial_price *big.Int, _token common.Address, _coins [2]common.Address, _precisions *big.Int) (*types.Transaction, error) {
  1662  	return _Curvefifactory.Contract.Initialize(&_Curvefifactory.TransactOpts, A, gamma, mid_fee, out_fee, allowed_extra_profit, fee_gamma, adjustment_step, admin_fee, ma_half_time, initial_price, _token, _coins, _precisions)
  1663  }
  1664  
  1665  // RampAGamma is a paid mutator transaction binding the contract method 0x5e248072.
  1666  //
  1667  // Solidity: function ramp_A_gamma(uint256 future_A, uint256 future_gamma, uint256 future_time) returns()
  1668  func (_Curvefifactory *CurvefifactoryTransactor) RampAGamma(opts *bind.TransactOpts, future_A *big.Int, future_gamma *big.Int, future_time *big.Int) (*types.Transaction, error) {
  1669  	return _Curvefifactory.contract.Transact(opts, "ramp_A_gamma", future_A, future_gamma, future_time)
  1670  }
  1671  
  1672  // RampAGamma is a paid mutator transaction binding the contract method 0x5e248072.
  1673  //
  1674  // Solidity: function ramp_A_gamma(uint256 future_A, uint256 future_gamma, uint256 future_time) returns()
  1675  func (_Curvefifactory *CurvefifactorySession) RampAGamma(future_A *big.Int, future_gamma *big.Int, future_time *big.Int) (*types.Transaction, error) {
  1676  	return _Curvefifactory.Contract.RampAGamma(&_Curvefifactory.TransactOpts, future_A, future_gamma, future_time)
  1677  }
  1678  
  1679  // RampAGamma is a paid mutator transaction binding the contract method 0x5e248072.
  1680  //
  1681  // Solidity: function ramp_A_gamma(uint256 future_A, uint256 future_gamma, uint256 future_time) returns()
  1682  func (_Curvefifactory *CurvefifactoryTransactorSession) RampAGamma(future_A *big.Int, future_gamma *big.Int, future_time *big.Int) (*types.Transaction, error) {
  1683  	return _Curvefifactory.Contract.RampAGamma(&_Curvefifactory.TransactOpts, future_A, future_gamma, future_time)
  1684  }
  1685  
  1686  // RemoveLiquidity is a paid mutator transaction binding the contract method 0x5b36389c.
  1687  //
  1688  // Solidity: function remove_liquidity(uint256 _amount, uint256[2] min_amounts) returns()
  1689  func (_Curvefifactory *CurvefifactoryTransactor) RemoveLiquidity(opts *bind.TransactOpts, _amount *big.Int, min_amounts [2]*big.Int) (*types.Transaction, error) {
  1690  	return _Curvefifactory.contract.Transact(opts, "remove_liquidity", _amount, min_amounts)
  1691  }
  1692  
  1693  // RemoveLiquidity is a paid mutator transaction binding the contract method 0x5b36389c.
  1694  //
  1695  // Solidity: function remove_liquidity(uint256 _amount, uint256[2] min_amounts) returns()
  1696  func (_Curvefifactory *CurvefifactorySession) RemoveLiquidity(_amount *big.Int, min_amounts [2]*big.Int) (*types.Transaction, error) {
  1697  	return _Curvefifactory.Contract.RemoveLiquidity(&_Curvefifactory.TransactOpts, _amount, min_amounts)
  1698  }
  1699  
  1700  // RemoveLiquidity is a paid mutator transaction binding the contract method 0x5b36389c.
  1701  //
  1702  // Solidity: function remove_liquidity(uint256 _amount, uint256[2] min_amounts) returns()
  1703  func (_Curvefifactory *CurvefifactoryTransactorSession) RemoveLiquidity(_amount *big.Int, min_amounts [2]*big.Int) (*types.Transaction, error) {
  1704  	return _Curvefifactory.Contract.RemoveLiquidity(&_Curvefifactory.TransactOpts, _amount, min_amounts)
  1705  }
  1706  
  1707  // RemoveLiquidity0 is a paid mutator transaction binding the contract method 0x269b5581.
  1708  //
  1709  // Solidity: function remove_liquidity(uint256 _amount, uint256[2] min_amounts, bool use_eth) returns()
  1710  func (_Curvefifactory *CurvefifactoryTransactor) RemoveLiquidity0(opts *bind.TransactOpts, _amount *big.Int, min_amounts [2]*big.Int, use_eth bool) (*types.Transaction, error) {
  1711  	return _Curvefifactory.contract.Transact(opts, "remove_liquidity0", _amount, min_amounts, use_eth)
  1712  }
  1713  
  1714  // RemoveLiquidity0 is a paid mutator transaction binding the contract method 0x269b5581.
  1715  //
  1716  // Solidity: function remove_liquidity(uint256 _amount, uint256[2] min_amounts, bool use_eth) returns()
  1717  func (_Curvefifactory *CurvefifactorySession) RemoveLiquidity0(_amount *big.Int, min_amounts [2]*big.Int, use_eth bool) (*types.Transaction, error) {
  1718  	return _Curvefifactory.Contract.RemoveLiquidity0(&_Curvefifactory.TransactOpts, _amount, min_amounts, use_eth)
  1719  }
  1720  
  1721  // RemoveLiquidity0 is a paid mutator transaction binding the contract method 0x269b5581.
  1722  //
  1723  // Solidity: function remove_liquidity(uint256 _amount, uint256[2] min_amounts, bool use_eth) returns()
  1724  func (_Curvefifactory *CurvefifactoryTransactorSession) RemoveLiquidity0(_amount *big.Int, min_amounts [2]*big.Int, use_eth bool) (*types.Transaction, error) {
  1725  	return _Curvefifactory.Contract.RemoveLiquidity0(&_Curvefifactory.TransactOpts, _amount, min_amounts, use_eth)
  1726  }
  1727  
  1728  // RemoveLiquidity1 is a paid mutator transaction binding the contract method 0x1808e84a.
  1729  //
  1730  // Solidity: function remove_liquidity(uint256 _amount, uint256[2] min_amounts, bool use_eth, address receiver) returns()
  1731  func (_Curvefifactory *CurvefifactoryTransactor) RemoveLiquidity1(opts *bind.TransactOpts, _amount *big.Int, min_amounts [2]*big.Int, use_eth bool, receiver common.Address) (*types.Transaction, error) {
  1732  	return _Curvefifactory.contract.Transact(opts, "remove_liquidity1", _amount, min_amounts, use_eth, receiver)
  1733  }
  1734  
  1735  // RemoveLiquidity1 is a paid mutator transaction binding the contract method 0x1808e84a.
  1736  //
  1737  // Solidity: function remove_liquidity(uint256 _amount, uint256[2] min_amounts, bool use_eth, address receiver) returns()
  1738  func (_Curvefifactory *CurvefifactorySession) RemoveLiquidity1(_amount *big.Int, min_amounts [2]*big.Int, use_eth bool, receiver common.Address) (*types.Transaction, error) {
  1739  	return _Curvefifactory.Contract.RemoveLiquidity1(&_Curvefifactory.TransactOpts, _amount, min_amounts, use_eth, receiver)
  1740  }
  1741  
  1742  // RemoveLiquidity1 is a paid mutator transaction binding the contract method 0x1808e84a.
  1743  //
  1744  // Solidity: function remove_liquidity(uint256 _amount, uint256[2] min_amounts, bool use_eth, address receiver) returns()
  1745  func (_Curvefifactory *CurvefifactoryTransactorSession) RemoveLiquidity1(_amount *big.Int, min_amounts [2]*big.Int, use_eth bool, receiver common.Address) (*types.Transaction, error) {
  1746  	return _Curvefifactory.Contract.RemoveLiquidity1(&_Curvefifactory.TransactOpts, _amount, min_amounts, use_eth, receiver)
  1747  }
  1748  
  1749  // RemoveLiquidityOneCoin is a paid mutator transaction binding the contract method 0xf1dc3cc9.
  1750  //
  1751  // Solidity: function remove_liquidity_one_coin(uint256 token_amount, uint256 i, uint256 min_amount) returns(uint256)
  1752  func (_Curvefifactory *CurvefifactoryTransactor) RemoveLiquidityOneCoin(opts *bind.TransactOpts, token_amount *big.Int, i *big.Int, min_amount *big.Int) (*types.Transaction, error) {
  1753  	return _Curvefifactory.contract.Transact(opts, "remove_liquidity_one_coin", token_amount, i, min_amount)
  1754  }
  1755  
  1756  // RemoveLiquidityOneCoin is a paid mutator transaction binding the contract method 0xf1dc3cc9.
  1757  //
  1758  // Solidity: function remove_liquidity_one_coin(uint256 token_amount, uint256 i, uint256 min_amount) returns(uint256)
  1759  func (_Curvefifactory *CurvefifactorySession) RemoveLiquidityOneCoin(token_amount *big.Int, i *big.Int, min_amount *big.Int) (*types.Transaction, error) {
  1760  	return _Curvefifactory.Contract.RemoveLiquidityOneCoin(&_Curvefifactory.TransactOpts, token_amount, i, min_amount)
  1761  }
  1762  
  1763  // RemoveLiquidityOneCoin is a paid mutator transaction binding the contract method 0xf1dc3cc9.
  1764  //
  1765  // Solidity: function remove_liquidity_one_coin(uint256 token_amount, uint256 i, uint256 min_amount) returns(uint256)
  1766  func (_Curvefifactory *CurvefifactoryTransactorSession) RemoveLiquidityOneCoin(token_amount *big.Int, i *big.Int, min_amount *big.Int) (*types.Transaction, error) {
  1767  	return _Curvefifactory.Contract.RemoveLiquidityOneCoin(&_Curvefifactory.TransactOpts, token_amount, i, min_amount)
  1768  }
  1769  
  1770  // RemoveLiquidityOneCoin0 is a paid mutator transaction binding the contract method 0x8f15b6b5.
  1771  //
  1772  // Solidity: function remove_liquidity_one_coin(uint256 token_amount, uint256 i, uint256 min_amount, bool use_eth) returns(uint256)
  1773  func (_Curvefifactory *CurvefifactoryTransactor) RemoveLiquidityOneCoin0(opts *bind.TransactOpts, token_amount *big.Int, i *big.Int, min_amount *big.Int, use_eth bool) (*types.Transaction, error) {
  1774  	return _Curvefifactory.contract.Transact(opts, "remove_liquidity_one_coin0", token_amount, i, min_amount, use_eth)
  1775  }
  1776  
  1777  // RemoveLiquidityOneCoin0 is a paid mutator transaction binding the contract method 0x8f15b6b5.
  1778  //
  1779  // Solidity: function remove_liquidity_one_coin(uint256 token_amount, uint256 i, uint256 min_amount, bool use_eth) returns(uint256)
  1780  func (_Curvefifactory *CurvefifactorySession) RemoveLiquidityOneCoin0(token_amount *big.Int, i *big.Int, min_amount *big.Int, use_eth bool) (*types.Transaction, error) {
  1781  	return _Curvefifactory.Contract.RemoveLiquidityOneCoin0(&_Curvefifactory.TransactOpts, token_amount, i, min_amount, use_eth)
  1782  }
  1783  
  1784  // RemoveLiquidityOneCoin0 is a paid mutator transaction binding the contract method 0x8f15b6b5.
  1785  //
  1786  // Solidity: function remove_liquidity_one_coin(uint256 token_amount, uint256 i, uint256 min_amount, bool use_eth) returns(uint256)
  1787  func (_Curvefifactory *CurvefifactoryTransactorSession) RemoveLiquidityOneCoin0(token_amount *big.Int, i *big.Int, min_amount *big.Int, use_eth bool) (*types.Transaction, error) {
  1788  	return _Curvefifactory.Contract.RemoveLiquidityOneCoin0(&_Curvefifactory.TransactOpts, token_amount, i, min_amount, use_eth)
  1789  }
  1790  
  1791  // RemoveLiquidityOneCoin1 is a paid mutator transaction binding the contract method 0x07329bcd.
  1792  //
  1793  // Solidity: function remove_liquidity_one_coin(uint256 token_amount, uint256 i, uint256 min_amount, bool use_eth, address receiver) returns(uint256)
  1794  func (_Curvefifactory *CurvefifactoryTransactor) RemoveLiquidityOneCoin1(opts *bind.TransactOpts, token_amount *big.Int, i *big.Int, min_amount *big.Int, use_eth bool, receiver common.Address) (*types.Transaction, error) {
  1795  	return _Curvefifactory.contract.Transact(opts, "remove_liquidity_one_coin1", token_amount, i, min_amount, use_eth, receiver)
  1796  }
  1797  
  1798  // RemoveLiquidityOneCoin1 is a paid mutator transaction binding the contract method 0x07329bcd.
  1799  //
  1800  // Solidity: function remove_liquidity_one_coin(uint256 token_amount, uint256 i, uint256 min_amount, bool use_eth, address receiver) returns(uint256)
  1801  func (_Curvefifactory *CurvefifactorySession) RemoveLiquidityOneCoin1(token_amount *big.Int, i *big.Int, min_amount *big.Int, use_eth bool, receiver common.Address) (*types.Transaction, error) {
  1802  	return _Curvefifactory.Contract.RemoveLiquidityOneCoin1(&_Curvefifactory.TransactOpts, token_amount, i, min_amount, use_eth, receiver)
  1803  }
  1804  
  1805  // RemoveLiquidityOneCoin1 is a paid mutator transaction binding the contract method 0x07329bcd.
  1806  //
  1807  // Solidity: function remove_liquidity_one_coin(uint256 token_amount, uint256 i, uint256 min_amount, bool use_eth, address receiver) returns(uint256)
  1808  func (_Curvefifactory *CurvefifactoryTransactorSession) RemoveLiquidityOneCoin1(token_amount *big.Int, i *big.Int, min_amount *big.Int, use_eth bool, receiver common.Address) (*types.Transaction, error) {
  1809  	return _Curvefifactory.Contract.RemoveLiquidityOneCoin1(&_Curvefifactory.TransactOpts, token_amount, i, min_amount, use_eth, receiver)
  1810  }
  1811  
  1812  // RevertNewParameters is a paid mutator transaction binding the contract method 0x226840fb.
  1813  //
  1814  // Solidity: function revert_new_parameters() returns()
  1815  func (_Curvefifactory *CurvefifactoryTransactor) RevertNewParameters(opts *bind.TransactOpts) (*types.Transaction, error) {
  1816  	return _Curvefifactory.contract.Transact(opts, "revert_new_parameters")
  1817  }
  1818  
  1819  // RevertNewParameters is a paid mutator transaction binding the contract method 0x226840fb.
  1820  //
  1821  // Solidity: function revert_new_parameters() returns()
  1822  func (_Curvefifactory *CurvefifactorySession) RevertNewParameters() (*types.Transaction, error) {
  1823  	return _Curvefifactory.Contract.RevertNewParameters(&_Curvefifactory.TransactOpts)
  1824  }
  1825  
  1826  // RevertNewParameters is a paid mutator transaction binding the contract method 0x226840fb.
  1827  //
  1828  // Solidity: function revert_new_parameters() returns()
  1829  func (_Curvefifactory *CurvefifactoryTransactorSession) RevertNewParameters() (*types.Transaction, error) {
  1830  	return _Curvefifactory.Contract.RevertNewParameters(&_Curvefifactory.TransactOpts)
  1831  }
  1832  
  1833  // StopRampAGamma is a paid mutator transaction binding the contract method 0x244c7c2e.
  1834  //
  1835  // Solidity: function stop_ramp_A_gamma() returns()
  1836  func (_Curvefifactory *CurvefifactoryTransactor) StopRampAGamma(opts *bind.TransactOpts) (*types.Transaction, error) {
  1837  	return _Curvefifactory.contract.Transact(opts, "stop_ramp_A_gamma")
  1838  }
  1839  
  1840  // StopRampAGamma is a paid mutator transaction binding the contract method 0x244c7c2e.
  1841  //
  1842  // Solidity: function stop_ramp_A_gamma() returns()
  1843  func (_Curvefifactory *CurvefifactorySession) StopRampAGamma() (*types.Transaction, error) {
  1844  	return _Curvefifactory.Contract.StopRampAGamma(&_Curvefifactory.TransactOpts)
  1845  }
  1846  
  1847  // StopRampAGamma is a paid mutator transaction binding the contract method 0x244c7c2e.
  1848  //
  1849  // Solidity: function stop_ramp_A_gamma() returns()
  1850  func (_Curvefifactory *CurvefifactoryTransactorSession) StopRampAGamma() (*types.Transaction, error) {
  1851  	return _Curvefifactory.Contract.StopRampAGamma(&_Curvefifactory.TransactOpts)
  1852  }
  1853  
  1854  // Fallback is a paid mutator transaction binding the contract fallback function.
  1855  //
  1856  // Solidity: fallback() payable returns()
  1857  func (_Curvefifactory *CurvefifactoryTransactor) Fallback(opts *bind.TransactOpts, calldata []byte) (*types.Transaction, error) {
  1858  	return _Curvefifactory.contract.RawTransact(opts, calldata)
  1859  }
  1860  
  1861  // Fallback is a paid mutator transaction binding the contract fallback function.
  1862  //
  1863  // Solidity: fallback() payable returns()
  1864  func (_Curvefifactory *CurvefifactorySession) Fallback(calldata []byte) (*types.Transaction, error) {
  1865  	return _Curvefifactory.Contract.Fallback(&_Curvefifactory.TransactOpts, calldata)
  1866  }
  1867  
  1868  // Fallback is a paid mutator transaction binding the contract fallback function.
  1869  //
  1870  // Solidity: fallback() payable returns()
  1871  func (_Curvefifactory *CurvefifactoryTransactorSession) Fallback(calldata []byte) (*types.Transaction, error) {
  1872  	return _Curvefifactory.Contract.Fallback(&_Curvefifactory.TransactOpts, calldata)
  1873  }
  1874  
  1875  // CurvefifactoryAddLiquidityIterator is returned from FilterAddLiquidity and is used to iterate over the raw logs and unpacked data for AddLiquidity events raised by the Curvefifactory contract.
  1876  type CurvefifactoryAddLiquidityIterator struct {
  1877  	Event *CurvefifactoryAddLiquidity // Event containing the contract specifics and raw log
  1878  
  1879  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1880  	event    string              // Event name to use for unpacking event data
  1881  
  1882  	logs chan types.Log        // Log channel receiving the found contract events
  1883  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1884  	done bool                  // Whether the subscription completed delivering logs
  1885  	fail error                 // Occurred error to stop iteration
  1886  }
  1887  
  1888  // Next advances the iterator to the subsequent event, returning whether there
  1889  // are any more events found. In case of a retrieval or parsing error, false is
  1890  // returned and Error() can be queried for the exact failure.
  1891  func (it *CurvefifactoryAddLiquidityIterator) Next() bool {
  1892  	// If the iterator failed, stop iterating
  1893  	if it.fail != nil {
  1894  		return false
  1895  	}
  1896  	// If the iterator completed, deliver directly whatever's available
  1897  	if it.done {
  1898  		select {
  1899  		case log := <-it.logs:
  1900  			it.Event = new(CurvefifactoryAddLiquidity)
  1901  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1902  				it.fail = err
  1903  				return false
  1904  			}
  1905  			it.Event.Raw = log
  1906  			return true
  1907  
  1908  		default:
  1909  			return false
  1910  		}
  1911  	}
  1912  	// Iterator still in progress, wait for either a data or an error event
  1913  	select {
  1914  	case log := <-it.logs:
  1915  		it.Event = new(CurvefifactoryAddLiquidity)
  1916  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1917  			it.fail = err
  1918  			return false
  1919  		}
  1920  		it.Event.Raw = log
  1921  		return true
  1922  
  1923  	case err := <-it.sub.Err():
  1924  		it.done = true
  1925  		it.fail = err
  1926  		return it.Next()
  1927  	}
  1928  }
  1929  
  1930  // Error returns any retrieval or parsing error occurred during filtering.
  1931  func (it *CurvefifactoryAddLiquidityIterator) Error() error {
  1932  	return it.fail
  1933  }
  1934  
  1935  // Close terminates the iteration process, releasing any pending underlying
  1936  // resources.
  1937  func (it *CurvefifactoryAddLiquidityIterator) Close() error {
  1938  	it.sub.Unsubscribe()
  1939  	return nil
  1940  }
  1941  
  1942  // CurvefifactoryAddLiquidity represents a AddLiquidity event raised by the Curvefifactory contract.
  1943  type CurvefifactoryAddLiquidity struct {
  1944  	Provider     common.Address
  1945  	TokenAmounts [2]*big.Int
  1946  	Fee          *big.Int
  1947  	TokenSupply  *big.Int
  1948  	Raw          types.Log // Blockchain specific contextual infos
  1949  }
  1950  
  1951  // FilterAddLiquidity is a free log retrieval operation binding the contract event 0x540ab385f9b5d450a27404172caade516b3ba3f4be88239ac56a2ad1de2a1f5a.
  1952  //
  1953  // Solidity: event AddLiquidity(address indexed provider, uint256[2] token_amounts, uint256 fee, uint256 token_supply)
  1954  func (_Curvefifactory *CurvefifactoryFilterer) FilterAddLiquidity(opts *bind.FilterOpts, provider []common.Address) (*CurvefifactoryAddLiquidityIterator, error) {
  1955  
  1956  	var providerRule []interface{}
  1957  	for _, providerItem := range provider {
  1958  		providerRule = append(providerRule, providerItem)
  1959  	}
  1960  
  1961  	logs, sub, err := _Curvefifactory.contract.FilterLogs(opts, "AddLiquidity", providerRule)
  1962  	if err != nil {
  1963  		return nil, err
  1964  	}
  1965  	return &CurvefifactoryAddLiquidityIterator{contract: _Curvefifactory.contract, event: "AddLiquidity", logs: logs, sub: sub}, nil
  1966  }
  1967  
  1968  // WatchAddLiquidity is a free log subscription operation binding the contract event 0x540ab385f9b5d450a27404172caade516b3ba3f4be88239ac56a2ad1de2a1f5a.
  1969  //
  1970  // Solidity: event AddLiquidity(address indexed provider, uint256[2] token_amounts, uint256 fee, uint256 token_supply)
  1971  func (_Curvefifactory *CurvefifactoryFilterer) WatchAddLiquidity(opts *bind.WatchOpts, sink chan<- *CurvefifactoryAddLiquidity, provider []common.Address) (event.Subscription, error) {
  1972  
  1973  	var providerRule []interface{}
  1974  	for _, providerItem := range provider {
  1975  		providerRule = append(providerRule, providerItem)
  1976  	}
  1977  
  1978  	logs, sub, err := _Curvefifactory.contract.WatchLogs(opts, "AddLiquidity", providerRule)
  1979  	if err != nil {
  1980  		return nil, err
  1981  	}
  1982  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1983  		defer sub.Unsubscribe()
  1984  		for {
  1985  			select {
  1986  			case log := <-logs:
  1987  				// New log arrived, parse the event and forward to the user
  1988  				event := new(CurvefifactoryAddLiquidity)
  1989  				if err := _Curvefifactory.contract.UnpackLog(event, "AddLiquidity", log); err != nil {
  1990  					return err
  1991  				}
  1992  				event.Raw = log
  1993  
  1994  				select {
  1995  				case sink <- event:
  1996  				case err := <-sub.Err():
  1997  					return err
  1998  				case <-quit:
  1999  					return nil
  2000  				}
  2001  			case err := <-sub.Err():
  2002  				return err
  2003  			case <-quit:
  2004  				return nil
  2005  			}
  2006  		}
  2007  	}), nil
  2008  }
  2009  
  2010  // ParseAddLiquidity is a log parse operation binding the contract event 0x540ab385f9b5d450a27404172caade516b3ba3f4be88239ac56a2ad1de2a1f5a.
  2011  //
  2012  // Solidity: event AddLiquidity(address indexed provider, uint256[2] token_amounts, uint256 fee, uint256 token_supply)
  2013  func (_Curvefifactory *CurvefifactoryFilterer) ParseAddLiquidity(log types.Log) (*CurvefifactoryAddLiquidity, error) {
  2014  	event := new(CurvefifactoryAddLiquidity)
  2015  	if err := _Curvefifactory.contract.UnpackLog(event, "AddLiquidity", log); err != nil {
  2016  		return nil, err
  2017  	}
  2018  	event.Raw = log
  2019  	return event, nil
  2020  }
  2021  
  2022  // CurvefifactoryClaimAdminFeeIterator is returned from FilterClaimAdminFee and is used to iterate over the raw logs and unpacked data for ClaimAdminFee events raised by the Curvefifactory contract.
  2023  type CurvefifactoryClaimAdminFeeIterator struct {
  2024  	Event *CurvefifactoryClaimAdminFee // Event containing the contract specifics and raw log
  2025  
  2026  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2027  	event    string              // Event name to use for unpacking event data
  2028  
  2029  	logs chan types.Log        // Log channel receiving the found contract events
  2030  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2031  	done bool                  // Whether the subscription completed delivering logs
  2032  	fail error                 // Occurred error to stop iteration
  2033  }
  2034  
  2035  // Next advances the iterator to the subsequent event, returning whether there
  2036  // are any more events found. In case of a retrieval or parsing error, false is
  2037  // returned and Error() can be queried for the exact failure.
  2038  func (it *CurvefifactoryClaimAdminFeeIterator) Next() bool {
  2039  	// If the iterator failed, stop iterating
  2040  	if it.fail != nil {
  2041  		return false
  2042  	}
  2043  	// If the iterator completed, deliver directly whatever's available
  2044  	if it.done {
  2045  		select {
  2046  		case log := <-it.logs:
  2047  			it.Event = new(CurvefifactoryClaimAdminFee)
  2048  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2049  				it.fail = err
  2050  				return false
  2051  			}
  2052  			it.Event.Raw = log
  2053  			return true
  2054  
  2055  		default:
  2056  			return false
  2057  		}
  2058  	}
  2059  	// Iterator still in progress, wait for either a data or an error event
  2060  	select {
  2061  	case log := <-it.logs:
  2062  		it.Event = new(CurvefifactoryClaimAdminFee)
  2063  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2064  			it.fail = err
  2065  			return false
  2066  		}
  2067  		it.Event.Raw = log
  2068  		return true
  2069  
  2070  	case err := <-it.sub.Err():
  2071  		it.done = true
  2072  		it.fail = err
  2073  		return it.Next()
  2074  	}
  2075  }
  2076  
  2077  // Error returns any retrieval or parsing error occurred during filtering.
  2078  func (it *CurvefifactoryClaimAdminFeeIterator) Error() error {
  2079  	return it.fail
  2080  }
  2081  
  2082  // Close terminates the iteration process, releasing any pending underlying
  2083  // resources.
  2084  func (it *CurvefifactoryClaimAdminFeeIterator) Close() error {
  2085  	it.sub.Unsubscribe()
  2086  	return nil
  2087  }
  2088  
  2089  // CurvefifactoryClaimAdminFee represents a ClaimAdminFee event raised by the Curvefifactory contract.
  2090  type CurvefifactoryClaimAdminFee struct {
  2091  	Admin  common.Address
  2092  	Tokens *big.Int
  2093  	Raw    types.Log // Blockchain specific contextual infos
  2094  }
  2095  
  2096  // FilterClaimAdminFee is a free log retrieval operation binding the contract event 0x6059a38198b1dc42b3791087d1ff0fbd72b3179553c25f678cd246f52ffaaf59.
  2097  //
  2098  // Solidity: event ClaimAdminFee(address indexed admin, uint256 tokens)
  2099  func (_Curvefifactory *CurvefifactoryFilterer) FilterClaimAdminFee(opts *bind.FilterOpts, admin []common.Address) (*CurvefifactoryClaimAdminFeeIterator, error) {
  2100  
  2101  	var adminRule []interface{}
  2102  	for _, adminItem := range admin {
  2103  		adminRule = append(adminRule, adminItem)
  2104  	}
  2105  
  2106  	logs, sub, err := _Curvefifactory.contract.FilterLogs(opts, "ClaimAdminFee", adminRule)
  2107  	if err != nil {
  2108  		return nil, err
  2109  	}
  2110  	return &CurvefifactoryClaimAdminFeeIterator{contract: _Curvefifactory.contract, event: "ClaimAdminFee", logs: logs, sub: sub}, nil
  2111  }
  2112  
  2113  // WatchClaimAdminFee is a free log subscription operation binding the contract event 0x6059a38198b1dc42b3791087d1ff0fbd72b3179553c25f678cd246f52ffaaf59.
  2114  //
  2115  // Solidity: event ClaimAdminFee(address indexed admin, uint256 tokens)
  2116  func (_Curvefifactory *CurvefifactoryFilterer) WatchClaimAdminFee(opts *bind.WatchOpts, sink chan<- *CurvefifactoryClaimAdminFee, admin []common.Address) (event.Subscription, error) {
  2117  
  2118  	var adminRule []interface{}
  2119  	for _, adminItem := range admin {
  2120  		adminRule = append(adminRule, adminItem)
  2121  	}
  2122  
  2123  	logs, sub, err := _Curvefifactory.contract.WatchLogs(opts, "ClaimAdminFee", adminRule)
  2124  	if err != nil {
  2125  		return nil, err
  2126  	}
  2127  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2128  		defer sub.Unsubscribe()
  2129  		for {
  2130  			select {
  2131  			case log := <-logs:
  2132  				// New log arrived, parse the event and forward to the user
  2133  				event := new(CurvefifactoryClaimAdminFee)
  2134  				if err := _Curvefifactory.contract.UnpackLog(event, "ClaimAdminFee", log); err != nil {
  2135  					return err
  2136  				}
  2137  				event.Raw = log
  2138  
  2139  				select {
  2140  				case sink <- event:
  2141  				case err := <-sub.Err():
  2142  					return err
  2143  				case <-quit:
  2144  					return nil
  2145  				}
  2146  			case err := <-sub.Err():
  2147  				return err
  2148  			case <-quit:
  2149  				return nil
  2150  			}
  2151  		}
  2152  	}), nil
  2153  }
  2154  
  2155  // ParseClaimAdminFee is a log parse operation binding the contract event 0x6059a38198b1dc42b3791087d1ff0fbd72b3179553c25f678cd246f52ffaaf59.
  2156  //
  2157  // Solidity: event ClaimAdminFee(address indexed admin, uint256 tokens)
  2158  func (_Curvefifactory *CurvefifactoryFilterer) ParseClaimAdminFee(log types.Log) (*CurvefifactoryClaimAdminFee, error) {
  2159  	event := new(CurvefifactoryClaimAdminFee)
  2160  	if err := _Curvefifactory.contract.UnpackLog(event, "ClaimAdminFee", log); err != nil {
  2161  		return nil, err
  2162  	}
  2163  	event.Raw = log
  2164  	return event, nil
  2165  }
  2166  
  2167  // CurvefifactoryCommitNewParametersIterator is returned from FilterCommitNewParameters and is used to iterate over the raw logs and unpacked data for CommitNewParameters events raised by the Curvefifactory contract.
  2168  type CurvefifactoryCommitNewParametersIterator struct {
  2169  	Event *CurvefifactoryCommitNewParameters // Event containing the contract specifics and raw log
  2170  
  2171  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2172  	event    string              // Event name to use for unpacking event data
  2173  
  2174  	logs chan types.Log        // Log channel receiving the found contract events
  2175  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2176  	done bool                  // Whether the subscription completed delivering logs
  2177  	fail error                 // Occurred error to stop iteration
  2178  }
  2179  
  2180  // Next advances the iterator to the subsequent event, returning whether there
  2181  // are any more events found. In case of a retrieval or parsing error, false is
  2182  // returned and Error() can be queried for the exact failure.
  2183  func (it *CurvefifactoryCommitNewParametersIterator) Next() bool {
  2184  	// If the iterator failed, stop iterating
  2185  	if it.fail != nil {
  2186  		return false
  2187  	}
  2188  	// If the iterator completed, deliver directly whatever's available
  2189  	if it.done {
  2190  		select {
  2191  		case log := <-it.logs:
  2192  			it.Event = new(CurvefifactoryCommitNewParameters)
  2193  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2194  				it.fail = err
  2195  				return false
  2196  			}
  2197  			it.Event.Raw = log
  2198  			return true
  2199  
  2200  		default:
  2201  			return false
  2202  		}
  2203  	}
  2204  	// Iterator still in progress, wait for either a data or an error event
  2205  	select {
  2206  	case log := <-it.logs:
  2207  		it.Event = new(CurvefifactoryCommitNewParameters)
  2208  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2209  			it.fail = err
  2210  			return false
  2211  		}
  2212  		it.Event.Raw = log
  2213  		return true
  2214  
  2215  	case err := <-it.sub.Err():
  2216  		it.done = true
  2217  		it.fail = err
  2218  		return it.Next()
  2219  	}
  2220  }
  2221  
  2222  // Error returns any retrieval or parsing error occurred during filtering.
  2223  func (it *CurvefifactoryCommitNewParametersIterator) Error() error {
  2224  	return it.fail
  2225  }
  2226  
  2227  // Close terminates the iteration process, releasing any pending underlying
  2228  // resources.
  2229  func (it *CurvefifactoryCommitNewParametersIterator) Close() error {
  2230  	it.sub.Unsubscribe()
  2231  	return nil
  2232  }
  2233  
  2234  // CurvefifactoryCommitNewParameters represents a CommitNewParameters event raised by the Curvefifactory contract.
  2235  type CurvefifactoryCommitNewParameters struct {
  2236  	Deadline           *big.Int
  2237  	AdminFee           *big.Int
  2238  	MidFee             *big.Int
  2239  	OutFee             *big.Int
  2240  	FeeGamma           *big.Int
  2241  	AllowedExtraProfit *big.Int
  2242  	AdjustmentStep     *big.Int
  2243  	MaHalfTime         *big.Int
  2244  	Raw                types.Log // Blockchain specific contextual infos
  2245  }
  2246  
  2247  // FilterCommitNewParameters is a free log retrieval operation binding the contract event 0x913fde9a37e1f8ab67876a4d0ce80790d764fcfc5692f4529526df9c6bdde553.
  2248  //
  2249  // Solidity: event CommitNewParameters(uint256 indexed deadline, uint256 admin_fee, uint256 mid_fee, uint256 out_fee, uint256 fee_gamma, uint256 allowed_extra_profit, uint256 adjustment_step, uint256 ma_half_time)
  2250  func (_Curvefifactory *CurvefifactoryFilterer) FilterCommitNewParameters(opts *bind.FilterOpts, deadline []*big.Int) (*CurvefifactoryCommitNewParametersIterator, error) {
  2251  
  2252  	var deadlineRule []interface{}
  2253  	for _, deadlineItem := range deadline {
  2254  		deadlineRule = append(deadlineRule, deadlineItem)
  2255  	}
  2256  
  2257  	logs, sub, err := _Curvefifactory.contract.FilterLogs(opts, "CommitNewParameters", deadlineRule)
  2258  	if err != nil {
  2259  		return nil, err
  2260  	}
  2261  	return &CurvefifactoryCommitNewParametersIterator{contract: _Curvefifactory.contract, event: "CommitNewParameters", logs: logs, sub: sub}, nil
  2262  }
  2263  
  2264  // WatchCommitNewParameters is a free log subscription operation binding the contract event 0x913fde9a37e1f8ab67876a4d0ce80790d764fcfc5692f4529526df9c6bdde553.
  2265  //
  2266  // Solidity: event CommitNewParameters(uint256 indexed deadline, uint256 admin_fee, uint256 mid_fee, uint256 out_fee, uint256 fee_gamma, uint256 allowed_extra_profit, uint256 adjustment_step, uint256 ma_half_time)
  2267  func (_Curvefifactory *CurvefifactoryFilterer) WatchCommitNewParameters(opts *bind.WatchOpts, sink chan<- *CurvefifactoryCommitNewParameters, deadline []*big.Int) (event.Subscription, error) {
  2268  
  2269  	var deadlineRule []interface{}
  2270  	for _, deadlineItem := range deadline {
  2271  		deadlineRule = append(deadlineRule, deadlineItem)
  2272  	}
  2273  
  2274  	logs, sub, err := _Curvefifactory.contract.WatchLogs(opts, "CommitNewParameters", deadlineRule)
  2275  	if err != nil {
  2276  		return nil, err
  2277  	}
  2278  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2279  		defer sub.Unsubscribe()
  2280  		for {
  2281  			select {
  2282  			case log := <-logs:
  2283  				// New log arrived, parse the event and forward to the user
  2284  				event := new(CurvefifactoryCommitNewParameters)
  2285  				if err := _Curvefifactory.contract.UnpackLog(event, "CommitNewParameters", log); err != nil {
  2286  					return err
  2287  				}
  2288  				event.Raw = log
  2289  
  2290  				select {
  2291  				case sink <- event:
  2292  				case err := <-sub.Err():
  2293  					return err
  2294  				case <-quit:
  2295  					return nil
  2296  				}
  2297  			case err := <-sub.Err():
  2298  				return err
  2299  			case <-quit:
  2300  				return nil
  2301  			}
  2302  		}
  2303  	}), nil
  2304  }
  2305  
  2306  // ParseCommitNewParameters is a log parse operation binding the contract event 0x913fde9a37e1f8ab67876a4d0ce80790d764fcfc5692f4529526df9c6bdde553.
  2307  //
  2308  // Solidity: event CommitNewParameters(uint256 indexed deadline, uint256 admin_fee, uint256 mid_fee, uint256 out_fee, uint256 fee_gamma, uint256 allowed_extra_profit, uint256 adjustment_step, uint256 ma_half_time)
  2309  func (_Curvefifactory *CurvefifactoryFilterer) ParseCommitNewParameters(log types.Log) (*CurvefifactoryCommitNewParameters, error) {
  2310  	event := new(CurvefifactoryCommitNewParameters)
  2311  	if err := _Curvefifactory.contract.UnpackLog(event, "CommitNewParameters", log); err != nil {
  2312  		return nil, err
  2313  	}
  2314  	event.Raw = log
  2315  	return event, nil
  2316  }
  2317  
  2318  // CurvefifactoryNewParametersIterator is returned from FilterNewParameters and is used to iterate over the raw logs and unpacked data for NewParameters events raised by the Curvefifactory contract.
  2319  type CurvefifactoryNewParametersIterator struct {
  2320  	Event *CurvefifactoryNewParameters // Event containing the contract specifics and raw log
  2321  
  2322  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2323  	event    string              // Event name to use for unpacking event data
  2324  
  2325  	logs chan types.Log        // Log channel receiving the found contract events
  2326  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2327  	done bool                  // Whether the subscription completed delivering logs
  2328  	fail error                 // Occurred error to stop iteration
  2329  }
  2330  
  2331  // Next advances the iterator to the subsequent event, returning whether there
  2332  // are any more events found. In case of a retrieval or parsing error, false is
  2333  // returned and Error() can be queried for the exact failure.
  2334  func (it *CurvefifactoryNewParametersIterator) Next() bool {
  2335  	// If the iterator failed, stop iterating
  2336  	if it.fail != nil {
  2337  		return false
  2338  	}
  2339  	// If the iterator completed, deliver directly whatever's available
  2340  	if it.done {
  2341  		select {
  2342  		case log := <-it.logs:
  2343  			it.Event = new(CurvefifactoryNewParameters)
  2344  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2345  				it.fail = err
  2346  				return false
  2347  			}
  2348  			it.Event.Raw = log
  2349  			return true
  2350  
  2351  		default:
  2352  			return false
  2353  		}
  2354  	}
  2355  	// Iterator still in progress, wait for either a data or an error event
  2356  	select {
  2357  	case log := <-it.logs:
  2358  		it.Event = new(CurvefifactoryNewParameters)
  2359  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2360  			it.fail = err
  2361  			return false
  2362  		}
  2363  		it.Event.Raw = log
  2364  		return true
  2365  
  2366  	case err := <-it.sub.Err():
  2367  		it.done = true
  2368  		it.fail = err
  2369  		return it.Next()
  2370  	}
  2371  }
  2372  
  2373  // Error returns any retrieval or parsing error occurred during filtering.
  2374  func (it *CurvefifactoryNewParametersIterator) Error() error {
  2375  	return it.fail
  2376  }
  2377  
  2378  // Close terminates the iteration process, releasing any pending underlying
  2379  // resources.
  2380  func (it *CurvefifactoryNewParametersIterator) Close() error {
  2381  	it.sub.Unsubscribe()
  2382  	return nil
  2383  }
  2384  
  2385  // CurvefifactoryNewParameters represents a NewParameters event raised by the Curvefifactory contract.
  2386  type CurvefifactoryNewParameters struct {
  2387  	AdminFee           *big.Int
  2388  	MidFee             *big.Int
  2389  	OutFee             *big.Int
  2390  	FeeGamma           *big.Int
  2391  	AllowedExtraProfit *big.Int
  2392  	AdjustmentStep     *big.Int
  2393  	MaHalfTime         *big.Int
  2394  	Raw                types.Log // Blockchain specific contextual infos
  2395  }
  2396  
  2397  // FilterNewParameters is a free log retrieval operation binding the contract event 0x1c65bbdc939f346e5d6f0bde1f072819947438d4fc7b182cc59c2f6dc5504087.
  2398  //
  2399  // Solidity: event NewParameters(uint256 admin_fee, uint256 mid_fee, uint256 out_fee, uint256 fee_gamma, uint256 allowed_extra_profit, uint256 adjustment_step, uint256 ma_half_time)
  2400  func (_Curvefifactory *CurvefifactoryFilterer) FilterNewParameters(opts *bind.FilterOpts) (*CurvefifactoryNewParametersIterator, error) {
  2401  
  2402  	logs, sub, err := _Curvefifactory.contract.FilterLogs(opts, "NewParameters")
  2403  	if err != nil {
  2404  		return nil, err
  2405  	}
  2406  	return &CurvefifactoryNewParametersIterator{contract: _Curvefifactory.contract, event: "NewParameters", logs: logs, sub: sub}, nil
  2407  }
  2408  
  2409  // WatchNewParameters is a free log subscription operation binding the contract event 0x1c65bbdc939f346e5d6f0bde1f072819947438d4fc7b182cc59c2f6dc5504087.
  2410  //
  2411  // Solidity: event NewParameters(uint256 admin_fee, uint256 mid_fee, uint256 out_fee, uint256 fee_gamma, uint256 allowed_extra_profit, uint256 adjustment_step, uint256 ma_half_time)
  2412  func (_Curvefifactory *CurvefifactoryFilterer) WatchNewParameters(opts *bind.WatchOpts, sink chan<- *CurvefifactoryNewParameters) (event.Subscription, error) {
  2413  
  2414  	logs, sub, err := _Curvefifactory.contract.WatchLogs(opts, "NewParameters")
  2415  	if err != nil {
  2416  		return nil, err
  2417  	}
  2418  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2419  		defer sub.Unsubscribe()
  2420  		for {
  2421  			select {
  2422  			case log := <-logs:
  2423  				// New log arrived, parse the event and forward to the user
  2424  				event := new(CurvefifactoryNewParameters)
  2425  				if err := _Curvefifactory.contract.UnpackLog(event, "NewParameters", log); err != nil {
  2426  					return err
  2427  				}
  2428  				event.Raw = log
  2429  
  2430  				select {
  2431  				case sink <- event:
  2432  				case err := <-sub.Err():
  2433  					return err
  2434  				case <-quit:
  2435  					return nil
  2436  				}
  2437  			case err := <-sub.Err():
  2438  				return err
  2439  			case <-quit:
  2440  				return nil
  2441  			}
  2442  		}
  2443  	}), nil
  2444  }
  2445  
  2446  // ParseNewParameters is a log parse operation binding the contract event 0x1c65bbdc939f346e5d6f0bde1f072819947438d4fc7b182cc59c2f6dc5504087.
  2447  //
  2448  // Solidity: event NewParameters(uint256 admin_fee, uint256 mid_fee, uint256 out_fee, uint256 fee_gamma, uint256 allowed_extra_profit, uint256 adjustment_step, uint256 ma_half_time)
  2449  func (_Curvefifactory *CurvefifactoryFilterer) ParseNewParameters(log types.Log) (*CurvefifactoryNewParameters, error) {
  2450  	event := new(CurvefifactoryNewParameters)
  2451  	if err := _Curvefifactory.contract.UnpackLog(event, "NewParameters", log); err != nil {
  2452  		return nil, err
  2453  	}
  2454  	event.Raw = log
  2455  	return event, nil
  2456  }
  2457  
  2458  // CurvefifactoryRampAgammaIterator is returned from FilterRampAgamma and is used to iterate over the raw logs and unpacked data for RampAgamma events raised by the Curvefifactory contract.
  2459  type CurvefifactoryRampAgammaIterator struct {
  2460  	Event *CurvefifactoryRampAgamma // Event containing the contract specifics and raw log
  2461  
  2462  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2463  	event    string              // Event name to use for unpacking event data
  2464  
  2465  	logs chan types.Log        // Log channel receiving the found contract events
  2466  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2467  	done bool                  // Whether the subscription completed delivering logs
  2468  	fail error                 // Occurred error to stop iteration
  2469  }
  2470  
  2471  // Next advances the iterator to the subsequent event, returning whether there
  2472  // are any more events found. In case of a retrieval or parsing error, false is
  2473  // returned and Error() can be queried for the exact failure.
  2474  func (it *CurvefifactoryRampAgammaIterator) Next() bool {
  2475  	// If the iterator failed, stop iterating
  2476  	if it.fail != nil {
  2477  		return false
  2478  	}
  2479  	// If the iterator completed, deliver directly whatever's available
  2480  	if it.done {
  2481  		select {
  2482  		case log := <-it.logs:
  2483  			it.Event = new(CurvefifactoryRampAgamma)
  2484  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2485  				it.fail = err
  2486  				return false
  2487  			}
  2488  			it.Event.Raw = log
  2489  			return true
  2490  
  2491  		default:
  2492  			return false
  2493  		}
  2494  	}
  2495  	// Iterator still in progress, wait for either a data or an error event
  2496  	select {
  2497  	case log := <-it.logs:
  2498  		it.Event = new(CurvefifactoryRampAgamma)
  2499  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2500  			it.fail = err
  2501  			return false
  2502  		}
  2503  		it.Event.Raw = log
  2504  		return true
  2505  
  2506  	case err := <-it.sub.Err():
  2507  		it.done = true
  2508  		it.fail = err
  2509  		return it.Next()
  2510  	}
  2511  }
  2512  
  2513  // Error returns any retrieval or parsing error occurred during filtering.
  2514  func (it *CurvefifactoryRampAgammaIterator) Error() error {
  2515  	return it.fail
  2516  }
  2517  
  2518  // Close terminates the iteration process, releasing any pending underlying
  2519  // resources.
  2520  func (it *CurvefifactoryRampAgammaIterator) Close() error {
  2521  	it.sub.Unsubscribe()
  2522  	return nil
  2523  }
  2524  
  2525  // CurvefifactoryRampAgamma represents a RampAgamma event raised by the Curvefifactory contract.
  2526  type CurvefifactoryRampAgamma struct {
  2527  	InitialA     *big.Int
  2528  	FutureA      *big.Int
  2529  	InitialGamma *big.Int
  2530  	FutureGamma  *big.Int
  2531  	InitialTime  *big.Int
  2532  	FutureTime   *big.Int
  2533  	Raw          types.Log // Blockchain specific contextual infos
  2534  }
  2535  
  2536  // FilterRampAgamma is a free log retrieval operation binding the contract event 0xe35f0559b0642164e286b30df2077ec3a05426617a25db7578fd20ba39a6cd05.
  2537  //
  2538  // Solidity: event RampAgamma(uint256 initial_A, uint256 future_A, uint256 initial_gamma, uint256 future_gamma, uint256 initial_time, uint256 future_time)
  2539  func (_Curvefifactory *CurvefifactoryFilterer) FilterRampAgamma(opts *bind.FilterOpts) (*CurvefifactoryRampAgammaIterator, error) {
  2540  
  2541  	logs, sub, err := _Curvefifactory.contract.FilterLogs(opts, "RampAgamma")
  2542  	if err != nil {
  2543  		return nil, err
  2544  	}
  2545  	return &CurvefifactoryRampAgammaIterator{contract: _Curvefifactory.contract, event: "RampAgamma", logs: logs, sub: sub}, nil
  2546  }
  2547  
  2548  // WatchRampAgamma is a free log subscription operation binding the contract event 0xe35f0559b0642164e286b30df2077ec3a05426617a25db7578fd20ba39a6cd05.
  2549  //
  2550  // Solidity: event RampAgamma(uint256 initial_A, uint256 future_A, uint256 initial_gamma, uint256 future_gamma, uint256 initial_time, uint256 future_time)
  2551  func (_Curvefifactory *CurvefifactoryFilterer) WatchRampAgamma(opts *bind.WatchOpts, sink chan<- *CurvefifactoryRampAgamma) (event.Subscription, error) {
  2552  
  2553  	logs, sub, err := _Curvefifactory.contract.WatchLogs(opts, "RampAgamma")
  2554  	if err != nil {
  2555  		return nil, err
  2556  	}
  2557  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2558  		defer sub.Unsubscribe()
  2559  		for {
  2560  			select {
  2561  			case log := <-logs:
  2562  				// New log arrived, parse the event and forward to the user
  2563  				event := new(CurvefifactoryRampAgamma)
  2564  				if err := _Curvefifactory.contract.UnpackLog(event, "RampAgamma", log); err != nil {
  2565  					return err
  2566  				}
  2567  				event.Raw = log
  2568  
  2569  				select {
  2570  				case sink <- event:
  2571  				case err := <-sub.Err():
  2572  					return err
  2573  				case <-quit:
  2574  					return nil
  2575  				}
  2576  			case err := <-sub.Err():
  2577  				return err
  2578  			case <-quit:
  2579  				return nil
  2580  			}
  2581  		}
  2582  	}), nil
  2583  }
  2584  
  2585  // ParseRampAgamma is a log parse operation binding the contract event 0xe35f0559b0642164e286b30df2077ec3a05426617a25db7578fd20ba39a6cd05.
  2586  //
  2587  // Solidity: event RampAgamma(uint256 initial_A, uint256 future_A, uint256 initial_gamma, uint256 future_gamma, uint256 initial_time, uint256 future_time)
  2588  func (_Curvefifactory *CurvefifactoryFilterer) ParseRampAgamma(log types.Log) (*CurvefifactoryRampAgamma, error) {
  2589  	event := new(CurvefifactoryRampAgamma)
  2590  	if err := _Curvefifactory.contract.UnpackLog(event, "RampAgamma", log); err != nil {
  2591  		return nil, err
  2592  	}
  2593  	event.Raw = log
  2594  	return event, nil
  2595  }
  2596  
  2597  // CurvefifactoryRemoveLiquidityIterator is returned from FilterRemoveLiquidity and is used to iterate over the raw logs and unpacked data for RemoveLiquidity events raised by the Curvefifactory contract.
  2598  type CurvefifactoryRemoveLiquidityIterator struct {
  2599  	Event *CurvefifactoryRemoveLiquidity // Event containing the contract specifics and raw log
  2600  
  2601  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2602  	event    string              // Event name to use for unpacking event data
  2603  
  2604  	logs chan types.Log        // Log channel receiving the found contract events
  2605  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2606  	done bool                  // Whether the subscription completed delivering logs
  2607  	fail error                 // Occurred error to stop iteration
  2608  }
  2609  
  2610  // Next advances the iterator to the subsequent event, returning whether there
  2611  // are any more events found. In case of a retrieval or parsing error, false is
  2612  // returned and Error() can be queried for the exact failure.
  2613  func (it *CurvefifactoryRemoveLiquidityIterator) Next() bool {
  2614  	// If the iterator failed, stop iterating
  2615  	if it.fail != nil {
  2616  		return false
  2617  	}
  2618  	// If the iterator completed, deliver directly whatever's available
  2619  	if it.done {
  2620  		select {
  2621  		case log := <-it.logs:
  2622  			it.Event = new(CurvefifactoryRemoveLiquidity)
  2623  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2624  				it.fail = err
  2625  				return false
  2626  			}
  2627  			it.Event.Raw = log
  2628  			return true
  2629  
  2630  		default:
  2631  			return false
  2632  		}
  2633  	}
  2634  	// Iterator still in progress, wait for either a data or an error event
  2635  	select {
  2636  	case log := <-it.logs:
  2637  		it.Event = new(CurvefifactoryRemoveLiquidity)
  2638  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2639  			it.fail = err
  2640  			return false
  2641  		}
  2642  		it.Event.Raw = log
  2643  		return true
  2644  
  2645  	case err := <-it.sub.Err():
  2646  		it.done = true
  2647  		it.fail = err
  2648  		return it.Next()
  2649  	}
  2650  }
  2651  
  2652  // Error returns any retrieval or parsing error occurred during filtering.
  2653  func (it *CurvefifactoryRemoveLiquidityIterator) Error() error {
  2654  	return it.fail
  2655  }
  2656  
  2657  // Close terminates the iteration process, releasing any pending underlying
  2658  // resources.
  2659  func (it *CurvefifactoryRemoveLiquidityIterator) Close() error {
  2660  	it.sub.Unsubscribe()
  2661  	return nil
  2662  }
  2663  
  2664  // CurvefifactoryRemoveLiquidity represents a RemoveLiquidity event raised by the Curvefifactory contract.
  2665  type CurvefifactoryRemoveLiquidity struct {
  2666  	Provider     common.Address
  2667  	TokenAmounts [2]*big.Int
  2668  	TokenSupply  *big.Int
  2669  	Raw          types.Log // Blockchain specific contextual infos
  2670  }
  2671  
  2672  // FilterRemoveLiquidity is a free log retrieval operation binding the contract event 0xdd3c0336a16f1b64f172b7bb0dad5b2b3c7c76f91e8c4aafd6aae60dce800153.
  2673  //
  2674  // Solidity: event RemoveLiquidity(address indexed provider, uint256[2] token_amounts, uint256 token_supply)
  2675  func (_Curvefifactory *CurvefifactoryFilterer) FilterRemoveLiquidity(opts *bind.FilterOpts, provider []common.Address) (*CurvefifactoryRemoveLiquidityIterator, error) {
  2676  
  2677  	var providerRule []interface{}
  2678  	for _, providerItem := range provider {
  2679  		providerRule = append(providerRule, providerItem)
  2680  	}
  2681  
  2682  	logs, sub, err := _Curvefifactory.contract.FilterLogs(opts, "RemoveLiquidity", providerRule)
  2683  	if err != nil {
  2684  		return nil, err
  2685  	}
  2686  	return &CurvefifactoryRemoveLiquidityIterator{contract: _Curvefifactory.contract, event: "RemoveLiquidity", logs: logs, sub: sub}, nil
  2687  }
  2688  
  2689  // WatchRemoveLiquidity is a free log subscription operation binding the contract event 0xdd3c0336a16f1b64f172b7bb0dad5b2b3c7c76f91e8c4aafd6aae60dce800153.
  2690  //
  2691  // Solidity: event RemoveLiquidity(address indexed provider, uint256[2] token_amounts, uint256 token_supply)
  2692  func (_Curvefifactory *CurvefifactoryFilterer) WatchRemoveLiquidity(opts *bind.WatchOpts, sink chan<- *CurvefifactoryRemoveLiquidity, provider []common.Address) (event.Subscription, error) {
  2693  
  2694  	var providerRule []interface{}
  2695  	for _, providerItem := range provider {
  2696  		providerRule = append(providerRule, providerItem)
  2697  	}
  2698  
  2699  	logs, sub, err := _Curvefifactory.contract.WatchLogs(opts, "RemoveLiquidity", providerRule)
  2700  	if err != nil {
  2701  		return nil, err
  2702  	}
  2703  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2704  		defer sub.Unsubscribe()
  2705  		for {
  2706  			select {
  2707  			case log := <-logs:
  2708  				// New log arrived, parse the event and forward to the user
  2709  				event := new(CurvefifactoryRemoveLiquidity)
  2710  				if err := _Curvefifactory.contract.UnpackLog(event, "RemoveLiquidity", log); err != nil {
  2711  					return err
  2712  				}
  2713  				event.Raw = log
  2714  
  2715  				select {
  2716  				case sink <- event:
  2717  				case err := <-sub.Err():
  2718  					return err
  2719  				case <-quit:
  2720  					return nil
  2721  				}
  2722  			case err := <-sub.Err():
  2723  				return err
  2724  			case <-quit:
  2725  				return nil
  2726  			}
  2727  		}
  2728  	}), nil
  2729  }
  2730  
  2731  // ParseRemoveLiquidity is a log parse operation binding the contract event 0xdd3c0336a16f1b64f172b7bb0dad5b2b3c7c76f91e8c4aafd6aae60dce800153.
  2732  //
  2733  // Solidity: event RemoveLiquidity(address indexed provider, uint256[2] token_amounts, uint256 token_supply)
  2734  func (_Curvefifactory *CurvefifactoryFilterer) ParseRemoveLiquidity(log types.Log) (*CurvefifactoryRemoveLiquidity, error) {
  2735  	event := new(CurvefifactoryRemoveLiquidity)
  2736  	if err := _Curvefifactory.contract.UnpackLog(event, "RemoveLiquidity", log); err != nil {
  2737  		return nil, err
  2738  	}
  2739  	event.Raw = log
  2740  	return event, nil
  2741  }
  2742  
  2743  // CurvefifactoryRemoveLiquidityOneIterator is returned from FilterRemoveLiquidityOne and is used to iterate over the raw logs and unpacked data for RemoveLiquidityOne events raised by the Curvefifactory contract.
  2744  type CurvefifactoryRemoveLiquidityOneIterator struct {
  2745  	Event *CurvefifactoryRemoveLiquidityOne // Event containing the contract specifics and raw log
  2746  
  2747  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2748  	event    string              // Event name to use for unpacking event data
  2749  
  2750  	logs chan types.Log        // Log channel receiving the found contract events
  2751  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2752  	done bool                  // Whether the subscription completed delivering logs
  2753  	fail error                 // Occurred error to stop iteration
  2754  }
  2755  
  2756  // Next advances the iterator to the subsequent event, returning whether there
  2757  // are any more events found. In case of a retrieval or parsing error, false is
  2758  // returned and Error() can be queried for the exact failure.
  2759  func (it *CurvefifactoryRemoveLiquidityOneIterator) Next() bool {
  2760  	// If the iterator failed, stop iterating
  2761  	if it.fail != nil {
  2762  		return false
  2763  	}
  2764  	// If the iterator completed, deliver directly whatever's available
  2765  	if it.done {
  2766  		select {
  2767  		case log := <-it.logs:
  2768  			it.Event = new(CurvefifactoryRemoveLiquidityOne)
  2769  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2770  				it.fail = err
  2771  				return false
  2772  			}
  2773  			it.Event.Raw = log
  2774  			return true
  2775  
  2776  		default:
  2777  			return false
  2778  		}
  2779  	}
  2780  	// Iterator still in progress, wait for either a data or an error event
  2781  	select {
  2782  	case log := <-it.logs:
  2783  		it.Event = new(CurvefifactoryRemoveLiquidityOne)
  2784  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2785  			it.fail = err
  2786  			return false
  2787  		}
  2788  		it.Event.Raw = log
  2789  		return true
  2790  
  2791  	case err := <-it.sub.Err():
  2792  		it.done = true
  2793  		it.fail = err
  2794  		return it.Next()
  2795  	}
  2796  }
  2797  
  2798  // Error returns any retrieval or parsing error occurred during filtering.
  2799  func (it *CurvefifactoryRemoveLiquidityOneIterator) Error() error {
  2800  	return it.fail
  2801  }
  2802  
  2803  // Close terminates the iteration process, releasing any pending underlying
  2804  // resources.
  2805  func (it *CurvefifactoryRemoveLiquidityOneIterator) Close() error {
  2806  	it.sub.Unsubscribe()
  2807  	return nil
  2808  }
  2809  
  2810  // CurvefifactoryRemoveLiquidityOne represents a RemoveLiquidityOne event raised by the Curvefifactory contract.
  2811  type CurvefifactoryRemoveLiquidityOne struct {
  2812  	Provider    common.Address
  2813  	TokenAmount *big.Int
  2814  	CoinIndex   *big.Int
  2815  	CoinAmount  *big.Int
  2816  	Raw         types.Log // Blockchain specific contextual infos
  2817  }
  2818  
  2819  // FilterRemoveLiquidityOne is a free log retrieval operation binding the contract event 0x5ad056f2e28a8cec232015406b843668c1e36cda598127ec3b8c59b8c72773a0.
  2820  //
  2821  // Solidity: event RemoveLiquidityOne(address indexed provider, uint256 token_amount, uint256 coin_index, uint256 coin_amount)
  2822  func (_Curvefifactory *CurvefifactoryFilterer) FilterRemoveLiquidityOne(opts *bind.FilterOpts, provider []common.Address) (*CurvefifactoryRemoveLiquidityOneIterator, error) {
  2823  
  2824  	var providerRule []interface{}
  2825  	for _, providerItem := range provider {
  2826  		providerRule = append(providerRule, providerItem)
  2827  	}
  2828  
  2829  	logs, sub, err := _Curvefifactory.contract.FilterLogs(opts, "RemoveLiquidityOne", providerRule)
  2830  	if err != nil {
  2831  		return nil, err
  2832  	}
  2833  	return &CurvefifactoryRemoveLiquidityOneIterator{contract: _Curvefifactory.contract, event: "RemoveLiquidityOne", logs: logs, sub: sub}, nil
  2834  }
  2835  
  2836  // WatchRemoveLiquidityOne is a free log subscription operation binding the contract event 0x5ad056f2e28a8cec232015406b843668c1e36cda598127ec3b8c59b8c72773a0.
  2837  //
  2838  // Solidity: event RemoveLiquidityOne(address indexed provider, uint256 token_amount, uint256 coin_index, uint256 coin_amount)
  2839  func (_Curvefifactory *CurvefifactoryFilterer) WatchRemoveLiquidityOne(opts *bind.WatchOpts, sink chan<- *CurvefifactoryRemoveLiquidityOne, provider []common.Address) (event.Subscription, error) {
  2840  
  2841  	var providerRule []interface{}
  2842  	for _, providerItem := range provider {
  2843  		providerRule = append(providerRule, providerItem)
  2844  	}
  2845  
  2846  	logs, sub, err := _Curvefifactory.contract.WatchLogs(opts, "RemoveLiquidityOne", providerRule)
  2847  	if err != nil {
  2848  		return nil, err
  2849  	}
  2850  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2851  		defer sub.Unsubscribe()
  2852  		for {
  2853  			select {
  2854  			case log := <-logs:
  2855  				// New log arrived, parse the event and forward to the user
  2856  				event := new(CurvefifactoryRemoveLiquidityOne)
  2857  				if err := _Curvefifactory.contract.UnpackLog(event, "RemoveLiquidityOne", log); err != nil {
  2858  					return err
  2859  				}
  2860  				event.Raw = log
  2861  
  2862  				select {
  2863  				case sink <- event:
  2864  				case err := <-sub.Err():
  2865  					return err
  2866  				case <-quit:
  2867  					return nil
  2868  				}
  2869  			case err := <-sub.Err():
  2870  				return err
  2871  			case <-quit:
  2872  				return nil
  2873  			}
  2874  		}
  2875  	}), nil
  2876  }
  2877  
  2878  // ParseRemoveLiquidityOne is a log parse operation binding the contract event 0x5ad056f2e28a8cec232015406b843668c1e36cda598127ec3b8c59b8c72773a0.
  2879  //
  2880  // Solidity: event RemoveLiquidityOne(address indexed provider, uint256 token_amount, uint256 coin_index, uint256 coin_amount)
  2881  func (_Curvefifactory *CurvefifactoryFilterer) ParseRemoveLiquidityOne(log types.Log) (*CurvefifactoryRemoveLiquidityOne, error) {
  2882  	event := new(CurvefifactoryRemoveLiquidityOne)
  2883  	if err := _Curvefifactory.contract.UnpackLog(event, "RemoveLiquidityOne", log); err != nil {
  2884  		return nil, err
  2885  	}
  2886  	event.Raw = log
  2887  	return event, nil
  2888  }
  2889  
  2890  // CurvefifactoryStopRampAIterator is returned from FilterStopRampA and is used to iterate over the raw logs and unpacked data for StopRampA events raised by the Curvefifactory contract.
  2891  type CurvefifactoryStopRampAIterator struct {
  2892  	Event *CurvefifactoryStopRampA // Event containing the contract specifics and raw log
  2893  
  2894  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2895  	event    string              // Event name to use for unpacking event data
  2896  
  2897  	logs chan types.Log        // Log channel receiving the found contract events
  2898  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2899  	done bool                  // Whether the subscription completed delivering logs
  2900  	fail error                 // Occurred error to stop iteration
  2901  }
  2902  
  2903  // Next advances the iterator to the subsequent event, returning whether there
  2904  // are any more events found. In case of a retrieval or parsing error, false is
  2905  // returned and Error() can be queried for the exact failure.
  2906  func (it *CurvefifactoryStopRampAIterator) Next() bool {
  2907  	// If the iterator failed, stop iterating
  2908  	if it.fail != nil {
  2909  		return false
  2910  	}
  2911  	// If the iterator completed, deliver directly whatever's available
  2912  	if it.done {
  2913  		select {
  2914  		case log := <-it.logs:
  2915  			it.Event = new(CurvefifactoryStopRampA)
  2916  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2917  				it.fail = err
  2918  				return false
  2919  			}
  2920  			it.Event.Raw = log
  2921  			return true
  2922  
  2923  		default:
  2924  			return false
  2925  		}
  2926  	}
  2927  	// Iterator still in progress, wait for either a data or an error event
  2928  	select {
  2929  	case log := <-it.logs:
  2930  		it.Event = new(CurvefifactoryStopRampA)
  2931  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2932  			it.fail = err
  2933  			return false
  2934  		}
  2935  		it.Event.Raw = log
  2936  		return true
  2937  
  2938  	case err := <-it.sub.Err():
  2939  		it.done = true
  2940  		it.fail = err
  2941  		return it.Next()
  2942  	}
  2943  }
  2944  
  2945  // Error returns any retrieval or parsing error occurred during filtering.
  2946  func (it *CurvefifactoryStopRampAIterator) Error() error {
  2947  	return it.fail
  2948  }
  2949  
  2950  // Close terminates the iteration process, releasing any pending underlying
  2951  // resources.
  2952  func (it *CurvefifactoryStopRampAIterator) Close() error {
  2953  	it.sub.Unsubscribe()
  2954  	return nil
  2955  }
  2956  
  2957  // CurvefifactoryStopRampA represents a StopRampA event raised by the Curvefifactory contract.
  2958  type CurvefifactoryStopRampA struct {
  2959  	CurrentA     *big.Int
  2960  	CurrentGamma *big.Int
  2961  	Time         *big.Int
  2962  	Raw          types.Log // Blockchain specific contextual infos
  2963  }
  2964  
  2965  // FilterStopRampA is a free log retrieval operation binding the contract event 0x5f0e7fba3d100c9e19446e1c92fe436f0a9a22fe99669360e4fdd6d3de2fc284.
  2966  //
  2967  // Solidity: event StopRampA(uint256 current_A, uint256 current_gamma, uint256 time)
  2968  func (_Curvefifactory *CurvefifactoryFilterer) FilterStopRampA(opts *bind.FilterOpts) (*CurvefifactoryStopRampAIterator, error) {
  2969  
  2970  	logs, sub, err := _Curvefifactory.contract.FilterLogs(opts, "StopRampA")
  2971  	if err != nil {
  2972  		return nil, err
  2973  	}
  2974  	return &CurvefifactoryStopRampAIterator{contract: _Curvefifactory.contract, event: "StopRampA", logs: logs, sub: sub}, nil
  2975  }
  2976  
  2977  // WatchStopRampA is a free log subscription operation binding the contract event 0x5f0e7fba3d100c9e19446e1c92fe436f0a9a22fe99669360e4fdd6d3de2fc284.
  2978  //
  2979  // Solidity: event StopRampA(uint256 current_A, uint256 current_gamma, uint256 time)
  2980  func (_Curvefifactory *CurvefifactoryFilterer) WatchStopRampA(opts *bind.WatchOpts, sink chan<- *CurvefifactoryStopRampA) (event.Subscription, error) {
  2981  
  2982  	logs, sub, err := _Curvefifactory.contract.WatchLogs(opts, "StopRampA")
  2983  	if err != nil {
  2984  		return nil, err
  2985  	}
  2986  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2987  		defer sub.Unsubscribe()
  2988  		for {
  2989  			select {
  2990  			case log := <-logs:
  2991  				// New log arrived, parse the event and forward to the user
  2992  				event := new(CurvefifactoryStopRampA)
  2993  				if err := _Curvefifactory.contract.UnpackLog(event, "StopRampA", log); err != nil {
  2994  					return err
  2995  				}
  2996  				event.Raw = log
  2997  
  2998  				select {
  2999  				case sink <- event:
  3000  				case err := <-sub.Err():
  3001  					return err
  3002  				case <-quit:
  3003  					return nil
  3004  				}
  3005  			case err := <-sub.Err():
  3006  				return err
  3007  			case <-quit:
  3008  				return nil
  3009  			}
  3010  		}
  3011  	}), nil
  3012  }
  3013  
  3014  // ParseStopRampA is a log parse operation binding the contract event 0x5f0e7fba3d100c9e19446e1c92fe436f0a9a22fe99669360e4fdd6d3de2fc284.
  3015  //
  3016  // Solidity: event StopRampA(uint256 current_A, uint256 current_gamma, uint256 time)
  3017  func (_Curvefifactory *CurvefifactoryFilterer) ParseStopRampA(log types.Log) (*CurvefifactoryStopRampA, error) {
  3018  	event := new(CurvefifactoryStopRampA)
  3019  	if err := _Curvefifactory.contract.UnpackLog(event, "StopRampA", log); err != nil {
  3020  		return nil, err
  3021  	}
  3022  	event.Raw = log
  3023  	return event, nil
  3024  }
  3025  
  3026  // CurvefifactoryTokenExchangeIterator is returned from FilterTokenExchange and is used to iterate over the raw logs and unpacked data for TokenExchange events raised by the Curvefifactory contract.
  3027  type CurvefifactoryTokenExchangeIterator struct {
  3028  	Event *CurvefifactoryTokenExchange // Event containing the contract specifics and raw log
  3029  
  3030  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  3031  	event    string              // Event name to use for unpacking event data
  3032  
  3033  	logs chan types.Log        // Log channel receiving the found contract events
  3034  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  3035  	done bool                  // Whether the subscription completed delivering logs
  3036  	fail error                 // Occurred error to stop iteration
  3037  }
  3038  
  3039  // Next advances the iterator to the subsequent event, returning whether there
  3040  // are any more events found. In case of a retrieval or parsing error, false is
  3041  // returned and Error() can be queried for the exact failure.
  3042  func (it *CurvefifactoryTokenExchangeIterator) Next() bool {
  3043  	// If the iterator failed, stop iterating
  3044  	if it.fail != nil {
  3045  		return false
  3046  	}
  3047  	// If the iterator completed, deliver directly whatever's available
  3048  	if it.done {
  3049  		select {
  3050  		case log := <-it.logs:
  3051  			it.Event = new(CurvefifactoryTokenExchange)
  3052  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3053  				it.fail = err
  3054  				return false
  3055  			}
  3056  			it.Event.Raw = log
  3057  			return true
  3058  
  3059  		default:
  3060  			return false
  3061  		}
  3062  	}
  3063  	// Iterator still in progress, wait for either a data or an error event
  3064  	select {
  3065  	case log := <-it.logs:
  3066  		it.Event = new(CurvefifactoryTokenExchange)
  3067  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  3068  			it.fail = err
  3069  			return false
  3070  		}
  3071  		it.Event.Raw = log
  3072  		return true
  3073  
  3074  	case err := <-it.sub.Err():
  3075  		it.done = true
  3076  		it.fail = err
  3077  		return it.Next()
  3078  	}
  3079  }
  3080  
  3081  // Error returns any retrieval or parsing error occurred during filtering.
  3082  func (it *CurvefifactoryTokenExchangeIterator) Error() error {
  3083  	return it.fail
  3084  }
  3085  
  3086  // Close terminates the iteration process, releasing any pending underlying
  3087  // resources.
  3088  func (it *CurvefifactoryTokenExchangeIterator) Close() error {
  3089  	it.sub.Unsubscribe()
  3090  	return nil
  3091  }
  3092  
  3093  // CurvefifactoryTokenExchange represents a TokenExchange event raised by the Curvefifactory contract.
  3094  type CurvefifactoryTokenExchange struct {
  3095  	Buyer        common.Address
  3096  	SoldId       *big.Int
  3097  	TokensSold   *big.Int
  3098  	BoughtId     *big.Int
  3099  	TokensBought *big.Int
  3100  	Raw          types.Log // Blockchain specific contextual infos
  3101  }
  3102  
  3103  // FilterTokenExchange is a free log retrieval operation binding the contract event 0xb2e76ae99761dc136e598d4a629bb347eccb9532a5f8bbd72e18467c3c34cc98.
  3104  //
  3105  // Solidity: event TokenExchange(address indexed buyer, uint256 sold_id, uint256 tokens_sold, uint256 bought_id, uint256 tokens_bought)
  3106  func (_Curvefifactory *CurvefifactoryFilterer) FilterTokenExchange(opts *bind.FilterOpts, buyer []common.Address) (*CurvefifactoryTokenExchangeIterator, error) {
  3107  
  3108  	var buyerRule []interface{}
  3109  	for _, buyerItem := range buyer {
  3110  		buyerRule = append(buyerRule, buyerItem)
  3111  	}
  3112  
  3113  	logs, sub, err := _Curvefifactory.contract.FilterLogs(opts, "TokenExchange", buyerRule)
  3114  	if err != nil {
  3115  		return nil, err
  3116  	}
  3117  	return &CurvefifactoryTokenExchangeIterator{contract: _Curvefifactory.contract, event: "TokenExchange", logs: logs, sub: sub}, nil
  3118  }
  3119  
  3120  // WatchTokenExchange is a free log subscription operation binding the contract event 0xb2e76ae99761dc136e598d4a629bb347eccb9532a5f8bbd72e18467c3c34cc98.
  3121  //
  3122  // Solidity: event TokenExchange(address indexed buyer, uint256 sold_id, uint256 tokens_sold, uint256 bought_id, uint256 tokens_bought)
  3123  func (_Curvefifactory *CurvefifactoryFilterer) WatchTokenExchange(opts *bind.WatchOpts, sink chan<- *CurvefifactoryTokenExchange, buyer []common.Address) (event.Subscription, error) {
  3124  
  3125  	var buyerRule []interface{}
  3126  	for _, buyerItem := range buyer {
  3127  		buyerRule = append(buyerRule, buyerItem)
  3128  	}
  3129  
  3130  	logs, sub, err := _Curvefifactory.contract.WatchLogs(opts, "TokenExchange", buyerRule)
  3131  	if err != nil {
  3132  		return nil, err
  3133  	}
  3134  	return event.NewSubscription(func(quit <-chan struct{}) error {
  3135  		defer sub.Unsubscribe()
  3136  		for {
  3137  			select {
  3138  			case log := <-logs:
  3139  				// New log arrived, parse the event and forward to the user
  3140  				event := new(CurvefifactoryTokenExchange)
  3141  				if err := _Curvefifactory.contract.UnpackLog(event, "TokenExchange", log); err != nil {
  3142  					return err
  3143  				}
  3144  				event.Raw = log
  3145  
  3146  				select {
  3147  				case sink <- event:
  3148  				case err := <-sub.Err():
  3149  					return err
  3150  				case <-quit:
  3151  					return nil
  3152  				}
  3153  			case err := <-sub.Err():
  3154  				return err
  3155  			case <-quit:
  3156  				return nil
  3157  			}
  3158  		}
  3159  	}), nil
  3160  }
  3161  
  3162  // ParseTokenExchange is a log parse operation binding the contract event 0xb2e76ae99761dc136e598d4a629bb347eccb9532a5f8bbd72e18467c3c34cc98.
  3163  //
  3164  // Solidity: event TokenExchange(address indexed buyer, uint256 sold_id, uint256 tokens_sold, uint256 bought_id, uint256 tokens_bought)
  3165  func (_Curvefifactory *CurvefifactoryFilterer) ParseTokenExchange(log types.Log) (*CurvefifactoryTokenExchange, error) {
  3166  	event := new(CurvefifactoryTokenExchange)
  3167  	if err := _Curvefifactory.contract.UnpackLog(event, "TokenExchange", log); err != nil {
  3168  		return nil, err
  3169  	}
  3170  	event.Raw = log
  3171  	return event, nil
  3172  }