Module brontes_classifier::CurvecrvUSDFactory

source ·
Expand description

Generated by the following Solidity interface…

interface CurvecrvUSDFactory {
    event BasePoolAdded(address base_pool);
    event LiquidityGaugeDeployed(address pool, address gauge);
    event MetaPoolDeployed(address coin, address base_pool, uint256 A, uint256 fee, address deployer);
    event PlainPoolDeployed(address[4] coins, uint256 A, uint256 fee, address deployer, address pool);

    constructor(address _fee_receiver);

    function accept_transfer_ownership() external;
    function add_base_pool(address _base_pool, address _fee_receiver, uint256 _asset_type, address[10] memory _implementations) external;
    function add_existing_metapools(address[10] memory _pools) external returns (bool);
    function add_token_to_whitelist(address coin, bool _add) external;
    function admin() external view returns (address);
    function base_pool_assets(address arg0) external view returns (bool);
    function base_pool_count() external view returns (uint256);
    function base_pool_list(uint256 arg0) external view returns (address);
    function batch_set_pool_asset_type(address[32] memory _pools, uint256[32] memory _asset_types) external;
    function commit_transfer_ownership(address _addr) external;
    function convert_metapool_fees() external returns (bool);
    function deploy_gauge(address _pool) external returns (address);
    function deploy_metapool(address _base_pool, string memory _name, string memory _symbol, address _coin, uint256 _A, uint256 _fee) external returns (address);
    function deploy_metapool(address _base_pool, string memory _name, string memory _symbol, address _coin, uint256 _A, uint256 _fee, uint256 _implementation_idx) external returns (address);
    function deploy_plain_pool(string memory _name, string memory _symbol, address[4] memory _coins, uint256 _A, uint256 _fee) external returns (address);
    function deploy_plain_pool(string memory _name, string memory _symbol, address[4] memory _coins, uint256 _A, uint256 _fee, uint256 _asset_type) external returns (address);
    function deploy_plain_pool(string memory _name, string memory _symbol, address[4] memory _coins, uint256 _A, uint256 _fee, uint256 _asset_type, uint256 _implementation_idx) external returns (address);
    function find_pool_for_coins(address _from, address _to) external view returns (address);
    function find_pool_for_coins(address _from, address _to, uint256 i) external view returns (address);
    function future_admin() external view returns (address);
    function gauge_implementation() external view returns (address);
    function get_A(address _pool) external view returns (uint256);
    function get_admin_balances(address _pool) external view returns (uint256[4] memory);
    function get_balances(address _pool) external view returns (uint256[4] memory);
    function get_base_pool(address _pool) external view returns (address);
    function get_coin_indices(address _pool, address _from, address _to) external view returns (int128, int128, bool);
    function get_coins(address _pool) external view returns (address[4] memory);
    function get_decimals(address _pool) external view returns (uint256[4] memory);
    function get_fee_receiver(address _pool) external view returns (address);
    function get_fees(address _pool) external view returns (uint256, uint256);
    function get_gauge(address _pool) external view returns (address);
    function get_implementation_address(address _pool) external view returns (address);
    function get_meta_n_coins(address _pool) external view returns (uint256, uint256);
    function get_metapool_rates(address _pool) external view returns (uint256[2] memory);
    function get_n_coins(address _pool) external view returns (uint256);
    function get_pool_asset_type(address _pool) external view returns (uint256);
    function get_underlying_balances(address _pool) external view returns (uint256[8] memory);
    function get_underlying_coins(address _pool) external view returns (address[8] memory);
    function get_underlying_decimals(address _pool) external view returns (uint256[8] memory);
    function is_meta(address _pool) external view returns (bool);
    function manager() external view returns (address);
    function metapool_implementations(address _base_pool) external view returns (address[10] memory);
    function plain_implementations(uint256 arg0, uint256 arg1) external view returns (address);
    function plain_whitelist(address arg0) external view returns (bool);
    function pool_count() external view returns (uint256);
    function pool_list(uint256 arg0) external view returns (address);
    function set_fee_receiver(address _base_pool, address _fee_receiver) external;
    function set_gauge_implementation(address _gauge_implementation) external;
    function set_manager(address _manager) external;
    function set_metapool_implementations(address _base_pool, address[10] memory _implementations) external;
    function set_plain_implementations(uint256 _n_coins, address[10] memory _implementations) external;
}

…which was generated by the following JSON ABI:

