Module brontes_classifier::CurveTriCryptoFactory

source ·
Expand description

Generated by the following Solidity interface…

interface CurveTriCryptoFactory {
    event LiquidityGaugeDeployed(address pool, address gauge);
    event TransferOwnership(address _old_owner, address _new_owner);
    event TricryptoPoolDeployed(address pool, string name, string symbol, address weth, address[3] coins, address math, bytes32 salt, uint256 packed_precisions, uint256 packed_A_gamma, uint256 packed_fee_params, uint256 packed_rebalancing_params, uint256 packed_prices, address deployer);
    event UpdateFeeReceiver(address _old_fee_receiver, address _new_fee_receiver);
    event UpdateGaugeImplementation(address _old_gauge_implementation, address _new_gauge_implementation);
    event UpdateMathImplementation(address _old_math_implementation, address _new_math_implementation);
    event UpdatePoolImplementation(uint256 _implemention_id, address _old_pool_implementation, address _new_pool_implementation);
    event UpdateViewsImplementation(address _old_views_implementation, address _new_views_implementation);

    constructor(address _fee_receiver, address _admin);

    function accept_transfer_ownership() external;
    function admin() external view returns (address);
    function commit_transfer_ownership(address _addr) external;
    function deploy_gauge(address _pool) external returns (address);
    function deploy_pool(string memory _name, string memory _symbol, address[3] memory _coins, address _weth, uint256 implementation_id, uint256 A, uint256 gamma, uint256 mid_fee, uint256 out_fee, uint256 fee_gamma, uint256 allowed_extra_profit, uint256 adjustment_step, uint256 ma_exp_time, uint256[2] memory initial_prices) external returns (address);
    function fee_receiver() external view 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_balances(address _pool) external view returns (uint256[3] memory);
    function get_coin_indices(address _pool, address _from, address _to) external view returns (uint256, uint256);
    function get_coins(address _pool) external view returns (address[3] memory);
    function get_decimals(address _pool) external view returns (uint256[3] memory);
    function get_gauge(address _pool) external view returns (address);
    function get_market_counts(address coin_a, address coin_b) external view returns (uint256);
    function math_implementation() external view returns (address);
    function pool_count() external view returns (uint256);
    function pool_implementations(uint256 arg0) external view returns (address);
    function pool_list(uint256 arg0) external view returns (address);
    function set_fee_receiver(address _fee_receiver) external;
    function set_gauge_implementation(address _gauge_implementation) external;
    function set_math_implementation(address _math_implementation) external;
    function set_pool_implementation(address _pool_implementation, uint256 _implementation_index) external;
    function set_views_implementation(address _views_implementation) external;
    function views_implementation() external view returns (address);
}

…which was generated by the following JSON ABI:

