@gooddollar/goodprotocol
Version:
GoodDollar Protocol
1,765 lines • 101 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "SuperToken",
"sourceName": "contracts/token/superfluid/SuperToken.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_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": 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": "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"
}
],
"name": "Transfer",
"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": [
{
"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"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "burn",
"outputs": [],
"stateMutability": "nonpayable",
"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": [
{
"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": [],
"name": "getHost",
"outputs": [
{
"internalType": "address",
"name": "host",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "granularity",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"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": "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"
},
{
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
}
],
"name": "isAccountSolvent",
"outputs": [
{
"internalType": "bool",
"name": "isSolvent",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "isAccountSolventNow",
"outputs": [
{
"internalType": "bool",
"name": "isSolvent",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "address",
"name": "tokenHolder",
"type": "address"
}
],
"name": "isOperatorFor",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "id",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "liquidationTypeData",
"type": "bytes"
},
{
"internalType": "address",
"name": "liquidatorAccount",
"type": "address"
},
{
"internalType": "bool",
"name": "useDefaultRewardAccount",
"type": "bool"
},
{
"internalType": "address",
"name": "targetAccount",
"type": "address"
},
{
"internalType": "uint256",
"name": "rewardAmount",
"type": "uint256"
},
{
"internalType": "int256",
"name": "targetAccountBalanceDelta",
"type": "int256"
}
],
"name": "makeLiquidationPayoutsV2",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "operationApprove",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "subtractedValue",
"type": "uint256"
}
],
"name": "operationDecreaseAllowance",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "addedValue",
"type": "uint256"
}
],
"name": "operationIncreaseAllowance",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "userData",
"type": "bytes"
}
],
"name": "operationSend",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "operationTransferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "operatorData",
"type": "bytes"
}
],
"name": "operatorBurn",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "operatorData",
"type": "bytes"
}
],
"name": "operatorSend",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "poolAdminNFT",
"outputs": [
{
"internalType": "contract IPoolAdminNFT",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "poolMemberNFT",
"outputs": [
{
"internalType": "contract IPoolMemberNFT",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "proxiableUUID",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
}
],
"name": "realtimeBalanceOf",
"outputs": [
{
"internalType": "int256",
"name": "availableBalance",
"type": "int256"
},
{
"internalType": "uint256",
"name": "deposit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "owedDeposit",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "realtimeBalanceOfNow",
"outputs": [
{
"internalType": "int256",
"name": "availableBalance",
"type": "int256"
},
{
"internalType": "uint256",
"name": "deposit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "owedDeposit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "revokeOperator",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "selfApproveFor",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "send",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "int256",
"name": "delta",
"type": "int256"
}
],
"name": "settleBalance",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "id",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "dataLength",
"type": "uint256"
}
],
"name": "terminateAgreement",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "holder",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "id",
"type": "bytes32"
},
{
"internalType": "bytes32[]",
"name": "data",
"type": "bytes32[]"
}
],
"name": "updateAgreementData",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "slotId",
"type": "uint256"
},
{
"internalType": "bytes32[]",
"name": "slotData",
"type": "bytes32[]"
}
],
"name": "updateAgreementStateSlot",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newAddress",
"type": "address"
}
],
"name": "updateCode",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60a06040523480156200001157600080fd5b5060405162003d5438038062003d54833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b608051613c5062000104600039600081816103240152818161091a0152818161099601528181610cde01528181610dad01528181610f4f01528181610f9b015281816110cc015281816112b30152818161165d015281816116df015281816117820152818161180a01528181611e8501528181611f2c015281816124130152612ce40152613c506000f3fe608060405234801561001057600080fd5b50600436106102675760003560e01c806306e485381461026c57806306fdde031461028a578063090c415e1461029f578063095ea7b3146102b457806312a6a3f8146102d757806316d055d6146102ea57806318160ddd146102fd5780631863e8091461030f57806320bc44251461032257806323b872dd1461035157806327048397146103645780632ec8eec714610377578063313ce567146103aa578063386fa221146103b957806339509351146103cc57806342fe0980146103df57806346951954146103f25780634b2763b3146104055780634b61cc33146104185780634c5c0c851461043857806350d75d251461044b57806352d1902d14610453578063556f0dc71461045b57806358cf96721461046257806362aa52871461047557806362ad1b831461048857806366a12fb61461049b5780636a30b253146104ae5780636c2d9f2f146104c157806370a08231146104d457806379359f6f146104e7578063959b8c3f146104fa57806395d89b411461050d5780639903ad38146105155780639bd9bbc61461051d578063a1b2bf8b14610530578063a457c2d714610543578063a9059cbb14610556578063b84cdd4a14610569578063bb0d196e1461057c578063c4b1584c1461058f578063c76058fc146105a2578063c780fd82146105b5578063ca0c1e7f146105c8578063cf97256d146105db578063d95b6371146105ee578063d9d078d614610601578063dd62ed3e14610614578063eb3537cc1461064d578063ef43d2c61461067b578063fad8b32a1461068e578063fc673c4f146106a1578063fe9d9303146106b4575b600080fd5b6102746106c7565b6040516102819190612ddb565b60405180910390f35b6102926106d8565b6040516102819190612e6e565b6102b26102ad366004612ee1565b61076a565b005b6102c76102c2366004612f3c565b61081e565b6040519015158152602001610281565b6102b26102e5366004612f68565b610835565b6102b26102f8366004612fb3565b610918565b6003545b604051908152602001610281565b6102b261031d3660046130c7565b61097f565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516102819190613159565b6102c761035f36600461316d565b610c24565b6102b26103723660046131ae565b610c3a565b61038a6103853660046131d0565b610cd6565b604080519485526020850193909352918301526060820152608001610281565b60405160128152602001610281565b6102746103c73660046131d0565b610d79565b6102c76103da366004612f3c565b610e1c565b6102b26103ed36600461322e565b610e58565b6102b26104003660046131d0565b610f44565b6102b261041336600461316d565b610f99565b61042b6104263660046132c8565b61102b565b604051610281919061330e565b601754610344906001600160a01b031681565b610344611070565b61030161107a565b6001610301565b6102b2610470366004612f3c565b61109e565b6102b261048336600461316d565b6110ca565b6102b2610496366004613346565b611129565b6102b26104a936600461316d565b6111d7565b6102b26104bc3660046133e4565b6111f7565b61042b6104cf366004613464565b611240565b6103016104e23660046131d0565b611282565b6102c76104f53660046131d0565b6112ab565b6102b26105083660046131d0565b611333565b610292611384565b6102b2611393565b6102b261052b366004613499565b6114a3565b6102b261053e366004612f68565b6114fd565b6102c7610551366004612f3c565b6115a7565b6102c7610564366004612f3c565b6115f6565b6102c7610577366004612f3c565b611604565b6102c761058a3660046131d0565b611655565b601954610344906001600160a01b031681565b601854610344906001600160a01b031681565b6102b26105c336600461316d565b6116dd565b6102b26105d63660046134e8565b611780565b6102b26105e9366004612f3c565b6117f3565b6102c76105fc366004613553565b6118e1565b6102c761060f366004612f3c565b6118ef565b610301610622366004613553565b6001600160a01b03918216600090815260116020908152604080832093909416825291909152205490565b61066061065b366004612f3c565b611909565b60408051938452602084019290925290820152606001610281565b601654610344906001600160a01b031681565b6102b261069c3660046131d0565b611a38565b6102b26106af36600461358c565b611a89565b6102b26106c23660046135d3565b611b32565b60606106d36012611ba4565b905090565b6060600f80546106e790613611565b80601f016020809104026020016040519081016040528092919081815260200182805461071390613611565b80156107605780601f1061073557610100808354040283529160200191610760565b820191906000526020600020905b81548152906001019060200180831161074357829003601f168201915b5050505050905090565b60003385856040516020016107819392919061364b565b6040516020818303038152906040528051906020012090506107d681848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611c0a92505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d5985906020015b60405180910390a35050505050565b600061082b338484611c4b565b5060015b92915050565b604051339060009061084d9083908790602001613694565b60408051601f19818403018152919052805160209091012090506108718184611cfb565b1561088f5760405163782a90fb60e11b815260040160405180910390fd5b6108cc81858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611c0a92505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d868686604051610909939291906136d1565b60405180910390a25050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314158061094e575060005b1561096c5760405163c51efddd60e01b815260040160405180910390fd5b61097884848484611d37565b5050505050565b604051632329212160e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638ca48484906109cb903390600401613159565b602060405180830381865afa1580156109e8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0c9190613712565b610a295760405163327fd99160e21b815260040160405180910390fd5b6000610a33611e80565b90506001600160a01b038116610a465750845b600085610a535786610a55565b815b905060008313610af257610a6883613745565b610a7185611fbf565b14610a7e57610a7e613761565b610a8784611fbf565b6001600160a01b03821660009081526002602052604081208054909190610aaf908490613777565b90915550506001600160a01b03851660009081526002602052604081208054859290610adc908490613777565b90915550610aed905085828661202d565b610bbc565b8515610b0057610b00613761565b82610b0a85611fbf565b610b149190613777565b6001600160a01b03831660009081526002602052604081208054909190610b3c90849061379f565b90915550610b4b905084611fbf565b6001600160a01b03881660009081526002602052604081208054909190610b73908490613777565b90915550506001600160a01b03851660009081526002602052604081208054859290610ba0908490613777565b90915550610bb1905082888661202d565b610bbc82868561202d565b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f604051610c119594939291906137bf565b60405180910390a4505050505050505050565b6000610c3233858585611d37565b949350505050565b6040513390600090610c529083908690602001613694565b604051602081830303815290604052805190602001209050610c748184611cfb565b610c915760405163dae1880960e01b815260040160405180910390fd5b610c9b8184612060565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b9060200160405180910390a250505050565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5e91906137fd565b9050610d6a8582611909565b91979096509094509092509050565b6001600160a01b038181166000908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d90602401600060405180830381865afa158015610df4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261082f9190810190613816565b3360008181526011602090815260408083206001600160a01b0387168452909152812054909161082b918590610e539086906138c7565b611c4b565b600054610100900460ff16610ec85760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084015b60405180910390fd5b600e805460ff8716600160a01b026001600160a81b03199091166001600160a01b03891617179055600f610efd848683613928565b506010610f0b828483613928565b50610f1530612081565b6040516000808252908190600080516020613bce833981519152906020015b60405180910390a3505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f8d5760405163263dcdc160e21b815260040160405180910390fd5b610f9681612197565b50565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633141580610fcf575060005b15610fed5760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b038084166000908152601160209081526040808320938616835292905220546110269084908490610e539085906138c7565b505050565b606060008585856040516020016110449392919061364b565b6040516020818303038152906040528051906020012090506110668184612369565b9695505050505050565b60006106d36123f8565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb001990565b33156110bc5760405162461bcd60e51b8152600401610ebf906139e7565b6110c6828261240b565b5050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633141580611100575060005b1561111e5760405163c51efddd60e01b815260040160405180910390fd5b611026838383611c4b565b336111366012828a61251b565b6111535760405163f7f0222760e01b815260040160405180910390fd5b6111cd8189898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a9081908401838280828437600092019190915250600192506125c4915050565b5050505050505050565b33301461111e57604051630fff4cc960e31b815260040160405180910390fd5b33156112155760405162461bcd60e51b8152600401610ebf906139e7565b61121f8885612666565b61122a8888856126c0565b6112358886836126c0565b6111cd8887846126c0565b606060008484604051602001611257929190613694565b6040516020818303038152906040528051906020012090506112798184612369565b95945050505050565b60008061128e83610cd6565b5050509050600081126112a157806112a4565b60005b9392505050565b600061082f827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561130f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060f91906137fd565b33611340601282846126dd565b806001600160a01b0316826001600160a01b03167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a35050565b6060601080546106e790613611565b600054610100900460ff16158080156113b35750600054600160ff909116105b806113d457506113c2306127e1565b1580156113d4575060005460ff166001145b6114375760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610ebf565b6000805460ff19166001179055801561145a576000805461ff0019166101001790555b8015610f96576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6114f73333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250600191506125c49050565b50505050565b60405133906000906115159083908790602001613694565b60405160208183030381529060405280519060200120905061156a81858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611c0a92505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca868686604051610909939291906136d1565b600061082b3384610e53856040518060600160405280602a8152602001613ba4602a91393360009081526011602090815260408083206001600160a01b038d16845290915290205491906127f0565b60006112a433338585611d37565b60008060008