@gooddollar/goodprotocol
Version:
GoodDollar Protocol
1,716 lines (1,715 loc) • 177 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "SuperGoodDollar",
"sourceName": "contracts/token/superfluid/SuperGoodDollar.sol",
"abi": [
{
"inputs": [
{
"internalType": "contract ISuperfluid",
"name": "_host",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "SF_TOKEN_AGREEMENT_ALREADY_EXISTS",
"type": "error"
},
{
"inputs": [],
"name": "SF_TOKEN_AGREEMENT_DOES_NOT_EXIST",
"type": "error"
},
{
"inputs": [],
"name": "SF_TOKEN_BURN_INSUFFICIENT_BALANCE",
"type": "error"
},
{
"inputs": [],
"name": "SF_TOKEN_MOVE_INSUFFICIENT_BALANCE",
"type": "error"
},
{
"inputs": [],
"name": "SF_TOKEN_ONLY_HOST",
"type": "error"
},
{
"inputs": [],
"name": "SF_TOKEN_ONLY_LISTED_AGREEMENT",
"type": "error"
},
{
"inputs": [],
"name": "SUPER_GOODDOLLAR_PAUSED",
"type": "error"
},
{
"inputs": [],
"name": "SUPER_TOKEN_APPROVE_FROM_ZERO_ADDRESS",
"type": "error"
},
{
"inputs": [],
"name": "SUPER_TOKEN_APPROVE_TO_ZERO_ADDRESS",
"type": "error"
},
{
"inputs": [],
"name": "SUPER_TOKEN_BURN_FROM_ZERO_ADDRESS",
"type": "error"
},
{
"inputs": [],
"name": "SUPER_TOKEN_CALLER_IS_NOT_OPERATOR_FOR_HOLDER",
"type": "error"
},
{
"inputs": [],
"name": "SUPER_TOKEN_INFLATIONARY_DEFLATIONARY_NOT_SUPPORTED",
"type": "error"
},
{
"inputs": [],
"name": "SUPER_TOKEN_MINT_TO_ZERO_ADDRESS",
"type": "error"
},
{
"inputs": [],
"name": "SUPER_TOKEN_NFT_PROXY_ALREADY_SET",
"type": "error"
},
{
"inputs": [],
"name": "SUPER_TOKEN_NOT_ERC777_TOKENS_RECIPIENT",
"type": "error"
},
{
"inputs": [],
"name": "SUPER_TOKEN_NO_UNDERLYING_TOKEN",
"type": "error"
},
{
"inputs": [],
"name": "SUPER_TOKEN_ONLY_GOV_OWNER",
"type": "error"
},
{
"inputs": [],
"name": "SUPER_TOKEN_ONLY_HOST",
"type": "error"
},
{
"inputs": [],
"name": "SUPER_TOKEN_ONLY_SELF",
"type": "error"
},
{
"inputs": [],
"name": "SUPER_TOKEN_TRANSFER_FROM_ZERO_ADDRESS",
"type": "error"
},
{
"inputs": [],
"name": "SUPER_TOKEN_TRANSFER_TO_TOKEN_ADDRESS",
"type": "error"
},
{
"inputs": [],
"name": "SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "agreementClass",
"type": "address"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "id",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "bytes32[]",
"name": "data",
"type": "bytes32[]"
}
],
"name": "AgreementCreated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "agreementClass",
"type": "address"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "id",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "penaltyAccount",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "rewardAccount",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "rewardAmount",
"type": "uint256"
}
],
"name": "AgreementLiquidated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "liquidatorAccount",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "agreementClass",
"type": "address"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "id",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "penaltyAccount",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "bondAccount",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "rewardAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "bailoutAmount",
"type": "uint256"
}
],
"name": "AgreementLiquidatedBy",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "agreementClass",
"type": "address"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "id",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "liquidatorAccount",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "targetAccount",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "rewardAmountReceiver",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "rewardAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "int256",
"name": "targetAccountBalanceDelta",
"type": "int256"
},
{
"indexed": false,
"internalType": "bytes",
"name": "liquidationTypeData",
"type": "bytes"
}
],
"name": "AgreementLiquidatedV2",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "agreementClass",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "slotId",
"type": "uint256"
}
],
"name": "AgreementStateUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "agreementClass",
"type": "address"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "id",
"type": "bytes32"
}
],
"name": "AgreementTerminated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "agreementClass",
"type": "address"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "id",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "bytes32[]",
"name": "data",
"type": "bytes32[]"
}
],
"name": "AgreementUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "tokenHolder",
"type": "address"
}
],
"name": "AuthorizedOperator",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "bailoutAccount",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "bailoutAmount",
"type": "uint256"
}
],
"name": "Bailout",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"indexed": false,
"internalType": "bytes",
"name": "operatorData",
"type": "bytes"
}
],
"name": "Burned",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "uuid",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "address",
"name": "codeAddress",
"type": "address"
}
],
"name": "CodeUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "contract IConstantInflowNFT",
"name": "constantInflowNFT",
"type": "address"
}
],
"name": "ConstantInflowNFTCreated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "contract IConstantOutflowNFT",
"name": "constantOutflowNFT",
"type": "address"
}
],
"name": "ConstantOutflowNFTCreated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint8",
"name": "version",
"type": "uint8"
}
],
"name": "Initialized",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"indexed": false,
"internalType": "bytes",
"name": "operatorData",
"type": "bytes"
}
],
"name": "Minted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Paused",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "tokenHolder",
"type": "address"
}
],
"name": "RevokedOperator",
"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": "operator",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"indexed": false,
"internalType": "bytes",
"name": "operatorData",
"type": "bytes"
}
],
"name": "Sent",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "Transfer",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "fee",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bool",
"name": "senderPays",
"type": "bool"
}
],
"name": "TransferFee",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Unpaused",
"type": "event"
},
{
"inputs": [],
"name": "CONSTANT_INFLOW_NFT",
"outputs": [
{
"internalType": "contract IConstantInflowNFT",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "CONSTANT_OUTFLOW_NFT",
"outputs": [
{
"internalType": "contract IConstantOutflowNFT",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "DEFAULT_ADMIN_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "DOMAIN_SEPARATOR",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "MINTER_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "PAUSER_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_minter",
"type": "address"
}
],
"name": "addMinter",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_pauser",
"type": "address"
}
],
"name": "addPauser",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "authorizeOperator",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "burn",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "burn",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "burnFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "cap",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "castrate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "id",
"type": "bytes32"
},
{
"internalType": "bytes32[]",
"name": "data",
"type": "bytes32[]"
}
],
"name": "createAgreement",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "feeRecipient",
"type": "address"
},
{
"internalType": "address",
"name": "gatewayFeeRecipient",
"type": "address"
},
{
"internalType": "address",
"name": "baseFeeRecipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "refund",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "tipTxFee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "gatewayFee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "baseTxFee",
"type": "uint256"
}
],
"name": "creditGasFees",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "debitGasFees",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "subtractedValue",
"type": "uint256"
}
],
"name": "decreaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "defaultOperators",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "disableHostOperations",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "enabled",
"type": "bool"
}
],
"name": "enableHostOperations",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "feeRecipient",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "formula",
"outputs": [
{
"internalType": "contract IFeesFormula",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "getAccountActiveAgreements",
"outputs": [
{
"internalType": "contract ISuperAgreement[]",
"name": "",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "agreementClass",
"type": "address"
},
{
"internalType": "bytes32",
"name": "id",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "dataLength",
"type": "uint256"
}
],
"name": "getAgreementData",
"outputs": [
{
"internalType": "bytes32[]",
"name": "data",
"type": "bytes32[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "agreementClass",
"type": "address"
},
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "slotId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "dataLength",
"type": "uint256"
}
],
"name": "getAgreementStateSlot",
"outputs": [
{
"internalType": "bytes32[]",
"name": "slotData",
"type": "bytes32[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getCodeAddress",
"outputs": [
{
"internalType": "address",
"name": "codeAddress",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
}
],
"name": "getFees",
"outputs": [
{
"internalType": "uint256",
"name": "fee",
"type": "uint256"
},
{
"internalType": "bool",
"name": "senderPays",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "getFees",
"outputs": [
{
"internalType": "uint256",
"name": "fee",
"type": "uint256"
},
{
"internalType": "bool",
"name": "senderPays",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getHost",
"outputs": [
{
"internalType": "address",
"name": "host",
"type": "address"
}
],
"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": "uint256",
"name": "index",
"type": "uint256"
}
],
"name": "getRoleMember",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
}
],
"name": "getRoleMemberCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getUnderlyingToken",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"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": [],
"name": "granularity",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"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": [],
"name": "identity",
"outputs": [
{
"internalType": "contract IIdentity",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "addedValue",
"type": "uint256"
}
],
"name": "increaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20",
"name": "underlyingToken",
"type": "address"
},
{
"internalType": "uint8",
"name": "underlyingDecimals",
"type": "uint8"
},
{
"internalType": "string",
"name": "n",
"type": "string"
},
{
"internalType": "string",
"name": "s",
"type": "string"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "n",
"type": "string"
},
{
"internalType": "string",
"name": "s",
"type": "string"
},
{
"internalType": "uint256",
"name": "_cap",
"type": "uint256"
},
{
"internalType": "contract IFeesFormula",
"name": "_formula",
"type": "address"
},
{
"internalType": "contract IIdentity",
"name": "_identity",
"type": "address"
},
{
"internalType": "address",
"name": "_feeRecipient",
"type": "address"
},
{
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"internalType": "contract IConstantOutflowNFT",
"name": "_outflowNFT",
"type": "address"
},
{
"internalType": "contract IConstantInflowNFT",
"name": "_inflowNFT",
"type": "address"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
}
],
"name": "isAccountCritical",
"outputs": [
{
"internalType": "bool",
"name": "isCritical",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "isAccountCriticalNow",
"outputs": [
{
"internalType": "bool",
"name": "isCritical",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},