[
  {
    "type": "constructor",
    "inputs": [
      {
        "name": "_fee_receiver",
        "type": "address"
      },
      {
        "name": "_admin",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "accept_transfer_ownership",
    "inputs": [],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "admin",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "commit_transfer_ownership",
    "inputs": [
      {
        "name": "_addr",
        "type": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "deploy_gauge",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "deploy_pool",
    "inputs": [
      {
        "name": "_name",
        "type": "string"
      },
      {
        "name": "_symbol",
        "type": "string"
      },
      {
        "name": "_coins",
        "type": "address[3]"
      },
      {
        "name": "_weth",
        "type": "address"
      },
      {
        "name": "implementation_id",
        "type": "uint256"
      },
      {
        "name": "A",
        "type": "uint256"
      },
      {
        "name": "gamma",
        "type": "uint256"
      },
      {
        "name": "mid_fee",
        "type": "uint256"
      },
      {
        "name": "out_fee",
        "type": "uint256"
      },
      {
        "name": "fee_gamma",
        "type": "uint256"
      },
      {
        "name": "allowed_extra_profit",
        "type": "uint256"
      },
      {
        "name": "adjustment_step",
        "type": "uint256"
      },
      {
        "name": "ma_exp_time",
        "type": "uint256"
      },
      {
        "name": "initial_prices",
        "type": "uint256[2]"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "fee_receiver",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "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_balances",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256[3]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "get_coin_indices",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      },
      {
        "name": "_from",
        "type": "address"
      },
      {
        "name": "_to",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      },
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "get_coins",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address[3]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "get_decimals",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256[3]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "get_gauge",
    "inputs": [
      {
        "name": "_pool",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "get_market_counts",
    "inputs": [
      {
        "name": "coin_a",
        "type": "address"
      },
      {
        "name": "coin_b",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "math_implementation",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "pool_count",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "pool_implementations",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "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": "_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_math_implementation",
    "inputs": [
      {
        "name": "_math_implementation",
        "type": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "set_pool_implementation",
    "inputs": [
      {
        "name": "_pool_implementation",
        "type": "address"
      },
      {
        "name": "_implementation_index",
        "type": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "set_views_implementation",
    "inputs": [
      {
        "name": "_views_implementation",
        "type": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "views_implementation",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "event",
    "name": "LiquidityGaugeDeployed",
    "inputs": [
      {
        "name": "pool",
        "type": "address",
        "indexed": false
      },
      {
        "name": "gauge",
        "type": "address",
        "indexed": false
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "TransferOwnership",
    "inputs": [
      {
        "name": "_old_owner",
        "type": "address",
        "indexed": false
      },
      {
        "name": "_new_owner",
        "type": "address",
        "indexed": false
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "TricryptoPoolDeployed",
    "inputs": [
      {
        "name": "pool",
        "type": "address",
        "indexed": false
      },
      {
        "name": "name",
        "type": "string",
        "indexed": false
      },
      {
        "name": "symbol",
        "type": "string",
        "indexed": false
      },
      {
        "name": "weth",
        "type": "address",
        "indexed": false
      },
      {
        "name": "coins",
        "type": "address[3]",
        "indexed": false
      },
      {
        "name": "math",
        "type": "address",
        "indexed": false
      },
      {
        "name": "salt",
        "type": "bytes32",
        "indexed": false
      },
      {
        "name": "packed_precisions",
        "type": "uint256",
        "indexed": false
      },
      {
        "name": "packed_A_gamma",
        "type": "uint256",
        "indexed": false
      },
      {
        "name": "packed_fee_params",
        "type": "uint256",
        "indexed": false
      },
      {
        "name": "packed_rebalancing_params",
        "type": "uint256",
        "indexed": false
      },
      {
        "name": "packed_prices",
        "type": "uint256",
        "indexed": false
      },
      {
        "name": "deployer",
        "type": "address",
        "indexed": false
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "UpdateFeeReceiver",
    "inputs": [
      {
        "name": "_old_fee_receiver",
        "type": "address",
        "indexed": false
      },
      {
        "name": "_new_fee_receiver",
        "type": "address",
        "indexed": false
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "UpdateGaugeImplementation",
    "inputs": [
      {
        "name": "_old_gauge_implementation",
        "type": "address",
        "indexed": false
      },
      {
        "name": "_new_gauge_implementation",
        "type": "address",
        "indexed": false
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "UpdateMathImplementation",
    "inputs": [
      {
        "name": "_old_math_implementation",
        "type": "address",
        "indexed": false
      },
      {
        "name": "_new_math_implementation",
        "type": "address",
        "indexed": false
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "UpdatePoolImplementation",
    "inputs": [
      {
        "name": "_implemention_id",
        "type": "uint256",
        "indexed": false
      },
      {
        "name": "_old_pool_implementation",
        "type": "address",
        "indexed": false
      },
      {
        "name": "_new_pool_implementation",
        "type": "address",
        "indexed": false
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "UpdateViewsImplementation",
    "inputs": [
      {
        "name": "_old_views_implementation",
        "type": "address",
        "indexed": false
      },
      {
        "name": "_new_views_implementation",
        "type": "address",
        "indexed": false
      }
    ],
    "anonymous": false
  }
]

Structs§

Enums§