@superfluid-finance/ethereum-contracts 1.2.3-dev.3df6de8.0 → 1.2.3-dev.4eebafa.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/contracts/AccessControl.json +1 -1
- package/build/contracts/AccessControlEnumerable.json +1 -1
- package/build/contracts/Address.json +1 -1
- package/build/contracts/AgreementBase.json +10 -10
- package/build/contracts/AgreementLibrary.json +4 -4
- package/build/contracts/BaseRelayRecipient.json +1 -1
- package/build/contracts/BatchLiquidator.json +1385 -1242
- package/build/contracts/BatchOperation.json +1 -1
- package/build/contracts/CFAv1Library.json +3437 -3625
- package/build/contracts/CallUtils.json +1 -1
- package/build/contracts/ClosingOnUpdateFlowTestApp.json +4440 -4451
- package/build/contracts/ConstantFlowAgreementV1.json +5204 -5204
- package/build/contracts/Context.json +1 -1
- package/build/contracts/ContextDefinitions.json +1 -1
- package/build/contracts/Create2.json +1 -1
- package/build/contracts/CustomSuperTokenBase.json +2 -2
- package/build/contracts/ERC165.json +1 -1
- package/build/contracts/ERC1820Implementer.json +79 -79
- package/build/contracts/ERC1820RegistryCompiled.json +1 -1
- package/build/contracts/ERC20.json +1008 -1008
- package/build/contracts/ERC20Burnable.json +1 -1
- package/build/contracts/ERC20Pausable.json +1 -1
- package/build/contracts/ERC20PresetMinterPauser.json +1816 -1816
- package/build/contracts/ERC20WithTokenInfo.json +1 -1
- package/build/contracts/ERC777Helper.json +1 -1
- package/build/contracts/ERC777RecipientDrainingGas.json +1874 -1874
- package/build/contracts/ERC777RecipientReverting.json +1896 -1896
- package/build/contracts/EnumerableSet.json +1 -1
- package/build/contracts/EventsEmitter.json +414 -0
- package/build/contracts/ExclusiveInflowTestApp.json +4468 -4479
- package/build/contracts/FixedSizeData.json +405 -405
- package/build/contracts/FlowExchangeTestApp.json +4578 -4589
- package/build/contracts/FlowOperatorDefinitions.json +1 -1
- package/build/contracts/FullUpgradableSuperTokenProxy.json +319 -319
- package/build/contracts/IAccessControl.json +1 -1
- package/build/contracts/IAccessControlEnumerable.json +1 -1
- package/build/contracts/IConstantFlowAgreementV1.json +2 -2
- package/build/contracts/IDAv1Library.json +3227 -3403
- package/build/contracts/IERC165.json +1 -1
- package/build/contracts/IERC1820Implementer.json +1 -1
- package/build/contracts/IERC1820Registry.json +1 -1
- package/build/contracts/IERC20.json +1 -1
- package/build/contracts/IERC20Metadata.json +1 -1
- package/build/contracts/IERC777.json +1 -1
- package/build/contracts/IERC777Recipient.json +1 -1
- package/build/contracts/IERC777Sender.json +1 -1
- package/build/contracts/IInstantDistributionAgreementV1.json +2 -2
- package/build/contracts/IMaticBridgedNativeSuperToken.json +6 -6
- package/build/contracts/IMaticBridgedNativeSuperTokenCustom.json +2 -2
- package/build/contracts/IMultiSigWallet.json +1 -1
- package/build/contracts/IPureSuperToken.json +6 -6
- package/build/contracts/IPureSuperTokenCustom.json +2 -2
- package/build/contracts/IRelayRecipient.json +1 -1
- package/build/contracts/IResolver.json +1 -1
- package/build/contracts/ISETH.json +6 -6
- package/build/contracts/ISETHCustom.json +2 -2
- package/build/contracts/ISuperAgreement.json +2 -2
- package/build/contracts/ISuperApp.json +2 -2
- package/build/contracts/ISuperToken.json +6 -6
- package/build/contracts/ISuperTokenFactory.json +2 -2
- package/build/contracts/ISuperfluid.json +2 -2
- package/build/contracts/ISuperfluidGovernance.json +2 -2
- package/build/contracts/ISuperfluidToken.json +122 -122
- package/build/contracts/ITOGAv1.json +2689 -2739
- package/build/contracts/ITOGAv2.json +2689 -2739
- package/build/contracts/Initializable.json +1 -1
- package/build/contracts/InstantDistributionAgreementV1.json +5387 -5387
- package/build/contracts/MaticBridgedNativeSuperTokenProxy.json +971 -971
- package/build/contracts/NonClosableOutflowTestApp.json +4343 -4354
- package/build/contracts/Ownable.json +1 -1
- package/build/contracts/Pausable.json +1 -1
- package/build/contracts/Proxy.json +1 -1
- package/build/contracts/PureSuperToken.json +694 -694
- package/build/contracts/Resolver.json +1058 -1058
- package/build/contracts/SETHProxy.json +661 -661
- package/build/contracts/SafeCast.json +1 -1
- package/build/contracts/SafeERC20.json +1 -1
- package/build/contracts/SafeMath.json +1 -1
- package/build/contracts/SelfDeletingFlowTestApp.json +4440 -4451
- package/build/contracts/SlotsBitmapLibrary.json +1757 -1757
- package/build/contracts/Strings.json +1 -1
- package/build/contracts/SuperAppBase.json +2 -2
- package/build/contracts/SuperAppDefinitions.json +1 -1
- package/build/contracts/SuperToken.json +9757 -9515
- package/build/contracts/SuperTokenFactory.json +2074 -2074
- package/build/contracts/SuperTokenFactoryBase.json +989 -989
- package/build/contracts/SuperTokenFactoryHelper.json +1095 -1095
- package/build/contracts/SuperUpgrader.json +2495 -2495
- package/build/contracts/Superfluid.json +12978 -12978
- package/build/contracts/SuperfluidFrameworkDeployer.json +2042 -2042
- package/build/contracts/SuperfluidGovernanceBase.json +9 -9
- package/build/contracts/SuperfluidGovernanceConfigs.json +1 -1
- package/build/contracts/SuperfluidGovernanceII.json +2022 -2022
- package/build/contracts/SuperfluidGovernanceIIProxy.json +227 -227
- package/build/contracts/SuperfluidLoader.json +752 -752
- package/build/contracts/SuperfluidToken.json +3476 -2953
- package/build/contracts/TOGA.json +4681 -4731
- package/build/contracts/TestGovernance.json +2402 -2402
- package/build/contracts/TestToken.json +1267 -1267
- package/build/contracts/TokenCustodian.json +903 -903
- package/build/contracts/TokenInfo.json +1 -1
- package/build/contracts/UUPSProxiable.json +233 -233
- package/build/contracts/UUPSProxy.json +257 -257
- package/build/contracts/UUPSUtils.json +85 -85
- package/build/contracts-sizes.txt +6 -6
- package/contracts/apps/CFAv1Library.sol +147 -111
- package/contracts/apps/IDAv1Library.sol +133 -101
- package/contracts/interfaces/superfluid/ISuperfluidToken.sol +8 -8
- package/contracts/libs/EventsEmitter.sol +16 -0
- package/contracts/mocks/CFAAppMocks.sol +52 -36
- package/contracts/mocks/CustomSuperTokenMock.sol +11 -4
- package/contracts/mocks/IDASuperAppTester.sol +24 -18
- package/contracts/mocks/MultiFlowTesterApp.sol +33 -24
- package/contracts/mocks/SuperAppMocks.sol +54 -40
- package/contracts/superfluid/SuperfluidToken.sol +33 -31
- package/contracts/utils/BatchLiquidator.sol +15 -11
- package/contracts/utils/TOGA.sol +40 -30
- package/package.json +2 -2
|
@@ -1036,7 +1036,7 @@
|
|
|
1036
1036
|
},
|
|
1037
1037
|
"networks": {},
|
|
1038
1038
|
"schemaVersion": "3.4.7",
|
|
1039
|
-
"updatedAt": "2022-
|
|
1039
|
+
"updatedAt": "2022-06-06T10:25:55.024Z",
|
|
1040
1040
|
"devdoc": {
|
|
1041
1041
|
"details": "External interface of AccessControl declared to support ERC165 detection.",
|
|
1042
1042
|
"events": {
|
|
@@ -519,7 +519,7 @@
|
|
|
519
519
|
},
|
|
520
520
|
"networks": {},
|
|
521
521
|
"schemaVersion": "3.4.7",
|
|
522
|
-
"updatedAt": "2022-
|
|
522
|
+
"updatedAt": "2022-06-06T10:25:55.024Z",
|
|
523
523
|
"devdoc": {
|
|
524
524
|
"details": "External interface of AccessControlEnumerable declared to support ERC165 detection.",
|
|
525
525
|
"kind": "dev",
|
|
@@ -790,7 +790,7 @@
|
|
|
790
790
|
"type": "function"
|
|
791
791
|
}
|
|
792
792
|
],
|
|
793
|
-
"metadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"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\":[{\"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\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"flowOperator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"}],\"name\":\"FlowUpdatedExtension\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"agreementType\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"flowOperator\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"ctx\",\"type\":\"bytes\"}],\"name\":\"authorizeFlowOperatorWithFullControl\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"newCtx\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"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\":[{\"internalType\":\"bytes\",\"name\":\"newCtx\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"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\":[{\"internalType\":\"bytes\",\"name\":\"newCtx\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"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\":[{\"internalType\":\"bytes\",\"name\":\"newCtx\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"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\":[{\"internalType\":\"bytes\",\"name\":\"newCtx\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getAccountFlowInfo\",\"outputs\":[{\"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\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"int96\",\"name\":\"flowRate\",\"type\":\"int96\"}],\"name\":\"getDepositRequiredForFlowRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"getFlow\",\"outputs\":[{\"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\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"agreementId\",\"type\":\"bytes32\"}],\"name\":\"getFlowByID\",\"outputs\":[{\"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\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"flowOperator\",\"type\":\"address\"}],\"name\":\"getFlowOperatorData\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"flowOperatorId\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"permissions\",\"type\":\"uint8\"},{\"internalType\":\"int96\",\"name\":\"flowRateAllowance\",\"type\":\"int96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"flowOperatorId\",\"type\":\"bytes32\"}],\"name\":\"getFlowOperatorDataByID\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"permissions\",\"type\":\"uint8\"},{\"internalType\":\"int96\",\"name\":\"flowRateAllowance\",\"type\":\"int96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"}],\"name\":\"getMaximumFlowRateFromDeposit\",\"outputs\":[{\"internalType\":\"int96\",\"name\":\"flowRate\",\"type\":\"int96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNetFlow\",\"outputs\":[{\"internalType\":\"int96\",\"name\":\"flowRate\",\"type\":\"int96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"isPatricianPeriod\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPatricianPeriodNow\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isCurrentlyPatricianPeriod\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"time\",\"type\":\"uint256\"}],\"name\":\"realtimeBalanceOf\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"dynamicBalance\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"owedDeposit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"flowOperator\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"ctx\",\"type\":\"bytes\"}],\"name\":\"revokeFlowOperatorWithFullControl\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"newCtx\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"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\":[{\"internalType\":\"bytes\",\"name\":\"newCtx\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"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\":[{\"internalType\":\"bytes\",\"name\":\"newCtx\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"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\":[{\"internalType\":\"bytes\",\"name\":\"newCtx\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Superfluid\",\"events\":{\"FlowOperatorUpdated(address,address,address,uint8,int96)\":{\"details\":\"Flow operator updated event\",\"params\":{\"flowOperator\":\"Flow operator address\",\"flowRateAllowance\":\"The flow rate allowance the `flowOperator` is granted (only goes down)\",\"permissions\":\"Octo bitmask representation of permissions\",\"sender\":\"Flow sender address\",\"token\":\"Super token address\"}},\"FlowUpdated(address,address,address,int96,int256,int256,bytes)\":{\"details\":\"Flow updated event\",\"params\":{\"flowRate\":\"Flow rate in amount per second for this flow\",\"receiver\":\"Flow recipient address\",\"sender\":\"Flow sender address\",\"token\":\"Super token address\",\"totalReceiverFlowRate\":\"Total flow rate in amount per second for the receiver\",\"totalSenderFlowRate\":\"Total flow rate in amount per second for the sender\",\"userData\":\"The user provided data\"}},\"FlowUpdatedExtension(address,uint256)\":{\"details\":\"Flow updated extension event\",\"params\":{\"deposit\":\"The deposit amount for the stream\",\"flowOperator\":\"Flow operator address - the Context.msgSender\"}}},\"kind\":\"dev\",\"methods\":{\"agreementType()\":{\"details\":\"ISuperAgreement.agreementType implementation\"},\"authorizeFlowOperatorWithFullControl(address,address,bytes)\":{\"details\":\"msgSender from `ctx` grants `flowOperator` all permissions with flowRateAllowance as type(int96).max\",\"params\":{\"ctx\":\"Context bytes (see ISuperfluid.sol for Context struct)\",\"flowOperator\":\"The permission grantee address\",\"token\":\"Super token address\"}},\"createFlow(address,address,int96,bytes)\":{\"details\":\"flowId (agreementId) is the keccak256 hash of encoded sender and receiver\",\"params\":{\"ctx\":\"Context bytes (see ISuperfluid.sol for Context struct) # App callbacks - AgreementCreated - agreementId - can be used in getFlowByID - agreementData - abi.encode(address flowSender, address flowReceiver) NOTE: - A deposit is taken as safety margin for the solvency agents - A extra gas fee may be taken to pay for solvency agent liquidations\",\"flowRate\":\"New flow rate in amount per second\",\"receiver\":\"Flow receiver address\",\"token\":\"Super token address\"}},\"createFlowByOperator(address,address,address,int96,bytes)\":{\"details\":\"A flow created by an approved flow operator (see above for details on callbacks)\",\"params\":{\"ctx\":\"Context bytes (see ISuperfluid.sol for Context struct)\",\"flowRate\":\"New flow rate in amount per second\",\"receiver\":\"Flow receiver address\",\"sender\":\"Flow sender address (has granted permissions)\",\"token\":\"Super token address\"}},\"deleteFlow(address,address,address,bytes)\":{\"details\":\"flowId (agreementId) is the keccak256 hash of encoded sender and receiver\",\"params\":{\"ctx\":\"Context bytes (see ISuperfluid.sol for Context struct)\",\"receiver\":\"Flow receiver address # App callbacks - AgreementTerminated - agreementId - can be used in getFlowByID - agreementData - abi.encode(address flowSender, address flowReceiver) NOTE: - Both flow sender and receiver may delete the flow - If Sender account is insolvent or in critical state, a solvency agent may also terminate the agreement - Gas fee may be returned to the sender\",\"token\":\"Super token address\"}},\"deleteFlowByOperator(address,address,address,bytes)\":{\"details\":\"A flow deleted by an approved flow operator (see above for details on callbacks)\",\"params\":{\"ctx\":\"Context bytes (see ISuperfluid.sol for Context struct)\",\"receiver\":\"Flow receiver address\",\"token\":\"Super token address\"}},\"getAccountFlowInfo(address,address)\":{\"details\":\"Get the aggregated flow info of the account\",\"params\":{\"account\":\"Account for the query\",\"token\":\"Super token address\"},\"returns\":{\"deposit\":\"The sum of all deposits for account's flows\",\"flowRate\":\"The net flow rate of token for account\",\"owedDeposit\":\"The sum of all owed deposits for account's flows\",\"timestamp\":\"Timestamp of when a flow was last updated for account\"}},\"getDepositRequiredForFlowRate(address,int96)\":{\"details\":\"Calculates the deposit based on the liquidationPeriod and flowRate\",\"params\":{\"flowRate\":\"Flow rate to be tested\"},\"returns\":{\"deposit\":\"The deposit amount based on flowRate and liquidationPeriod NOTE: - if calculated deposit (flowRate * liquidationPeriod) is less than the minimum deposit, we use the minimum deposit otherwise we use the calculated deposit\"}},\"getFlow(address,address,address)\":{\"details\":\"Get the flow data between `sender` and `receiver` of `token`\",\"params\":{\"receiver\":\"Flow sender\",\"sender\":\"Flow receiver\",\"token\":\"Super token address\"},\"returns\":{\"deposit\":\"The amount of deposit the flow\",\"flowRate\":\"The flow rate\",\"owedDeposit\":\"The amount of owed deposit of the flow\",\"timestamp\":\"Timestamp of when the flow is updated\"}},\"getFlowByID(address,bytes32)\":{\"details\":\"flowId (agreementId) is the keccak256 hash of encoded sender and receiver\",\"params\":{\"agreementId\":\"The agreement ID\",\"token\":\"Super token address\"},\"returns\":{\"deposit\":\"The deposit amount of the flow\",\"flowRate\":\"The flow rate\",\"owedDeposit\":\"The owed deposit amount of the flow\",\"timestamp\":\"Timestamp of when the flow is updated\"}},\"getFlowOperatorData(address,address,address)\":{\"params\":{\"flowOperator\":\"The permission grantee address\",\"sender\":\"The permission granter address\",\"token\":\"Super token address\"},\"returns\":{\"flowOperatorId\":\"The keccak256 hash of encoded string \\\"flowOperator\\\", sender and flowOperator\",\"flowRateAllowance\":\"The flow rate allowance the `flowOperator` is granted (only goes down)\",\"permissions\":\"A bitmask representation of the granted permissions\"}},\"getFlowOperatorDataByID(address,bytes32)\":{\"params\":{\"flowOperatorId\":\"The keccak256 hash of encoded string \\\"flowOperator\\\", sender and flowOperator\",\"token\":\"Super token address\"},\"returns\":{\"flowRateAllowance\":\"The flow rate allowance the `flowOperator` is granted (only goes down)\",\"permissions\":\"A bitmask representation of the granted permissions\"}},\"getMaximumFlowRateFromDeposit(address,uint256)\":{\"details\":\"The deposit is clipped and rounded down\",\"params\":{\"deposit\":\"Deposit amount used for creating the flow\"},\"returns\":{\"flowRate\":\"The maximum flow rate\"}},\"getNetFlow(address,address)\":{\"details\":\"Get the net flow rate of the account\",\"params\":{\"account\":\"Account for the query\",\"token\":\"Super token address\"},\"returns\":{\"flowRate\":\"Net flow rate\"}},\"isPatricianPeriod(address,address,uint256)\":{\"details\":\"Returns whether it is the patrician period based on timestamp\",\"params\":{\"account\":\"The account we are interested in\",\"timestamp\":\"The timestamp we are interested in observing the result of isPatricianPeriod\"},\"returns\":{\"_0\":\"bool Whether it is currently the patrician period dictated by governance\"}},\"isPatricianPeriodNow(address,address)\":{\"details\":\"Returns whether it is the patrician period based on host.getNow()\",\"params\":{\"account\":\"The account we are interested in\"},\"returns\":{\"isCurrentlyPatricianPeriod\":\"Whether it is currently the patrician period dictated by governance\",\"timestamp\":\"The value of host.getNow()\"}},\"realtimeBalanceOf(address,address,uint256)\":{\"details\":\"Calculate the real-time balance for the account of this agreement class\",\"params\":{\"account\":\"Account the state belongs to\",\"time\":\"Time used for the calculation\"},\"returns\":{\"deposit\":\"Account deposit amount of this agreement\",\"dynamicBalance\":\"Dynamic balance portion of real-time balance of this agreement\",\"owedDeposit\":\"Account owed deposit amount of this agreement\"}},\"revokeFlowOperatorWithFullControl(address,address,bytes)\":{\"details\":\"`permissions` and `flowRateAllowance` will both be set to 0\",\"params\":{\"ctx\":\"Context bytes (see ISuperfluid.sol for Context struct)\",\"flowOperator\":\"The permission grantee address\",\"token\":\"Super token address\"}},\"updateFlow(address,address,int96,bytes)\":{\"details\":\"flowId (agreementId) is the keccak256 hash of encoded sender and receiver\",\"params\":{\"ctx\":\"Context bytes (see ISuperfluid.sol for Context struct) # App callbacks - AgreementUpdated - agreementId - can be used in getFlowByID - agreementData - abi.encode(address flowSender, address flowReceiver) NOTE: - Only the flow sender may update the flow rate - Even if the flow rate is zero, the flow is not deleted from the system - Deposit amount will be adjusted accordingly - No new gas fee is charged\",\"flowRate\":\"New flow rate in amount per second\",\"receiver\":\"Flow receiver address\",\"token\":\"Super token address\"}},\"updateFlowByOperator(address,address,address,int96,bytes)\":{\"details\":\"A flow updated by an approved flow operator (see above for details on callbacks)\",\"params\":{\"ctx\":\"Context bytes (see ISuperfluid.sol for Context struct)\",\"flowRate\":\"New flow rate in amount per second\",\"receiver\":\"Flow receiver address\",\"sender\":\"Flow sender address (has granted permissions)\",\"token\":\"Super token address\"}},\"updateFlowOperatorPermissions(address,address,uint8,int96,bytes)\":{\"details\":\"msgSender from `ctx` updates permissions for the `flowOperator` with `flowRateAllowance`\",\"params\":{\"ctx\":\"Context bytes (see ISuperfluid.sol for Context struct)\",\"flowOperator\":\"The permission grantee address\",\"flowRateAllowance\":\"The flow rate allowance the `flowOperator` is granted (only goes down)\",\"permissions\":\"A bitmask representation of the granted permissions\",\"token\":\"Super token address\"}}},\"title\":\"Constant Flow Agreement interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"createFlow(address,address,int96,bytes)\":{\"notice\":\"Create a flow betwen ctx.msgSender and receiver\"},\"createFlowByOperator(address,address,address,int96,bytes)\":{\"notice\":\"Create a flow between sender and receiver\"},\"deleteFlow(address,address,address,bytes)\":{\"notice\":\"Delete the flow between sender and receiver\"},\"deleteFlowByOperator(address,address,address,bytes)\":{\"notice\":\"Delete the flow between sender and receiver\"},\"getDepositRequiredForFlowRate(address,int96)\":{\"notice\":\"Get the deposit required for creating the flow\"},\"getFlowByID(address,bytes32)\":{\"notice\":\"Get flow data using agreementId\"},\"getFlowOperatorData(address,address,address)\":{\"notice\":\"Get the permissions of a flow operator between `sender` and `flowOperator` for `token`\"},\"getFlowOperatorDataByID(address,bytes32)\":{\"notice\":\"Get flow operator using flowOperatorId\"},\"getMaximumFlowRateFromDeposit(address,uint256)\":{\"notice\":\"Get the maximum flow rate allowed with the deposit\"},\"revokeFlowOperatorWithFullControl(address,address,bytes)\":{\"notice\":\"msgSender from `ctx` revokes `flowOperator` create/update/delete permissions\"},\"updateFlow(address,address,int96,bytes)\":{\"notice\":\"Update the flow rate between ctx.msgSender and receiver\"},\"updateFlowByOperator(address,address,address,int96,bytes)\":{\"notice\":\"Update a flow between sender and receiver\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/interfaces/agreements/IConstantFlowAgreementV1.sol\":\"IConstantFlowAgreementV1\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/interfaces/agreements/IConstantFlowAgreementV1.sol\":{\"keccak256\":\"0xb96bb6cb0fe88ddf5b890b6826f7f7585cf6e94223c76d8e2fb269779afe4445\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://b864597ae952222f0f43c66943492966013021c4171d5ef4f7357c047dfd737c\",\"dweb:/ipfs/Qmcr7xicfmPDD343B34ETP3XrdU9Vi1z3zxJSgqLipfQmY\"]},\"project:/contracts/interfaces/superfluid/ISuperAgreement.sol\":{\"keccak256\":\"0xc3a6a907245116bcecc70fe4b207454012e8ce4fa190228fb8bbe39e0b1bc5cf\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://83c116bdae48685d20e5a27c942111e685ec1ef6334e7ff6f6d9af66edbd8025\",\"dweb:/ipfs/QmTnVuNTaRFiDmkAmDk7NFYdfQTW1kqgBZiY2exC6k8jDx\"]},\"project:/contracts/interfaces/superfluid/ISuperfluidToken.sol\":{\"keccak256\":\"0x9189eaba9e856cc4932ea29eeaf4e89a09448dde13860591691ec122856fdc75\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://7d5991b906bba706373f5bfe3c2c8789a7a45360a41eee50574272b393c4ab70\",\"dweb:/ipfs/QmVCXVnYA13vMNxa7rGzNB129sUXiGE1asuHdnEMEPVZsp\"]}},\"version\":1}",
|
|
793
|
+
"metadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"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\":[{\"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\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"flowOperator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"}],\"name\":\"FlowUpdatedExtension\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"agreementType\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"flowOperator\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"ctx\",\"type\":\"bytes\"}],\"name\":\"authorizeFlowOperatorWithFullControl\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"newCtx\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"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\":[{\"internalType\":\"bytes\",\"name\":\"newCtx\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"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\":[{\"internalType\":\"bytes\",\"name\":\"newCtx\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"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\":[{\"internalType\":\"bytes\",\"name\":\"newCtx\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"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\":[{\"internalType\":\"bytes\",\"name\":\"newCtx\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getAccountFlowInfo\",\"outputs\":[{\"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\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"int96\",\"name\":\"flowRate\",\"type\":\"int96\"}],\"name\":\"getDepositRequiredForFlowRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"getFlow\",\"outputs\":[{\"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\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"agreementId\",\"type\":\"bytes32\"}],\"name\":\"getFlowByID\",\"outputs\":[{\"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\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"flowOperator\",\"type\":\"address\"}],\"name\":\"getFlowOperatorData\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"flowOperatorId\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"permissions\",\"type\":\"uint8\"},{\"internalType\":\"int96\",\"name\":\"flowRateAllowance\",\"type\":\"int96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"flowOperatorId\",\"type\":\"bytes32\"}],\"name\":\"getFlowOperatorDataByID\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"permissions\",\"type\":\"uint8\"},{\"internalType\":\"int96\",\"name\":\"flowRateAllowance\",\"type\":\"int96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"}],\"name\":\"getMaximumFlowRateFromDeposit\",\"outputs\":[{\"internalType\":\"int96\",\"name\":\"flowRate\",\"type\":\"int96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNetFlow\",\"outputs\":[{\"internalType\":\"int96\",\"name\":\"flowRate\",\"type\":\"int96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"isPatricianPeriod\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPatricianPeriodNow\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isCurrentlyPatricianPeriod\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"time\",\"type\":\"uint256\"}],\"name\":\"realtimeBalanceOf\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"dynamicBalance\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"owedDeposit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISuperfluidToken\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"flowOperator\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"ctx\",\"type\":\"bytes\"}],\"name\":\"revokeFlowOperatorWithFullControl\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"newCtx\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"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\":[{\"internalType\":\"bytes\",\"name\":\"newCtx\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"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\":[{\"internalType\":\"bytes\",\"name\":\"newCtx\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"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\":[{\"internalType\":\"bytes\",\"name\":\"newCtx\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Superfluid\",\"events\":{\"FlowOperatorUpdated(address,address,address,uint8,int96)\":{\"details\":\"Flow operator updated event\",\"params\":{\"flowOperator\":\"Flow operator address\",\"flowRateAllowance\":\"The flow rate allowance the `flowOperator` is granted (only goes down)\",\"permissions\":\"Octo bitmask representation of permissions\",\"sender\":\"Flow sender address\",\"token\":\"Super token address\"}},\"FlowUpdated(address,address,address,int96,int256,int256,bytes)\":{\"details\":\"Flow updated event\",\"params\":{\"flowRate\":\"Flow rate in amount per second for this flow\",\"receiver\":\"Flow recipient address\",\"sender\":\"Flow sender address\",\"token\":\"Super token address\",\"totalReceiverFlowRate\":\"Total flow rate in amount per second for the receiver\",\"totalSenderFlowRate\":\"Total flow rate in amount per second for the sender\",\"userData\":\"The user provided data\"}},\"FlowUpdatedExtension(address,uint256)\":{\"details\":\"Flow updated extension event\",\"params\":{\"deposit\":\"The deposit amount for the stream\",\"flowOperator\":\"Flow operator address - the Context.msgSender\"}}},\"kind\":\"dev\",\"methods\":{\"agreementType()\":{\"details\":\"ISuperAgreement.agreementType implementation\"},\"authorizeFlowOperatorWithFullControl(address,address,bytes)\":{\"details\":\"msgSender from `ctx` grants `flowOperator` all permissions with flowRateAllowance as type(int96).max\",\"params\":{\"ctx\":\"Context bytes (see ISuperfluid.sol for Context struct)\",\"flowOperator\":\"The permission grantee address\",\"token\":\"Super token address\"}},\"createFlow(address,address,int96,bytes)\":{\"details\":\"flowId (agreementId) is the keccak256 hash of encoded sender and receiver\",\"params\":{\"ctx\":\"Context bytes (see ISuperfluid.sol for Context struct) # App callbacks - AgreementCreated - agreementId - can be used in getFlowByID - agreementData - abi.encode(address flowSender, address flowReceiver) NOTE: - A deposit is taken as safety margin for the solvency agents - A extra gas fee may be taken to pay for solvency agent liquidations\",\"flowRate\":\"New flow rate in amount per second\",\"receiver\":\"Flow receiver address\",\"token\":\"Super token address\"}},\"createFlowByOperator(address,address,address,int96,bytes)\":{\"details\":\"A flow created by an approved flow operator (see above for details on callbacks)\",\"params\":{\"ctx\":\"Context bytes (see ISuperfluid.sol for Context struct)\",\"flowRate\":\"New flow rate in amount per second\",\"receiver\":\"Flow receiver address\",\"sender\":\"Flow sender address (has granted permissions)\",\"token\":\"Super token address\"}},\"deleteFlow(address,address,address,bytes)\":{\"details\":\"flowId (agreementId) is the keccak256 hash of encoded sender and receiver\",\"params\":{\"ctx\":\"Context bytes (see ISuperfluid.sol for Context struct)\",\"receiver\":\"Flow receiver address # App callbacks - AgreementTerminated - agreementId - can be used in getFlowByID - agreementData - abi.encode(address flowSender, address flowReceiver) NOTE: - Both flow sender and receiver may delete the flow - If Sender account is insolvent or in critical state, a solvency agent may also terminate the agreement - Gas fee may be returned to the sender\",\"token\":\"Super token address\"}},\"deleteFlowByOperator(address,address,address,bytes)\":{\"details\":\"A flow deleted by an approved flow operator (see above for details on callbacks)\",\"params\":{\"ctx\":\"Context bytes (see ISuperfluid.sol for Context struct)\",\"receiver\":\"Flow receiver address\",\"token\":\"Super token address\"}},\"getAccountFlowInfo(address,address)\":{\"details\":\"Get the aggregated flow info of the account\",\"params\":{\"account\":\"Account for the query\",\"token\":\"Super token address\"},\"returns\":{\"deposit\":\"The sum of all deposits for account's flows\",\"flowRate\":\"The net flow rate of token for account\",\"owedDeposit\":\"The sum of all owed deposits for account's flows\",\"timestamp\":\"Timestamp of when a flow was last updated for account\"}},\"getDepositRequiredForFlowRate(address,int96)\":{\"details\":\"Calculates the deposit based on the liquidationPeriod and flowRate\",\"params\":{\"flowRate\":\"Flow rate to be tested\"},\"returns\":{\"deposit\":\"The deposit amount based on flowRate and liquidationPeriod NOTE: - if calculated deposit (flowRate * liquidationPeriod) is less than the minimum deposit, we use the minimum deposit otherwise we use the calculated deposit\"}},\"getFlow(address,address,address)\":{\"details\":\"Get the flow data between `sender` and `receiver` of `token`\",\"params\":{\"receiver\":\"Flow sender\",\"sender\":\"Flow receiver\",\"token\":\"Super token address\"},\"returns\":{\"deposit\":\"The amount of deposit the flow\",\"flowRate\":\"The flow rate\",\"owedDeposit\":\"The amount of owed deposit of the flow\",\"timestamp\":\"Timestamp of when the flow is updated\"}},\"getFlowByID(address,bytes32)\":{\"details\":\"flowId (agreementId) is the keccak256 hash of encoded sender and receiver\",\"params\":{\"agreementId\":\"The agreement ID\",\"token\":\"Super token address\"},\"returns\":{\"deposit\":\"The deposit amount of the flow\",\"flowRate\":\"The flow rate\",\"owedDeposit\":\"The owed deposit amount of the flow\",\"timestamp\":\"Timestamp of when the flow is updated\"}},\"getFlowOperatorData(address,address,address)\":{\"params\":{\"flowOperator\":\"The permission grantee address\",\"sender\":\"The permission granter address\",\"token\":\"Super token address\"},\"returns\":{\"flowOperatorId\":\"The keccak256 hash of encoded string \\\"flowOperator\\\", sender and flowOperator\",\"flowRateAllowance\":\"The flow rate allowance the `flowOperator` is granted (only goes down)\",\"permissions\":\"A bitmask representation of the granted permissions\"}},\"getFlowOperatorDataByID(address,bytes32)\":{\"params\":{\"flowOperatorId\":\"The keccak256 hash of encoded string \\\"flowOperator\\\", sender and flowOperator\",\"token\":\"Super token address\"},\"returns\":{\"flowRateAllowance\":\"The flow rate allowance the `flowOperator` is granted (only goes down)\",\"permissions\":\"A bitmask representation of the granted permissions\"}},\"getMaximumFlowRateFromDeposit(address,uint256)\":{\"details\":\"The deposit is clipped and rounded down\",\"params\":{\"deposit\":\"Deposit amount used for creating the flow\"},\"returns\":{\"flowRate\":\"The maximum flow rate\"}},\"getNetFlow(address,address)\":{\"details\":\"Get the net flow rate of the account\",\"params\":{\"account\":\"Account for the query\",\"token\":\"Super token address\"},\"returns\":{\"flowRate\":\"Net flow rate\"}},\"isPatricianPeriod(address,address,uint256)\":{\"details\":\"Returns whether it is the patrician period based on timestamp\",\"params\":{\"account\":\"The account we are interested in\",\"timestamp\":\"The timestamp we are interested in observing the result of isPatricianPeriod\"},\"returns\":{\"_0\":\"bool Whether it is currently the patrician period dictated by governance\"}},\"isPatricianPeriodNow(address,address)\":{\"details\":\"Returns whether it is the patrician period based on host.getNow()\",\"params\":{\"account\":\"The account we are interested in\"},\"returns\":{\"isCurrentlyPatricianPeriod\":\"Whether it is currently the patrician period dictated by governance\",\"timestamp\":\"The value of host.getNow()\"}},\"realtimeBalanceOf(address,address,uint256)\":{\"details\":\"Calculate the real-time balance for the account of this agreement class\",\"params\":{\"account\":\"Account the state belongs to\",\"time\":\"Time used for the calculation\"},\"returns\":{\"deposit\":\"Account deposit amount of this agreement\",\"dynamicBalance\":\"Dynamic balance portion of real-time balance of this agreement\",\"owedDeposit\":\"Account owed deposit amount of this agreement\"}},\"revokeFlowOperatorWithFullControl(address,address,bytes)\":{\"details\":\"`permissions` and `flowRateAllowance` will both be set to 0\",\"params\":{\"ctx\":\"Context bytes (see ISuperfluid.sol for Context struct)\",\"flowOperator\":\"The permission grantee address\",\"token\":\"Super token address\"}},\"updateFlow(address,address,int96,bytes)\":{\"details\":\"flowId (agreementId) is the keccak256 hash of encoded sender and receiver\",\"params\":{\"ctx\":\"Context bytes (see ISuperfluid.sol for Context struct) # App callbacks - AgreementUpdated - agreementId - can be used in getFlowByID - agreementData - abi.encode(address flowSender, address flowReceiver) NOTE: - Only the flow sender may update the flow rate - Even if the flow rate is zero, the flow is not deleted from the system - Deposit amount will be adjusted accordingly - No new gas fee is charged\",\"flowRate\":\"New flow rate in amount per second\",\"receiver\":\"Flow receiver address\",\"token\":\"Super token address\"}},\"updateFlowByOperator(address,address,address,int96,bytes)\":{\"details\":\"A flow updated by an approved flow operator (see above for details on callbacks)\",\"params\":{\"ctx\":\"Context bytes (see ISuperfluid.sol for Context struct)\",\"flowRate\":\"New flow rate in amount per second\",\"receiver\":\"Flow receiver address\",\"sender\":\"Flow sender address (has granted permissions)\",\"token\":\"Super token address\"}},\"updateFlowOperatorPermissions(address,address,uint8,int96,bytes)\":{\"details\":\"msgSender from `ctx` updates permissions for the `flowOperator` with `flowRateAllowance`\",\"params\":{\"ctx\":\"Context bytes (see ISuperfluid.sol for Context struct)\",\"flowOperator\":\"The permission grantee address\",\"flowRateAllowance\":\"The flow rate allowance the `flowOperator` is granted (only goes down)\",\"permissions\":\"A bitmask representation of the granted permissions\",\"token\":\"Super token address\"}}},\"title\":\"Constant Flow Agreement interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"createFlow(address,address,int96,bytes)\":{\"notice\":\"Create a flow betwen ctx.msgSender and receiver\"},\"createFlowByOperator(address,address,address,int96,bytes)\":{\"notice\":\"Create a flow between sender and receiver\"},\"deleteFlow(address,address,address,bytes)\":{\"notice\":\"Delete the flow between sender and receiver\"},\"deleteFlowByOperator(address,address,address,bytes)\":{\"notice\":\"Delete the flow between sender and receiver\"},\"getDepositRequiredForFlowRate(address,int96)\":{\"notice\":\"Get the deposit required for creating the flow\"},\"getFlowByID(address,bytes32)\":{\"notice\":\"Get flow data using agreementId\"},\"getFlowOperatorData(address,address,address)\":{\"notice\":\"Get the permissions of a flow operator between `sender` and `flowOperator` for `token`\"},\"getFlowOperatorDataByID(address,bytes32)\":{\"notice\":\"Get flow operator using flowOperatorId\"},\"getMaximumFlowRateFromDeposit(address,uint256)\":{\"notice\":\"Get the maximum flow rate allowed with the deposit\"},\"revokeFlowOperatorWithFullControl(address,address,bytes)\":{\"notice\":\"msgSender from `ctx` revokes `flowOperator` create/update/delete permissions\"},\"updateFlow(address,address,int96,bytes)\":{\"notice\":\"Update the flow rate between ctx.msgSender and receiver\"},\"updateFlowByOperator(address,address,address,int96,bytes)\":{\"notice\":\"Update a flow between sender and receiver\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/interfaces/agreements/IConstantFlowAgreementV1.sol\":\"IConstantFlowAgreementV1\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/interfaces/agreements/IConstantFlowAgreementV1.sol\":{\"keccak256\":\"0xb96bb6cb0fe88ddf5b890b6826f7f7585cf6e94223c76d8e2fb269779afe4445\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://b864597ae952222f0f43c66943492966013021c4171d5ef4f7357c047dfd737c\",\"dweb:/ipfs/Qmcr7xicfmPDD343B34ETP3XrdU9Vi1z3zxJSgqLipfQmY\"]},\"project:/contracts/interfaces/superfluid/ISuperAgreement.sol\":{\"keccak256\":\"0xc3a6a907245116bcecc70fe4b207454012e8ce4fa190228fb8bbe39e0b1bc5cf\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://83c116bdae48685d20e5a27c942111e685ec1ef6334e7ff6f6d9af66edbd8025\",\"dweb:/ipfs/QmTnVuNTaRFiDmkAmDk7NFYdfQTW1kqgBZiY2exC6k8jDx\"]},\"project:/contracts/interfaces/superfluid/ISuperfluidToken.sol\":{\"keccak256\":\"0x518b869178aafffde40c654a1e24b3b1a2b5e42e5e8f17562556f404db8b9434\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://458ce84666b418fa3a7569c0e109db4d920fb6d1cb67ebc4c497c9c71107d93b\",\"dweb:/ipfs/QmV9nqhRF7MDGkV6UW3WWcqeXov2vmqHuRcvbqaaV8yP6u\"]}},\"version\":1}",
|
|
794
794
|
"bytecode": "0x",
|
|
795
795
|
"deployedBytecode": "0x",
|
|
796
796
|
"immutableReferences": {},
|
|
@@ -4842,7 +4842,7 @@
|
|
|
4842
4842
|
},
|
|
4843
4843
|
"networks": {},
|
|
4844
4844
|
"schemaVersion": "3.4.7",
|
|
4845
|
-
"updatedAt": "2022-
|
|
4845
|
+
"updatedAt": "2022-06-06T10:25:55.151Z",
|
|
4846
4846
|
"devdoc": {
|
|
4847
4847
|
"author": "Superfluid",
|
|
4848
4848
|
"events": {
|