[
  {
    "inputs": [],
    "name": "A",
    "outputs": [
      {
        "internalType": "int128",
        "name": "out",
        "type": "int128"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256[2]",
        "name": "amounts",
        "type": "uint256[2]"
      },
      {
        "internalType": "uint256",
        "name": "deadline",
        "type": "uint256"
      }
    ],
    "name": "add_liquidity",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "admin_actions_deadline",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "out",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "admin_fee",
    "outputs": [
      {
        "internalType": "int128",
        "name": "out",
        "type": "int128"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "apply_new_parameters",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "apply_transfer_ownership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "int128",
        "name": "arg0",
        "type": "int128"
      }
    ],
    "name": "balances",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "out",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "int128",
        "name": "arg0",
        "type": "int128"
      }
    ],
    "name": "coins",
    "outputs": [
      {
        "internalType": "address",
        "name": "out",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "int128",
        "name": "amplification",
        "type": "int128"
      },
      {
        "internalType": "int128",
        "name": "new_fee",
        "type": "int128"
      },
      {
        "internalType": "int128",
        "name": "new_admin_fee",
        "type": "int128"
      }
    ],
    "name": "commit_new_parameters",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_owner",
        "type": "address"
      }
    ],
    "name": "commit_transfer_ownership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "int128",
        "name": "i",
        "type": "int128"
      },
      {
        "internalType": "int128",
        "name": "j",
        "type": "int128"
      },
      {
        "internalType": "uint256",
        "name": "dx",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "min_dy",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "deadline",
        "type": "uint256"
      }
    ],
    "name": "exchange",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "int128",
        "name": "i",
        "type": "int128"
      },
      {
        "internalType": "int128",
        "name": "j",
        "type": "int128"
      },
      {
        "internalType": "uint256",
        "name": "dx",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "min_dy",
        "type": "uint256"
      }
    ],
    "name": "exchange",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "int128",
        "name": "i",
        "type": "int128"
      },
      {
        "internalType": "int128",
        "name": "j",
        "type": "int128"
      },
      {
        "internalType": "uint256",
        "name": "dx",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "min_dy",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "deadline",
        "type": "uint256"
      }
    ],
    "name": "exchange_underlying",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "int128",
        "name": "i",
        "type": "int128"
      },
      {
        "internalType": "int128",
        "name": "j",
        "type": "int128"
      },
      {
        "internalType": "uint256",
        "name": "dx",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "min_dy",
        "type": "uint256"
      }
    ],
    "name": "exchange_underlying",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "fee",
    "outputs": [
      {
        "internalType": "int128",
        "name": "out",
        "type": "int128"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "future_A",
    "outputs": [
      {
        "internalType": "int128",
        "name": "out",
        "type": "int128"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "future_admin_fee",
    "outputs": [
      {
        "internalType": "int128",
        "name": "out",
        "type": "int128"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "future_fee",
    "outputs": [
      {
        "internalType": "int128",
        "name": "out",
        "type": "int128"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "future_owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "out",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "int128",
        "name": "i",
        "type": "int128"
      },
      {
        "internalType": "int128",
        "name": "j",
        "type": "int128"
      },
      {
        "internalType": "uint256",
        "name": "dx",
        "type": "uint256"
      }
    ],
    "name": "get_dy",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "out",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "int128",
        "name": "i",
        "type": "int128"
      },
      {
        "internalType": "int128",
        "name": "j",
        "type": "int128"
      },
      {
        "internalType": "uint256",
        "name": "dx",
        "type": "uint256"
      }
    ],
    "name": "get_dy_underlying",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "out",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "get_virtual_price",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "out",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "out",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "deadline",
        "type": "uint256"
      },
      {
        "internalType": "uint256[2]",
        "name": "min_amounts",
        "type": "uint256[2]"
      }
    ],
    "name": "remove_liquidity",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256[2]",
        "name": "amounts",
        "type": "uint256[2]"
      },
      {
        "internalType": "uint256",
        "name": "deadline",
        "type": "uint256"
      }
    ],
    "name": "remove_liquidity_imbalance",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "revert_new_parameters",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "revert_transfer_ownership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "transfer_ownership_deadline",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "out",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "int128",
        "name": "arg0",
        "type": "int128"
      }
    ],
    "name": "underlying_coins",
    "outputs": [
      {
        "internalType": "address",
        "name": "out",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "withdraw_admin_fees",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  }
]
