Static
Readonly
abi
abi: readonly [{
inputs: readonly [];
name: "CFA_ACL_FLOW_RATE_ALLOWANCE_EXCEEDED";
type: "error";
}, {
inputs: readonly [];
name: "CFA_ACL_NO_NEGATIVE_ALLOWANCE";
type: "error";
}, {
inputs: readonly [];
name: "CFA_ACL_NO_SENDER_CREATE";
type: "error";
}, {
inputs: readonly [];
name: "CFA_ACL_NO_SENDER_FLOW_OPERATOR";
type: "error";
}, {
inputs: readonly [];
name: "CFA_ACL_NO_SENDER_UPDATE";
type: "error";
}, {
inputs: readonly [];
name: "CFA_ACL_OPERATOR_NO_CREATE_PERMISSIONS";
type: "error";
}, {
inputs: readonly [];
name: "CFA_ACL_OPERATOR_NO_DELETE_PERMISSIONS";
type: "error";
}, {
inputs: readonly [];
name: "CFA_ACL_OPERATOR_NO_UPDATE_PERMISSIONS";
type: "error";
}, {
inputs: readonly [];
name: "CFA_ACL_UNCLEAN_PERMISSIONS";
type: "error";
}, {
inputs: readonly [];
name: "CFA_DEPOSIT_TOO_BIG";
type: "error";
}, {
inputs: readonly [];
name: "CFA_FLOW_ALREADY_EXISTS";
type: "error";
}, {
inputs: readonly [];
name: "CFA_FLOW_DOES_NOT_EXIST";
type: "error";
}, {
inputs: readonly [];
name: "CFA_FLOW_RATE_TOO_BIG";
type: "error";
}, {
inputs: readonly [];
name: "CFA_HOOK_OUT_OF_GAS";
type: "error";
}, {
inputs: readonly [];
name: "CFA_INSUFFICIENT_BALANCE";
type: "error";
}, {
inputs: readonly [];
name: "CFA_INVALID_FLOW_RATE";
type: "error";
}, {
inputs: readonly [];
name: "CFA_NON_CRITICAL_SENDER";
type: "error";
}, {
inputs: readonly [];
name: "CFA_NO_SELF_FLOW";
type: "error";
}, {
inputs: readonly [];
name: "CFA_ZERO_ADDRESS_RECEIVER";
type: "error";
}, {
inputs: readonly [];
name: "CFA_ZERO_ADDRESS_SENDER";
type: "error";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "sender";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "flowOperator";
type: "address";
}, {
indexed: false;
internalType: "uint8";
name: "permissions";
type: "uint8";
}, {
indexed: false;
internalType: "int96";
name: "flowRateAllowance";
type: "int96";
}];
name: "FlowOperatorUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "sender";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "receiver";
type: "address";
}, {
indexed: false;
internalType: "int96";
name: "flowRate";
type: "int96";
}, {
indexed: false;
internalType: "int256";
name: "totalSenderFlowRate";
type: "int256";
}, {
indexed: false;
internalType: "int256";
name: "totalReceiverFlowRate";
type: "int256";
}, {
indexed: false;
internalType: "bytes";
name: "userData";
type: "bytes";
}];
name: "FlowUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "flowOperator";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "deposit";
type: "uint256";
}];
name: "FlowUpdatedExtension";
type: "event";
}, {
inputs: readonly [];
name: "agreementType";
outputs: readonly [{
internalType: "bytes32";
name: "";
type: "bytes32";
}];
stateMutability: "pure";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "address";
name: "flowOperator";
type: "address";
}, {
internalType: "bytes";
name: "ctx";
type: "bytes";
}];
name: "authorizeFlowOperatorWithFullControl";
outputs: readonly [{
internalType: "bytes";
name: "newCtx";
type: "bytes";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "address";
name: "receiver";
type: "address";
}, {
internalType: "int96";
name: "flowRate";
type: "int96";
}, {
internalType: "bytes";
name: "ctx";
type: "bytes";
}];
name: "createFlow";
outputs: readonly [{
internalType: "bytes";
name: "newCtx";
type: "bytes";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "address";
name: "sender";
type: "address";
}, {
internalType: "address";
name: "receiver";
type: "address";
}, {
internalType: "int96";
name: "flowRate";
type: "int96";
}, {
internalType: "bytes";
name: "ctx";
type: "bytes";
}];
name: "createFlowByOperator";
outputs: readonly [{
internalType: "bytes";
name: "newCtx";
type: "bytes";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "address";
name: "flowOperator";
type: "address";
}, {
internalType: "int96";
name: "subtractedFlowRateAllowance";
type: "int96";
}, {
internalType: "bytes";
name: "ctx";
type: "bytes";
}];
name: "decreaseFlowRateAllowance";
outputs: readonly [{
internalType: "bytes";
name: "newCtx";
type: "bytes";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "address";
name: "flowOperator";
type: "address";
}, {
internalType: "uint8";
name: "permissionsToRemove";
type: "uint8";
}, {
internalType: "int96";
name: "subtractedFlowRateAllowance";
type: "int96";
}, {
internalType: "bytes";
name: "ctx";
type: "bytes";
}];
name: "decreaseFlowRateAllowanceWithPermissions";
outputs: readonly [{
internalType: "bytes";
name: "newCtx";
type: "bytes";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "address";
name: "sender";
type: "address";
}, {
internalType: "address";
name: "receiver";
type: "address";
}, {
internalType: "bytes";
name: "ctx";
type: "bytes";
}];
name: "deleteFlow";
outputs: readonly [{
internalType: "bytes";
name: "newCtx";
type: "bytes";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "address";
name: "sender";
type: "address";
}, {
internalType: "address";
name: "receiver";
type: "address";
}, {
internalType: "bytes";
name: "ctx";
type: "bytes";
}];
name: "deleteFlowByOperator";
outputs: readonly [{
internalType: "bytes";
name: "newCtx";
type: "bytes";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "address";
name: "account";
type: "address";
}];
name: "getAccountFlowInfo";
outputs: readonly [{
internalType: "uint256";
name: "timestamp";
type: "uint256";
}, {
internalType: "int96";
name: "flowRate";
type: "int96";
}, {
internalType: "uint256";
name: "deposit";
type: "uint256";
}, {
internalType: "uint256";
name: "owedDeposit";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "int96";
name: "flowRate";
type: "int96";
}];
name: "getDepositRequiredForFlowRate";
outputs: readonly [{
internalType: "uint256";
name: "deposit";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "address";
name: "sender";
type: "address";
}, {
internalType: "address";
name: "receiver";
type: "address";
}];
name: "getFlow";
outputs: readonly [{
internalType: "uint256";
name: "timestamp";
type: "uint256";
}, {
internalType: "int96";
name: "flowRate";
type: "int96";
}, {
internalType: "uint256";
name: "deposit";
type: "uint256";
}, {
internalType: "uint256";
name: "owedDeposit";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "bytes32";
name: "agreementId";
type: "bytes32";
}];
name: "getFlowByID";
outputs: readonly [{
internalType: "uint256";
name: "timestamp";
type: "uint256";
}, {
internalType: "int96";
name: "flowRate";
type: "int96";
}, {
internalType: "uint256";
name: "deposit";
type: "uint256";
}, {
internalType: "uint256";
name: "owedDeposit";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "address";
name: "sender";
type: "address";
}, {
internalType: "address";
name: "flowOperator";
type: "address";
}];
name: "getFlowOperatorData";
outputs: readonly [{
internalType: "bytes32";
name: "flowOperatorId";
type: "bytes32";
}, {
internalType: "uint8";
name: "permissions";
type: "uint8";
}, {
internalType: "int96";
name: "flowRateAllowance";
type: "int96";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "bytes32";
name: "flowOperatorId";
type: "bytes32";
}];
name: "getFlowOperatorDataByID";
outputs: readonly [{
internalType: "uint8";
name: "permissions";
type: "uint8";
}, {
internalType: "int96";
name: "flowRateAllowance";
type: "int96";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "uint256";
name: "deposit";
type: "uint256";
}];
name: "getMaximumFlowRateFromDeposit";
outputs: readonly [{
internalType: "int96";
name: "flowRate";
type: "int96";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "address";
name: "account";
type: "address";
}];
name: "getNetFlow";
outputs: readonly [{
internalType: "int96";
name: "flowRate";
type: "int96";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "address";
name: "flowOperator";
type: "address";
}, {
internalType: "int96";
name: "addedFlowRateAllowance";
type: "int96";
}, {
internalType: "bytes";
name: "ctx";
type: "bytes";
}];
name: "increaseFlowRateAllowance";
outputs: readonly [{
internalType: "bytes";
name: "newCtx";
type: "bytes";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "address";
name: "flowOperator";
type: "address";
}, {
internalType: "uint8";
name: "permissionsToAdd";
type: "uint8";
}, {
internalType: "int96";
name: "addedFlowRateAllowance";
type: "int96";
}, {
internalType: "bytes";
name: "ctx";
type: "bytes";
}];
name: "increaseFlowRateAllowanceWithPermissions";
outputs: readonly [{
internalType: "bytes";
name: "newCtx";
type: "bytes";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "address";
name: "account";
type: "address";
}, {
internalType: "uint256";
name: "timestamp";
type: "uint256";
}];
name: "isPatricianPeriod";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "address";
name: "account";
type: "address";
}];
name: "isPatricianPeriodNow";
outputs: readonly [{
internalType: "bool";
name: "isCurrentlyPatricianPeriod";
type: "bool";
}, {
internalType: "uint256";
name: "timestamp";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "address";
name: "account";
type: "address";
}, {
internalType: "uint256";
name: "time";
type: "uint256";
}];
name: "realtimeBalanceOf";
outputs: readonly [{
internalType: "int256";
name: "dynamicBalance";
type: "int256";
}, {
internalType: "uint256";
name: "deposit";
type: "uint256";
}, {
internalType: "uint256";
name: "owedDeposit";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "address";
name: "flowOperator";
type: "address";
}, {
internalType: "bytes";
name: "ctx";
type: "bytes";
}];
name: "revokeFlowOperatorWithFullControl";
outputs: readonly [{
internalType: "bytes";
name: "newCtx";
type: "bytes";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "address";
name: "receiver";
type: "address";
}, {
internalType: "int96";
name: "flowRate";
type: "int96";
}, {
internalType: "bytes";
name: "ctx";
type: "bytes";
}];
name: "updateFlow";
outputs: readonly [{
internalType: "bytes";
name: "newCtx";
type: "bytes";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "address";
name: "sender";
type: "address";
}, {
internalType: "address";
name: "receiver";
type: "address";
}, {
internalType: "int96";
name: "flowRate";
type: "int96";
}, {
internalType: "bytes";
name: "ctx";
type: "bytes";
}];
name: "updateFlowByOperator";
outputs: readonly [{
internalType: "bytes";
name: "newCtx";
type: "bytes";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "contract ISuperfluidToken";
name: "token";
type: "address";
}, {
internalType: "address";
name: "flowOperator";
type: "address";
}, {
internalType: "uint8";
name: "permissions";
type: "uint8";
}, {
internalType: "int96";
name: "flowRateAllowance";
type: "int96";
}, {
internalType: "bytes";
name: "ctx";
type: "bytes";
}];
name: "updateFlowOperatorPermissions";
outputs: readonly [{
internalType: "bytes";
name: "newCtx";
type: "bytes";
}];
stateMutability: "nonpayable";
type: "function";
}]