Skip to content

Instantly share code, notes, and snippets.

@Aviksaikat
Created November 30, 2023 00:10
Show Gist options
  • Save Aviksaikat/a73c6ce975e327614d00a94f456c75a1 to your computer and use it in GitHub Desktop.
Save Aviksaikat/a73c6ce975e327614d00a94f456c75a1 to your computer and use it in GitHub Desktop.
Interface for the curve pool contract
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;
interface ICurvePool {
function get_virtual_price() external returns (uint256 out);
function add_liquidity(uint256[2] calldata amounts, uint256 deadline) external;
function get_dy(int128 i, int128 j, uint256 dx) external returns (uint256 out);
function get_dy_underlying(int128 i, int128 j, uint256 dx) external returns (uint256 out);
function exchange(int128 i, int128 j, uint256 dx, uint256 min_dy) external;
function exchange(int128 i, int128 j, uint256 dx, uint256 min_dy, uint256 deadline) external;
function exchange_underlying(int128 i, int128 j, uint256 dx, uint256 min_dy) external;
function exchange_underlying(int128 i, int128 j, uint256 dx, uint256 min_dy, uint256 deadline) external;
function remove_liquidity(uint256 _amount, uint256 deadline, uint256[2] calldata min_amounts) external;
function remove_liquidity_imbalance(uint256[2] calldata amounts, uint256 deadline) external;
function commit_new_parameters(int128 amplification, int128 new_fee, int128 new_admin_fee) external;
function apply_new_parameters() external;
function revert_new_parameters() external;
function commit_transfer_ownership(address _owner) external;
function apply_transfer_ownership() external;
function revert_transfer_ownership() external;
function withdraw_admin_fees() external;
function coins(int128 arg0) external view returns (address out);
function underlying_coins(int128 arg0) external returns (address out);
function balances(int128 arg0) external returns (uint256 out);
function A() external returns (int128 out);
function fee() external returns (int128 out);
function admin_fee() external returns (int128 out);
function owner() external returns (address out);
function admin_actions_deadline() external returns (uint256 out);
function transfer_ownership_deadline() external returns (uint256 out);
function future_A() external returns (int128 out);
function future_fee() external returns (int128 out);
function future_admin_fee() external returns (int128 out);
function future_owner() external returns (address out);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment