963 lines
48 KiB
JSON
963 lines
48 KiB
JSON
|
|
{
|
||
|
|
"_format": "hh-sol-artifact-1",
|
||
|
|
"contractName": "PoolManager",
|
||
|
|
"sourceName": "contracts/liquidity/PoolManager.sol",
|
||
|
|
"abi": [
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"stateMutability": "nonpayable",
|
||
|
|
"type": "constructor"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "AccessControlBadConfirmation",
|
||
|
|
"type": "error"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "account",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "neededRole",
|
||
|
|
"type": "bytes32"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "AccessControlUnauthorizedAccount",
|
||
|
|
"type": "error"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "target",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "AddressEmptyCode",
|
||
|
|
"type": "error"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "implementation",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "ERC1967InvalidImplementation",
|
||
|
|
"type": "error"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "ERC1967NonPayable",
|
||
|
|
"type": "error"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "FailedInnerCall",
|
||
|
|
"type": "error"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "InvalidInitialization",
|
||
|
|
"type": "error"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "NotInitializing",
|
||
|
|
"type": "error"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "UUPSUnauthorizedCallContext",
|
||
|
|
"type": "error"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "slot",
|
||
|
|
"type": "bytes32"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "UUPSUnsupportedProxiableUUID",
|
||
|
|
"type": "error"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"anonymous": false,
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"indexed": false,
|
||
|
|
"internalType": "uint64",
|
||
|
|
"name": "version",
|
||
|
|
"type": "uint64"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "Initialized",
|
||
|
|
"type": "event"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"anonymous": false,
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"indexed": true,
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "pool",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": true,
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "token",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": false,
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "provider",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": false,
|
||
|
|
"internalType": "enum UniversalAssetRegistry.AssetType",
|
||
|
|
"name": "assetType",
|
||
|
|
"type": "uint8"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "PoolCreated",
|
||
|
|
"type": "event"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"anonymous": false,
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"indexed": true,
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "pool",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": false,
|
||
|
|
"internalType": "bool",
|
||
|
|
"name": "isHealthy",
|
||
|
|
"type": "bool"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": false,
|
||
|
|
"internalType": "string",
|
||
|
|
"name": "reason",
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "PoolHealthChecked",
|
||
|
|
"type": "event"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"anonymous": false,
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"indexed": true,
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "pool",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": false,
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "newLiquidityUSD",
|
||
|
|
"type": "uint256"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "PoolLiquidityUpdated",
|
||
|
|
"type": "event"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"anonymous": false,
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"indexed": true,
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "role",
|
||
|
|
"type": "bytes32"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": true,
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "previousAdminRole",
|
||
|
|
"type": "bytes32"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": true,
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "newAdminRole",
|
||
|
|
"type": "bytes32"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "RoleAdminChanged",
|
||
|
|
"type": "event"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"anonymous": false,
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"indexed": true,
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "role",
|
||
|
|
"type": "bytes32"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": true,
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "account",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": true,
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "sender",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "RoleGranted",
|
||
|
|
"type": "event"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"anonymous": false,
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"indexed": true,
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "role",
|
||
|
|
"type": "bytes32"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": true,
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "account",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": true,
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "sender",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "RoleRevoked",
|
||
|
|
"type": "event"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"anonymous": false,
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"indexed": true,
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "implementation",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "Upgraded",
|
||
|
|
"type": "event"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "DEFAULT_ADMIN_ROLE",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "",
|
||
|
|
"type": "bytes32"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "POOL_ADMIN_ROLE",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "",
|
||
|
|
"type": "bytes32"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "UPGRADER_ROLE",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "",
|
||
|
|
"type": "bytes32"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "UPGRADE_INTERFACE_VERSION",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "string",
|
||
|
|
"name": "",
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "",
|
||
|
|
"type": "uint256"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "allPools",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "assetRegistry",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "contract UniversalAssetRegistry",
|
||
|
|
"name": "",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "pool",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "checkPoolHealth",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "bool",
|
||
|
|
"name": "isHealthy",
|
||
|
|
"type": "bool"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "string",
|
||
|
|
"name": "reason",
|
||
|
|
"type": "string"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "curveProvider",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "dodoProvider",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "getAllPools",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address[]",
|
||
|
|
"name": "",
|
||
|
|
"type": "address[]"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "getPoolCount",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "",
|
||
|
|
"type": "uint256"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "pool",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "getPoolInfo",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"components": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "pool",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "provider",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "tokenA",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "tokenB",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "liquidityUSD",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "volume24h",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "createdAt",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "lastUpdateTime",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "bool",
|
||
|
|
"name": "isActive",
|
||
|
|
"type": "bool"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"internalType": "struct PoolManager.PoolInfo",
|
||
|
|
"name": "",
|
||
|
|
"type": "tuple"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "token",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "getPoolsForToken",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"components": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "pool",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "provider",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "tokenA",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "tokenB",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "liquidityUSD",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "volume24h",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "createdAt",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "lastUpdateTime",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "bool",
|
||
|
|
"name": "isActive",
|
||
|
|
"type": "bool"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"internalType": "struct PoolManager.PoolInfo[]",
|
||
|
|
"name": "",
|
||
|
|
"type": "tuple[]"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "role",
|
||
|
|
"type": "bytes32"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "getRoleAdmin",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "",
|
||
|
|
"type": "bytes32"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "role",
|
||
|
|
"type": "bytes32"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "account",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "grantRole",
|
||
|
|
"outputs": [],
|
||
|
|
"stateMutability": "nonpayable",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "role",
|
||
|
|
"type": "bytes32"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "account",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "hasRole",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "bool",
|
||
|
|
"name": "",
|
||
|
|
"type": "bool"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "_assetRegistry",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "admin",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "initialize",
|
||
|
|
"outputs": [],
|
||
|
|
"stateMutability": "nonpayable",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "token",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "enum UniversalAssetRegistry.AssetType",
|
||
|
|
"name": "assetType",
|
||
|
|
"type": "uint8"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "onAssetRegistered",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "pool",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "nonpayable",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "poolRegistry",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "pool",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "provider",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "tokenA",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "tokenB",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "liquidityUSD",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "volume24h",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "createdAt",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "lastUpdateTime",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "bool",
|
||
|
|
"name": "isActive",
|
||
|
|
"type": "bool"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "proxiableUUID",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "",
|
||
|
|
"type": "bytes32"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "pool",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "provider",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "tokenA",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "tokenB",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "liquidityUSD",
|
||
|
|
"type": "uint256"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "registerPool",
|
||
|
|
"outputs": [],
|
||
|
|
"stateMutability": "nonpayable",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "role",
|
||
|
|
"type": "bytes32"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "callerConfirmation",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "renounceRole",
|
||
|
|
"outputs": [],
|
||
|
|
"stateMutability": "nonpayable",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "role",
|
||
|
|
"type": "bytes32"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "account",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "revokeRole",
|
||
|
|
"outputs": [],
|
||
|
|
"stateMutability": "nonpayable",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "_dodoProvider",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "_uniswapV3Provider",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "_curveProvider",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "setProviders",
|
||
|
|
"outputs": [],
|
||
|
|
"stateMutability": "nonpayable",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "bytes4",
|
||
|
|
"name": "interfaceId",
|
||
|
|
"type": "bytes4"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "supportsInterface",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "bool",
|
||
|
|
"name": "",
|
||
|
|
"type": "bool"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "",
|
||
|
|
"type": "uint256"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "tokenPools",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "pool",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "provider",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "tokenA",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "tokenB",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "liquidityUSD",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "volume24h",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "createdAt",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "lastUpdateTime",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "bool",
|
||
|
|
"name": "isActive",
|
||
|
|
"type": "bool"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "uniswapV3Provider",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "pool",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "liquidityUSD",
|
||
|
|
"type": "uint256"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "updatePoolLiquidity",
|
||
|
|
"outputs": [],
|
||
|
|
"stateMutability": "nonpayable",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "newImplementation",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "bytes",
|
||
|
|
"name": "data",
|
||
|
|
"type": "bytes"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "upgradeToAndCall",
|
||
|
|
"outputs": [],
|
||
|
|
"stateMutability": "payable",
|
||
|
|
"type": "function"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"bytecode": "0x60a080604052346100cc57306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c166100bd57506001600160401b036002600160401b031982821601610078575b604051611adb90816100d2823960805181818161079d015261087d0152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1388080610059565b63f92ee8a960e01b8152600490fd5b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a7146110775750816306bfa93814610ff4578163162f37fa14610eff5781631bad077614610e6e5781631e8a005014610e45578163248a9ca314610e0d5781632f2ff15d14610de3578163306af95514610d1d57816336568abe14610cd75781633c29777914610cae57816341d1de9714610c6d578163485cc95514610ac75781634f1ef2861461080157816352d1902d1461078857816364fa150c146107475781638eec5d701461072857816391d14854146106d4578163979d7e86146106ac578163a217fddf14610691578163aa967fe714610644578163ad3cb1cc146105ff578163b8f6dba7146105c4578163d547741f14610577578163d88ff1f4146104af578163edf7ae2114610433578163ee59b8131461027e578163f0144727146101cd578163f34782ff146101a1575063f72c0d8b1461016457600080fd5b3461019d578160031936011261019d57602090517f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e38152f35b5080fd5b9050346101c957826003193601126101c9575490516001600160a01b03909116815260209150f35b8280fd5b9050346101c95760603660031901126101c9576101e86110ca565b916101f16110e5565b916101fa6110fb565b91858052600080516020611a8683398151915260205280862033875260205260ff818720541615610261575060018060a01b03928391826bffffffffffffffffffffffff60a01b961686825416179055168360055416176005551690600654161760065580f35b9085604492519163e2517d3f60e01b835233908301526024820152fd5b919050346101c95760a03660031901126101c95761029a6110ca565b916102a36110e5565b6102ab6110fb565b906064359360018060a01b039586861680960361042f5786906102cc611634565b169485156103fd578588526020936002855260ff6008848b200154166103c5578790818451956102fb87611234565b898752168686015216808385015281606085015260843560808501528860a08501524260c08501524260e085015260016101008501528689526002855261034484848b20611554565b8089526001855261035784848b206115ef565b81036103ab575b5050505060035490600160401b821015610398575080600161038392016003556111fd565b909283549160031b92831b921b191617905580f35b634e487b7160e01b855260419052602484fd5b6103bc9360019189525286206115ef565b3880808061035e565b825162461bcd60e51b81528087018690526012602482015271105b1c9958591e481c9959da5cdd195c995960721b6044820152606490fd5b815162461bcd60e51b8152602081870152600c60248201526b5a65726f206164647265737360a01b6044820152606490fd5b8780fd5b83833461019d57602036600319011261019d576001600160a01b03916104ab919081908461045f6110ca565b1681526002602052208381541693806001830154169581600284015416916003840154169083015460058401549160068501549360ff60086007880154970154169651998a998a6111a9565b0390f35b8284346105745780600319360112610574579080519182906003549182855260208095018093600384527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b90845b8181106105575750505081610513910382611283565b83519485948186019282875251809352850193925b82811061053757505050500390f35b83516001600160a01b031685528695509381019392810192600101610528565b82546001600160a01b0316845292880192600192830192016104fd565b80fd5b919050346101c957806003193601126101c9576105c091356105bb600161059c6110e5565b93838752600080516020611a86833981519152602052862001546116ae565b61193e565b5080f35b50503461019d578160031936011261019d57602090517f24e583e35a20f9ecfc1572e7cb66bcc18ad3cd1650ec40dbf6ad2290e553a9fa8152f35b50503461019d578160031936011261019d5780516104ab9161062082611267565b60058252640352e302e360dc1b6020830152519182916020835260208301906112c1565b50503461019d578060031936011261019d5761065e6110ca565b60243592600a84101561057457506020926106809161067b611634565b611491565b90516001600160a01b039091168152f35b50503461019d578160031936011261019d5751908152602090f35b50503461019d578160031936011261019d57905490516001600160a01b039091168152602090f35b9050346101c957816003193601126101c9578160209360ff926106f56110e5565b90358252600080516020611a8683398151915286528282206001600160a01b03909116825285522054915191161515
|
||
|
|
"deployedBytecode": "0x608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a7146110775750816306bfa93814610ff4578163162f37fa14610eff5781631bad077614610e6e5781631e8a005014610e45578163248a9ca314610e0d5781632f2ff15d14610de3578163306af95514610d1d57816336568abe14610cd75781633c29777914610cae57816341d1de9714610c6d578163485cc95514610ac75781634f1ef2861461080157816352d1902d1461078857816364fa150c146107475781638eec5d701461072857816391d14854146106d4578163979d7e86146106ac578163a217fddf14610691578163aa967fe714610644578163ad3cb1cc146105ff578163b8f6dba7146105c4578163d547741f14610577578163d88ff1f4146104af578163edf7ae2114610433578163ee59b8131461027e578163f0144727146101cd578163f34782ff146101a1575063f72c0d8b1461016457600080fd5b3461019d578160031936011261019d57602090517f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e38152f35b5080fd5b9050346101c957826003193601126101c9575490516001600160a01b03909116815260209150f35b8280fd5b9050346101c95760603660031901126101c9576101e86110ca565b916101f16110e5565b916101fa6110fb565b91858052600080516020611a8683398151915260205280862033875260205260ff818720541615610261575060018060a01b03928391826bffffffffffffffffffffffff60a01b961686825416179055168360055416176005551690600654161760065580f35b9085604492519163e2517d3f60e01b835233908301526024820152fd5b919050346101c95760a03660031901126101c95761029a6110ca565b916102a36110e5565b6102ab6110fb565b906064359360018060a01b039586861680960361042f5786906102cc611634565b169485156103fd578588526020936002855260ff6008848b200154166103c5578790818451956102fb87611234565b898752168686015216808385015281606085015260843560808501528860a08501524260c08501524260e085015260016101008501528689526002855261034484848b20611554565b8089526001855261035784848b206115ef565b81036103ab575b5050505060035490600160401b821015610398575080600161038392016003556111fd565b909283549160031b92831b921b191617905580f35b634e487b7160e01b855260419052602484fd5b6103bc9360019189525286206115ef565b3880808061035e565b825162461bcd60e51b81528087018690526012602482015271105b1c9958591e481c9959da5cdd195c995960721b6044820152606490fd5b815162461bcd60e51b8152602081870152600c60248201526b5a65726f206164647265737360a01b6044820152606490fd5b8780fd5b83833461019d57602036600319011261019d576001600160a01b03916104ab919081908461045f6110ca565b1681526002602052208381541693806001830154169581600284015416916003840154169083015460058401549160068501549360ff60086007880154970154169651998a998a6111a9565b0390f35b8284346105745780600319360112610574579080519182906003549182855260208095018093600384527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b90845b8181106105575750505081610513910382611283565b83519485948186019282875251809352850193925b82811061053757505050500390f35b83516001600160a01b031685528695509381019392810192600101610528565b82546001600160a01b0316845292880192600192830192016104fd565b80fd5b919050346101c957806003193601126101c9576105c091356105bb600161059c6110e5565b93838752600080516020611a86833981519152602052862001546116ae565b61193e565b5080f35b50503461019d578160031936011261019d57602090517f24e583e35a20f9ecfc1572e7cb66bcc18ad3cd1650ec40dbf6ad2290e553a9fa8152f35b50503461019d578160031936011261019d5780516104ab9161062082611267565b60058252640352e302e360dc1b6020830152519182916020835260208301906112c1565b50503461019d578060031936011261019d5761065e6110ca565b60243592600a84101561057457506020926106809161067b611634565b611491565b90516001600160a01b039091168152f35b50503461019d578160031936011261019d5751908152602090f35b50503461019d578160031936011261019d57905490516001600160a01b039091168152602090f35b9050346101c957816003193601126101c9578160209360ff926106f56110e5565b90358252600080516020611a8683398151915286528282206001600160a01b039091168252855220549151911615158152f35b50503461019d578160031936011261019d576020906003549051908152f35b82843461057457602036600319011261057457506104ab61076e6107696110ca565b61137b565b8392919251938493151584528060208501528301906112c1565b828434610574578060031936011261057457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036107f457602090517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152
|
||
|
|
"linkReferences": {},
|
||
|
|
"deployedLinkReferences": {}
|
||
|
|
}
|