mirror of
https://github.com/Instadapp/fluid-contracts-public.git
synced 2024-07-29 21:57:37 +00:00
1226 lines
336 KiB
JSON
1226 lines
336 KiB
JSON
|
{
|
||
|
"address": "0xBDF3e6A0c721117B69150D00D9Fb27873023E4Df",
|
||
|
"abi": [
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "nativeTokenMaxBorrowLimitCap_",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "constructor"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "errorId_",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"name": "FluidLiquidityCalcsError",
|
||
|
"type": "error"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "errorId_",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"name": "FluidLiquidityError",
|
||
|
"type": "error"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"inputs": [],
|
||
|
"name": "BorrowRateMaxCap",
|
||
|
"type": "event"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "uint256",
|
||
|
"name": "newStatus",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"name": "LogChangeStatus",
|
||
|
"type": "event"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "token",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "uint256",
|
||
|
"name": "amount",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"name": "LogCollectRevenue",
|
||
|
"type": "event"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"indexed": false,
|
||
|
"internalType": "address",
|
||
|
"name": "user",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"indexed": false,
|
||
|
"internalType": "address[]",
|
||
|
"name": "supplyTokens",
|
||
|
"type": "address[]"
|
||
|
},
|
||
|
{
|
||
|
"indexed": false,
|
||
|
"internalType": "address[]",
|
||
|
"name": "borrowTokens",
|
||
|
"type": "address[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "LogPauseUser",
|
||
|
"type": "event"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"indexed": false,
|
||
|
"internalType": "address",
|
||
|
"name": "user",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"indexed": false,
|
||
|
"internalType": "address[]",
|
||
|
"name": "supplyTokens",
|
||
|
"type": "address[]"
|
||
|
},
|
||
|
{
|
||
|
"indexed": false,
|
||
|
"internalType": "address[]",
|
||
|
"name": "borrowTokens",
|
||
|
"type": "address[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "LogUnpauseUser",
|
||
|
"type": "event"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "addr",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "bool",
|
||
|
"name": "value",
|
||
|
"type": "bool"
|
||
|
}
|
||
|
],
|
||
|
"indexed": false,
|
||
|
"internalType": "struct Structs.AddressBool[]",
|
||
|
"name": "authsStatus",
|
||
|
"type": "tuple[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "LogUpdateAuths",
|
||
|
"type": "event"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "token",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "uint256",
|
||
|
"name": "supplyExchangePrice",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "uint256",
|
||
|
"name": "borrowExchangePrice",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"indexed": false,
|
||
|
"internalType": "uint256",
|
||
|
"name": "borrowRate",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"indexed": false,
|
||
|
"internalType": "uint256",
|
||
|
"name": "utilization",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"name": "LogUpdateExchangePrices",
|
||
|
"type": "event"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "addr",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "bool",
|
||
|
"name": "value",
|
||
|
"type": "bool"
|
||
|
}
|
||
|
],
|
||
|
"indexed": false,
|
||
|
"internalType": "struct Structs.AddressBool[]",
|
||
|
"name": "guardiansStatus",
|
||
|
"type": "tuple[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "LogUpdateGuardians",
|
||
|
"type": "event"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "token",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "kink",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "rateAtUtilizationZero",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "rateAtUtilizationKink",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "rateAtUtilizationMax",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"indexed": false,
|
||
|
"internalType": "struct Structs.RateDataV1Params[]",
|
||
|
"name": "tokenRateDatas",
|
||
|
"type": "tuple[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "LogUpdateRateDataV1s",
|
||
|
"type": "event"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "token",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "kink1",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "kink2",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "rateAtUtilizationZero",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "rateAtUtilizationKink1",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "rateAtUtilizationKink2",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "rateAtUtilizationMax",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"indexed": false,
|
||
|
"internalType": "struct Structs.RateDataV2Params[]",
|
||
|
"name": "tokenRateDatas",
|
||
|
"type": "tuple[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "LogUpdateRateDataV2s",
|
||
|
"type": "event"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"indexed": true,
|
||
|
"internalType": "address",
|
||
|
"name": "revenueCollector",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "LogUpdateRevenueCollector",
|
||
|
"type": "event"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "token",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "fee",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "threshold",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "maxUtilization",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"indexed": false,
|
||
|
"internalType": "struct Structs.TokenConfig[]",
|
||
|
"name": "tokenConfigs",
|
||
|
"type": "tuple[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "LogUpdateTokenConfigs",
|
||
|
"type": "event"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "user",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "token",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint8",
|
||
|
"name": "mode",
|
||
|
"type": "uint8"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "expandPercent",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "expandDuration",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "baseDebtCeiling",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "maxDebtCeiling",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"indexed": false,
|
||
|
"internalType": "struct Structs.UserBorrowConfig[]",
|
||
|
"name": "userBorrowConfigs",
|
||
|
"type": "tuple[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "LogUpdateUserBorrowConfigs",
|
||
|
"type": "event"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "addr",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "value",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"indexed": false,
|
||
|
"internalType": "struct Structs.AddressUint256[]",
|
||
|
"name": "userClasses",
|
||
|
"type": "tuple[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "LogUpdateUserClasses",
|
||
|
"type": "event"
|
||
|
},
|
||
|
{
|
||
|
"anonymous": false,
|
||
|
"inputs": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "user",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "token",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint8",
|
||
|
"name": "mode",
|
||
|
"type": "uint8"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "expandPercent",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "expandDuration",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "baseWithdrawalLimit",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"indexed": false,
|
||
|
"internalType": "struct Structs.UserSupplyConfig[]",
|
||
|
"name": "userSupplyConfigs",
|
||
|
"type": "tuple[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "LogUpdateUserSupplyConfigs",
|
||
|
"type": "event"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [],
|
||
|
"name": "NATIVE_TOKEN_MAX_BORROW_LIMIT_CAP",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "newStatus_",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"name": "changeStatus",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address[]",
|
||
|
"name": "tokens_",
|
||
|
"type": "address[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "collectRevenue",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "user_",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "address[]",
|
||
|
"name": "supplyTokens_",
|
||
|
"type": "address[]"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "address[]",
|
||
|
"name": "borrowTokens_",
|
||
|
"type": "address[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "pauseUser",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "user_",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "address[]",
|
||
|
"name": "supplyTokens_",
|
||
|
"type": "address[]"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "address[]",
|
||
|
"name": "borrowTokens_",
|
||
|
"type": "address[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "unpauseUser",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "addr",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "bool",
|
||
|
"name": "value",
|
||
|
"type": "bool"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct Structs.AddressBool[]",
|
||
|
"name": "authsStatus_",
|
||
|
"type": "tuple[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "updateAuths",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address[]",
|
||
|
"name": "tokens_",
|
||
|
"type": "address[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "updateExchangePrices",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "uint256[]",
|
||
|
"name": "supplyExchangePrices_",
|
||
|
"type": "uint256[]"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256[]",
|
||
|
"name": "borrowExchangePrices_",
|
||
|
"type": "uint256[]"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "addr",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "bool",
|
||
|
"name": "value",
|
||
|
"type": "bool"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct Structs.AddressBool[]",
|
||
|
"name": "guardiansStatus_",
|
||
|
"type": "tuple[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "updateGuardians",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "token",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "kink",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "rateAtUtilizationZero",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "rateAtUtilizationKink",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "rateAtUtilizationMax",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct Structs.RateDataV1Params[]",
|
||
|
"name": "tokensRateData_",
|
||
|
"type": "tuple[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "updateRateDataV1s",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "token",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "kink1",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "kink2",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "rateAtUtilizationZero",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "rateAtUtilizationKink1",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "rateAtUtilizationKink2",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "rateAtUtilizationMax",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct Structs.RateDataV2Params[]",
|
||
|
"name": "tokensRateData_",
|
||
|
"type": "tuple[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "updateRateDataV2s",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "revenueCollector_",
|
||
|
"type": "address"
|
||
|
}
|
||
|
],
|
||
|
"name": "updateRevenueCollector",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "token",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "fee",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "threshold",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "maxUtilization",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct Structs.TokenConfig[]",
|
||
|
"name": "tokenConfigs_",
|
||
|
"type": "tuple[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "updateTokenConfigs",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "user",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "token",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint8",
|
||
|
"name": "mode",
|
||
|
"type": "uint8"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "expandPercent",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "expandDuration",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "baseDebtCeiling",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "maxDebtCeiling",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct Structs.UserBorrowConfig[]",
|
||
|
"name": "userBorrowConfigs_",
|
||
|
"type": "tuple[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "updateUserBorrowConfigs",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "addr",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "value",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct Structs.AddressUint256[]",
|
||
|
"name": "userClasses_",
|
||
|
"type": "tuple[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "updateUserClasses",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "user",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "address",
|
||
|
"name": "token",
|
||
|
"type": "address"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint8",
|
||
|
"name": "mode",
|
||
|
"type": "uint8"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "expandPercent",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "expandDuration",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "baseWithdrawalLimit",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct Structs.UserSupplyConfig[]",
|
||
|
"name": "userSupplyConfigs_",
|
||
|
"type": "tuple[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "updateUserSupplyConfigs",
|
||
|
"outputs": [],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "function"
|
||
|
}
|
||
|
],
|
||
|
"transactionHash": "0x9e417ed3a7839bc91191ce5d86ad878e10a238e1b4b125b61ca16ff5b1169625",
|
||
|
"receipt": {
|
||
|
"to": "0x4e59b44847b379578588920cA78FbF26c0B4956C",
|
||
|
"from": "0x0Ed35B1609Ec45c7079E80d11149a52717e4859A",
|
||
|
"contractAddress": null,
|
||
|
"transactionIndex": 147,
|
||
|
"gasUsed": "5157833",
|
||
|
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||
|
"blockHash": "0x2793f8f9440f8488b65dba0f4be99eb71bd5e589be9252bb6c070ded9279e167",
|
||
|
"transactionHash": "0x9e417ed3a7839bc91191ce5d86ad878e10a238e1b4b125b61ca16ff5b1169625",
|
||
|
"logs": [],
|
||
|
"blockNumber": 19959831,
|
||
|
"cumulativeGasUsed": "25852264",
|
||
|
"status": 1,
|
||
|
"byzantium": true
|
||
|
},
|
||
|
"args": [
|
||
|
"100000000000000000000000000"
|
||
|
],
|
||
|
"numDeployments": 2,
|
||
|
"solcInputHash": "033d84042c3fe6a1afa58a71e8e52d69",
|
||
|
"metadata": "{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nativeTokenMaxBorrowLimitCap_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"errorId_\",\"type\":\"uint256\"}],\"name\":\"FluidLiquidityCalcsError\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"errorId_\",\"type\":\"uint256\"}],\"name\":\"FluidLiquidityError\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"BorrowRateMaxCap\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newStatus\",\"type\":\"uint256\"}],\"name\":\"LogChangeStatus\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"LogCollectRevenue\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"supplyTokens\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"borrowTokens\",\"type\":\"address[]\"}],\"name\":\"LogPauseUser\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"supplyTokens\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"borrowTokens\",\"type\":\"address[]\"}],\"name\":\"LogUnpauseUser\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"indexed\":false,\"internalType\":\"struct Structs.AddressBool[]\",\"name\":\"authsStatus\",\"type\":\"tuple[]\"}],\"name\":\"LogUpdateAuths\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"supplyExchangePrice\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"borrowExchangePrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"borrowRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"utilization\",\"type\":\"uint256\"}],\"name\":\"LogUpdateExchangePrices\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"indexed\":false,\"internalType\":\"struct Structs.AddressBool[]\",\"name\":\"guardiansStatus\",\"type\":\"tuple[]\"}],\"name\":\"LogUpdateGuardians\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"kink\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rateAtUtilizationZero\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rateAtUtilizationKink\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rateAtUtilizationMax\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct Structs.RateDataV1Params[]\",\"name\":\"tokenRateDatas\",\"type\":\"tuple[]\"}],\"name\":\"LogUpdateRateDataV1s\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"kink1\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"kink2\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rateAtUtilizationZero\",\"type\":\"uint256\"},{
|
||
|
"bytecode": "0x60a06040523480156200001157600080fd5b5060405162005cc938038062005cc983398101604081905262000034916200006f565b60026001558060008190036200006557604051636e55c17160e11b8152612716600482015260240160405180910390fd5b6080525062000089565b6000602082840312156200008257600080fd5b5051919050565b608051615c1d620000ac600039600081816101e501526105820152615c1d6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063a5eb43ef11610097578063e8025d7711610066578063e8025d77146101cd578063eae2c8f1146101e0578063ec0484011461021a578063f4bfa0001461022d57600080fd5b8063a5eb43ef14610181578063ac862bfa14610194578063c2da75f0146101a7578063dd4cbf6b146101ba57600080fd5b80633fad77fc116100d35780633fad77fc1461013557806354bb0c1d146101485780637f7b60021461015b5780639dde59771461016e57600080fd5b806301b88f86146100fa57806302c6bb6a1461010f5780633f66feff14610122575b600080fd5b61010d610108366004614faf565b61024e565b005b61010d61011d3660046150b1565b610f5f565b61010d6101303660046151e4565b6119e1565b61010d610143366004615226565b611b6c565b61010d61015636600461529b565b611e06565b61010d6101693660046152bd565b611ef6565b61010d61017c366004615320565b612573565b61010d61018f3660046151e4565b6127eb565b61010d6101a23660046153c8565b61294e565b61010d6101b53660046151e4565b612d2b565b61010d6101c83660046153fe565b612f00565b61010d6101db36600461547f565b613372565b6102077f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b61010d6102283660046153fe565b613488565b61024061023b3660046153c8565b613866565b6040516102119291906154d3565b336000908152600260205260409020546001908116148015906102ae5750336102957fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff1614155b156102ee576040517fdcab82e200000000000000000000000000000000000000000000000000000000815261271360048201526024015b60405180910390fd5b6000806000806000806000805b8851811015610f1d5761032a89828151811061031957610319615501565b602002602001015160000151613989565b61035089828151811061033f5761033f615501565b602002602001015160200151613989565b600560008a838151811061036657610366615501565b60200260200101516020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546000036103ea576040517fdcab82e200000000000000000000000000000000000000000000000000000000815261271a60048201526024016102e5565b60018982815181106103fe576103fe615501565b60200260200101516040015160ff161180610452575088818151811061042657610426615501565b602002602001015160c0015189828151811061044457610444615501565b602002602001015160a00151115b8061047a575088818151811061046a5761046a615501565b6020026020010151608001516000145b806105c2575073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff168982815181106104bd576104bd615501565b60200260200101516020015173ffffffffffffffffffffffffffffffffffffffff1614610580578881815181106104f6576104f6615501565b60200260200101516020015173ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561054c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105709190615530565b61057b90600a615578565b6105a2565b7f00000000000000000000000000000000000000000000000000000000000000005b8982815181106105b4576105b4615501565b602002602001015160c00151115b156105fd576040517fdcab82e200000000000000000000000000000000000000000000000000000000815261271660048201526024016102e5565b613fff89828151811061061257610612615501565b602002602001015160600151111561065a576040517fdcab82e200000000000000000000000000000000000000000000000000000000815261272660048201526024016102e5565b62ffffff89828151811061067057610670615501565b60200260200101516080015111156106b8576040517fdcab82e200000000000000000000000000000000000000000000000000000000815261272760048201526024016102e5565b8881815181106106ca576106ca615501565b602002602001015160a001516000148061070157508881815181106106f1576106f1615501565b602002602001015160c001516000145b1561073c576040517fdcab82e200000000000000000000000000000000000000000000000000000000815261271560048201526024016102e5565b600960008a838151811061075257
|
||
|
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c8063a5eb43ef11610097578063e8025d7711610066578063e8025d77146101cd578063eae2c8f1146101e0578063ec0484011461021a578063f4bfa0001461022d57600080fd5b8063a5eb43ef14610181578063ac862bfa14610194578063c2da75f0146101a7578063dd4cbf6b146101ba57600080fd5b80633fad77fc116100d35780633fad77fc1461013557806354bb0c1d146101485780637f7b60021461015b5780639dde59771461016e57600080fd5b806301b88f86146100fa57806302c6bb6a1461010f5780633f66feff14610122575b600080fd5b61010d610108366004614faf565b61024e565b005b61010d61011d3660046150b1565b610f5f565b61010d6101303660046151e4565b6119e1565b61010d610143366004615226565b611b6c565b61010d61015636600461529b565b611e06565b61010d6101693660046152bd565b611ef6565b61010d61017c366004615320565b612573565b61010d61018f3660046151e4565b6127eb565b61010d6101a23660046153c8565b61294e565b61010d6101b53660046151e4565b612d2b565b61010d6101c83660046153fe565b612f00565b61010d6101db36600461547f565b613372565b6102077f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b61010d6102283660046153fe565b613488565b61024061023b3660046153c8565b613866565b6040516102119291906154d3565b336000908152600260205260409020546001908116148015906102ae5750336102957fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff1614155b156102ee576040517fdcab82e200000000000000000000000000000000000000000000000000000000815261271360048201526024015b60405180910390fd5b6000806000806000806000805b8851811015610f1d5761032a89828151811061031957610319615501565b602002602001015160000151613989565b61035089828151811061033f5761033f615501565b602002602001015160200151613989565b600560008a838151811061036657610366615501565b60200260200101516020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546000036103ea576040517fdcab82e200000000000000000000000000000000000000000000000000000000815261271a60048201526024016102e5565b60018982815181106103fe576103fe615501565b60200260200101516040015160ff161180610452575088818151811061042657610426615501565b602002602001015160c0015189828151811061044457610444615501565b602002602001015160a00151115b8061047a575088818151811061046a5761046a615501565b6020026020010151608001516000145b806105c2575073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff168982815181106104bd576104bd615501565b60200260200101516020015173ffffffffffffffffffffffffffffffffffffffff1614610580578881815181106104f6576104f6615501565b60200260200101516020015173ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561054c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105709190615530565b61057b90600a615578565b6105a2565b7f00000000000000000000000000000000000000000000000000000000000000005b8982815181106105b4576105b4615501565b602002602001015160c00151115b156105fd576040517fdcab82e200000000000000000000000000000000000000000000000000000000815261271660048201526024016102e5565b613fff89828151811061061257610612615501565b602002602001015160600151111561065a576040517fdcab82e200000000000000000000000000000000000000000000000000000000815261272660048201526024016102e5565b62ffffff89828151811061067057610670615501565b60200260200101516080015111156106b8576040517fdcab82e200000000000000000000000000000000000000000000000000000000815261272760048201526024016102e5565b8881815181106106ca576106ca615501565b602002602001015160a001516000148061070157508881815181106106f1576106f1615501565b602002602001015160c001516000145b1561073c576040517fdcab82e200000000000000000000000000000000000000000000000000000000815261271560048201526024016102e5565b600960008a838151811061075257610752615501565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a83815181106107ac576107ac615501565b60200260200101516020015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020
|
||
|
"devdoc": {
|
||
|
"kind": "dev",
|
||
|
"methods": {
|
||
|
"changeStatus(uint256)": {
|
||
|
"params": {
|
||
|
"newStatus_": "new status status = 2 -> pause, status = 1 -> resume."
|
||
|
}
|
||
|
},
|
||
|
"collectRevenue(address[])": {
|
||
|
"details": "Note that this can revert if token balance is < revenueAmount (utilization > 100%)",
|
||
|
"params": {
|
||
|
"tokens_": "array of tokens to collect revenue for"
|
||
|
}
|
||
|
},
|
||
|
"pauseUser(address,address[],address[])": {
|
||
|
"params": {
|
||
|
"borrowTokens_": "token addresses to pause borrowings for",
|
||
|
"supplyTokens_": "token addresses to pause withdrawals for",
|
||
|
"user_": "address of user to pause operations for"
|
||
|
}
|
||
|
},
|
||
|
"unpauseUser(address,address[],address[])": {
|
||
|
"params": {
|
||
|
"borrowTokens_": "token addresses to unpause borrowings for",
|
||
|
"supplyTokens_": "token addresses to unpause withdrawals for",
|
||
|
"user_": "address of user to unpause operations for"
|
||
|
}
|
||
|
},
|
||
|
"updateAuths((address,bool)[])": {
|
||
|
"params": {
|
||
|
"authsStatus_": "array of structs setting allowed status for an address. status true => add auth, false => remove auth"
|
||
|
}
|
||
|
},
|
||
|
"updateExchangePrices(address[])": {
|
||
|
"params": {
|
||
|
"tokens_": "tokens to update exchange prices for"
|
||
|
},
|
||
|
"returns": {
|
||
|
"borrowExchangePrices_": "new borrow rates of overall system for each token",
|
||
|
"supplyExchangePrices_": "new supply rates of overall system for each token"
|
||
|
}
|
||
|
},
|
||
|
"updateGuardians((address,bool)[])": {
|
||
|
"params": {
|
||
|
"guardiansStatus_": "array of structs setting allowed status for an address. status true => add guardian, false => remove guardian"
|
||
|
}
|
||
|
},
|
||
|
"updateRateDataV1s((address,uint256,uint256,uint256,uint256)[])": {
|
||
|
"params": {
|
||
|
"tokensRateData_": "array of RateDataV1Params with rate data to set for each token"
|
||
|
}
|
||
|
},
|
||
|
"updateRateDataV2s((address,uint256,uint256,uint256,uint256,uint256,uint256)[])": {
|
||
|
"params": {
|
||
|
"tokensRateData_": "array of RateDataV2Params with rate data to set for each token"
|
||
|
}
|
||
|
},
|
||
|
"updateRevenueCollector(address)": {
|
||
|
"params": {
|
||
|
"revenueCollector_": "new revenue collector address"
|
||
|
}
|
||
|
},
|
||
|
"updateTokenConfigs((address,uint256,uint256,uint256)[])": {
|
||
|
"params": {
|
||
|
"tokenConfigs_": "contains token address, fee & utilization threshold"
|
||
|
}
|
||
|
},
|
||
|
"updateUserBorrowConfigs((address,address,uint8,uint256,uint256,uint256,uint256)[])": {
|
||
|
"params": {
|
||
|
"userBorrowConfigs_": "struct array containing user borrow config, see `UserBorrowConfig` struct for more info"
|
||
|
}
|
||
|
},
|
||
|
"updateUserClasses((address,uint256)[])": {
|
||
|
"params": {
|
||
|
"userClasses_": "struct array of uint256 value to assign for each user address"
|
||
|
}
|
||
|
},
|
||
|
"updateUserSupplyConfigs((address,address,uint8,uint256,uint256,uint256)[])": {
|
||
|
"params": {
|
||
|
"userSupplyConfigs_": "struct array containing user supply config, see `UserSupplyConfig` struct for more info"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"title": "Fluid Liquidity AdminModule",
|
||
|
"version": 1
|
||
|
},
|
||
|
"userdoc": {
|
||
|
"events": {
|
||
|
"BorrowRateMaxCap()": {
|
||
|
"notice": "emitted if the calculated borrow rate surpassed max borrow rate (16 bits) and was capped at maximum value 65535"
|
||
|
},
|
||
|
"LogChangeStatus(uint256)": {
|
||
|
"notice": "emitted when status is changed (paused / unpaused)"
|
||
|
},
|
||
|
"LogCollectRevenue(address,uint256)": {
|
||
|
"notice": "emitted when revenue is collected"
|
||
|
},
|
||
|
"LogPauseUser(address,address[],address[])": {
|
||
|
"notice": "emitted when a user gets certain tokens paused"
|
||
|
},
|
||
|
"LogUnpauseUser(address,address[],address[])": {
|
||
|
"notice": "emitted when a user gets certain tokens unpaused"
|
||
|
},
|
||
|
"LogUpdateAuths((address,bool)[])": {
|
||
|
"notice": "emitted when allowed auths are updated"
|
||
|
},
|
||
|
"LogUpdateExchangePrices(address,uint256,uint256,uint256,uint256)": {
|
||
|
"notice": "emitted when exchange prices and borrow rate are updated"
|
||
|
},
|
||
|
"LogUpdateGuardians((address,bool)[])": {
|
||
|
"notice": "emitted when allowed guardians are updated"
|
||
|
},
|
||
|
"LogUpdateRateDataV1s((address,uint256,uint256,uint256,uint256)[])": {
|
||
|
"notice": "emitted when token rate data is updated with rate data v1"
|
||
|
},
|
||
|
"LogUpdateRateDataV2s((address,uint256,uint256,uint256,uint256,uint256,uint256)[])": {
|
||
|
"notice": "emitted when token rate data is updated with rate data v2"
|
||
|
},
|
||
|
"LogUpdateRevenueCollector(address)": {
|
||
|
"notice": "emitted when revenue collector address is updated"
|
||
|
},
|
||
|
"LogUpdateTokenConfigs((address,uint256,uint256,uint256)[])": {
|
||
|
"notice": "emitted when token configs are updated"
|
||
|
},
|
||
|
"LogUpdateUserBorrowConfigs((address,address,uint8,uint256,uint256,uint256,uint256)[])": {
|
||
|
"notice": "emitted when user borrow configs are updated"
|
||
|
},
|
||
|
"LogUpdateUserClasses((address,uint256)[])": {
|
||
|
"notice": "emitted when user classes are updated"
|
||
|
},
|
||
|
"LogUpdateUserSupplyConfigs((address,address,uint8,uint256,uint256,uint256)[])": {
|
||
|
"notice": "emitted when user supply configs are updated"
|
||
|
}
|
||
|
},
|
||
|
"kind": "user",
|
||
|
"methods": {
|
||
|
"changeStatus(uint256)": {
|
||
|
"notice": "changes current status, e.g. for pausing or unpausing all user operations. Only callable by Auths."
|
||
|
},
|
||
|
"collectRevenue(address[])": {
|
||
|
"notice": "collects revenue for tokens to configured revenueCollector address."
|
||
|
},
|
||
|
"pauseUser(address,address[],address[])": {
|
||
|
"notice": "pause operations for a particular user in class 0 (class 1 users can't be paused by guardians). Only callable by Guardians."
|
||
|
},
|
||
|
"unpauseUser(address,address[],address[])": {
|
||
|
"notice": "unpause operations for a particular user in class 0 (class 1 users can't be paused by guardians). Only callable by Guardians."
|
||
|
},
|
||
|
"updateAuths((address,bool)[])": {
|
||
|
"notice": "adds/removes auths. Auths generally could be contracts which can have restricted actions defined on contract. auths can be helpful in reducing governance overhead where it's not needed."
|
||
|
},
|
||
|
"updateExchangePrices(address[])": {
|
||
|
"notice": "gets the current updated exchange prices for n tokens and updates all prices, rates related data in storage."
|
||
|
},
|
||
|
"updateGuardians((address,bool)[])": {
|
||
|
"notice": "adds/removes guardians. Only callable by Governance."
|
||
|
},
|
||
|
"updateRateDataV1s((address,uint256,uint256,uint256,uint256)[])": {
|
||
|
"notice": "update tokens rate data version 1. Only callable by Auths."
|
||
|
},
|
||
|
"updateRateDataV2s((address,uint256,uint256,uint256,uint256,uint256,uint256)[])": {
|
||
|
"notice": "update tokens rate data version 2. Only callable by Auths."
|
||
|
},
|
||
|
"updateRevenueCollector(address)": {
|
||
|
"notice": "changes the revenue collector address (contract that is sent revenue). Only callable by Governance."
|
||
|
},
|
||
|
"updateTokenConfigs((address,uint256,uint256,uint256)[])": {
|
||
|
"notice": "updates token configs: fee charge on borrowers interest & storage update utilization threshold. Only callable by Auths."
|
||
|
},
|
||
|
"updateUserBorrowConfigs((address,address,uint8,uint256,uint256,uint256,uint256)[])": {
|
||
|
"notice": "setting user borrow configs per token basis. Eg: with interest or interest-free and automated limits. Only callable by Auths."
|
||
|
},
|
||
|
"updateUserClasses((address,uint256)[])": {
|
||
|
"notice": "updates user classes: 0 is for new protocols, 1 is for established protocols. Only callable by Auths."
|
||
|
},
|
||
|
"updateUserSupplyConfigs((address,address,uint8,uint256,uint256,uint256)[])": {
|
||
|
"notice": "sets user supply configs per token basis. Eg: with interest or interest-free and automated limits. Only callable by Auths."
|
||
|
}
|
||
|
},
|
||
|
"notice": "Fluid Liquidity auth protected methods to configure things such as: guardians, auths, governance, revenue, token configs, allowances etc. Accessibility of methods is restricted to Governance, Auths or Guardians. Governance is Auth & Governance by default",
|
||
|
"version": 1
|
||
|
},
|
||
|
"storageLayout": {
|
||
|
"storage": [
|
||
|
{
|
||
|
"astId": 16694,
|
||
|
"contract": "contracts/liquidity/adminModule/main.sol:FluidLiquidityAdminModule",
|
||
|
"label": "_revenueCollector",
|
||
|
"offset": 0,
|
||
|
"slot": "0",
|
||
|
"type": "t_address"
|
||
|
},
|
||
|
{
|
||
|
"astId": 16697,
|
||
|
"contract": "contracts/liquidity/adminModule/main.sol:FluidLiquidityAdminModule",
|
||
|
"label": "_status",
|
||
|
"offset": 0,
|
||
|
"slot": "1",
|
||
|
"type": "t_uint256"
|
||
|
},
|
||
|
{
|
||
|
"astId": 16702,
|
||
|
"contract": "contracts/liquidity/adminModule/main.sol:FluidLiquidityAdminModule",
|
||
|
"label": "_isAuth",
|
||
|
"offset": 0,
|
||
|
"slot": "2",
|
||
|
"type": "t_mapping(t_address,t_uint256)"
|
||
|
},
|
||
|
{
|
||
|
"astId": 16707,
|
||
|
"contract": "contracts/liquidity/adminModule/main.sol:FluidLiquidityAdminModule",
|
||
|
"label": "_isGuardian",
|
||
|
"offset": 0,
|
||
|
"slot": "3",
|
||
|
"type": "t_mapping(t_address,t_uint256)"
|
||
|
},
|
||
|
{
|
||
|
"astId": 16712,
|
||
|
"contract": "contracts/liquidity/adminModule/main.sol:FluidLiquidityAdminModule",
|
||
|
"label": "_userClass",
|
||
|
"offset": 0,
|
||
|
"slot": "4",
|
||
|
"type": "t_mapping(t_address,t_uint256)"
|
||
|
},
|
||
|
{
|
||
|
"astId": 16717,
|
||
|
"contract": "contracts/liquidity/adminModule/main.sol:FluidLiquidityAdminModule",
|
||
|
"label": "_exchangePricesAndConfig",
|
||
|
"offset": 0,
|
||
|
"slot": "5",
|
||
|
"type": "t_mapping(t_address,t_uint256)"
|
||
|
},
|
||
|
{
|
||
|
"astId": 16722,
|
||
|
"contract": "contracts/liquidity/adminModule/main.sol:FluidLiquidityAdminModule",
|
||
|
"label": "_rateData",
|
||
|
"offset": 0,
|
||
|
"slot": "6",
|
||
|
"type": "t_mapping(t_address,t_uint256)"
|
||
|
},
|
||
|
{
|
||
|
"astId": 16727,
|
||
|
"contract": "contracts/liquidity/adminModule/main.sol:FluidLiquidityAdminModule",
|
||
|
"label": "_totalAmounts",
|
||
|
"offset": 0,
|
||
|
"slot": "7",
|
||
|
"type": "t_mapping(t_address,t_uint256)"
|
||
|
},
|
||
|
{
|
||
|
"astId": 16734,
|
||
|
"contract": "contracts/liquidity/adminModule/main.sol:FluidLiquidityAdminModule",
|
||
|
"label": "_userSupplyData",
|
||
|
"offset": 0,
|
||
|
"slot": "8",
|
||
|
"type": "t_mapping(t_address,t_mapping(t_address,t_uint256))"
|
||
|
},
|
||
|
{
|
||
|
"astId": 16741,
|
||
|
"contract": "contracts/liquidity/adminModule/main.sol:FluidLiquidityAdminModule",
|
||
|
"label": "_userBorrowData",
|
||
|
"offset": 0,
|
||
|
"slot": "9",
|
||
|
"type": "t_mapping(t_address,t_mapping(t_address,t_uint256))"
|
||
|
},
|
||
|
{
|
||
|
"astId": 16745,
|
||
|
"contract": "contracts/liquidity/adminModule/main.sol:FluidLiquidityAdminModule",
|
||
|
"label": "_listedTokens",
|
||
|
"offset": 0,
|
||
|
"slot": "10",
|
||
|
"type": "t_array(t_address)dyn_storage"
|
||
|
},
|
||
|
{
|
||
|
"astId": 16750,
|
||
|
"contract": "contracts/liquidity/adminModule/main.sol:FluidLiquidityAdminModule",
|
||
|
"label": "_configs2",
|
||
|
"offset": 0,
|
||
|
"slot": "11",
|
||
|
"type": "t_mapping(t_address,t_uint256)"
|
||
|
}
|
||
|
],
|
||
|
"types": {
|
||
|
"t_address": {
|
||
|
"encoding": "inplace",
|
||
|
"label": "address",
|
||
|
"numberOfBytes": "20"
|
||
|
},
|
||
|
"t_array(t_address)dyn_storage": {
|
||
|
"base": "t_address",
|
||
|
"encoding": "dynamic_array",
|
||
|
"label": "address[]",
|
||
|
"numberOfBytes": "32"
|
||
|
},
|
||
|
"t_mapping(t_address,t_mapping(t_address,t_uint256))": {
|
||
|
"encoding": "mapping",
|
||
|
"key": "t_address",
|
||
|
"label": "mapping(address => mapping(address => uint256))",
|
||
|
"numberOfBytes": "32",
|
||
|
"value": "t_mapping(t_address,t_uint256)"
|
||
|
},
|
||
|
"t_mapping(t_address,t_uint256)": {
|
||
|
"encoding": "mapping",
|
||
|
"key": "t_address",
|
||
|
"label": "mapping(address => uint256)",
|
||
|
"numberOfBytes": "32",
|
||
|
"value": "t_uint256"
|
||
|
},
|
||
|
"t_uint256": {
|
||
|
"encoding": "inplace",
|
||
|
"label": "uint256",
|
||
|
"numberOfBytes": "32"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|