[
  {
    "type": "constructor",
    "inputs": [
      {
        "name": "_fee_receiver",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "accept_transfer_ownership",
    "inputs": [],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "add_base_pool",
    "inputs": [
      {
        "name": "_base_pool",
        "type": "address"
      },
      {
        "name": "_fee_receiver",
        "type": "address"
      },
      {
        "name": "_asset_type",
        "type": "uint256"
      },
      {
        "name": "_implementations",
        "type": "address[10]"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "add_existing_metapools",
    "inputs": [
      {
        "name": "_pools",
        "type": "address[10]"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "add_token_to_whitelist",
    "inputs": [
      {
        "name": "coin",
        "type": "address"
      },
      {
        "name": "_add",
        "type": "bool"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "admin",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "base_pool_assets",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "base_pool_count",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "base_pool_list",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "batch_set_pool_asset_type",
    "inputs": [
      {
        "name": "_pools",
        "type": "address[32]"
      },
      {
        "name": "_asset_types",
        "type": "uint256[32]"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "commit_transfer_ownership",
    "inputs": [
      {
        "name": "_addr",
        "type": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "convert_metapool_fees",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "deploy_gauge",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "deploy_metapool",
    "inputs": [
      {
        "name": "_base_pool",
        "type": "address"
      },
      {
        "name": "_name",
        "type": "string"
      },
      {
        "name": "_symbol",
        "type": "string"
      },
      {
        "name": "_coin",
        "type": "address"
      },
      {
        "name": "_A",
        "type": "uint256"
      },
      {
        "name": "_fee",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "deploy_metapool",
    "inputs": [
      {
        "name": "_base_pool",
        "type": "address"
      },
      {
        "name": "_name",
        "type": "string"
      },
      {
        "name": "_symbol",
        "type": "string"
      },
      {
        "name": "_coin",
        "type": "address"
      },
      {
        "name": "_A",
        "type": "uint256"
      },
      {
        "name": "_fee",
        "type": "uint256"
      },
      {
        "name": "_implementation_idx",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "deploy_plain_pool",
    "inputs": [
      {
        "name": "_name",
        "type": "string"
      },
      {
        "name": "_symbol",
        "type": "string"
      },
      {
        "name": "_coins",
        "type": "address[4]"
      },
      {
        "name": "_A",
        "type": "uint256"
      },
      {
        "name": "_fee",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "deploy_plain_pool",
    "inputs": [
      {
        "name": "_name",
        "type": "string"
      },
      {
        "name": "_symbol",
        "type": "string"
      },
      {
        "name": "_coins",
        "type": "address[4]"
      },
      {
        "name": "_A",
        "type": "uint256"
      },
      {
        "name": "_fee",
        "type": "uint256"
      },
      {
        "name": "_asset_type",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "deploy_plain_pool",
    "inputs": [
      {
        "name": "_name",
        "type": "string"
      },
      {
        "name": "_symbol",
        "type": "string"
      },
      {
        "name": "_coins",
        "type": "address[4]"
      },
      {
        "name": "_A",
        "type": "uint256"
      },
      {
        "name": "_fee",
        "type": "uint256"
      },
      {
        "name": "_asset_type",
        "type": "uint256"
      },
      {
        "name": "_implementation_idx",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "find_pool_for_coins",
    "inputs": [
      {
        "name": "_from",
        "type": "address"
      },
      {
        "name": "_to",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "find_pool_for_coins",
    "inputs": [
      {
        "name": "_from",
        "type": "address"
      },
      {
        "name": "_to",
        "type": "address"
      },
      {
        "name": "i",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "future_admin",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "gauge_implementation",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "get_A",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "get_admin_balances",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256[4]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "get_balances",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256[4]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "get_base_pool",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "get_coin_indices",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      },
      {
        "name": "_from",
        "type": "address"
      },
      {
        "name": "_to",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "int128"
      },
      {
        "name": "",
        "type": "int128"
      },
      {
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "get_coins",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address[4]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "get_decimals",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256[4]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "get_fee_receiver",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "get_fees",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      },
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "get_gauge",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "get_implementation_address",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "get_meta_n_coins",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      },
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "get_metapool_rates",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256[2]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "get_n_coins",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "get_pool_asset_type",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "get_underlying_balances",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256[8]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "get_underlying_coins",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address[8]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "get_underlying_decimals",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256[8]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "is_meta",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "manager",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "metapool_implementations",
    "inputs": [
      {
        "name": "_base_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address[10]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "plain_implementations",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint256"
      },
      {
        "name": "arg1",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "plain_whitelist",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "pool_count",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "pool_list",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "set_fee_receiver",
    "inputs": [
      {
        "name": "_base_pool",
        "type": "address"
      },
      {
        "name": "_fee_receiver",
        "type": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "set_gauge_implementation",
    "inputs": [
      {
        "name": "_gauge_implementation",
        "type": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "set_manager",
    "inputs": [
      {
        "name": "_manager",
        "type": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "set_metapool_implementations",
    "inputs": [
      {
        "name": "_base_pool",
        "type": "address"
      },
      {
        "name": "_implementations",
        "type": "address[10]"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "set_plain_implementations",
    "inputs": [
      {
        "name": "_n_coins",
        "type": "uint256"
      },
      {
        "name": "_implementations",
        "type": "address[10]"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "event",
    "name": "BasePoolAdded",
    "inputs": [
      {
        "name": "base_pool",
        "type": "address",
        "indexed": false
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "LiquidityGaugeDeployed",
    "inputs": [
      {
        "name": "pool",
        "type": "address",
        "indexed": false
      },
      {
        "name": "gauge",
        "type": "address",
        "indexed": false
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "MetaPoolDeployed",
    "inputs": [
      {
        "name": "coin",
        "type": "address",
        "indexed": false
      },
      {
        "name": "base_pool",
        "type": "address",
        "indexed": false
      },
      {
        "name": "A",
        "type": "uint256",
        "indexed": false
      },
      {
        "name": "fee",
        "type": "uint256",
        "indexed": false
      },
      {
        "name": "deployer",
        "type": "address",
        "indexed": false
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "PlainPoolDeployed",
    "inputs": [
      {
        "name": "coins",
        "type": "address[4]",
        "indexed": false
      },
      {
        "name": "A",
        "type": "uint256",
        "indexed": false
      },
      {
        "name": "fee",
        "type": "uint256",
        "indexed": false
      },
      {
        "name": "deployer",
        "type": "address",
        "indexed": false
      },
      {
        "name": "pool",
        "type": "address",
        "indexed": false
      }
    ],
    "anonymous": false
  }
]

Structs§

Enums§