包含 webapp(Next.js 用户端)、webapp-back(Go 后端)、 antdesign(管理后台)、landingpage(营销落地页)、 数据库 SQL 和配置文件。
582 lines
20 KiB
JSON
582 lines
20 KiB
JSON
[
|
|
{
|
|
"inputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "constructor"
|
|
},
|
|
{
|
|
"inputs": [{ "internalType": "address", "name": "target", "type": "address" }],
|
|
"name": "AddressEmptyCode",
|
|
"type": "error"
|
|
},
|
|
{ "inputs": [], "name": "AmountExceedsLimit", "type": "error" },
|
|
{ "inputs": [], "name": "DailyLimitExceeded", "type": "error" },
|
|
{
|
|
"inputs": [{ "internalType": "address", "name": "implementation", "type": "address" }],
|
|
"name": "ERC1967InvalidImplementation",
|
|
"type": "error"
|
|
},
|
|
{ "inputs": [], "name": "ERC1967NonPayable", "type": "error" },
|
|
{ "inputs": [], "name": "EmergencyMode", "type": "error" },
|
|
{ "inputs": [], "name": "FailedCall", "type": "error" },
|
|
{ "inputs": [], "name": "Forbidden", "type": "error" },
|
|
{ "inputs": [], "name": "InsufficientPool", "type": "error" },
|
|
{ "inputs": [], "name": "InsufficientUSDYAmount", "type": "error" },
|
|
{ "inputs": [], "name": "InvalidAddress", "type": "error" },
|
|
{ "inputs": [], "name": "InvalidAmount", "type": "error" },
|
|
{ "inputs": [], "name": "InvalidFee", "type": "error" },
|
|
{ "inputs": [], "name": "InvalidInitialization", "type": "error" },
|
|
{ "inputs": [], "name": "InvalidPoolAmount", "type": "error" },
|
|
{ "inputs": [], "name": "MaxUSDYExceeded", "type": "error" },
|
|
{ "inputs": [], "name": "NotInEmergency", "type": "error" },
|
|
{ "inputs": [], "name": "NotInitializing", "type": "error" },
|
|
{ "inputs": [], "name": "NotSwapper", "type": "error" },
|
|
{ "inputs": [], "name": "OnlyPoolManager", "type": "error" },
|
|
{ "inputs": [], "name": "ReentrancyGuardReentrantCall", "type": "error" },
|
|
{
|
|
"inputs": [{ "internalType": "address", "name": "token", "type": "address" }],
|
|
"name": "SafeERC20FailedOperation",
|
|
"type": "error"
|
|
},
|
|
{ "inputs": [], "name": "SameToken", "type": "error" },
|
|
{ "inputs": [], "name": "SlippageTooHigh", "type": "error" },
|
|
{ "inputs": [], "name": "SwapDisabled", "type": "error" },
|
|
{ "inputs": [], "name": "TokenNotWhitelisted", "type": "error" },
|
|
{ "inputs": [], "name": "UUPSUnauthorizedCallContext", "type": "error" },
|
|
{
|
|
"inputs": [{ "internalType": "bytes32", "name": "slot", "type": "bytes32" }],
|
|
"name": "UUPSUnsupportedProxiableUUID",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{ "indexed": true, "internalType": "address", "name": "account", "type": "address" },
|
|
{ "indexed": true, "internalType": "address", "name": "token", "type": "address" },
|
|
{ "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" },
|
|
{ "indexed": false, "internalType": "uint256", "name": "usdyAmount", "type": "uint256" }
|
|
],
|
|
"name": "AddLiquidity",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [{ "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" }],
|
|
"name": "EmergencyModeSet",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{ "indexed": true, "internalType": "address", "name": "oldGov", "type": "address" },
|
|
{ "indexed": true, "internalType": "address", "name": "newGov", "type": "address" }
|
|
],
|
|
"name": "GovChanged",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [{ "indexed": false, "internalType": "uint64", "name": "version", "type": "uint64" }],
|
|
"name": "Initialized",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{ "indexed": true, "internalType": "address", "name": "oldManager", "type": "address" },
|
|
{ "indexed": true, "internalType": "address", "name": "newManager", "type": "address" }
|
|
],
|
|
"name": "PoolManagerChanged",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{ "indexed": true, "internalType": "address", "name": "account", "type": "address" },
|
|
{ "indexed": true, "internalType": "address", "name": "token", "type": "address" },
|
|
{ "indexed": false, "internalType": "uint256", "name": "usdyAmount", "type": "uint256" },
|
|
{ "indexed": false, "internalType": "uint256", "name": "amountOut", "type": "uint256" }
|
|
],
|
|
"name": "RemoveLiquidity",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{ "indexed": true, "internalType": "address", "name": "account", "type": "address" },
|
|
{ "indexed": true, "internalType": "address", "name": "tokenIn", "type": "address" },
|
|
{ "indexed": true, "internalType": "address", "name": "tokenOut", "type": "address" },
|
|
{ "indexed": false, "internalType": "uint256", "name": "amountIn", "type": "uint256" },
|
|
{ "indexed": false, "internalType": "uint256", "name": "amountOut", "type": "uint256" },
|
|
{ "indexed": false, "internalType": "uint256", "name": "feeBasisPoints", "type": "uint256" }
|
|
],
|
|
"name": "Swap",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [{ "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" }],
|
|
"name": "SwapEnabledSet",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [{ "indexed": true, "internalType": "address", "name": "implementation", "type": "address" }],
|
|
"name": "Upgraded",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "BASIS_POINTS_DIVISOR",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "PRICE_PRECISION",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "UPGRADE_INTERFACE_VERSION",
|
|
"outputs": [{ "internalType": "string", "name": "", "type": "string" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "USDY_DECIMALS",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"name": "allWhitelistedTokens",
|
|
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{ "internalType": "address", "name": "_token", "type": "address" },
|
|
{ "internalType": "address", "name": "_receiver", "type": "address" }
|
|
],
|
|
"name": "buyUSDY",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [{ "internalType": "address", "name": "_token", "type": "address" }],
|
|
"name": "clearWhitelistedToken",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "emergencyMode",
|
|
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getAllPoolTokens",
|
|
"outputs": [{ "internalType": "address[]", "name": "", "type": "address[]" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{ "internalType": "address", "name": "_token", "type": "address" },
|
|
{ "internalType": "uint256", "name": "_usdyDelta", "type": "uint256" },
|
|
{ "internalType": "uint256", "name": "_feeBasisPoints", "type": "uint256" },
|
|
{ "internalType": "uint256", "name": "_taxBasisPoints", "type": "uint256" },
|
|
{ "internalType": "bool", "name": "_increment", "type": "bool" }
|
|
],
|
|
"name": "getFeeBasisPoints",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [{ "internalType": "address", "name": "_token", "type": "address" }],
|
|
"name": "getMaxPrice",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [{ "internalType": "address", "name": "_token", "type": "address" }],
|
|
"name": "getMinPrice",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [{ "internalType": "bool", "name": "_maximise", "type": "bool" }],
|
|
"name": "getPoolValue",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{ "internalType": "address", "name": "_token", "type": "address" },
|
|
{ "internalType": "bool", "name": "_maximise", "type": "bool" }
|
|
],
|
|
"name": "getPrice",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{ "internalType": "address", "name": "_token", "type": "address" },
|
|
{ "internalType": "uint256", "name": "_usdyAmount", "type": "uint256" }
|
|
],
|
|
"name": "getRedemptionFeeBasisPoints",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{ "internalType": "address", "name": "_tokenIn", "type": "address" },
|
|
{ "internalType": "address", "name": "_tokenOut", "type": "address" },
|
|
{ "internalType": "uint256", "name": "_amountIn", "type": "uint256" }
|
|
],
|
|
"name": "getSwapAmountOut",
|
|
"outputs": [
|
|
{ "internalType": "uint256", "name": "amountOut", "type": "uint256" },
|
|
{ "internalType": "uint256", "name": "amountOutAfterFees", "type": "uint256" },
|
|
{ "internalType": "uint256", "name": "feeBasisPoints", "type": "uint256" }
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{ "internalType": "address", "name": "_tokenIn", "type": "address" },
|
|
{ "internalType": "address", "name": "_tokenOut", "type": "address" },
|
|
{ "internalType": "uint256", "name": "_usdyAmount", "type": "uint256" }
|
|
],
|
|
"name": "getSwapFeeBasisPoints",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [{ "internalType": "address", "name": "_token", "type": "address" }],
|
|
"name": "getTargetUsdyAmount",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "gov",
|
|
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "hasDynamicFees",
|
|
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{ "internalType": "address", "name": "_usdy", "type": "address" },
|
|
{ "internalType": "address", "name": "_priceFeed", "type": "address" }
|
|
],
|
|
"name": "initialize",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "isSwapEnabled",
|
|
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [{ "internalType": "address", "name": "", "type": "address" }],
|
|
"name": "isSwapper",
|
|
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [{ "internalType": "address", "name": "", "type": "address" }],
|
|
"name": "maxSwapAmount",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "maxSwapSlippageBps",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [{ "internalType": "address", "name": "", "type": "address" }],
|
|
"name": "maxUsdyAmounts",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [{ "internalType": "address", "name": "", "type": "address" }],
|
|
"name": "poolAmounts",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "priceFeed",
|
|
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "proxiableUUID",
|
|
"outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{ "internalType": "address", "name": "_token", "type": "address" },
|
|
{ "internalType": "address", "name": "_receiver", "type": "address" }
|
|
],
|
|
"name": "sellUSDY",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [{ "internalType": "bool", "name": "_hasDynamicFees", "type": "bool" }],
|
|
"name": "setDynamicFees",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [{ "internalType": "bool", "name": "_emergencyMode", "type": "bool" }],
|
|
"name": "setEmergencyMode",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [{ "internalType": "address", "name": "_gov", "type": "address" }],
|
|
"name": "setGov",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{ "internalType": "address", "name": "_token", "type": "address" },
|
|
{ "internalType": "uint256", "name": "_amount", "type": "uint256" }
|
|
],
|
|
"name": "setMaxSwapAmount",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [{ "internalType": "uint256", "name": "_slippageBps", "type": "uint256" }],
|
|
"name": "setMaxSwapSlippageBps",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [{ "internalType": "address", "name": "_manager", "type": "address" }],
|
|
"name": "setPoolManager",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [{ "internalType": "bool", "name": "_isSwapEnabled", "type": "bool" }],
|
|
"name": "setSwapEnabled",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{ "internalType": "uint256", "name": "_swapFee", "type": "uint256" },
|
|
{ "internalType": "uint256", "name": "_stableSwapFee", "type": "uint256" },
|
|
{ "internalType": "uint256", "name": "_taxBasisPoints", "type": "uint256" },
|
|
{ "internalType": "uint256", "name": "_stableTaxBasisPoints", "type": "uint256" }
|
|
],
|
|
"name": "setSwapFees",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{ "internalType": "address", "name": "_swapper", "type": "address" },
|
|
{ "internalType": "bool", "name": "_isActive", "type": "bool" }
|
|
],
|
|
"name": "setSwapper",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{ "internalType": "address", "name": "_token", "type": "address" },
|
|
{ "internalType": "uint256", "name": "_decimals", "type": "uint256" },
|
|
{ "internalType": "uint256", "name": "_weight", "type": "uint256" },
|
|
{ "internalType": "uint256", "name": "_maxUsdyAmount", "type": "uint256" },
|
|
{ "internalType": "bool", "name": "_isStable", "type": "bool" }
|
|
],
|
|
"name": "setWhitelistedToken",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "stableSwapFeeBasisPoints",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "stableTaxBasisPoints",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [{ "internalType": "address", "name": "", "type": "address" }],
|
|
"name": "stableTokens",
|
|
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{ "internalType": "address", "name": "_tokenIn", "type": "address" },
|
|
{ "internalType": "address", "name": "_tokenOut", "type": "address" },
|
|
{ "internalType": "address", "name": "_receiver", "type": "address" }
|
|
],
|
|
"name": "swap",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "swapFeeBasisPoints",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "taxBasisPoints",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [{ "internalType": "address", "name": "", "type": "address" }],
|
|
"name": "tokenBalances",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [{ "internalType": "address", "name": "", "type": "address" }],
|
|
"name": "tokenDecimals",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [{ "internalType": "address", "name": "", "type": "address" }],
|
|
"name": "tokenWeights",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "totalTokenWeights",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{ "internalType": "address", "name": "newImplementation", "type": "address" },
|
|
{ "internalType": "bytes", "name": "data", "type": "bytes" }
|
|
],
|
|
"name": "upgradeToAndCall",
|
|
"outputs": [],
|
|
"stateMutability": "payable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "usdy",
|
|
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [{ "internalType": "address", "name": "", "type": "address" }],
|
|
"name": "usdyAmounts",
|
|
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [{ "internalType": "address", "name": "", "type": "address" }],
|
|
"name": "whitelistedTokens",
|
|
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{ "internalType": "address", "name": "_token", "type": "address" },
|
|
{ "internalType": "address", "name": "_receiver", "type": "address" },
|
|
{ "internalType": "uint256", "name": "_amount", "type": "uint256" }
|
|
],
|
|
"name": "withdrawToken",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ytPoolManager",
|
|
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
}
|
|
]
|