@superfluid-finance/ethereum-contracts 1.2.3-dev.f94fdbb.0 → 1.3.1-dev.b8455ea.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.
Files changed (165) hide show
  1. package/build/contracts/AccessControl.json +3 -3
  2. package/build/contracts/AccessControlEnumerable.json +3 -3
  3. package/build/contracts/Address.json +5 -5
  4. package/build/contracts/AgreementBase.json +13 -13
  5. package/build/contracts/AgreementLibrary.json +7 -7
  6. package/build/contracts/BaseRelayRecipient.json +5 -5
  7. package/build/contracts/BatchLiquidator.json +179 -179
  8. package/build/contracts/BatchOperation.json +5 -5
  9. package/build/contracts/CFAv1Library.json +5 -5
  10. package/build/contracts/CallUtils.json +7 -7
  11. package/build/contracts/ClosingOnUpdateFlowTestApp.json +2107 -1917
  12. package/build/contracts/ConstantFlowAgreementV1.json +8 -8
  13. package/build/contracts/Context.json +3 -3
  14. package/build/contracts/ContextDefinitions.json +5 -5
  15. package/build/contracts/Create2.json +5 -5
  16. package/build/contracts/CustomSuperTokenBase.json +3 -3
  17. package/build/contracts/ERC165.json +3 -3
  18. package/build/contracts/ERC1820Implementer.json +5 -5
  19. package/build/contracts/ERC1820RegistryCompiled.json +7 -7
  20. package/build/contracts/ERC20.json +5 -5
  21. package/build/contracts/ERC20Burnable.json +3 -3
  22. package/build/contracts/ERC20Pausable.json +3 -3
  23. package/build/contracts/ERC20PresetMinterPauser.json +5 -5
  24. package/build/contracts/ERC20WithTokenInfo.json +3 -3
  25. package/build/contracts/ERC777Helper.json +7 -7
  26. package/build/contracts/ERC777RecipientDrainingGas.json +839 -839
  27. package/build/contracts/ERC777RecipientReverting.json +839 -839
  28. package/build/contracts/EnumerableSet.json +5 -5
  29. package/build/contracts/EventsEmitter.json +47 -47
  30. package/build/contracts/ExclusiveInflowTestApp.json +2107 -1917
  31. package/build/contracts/FixedSizeData.json +213 -213
  32. package/build/contracts/FlowExchangeTestApp.json +2107 -1917
  33. package/build/contracts/FlowOperatorDefinitions.json +5 -5
  34. package/build/contracts/FullUpgradableSuperTokenProxy.json +226 -312
  35. package/build/contracts/IAccessControl.json +3 -3
  36. package/build/contracts/IAccessControlEnumerable.json +3 -3
  37. package/build/contracts/IConstantFlowAgreementV1.json +451 -444
  38. package/build/contracts/IDAv1Library.json +5 -5
  39. package/build/contracts/IERC165.json +3 -3
  40. package/build/contracts/IERC1820Implementer.json +3 -3
  41. package/build/contracts/IERC1820Registry.json +3 -3
  42. package/build/contracts/IERC20.json +3 -3
  43. package/build/contracts/IERC20Metadata.json +3 -3
  44. package/build/contracts/IERC777.json +3 -3
  45. package/build/contracts/IERC777Recipient.json +3 -3
  46. package/build/contracts/IERC777Sender.json +3 -3
  47. package/build/contracts/IInstantDistributionAgreementV1.json +570 -559
  48. package/build/contracts/IMaticBridgedNativeSuperToken.json +71 -32
  49. package/build/contracts/IMaticBridgedNativeSuperTokenCustom.json +3 -3
  50. package/build/contracts/IMultiSigWallet.json +3 -3
  51. package/build/contracts/IPureSuperToken.json +71 -32
  52. package/build/contracts/IPureSuperTokenCustom.json +3 -3
  53. package/build/contracts/IRelayRecipient.json +3 -3
  54. package/build/contracts/IResolver.json +3 -3
  55. package/build/contracts/ISETH.json +71 -32
  56. package/build/contracts/ISETHCustom.json +3 -3
  57. package/build/contracts/ISuperAgreement.json +3 -3
  58. package/build/contracts/ISuperApp.json +179 -173
  59. package/build/contracts/ISuperToken.json +522 -483
  60. package/build/contracts/ISuperTokenFactory.json +3 -3
  61. package/build/contracts/ISuperfluid.json +633 -628
  62. package/build/contracts/ISuperfluidGovernance.json +134 -133
  63. package/build/contracts/ISuperfluidToken.json +403 -394
  64. package/build/contracts/ITOGAv1.json +1211 -1211
  65. package/build/contracts/ITOGAv2.json +1211 -1211
  66. package/build/contracts/Initializable.json +3 -3
  67. package/build/contracts/InstantDistributionAgreementV1.json +10 -10
  68. package/build/contracts/MaticBridgedNativeSuperTokenProxy.json +194 -194
  69. package/build/contracts/NonClosableOutflowTestApp.json +2107 -1917
  70. package/build/contracts/Ownable.json +3 -3
  71. package/build/contracts/Pausable.json +3 -3
  72. package/build/contracts/Proxy.json +3 -3
  73. package/build/contracts/PureSuperToken.json +91 -91
  74. package/build/contracts/Resolver.json +96 -96
  75. package/build/contracts/SETHProxy.json +199 -199
  76. package/build/contracts/SafeCast.json +5 -5
  77. package/build/contracts/SafeERC20.json +5 -5
  78. package/build/contracts/SafeMath.json +5 -5
  79. package/build/contracts/SelfDeletingFlowTestApp.json +2107 -1917
  80. package/build/contracts/SlotsBitmapLibrary.json +7 -7
  81. package/build/contracts/Strings.json +5 -5
  82. package/build/contracts/SuperAppBase.json +3 -3
  83. package/build/contracts/SuperAppDefinitions.json +5 -5
  84. package/build/contracts/SuperToken.json +2262 -2262
  85. package/build/contracts/SuperTokenFactory.json +582 -582
  86. package/build/contracts/SuperTokenFactoryBase.json +576 -576
  87. package/build/contracts/SuperTokenFactoryHelper.json +578 -578
  88. package/build/contracts/SuperUpgrader.json +687 -687
  89. package/build/contracts/Superfluid.json +6648 -6678
  90. package/build/contracts/SuperfluidFrameworkDeployer.json +526 -526
  91. package/build/contracts/SuperfluidGovernanceBase.json +13 -13
  92. package/build/contracts/SuperfluidGovernanceConfigs.json +5 -5
  93. package/build/contracts/SuperfluidGovernanceII.json +21 -21
  94. package/build/contracts/SuperfluidGovernanceIIProxy.json +20 -20
  95. package/build/contracts/SuperfluidLoader.json +147 -147
  96. package/build/contracts/SuperfluidToken.json +1269 -1269
  97. package/build/contracts/TOGA.json +1221 -1221
  98. package/build/contracts/TestGovernance.json +315 -315
  99. package/build/contracts/TestToken.json +475 -561
  100. package/build/contracts/TokenCustodian.json +220 -220
  101. package/build/contracts/TokenInfo.json +3 -3
  102. package/build/contracts/UUPSProxiable.json +136 -136
  103. package/build/contracts/UUPSProxy.json +87 -87
  104. package/build/contracts/UUPSUtils.json +43 -43
  105. package/build/contracts-sizes.txt +3 -3
  106. package/contracts/agreements/AgreementBase.sol +1 -1
  107. package/contracts/agreements/AgreementLibrary.sol +1 -1
  108. package/contracts/agreements/ConstantFlowAgreementV1.sol +1 -1
  109. package/contracts/agreements/InstantDistributionAgreementV1.sol +1 -1
  110. package/contracts/gov/SuperfluidGovernanceBase.sol +1 -1
  111. package/contracts/gov/SuperfluidGovernanceII.sol +1 -1
  112. package/contracts/interfaces/agreements/IConstantFlowAgreementV1.sol +7 -10
  113. package/contracts/interfaces/agreements/IInstantDistributionAgreementV1.sol +11 -18
  114. package/contracts/interfaces/superfluid/ISuperApp.sol +7 -9
  115. package/contracts/interfaces/superfluid/ISuperToken.sol +36 -44
  116. package/contracts/interfaces/superfluid/ISuperfluid.sol +17 -21
  117. package/contracts/interfaces/superfluid/ISuperfluidGovernance.sol +1 -1
  118. package/contracts/interfaces/superfluid/ISuperfluidToken.sol +13 -14
  119. package/contracts/libs/BaseRelayRecipient.sol +1 -1
  120. package/contracts/libs/CallUtils.sol +1 -1
  121. package/contracts/libs/ERC1820RegistryCompiled.sol +1 -1
  122. package/contracts/libs/ERC777Helper.sol +1 -1
  123. package/contracts/libs/EventsEmitter.sol +2 -2
  124. package/contracts/libs/FixedSizeData.sol +2 -2
  125. package/contracts/libs/SlotsBitmapLibrary.sol +1 -1
  126. package/contracts/mocks/AgreementMock.sol +1 -1
  127. package/contracts/mocks/CFAAppMocks.sol +6 -6
  128. package/contracts/mocks/CFALibraryMock.sol +2 -2
  129. package/contracts/mocks/CallUtilsMock.sol +1 -1
  130. package/contracts/mocks/CallUtilsTester.sol +1 -1
  131. package/contracts/mocks/CustomSuperTokenMock.sol +1 -1
  132. package/contracts/mocks/ERC777SenderRecipientMock.sol +1 -1
  133. package/contracts/mocks/FakeSuperfluidMock.sol +1 -1
  134. package/contracts/mocks/ForwarderMock.sol +1 -1
  135. package/contracts/mocks/IDASuperAppTester.sol +2 -2
  136. package/contracts/mocks/IDAv1LibraryMock.sol +3 -3
  137. package/contracts/mocks/MockSmartWallet.sol +1 -1
  138. package/contracts/mocks/MultiFlowTesterApp.sol +2 -2
  139. package/contracts/mocks/SuperAppMocks.sol +15 -12
  140. package/contracts/mocks/SuperTokenFactoryMock.sol +1 -1
  141. package/contracts/mocks/SuperTokenMock.sol +1 -1
  142. package/contracts/mocks/SuperfluidDestructorMock.sol +1 -1
  143. package/contracts/mocks/SuperfluidGovernanceIIMock.sol +1 -1
  144. package/contracts/mocks/SuperfluidMock.sol +2 -2
  145. package/contracts/mocks/UUPSProxiableMock.sol +1 -1
  146. package/contracts/superfluid/FullUpgradableSuperTokenProxy.sol +2 -2
  147. package/contracts/superfluid/SuperToken.sol +1 -1
  148. package/contracts/superfluid/SuperTokenFactory.sol +1 -1
  149. package/contracts/superfluid/Superfluid.sol +4 -4
  150. package/contracts/superfluid/SuperfluidToken.sol +1 -1
  151. package/contracts/tokens/MaticBridgedNativeSuperToken.sol +1 -1
  152. package/contracts/tokens/PureSuperToken.sol +1 -1
  153. package/contracts/tokens/SETH.sol +1 -1
  154. package/contracts/upgradability/UUPSProxiable.sol +1 -1
  155. package/contracts/upgradability/UUPSProxy.sol +1 -1
  156. package/contracts/upgradability/UUPSUtils.sol +1 -1
  157. package/contracts/utils/BatchLiquidator.sol +1 -1
  158. package/contracts/utils/Resolver.sol +1 -1
  159. package/contracts/utils/SuperUpgrader.sol +6 -6
  160. package/contracts/utils/SuperfluidLoader.sol +1 -1
  161. package/contracts/utils/TOGA.sol +1 -1
  162. package/contracts/utils/TestGovernance.sol +2 -2
  163. package/contracts/utils/TestToken.sol +2 -2
  164. package/contracts/utils/TokenCustodian.sol +1 -1
  165. package/package.json +5 -3
@@ -1,33 +1,33 @@
1
1
  {
2
2
  "contractName": "UUPSUtils",
3
3
  "abi": [],
4
- "metadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"_IMPLEMENTATION_SLOT\":{\"details\":\"Implementation slot constant. Using https://eips.ethereum.org/EIPS/eip-1967 standard Storage slot 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc (obtained as bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)).\"}},\"title\":\"UUPS (Universal Upgradeable Proxy Standard) Shared Library\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/upgradability/UUPSUtils.sol\":\"UUPSUtils\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/upgradability/UUPSUtils.sol\":{\"keccak256\":\"0xffec084e77ce3c0b595f0612687242f3d8b7a84cab15e5650c17428ee48d0b5b\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://be0183816467872b053562d9a737042ac3a91ea67e3c74e03de5db7226f3e73b\",\"dweb:/ipfs/QmUyi4YXh1T7MExbrLwZ6rAdXTPChF8q27YpZxxniR6CHM\"]}},\"version\":1}",
5
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122028eb4c83ad7c3a74c4ece681880b774213a444812f65a2d44a21b9039275381064736f6c634300080d0033",
6
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122028eb4c83ad7c3a74c4ece681880b774213a444812f65a2d44a21b9039275381064736f6c634300080d0033",
4
+ "metadata": "{\"compiler\":{\"version\":\"0.8.14+commit.80d49f37\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"_IMPLEMENTATION_SLOT\":{\"details\":\"Implementation slot constant. Using https://eips.ethereum.org/EIPS/eip-1967 standard Storage slot 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc (obtained as bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)).\"}},\"title\":\"UUPS (Universal Upgradeable Proxy Standard) Shared Library\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/upgradability/UUPSUtils.sol\":\"UUPSUtils\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/upgradability/UUPSUtils.sol\":{\"keccak256\":\"0xe624225773a60f62c7a0687afb0536ba19a17e4e5605ae71e8af77a0287aca59\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://4294e5eb5b194477bca3b8ca04ca92a6fe72dd6cf8da8f0d942a4a86c41c1c7f\",\"dweb:/ipfs/QmdfPXZxJPaBjKNfC8joTcvEhWammJHzRACB1S18sFYfd7\"]}},\"version\":1}",
5
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200c4219b5df63907a3e0e63b25f15781205d376f266df3a5b506950774983f4b864736f6c634300080e0033",
6
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200c4219b5df63907a3e0e63b25f15781205d376f266df3a5b506950774983f4b864736f6c634300080e0033",
7
7
  "immutableReferences": {},
8
8
  "generatedSources": [],
9
9
  "deployedGeneratedSources": [],
10
10
  "sourceMap": "137:933:95:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;137:933:95;;;;;;;;;;;;;;;;;",
11
11
  "deployedSourceMap": "137:933:95:-:0;;;;;;;;",
12
- "source": "// SPDX-License-Identifier: AGPLv3\npragma solidity 0.8.13;\n\n/**\n * @title UUPS (Universal Upgradeable Proxy Standard) Shared Library\n */\nlibrary UUPSUtils {\n\n /**\n * @dev Implementation slot constant.\n * Using https://eips.ethereum.org/EIPS/eip-1967 standard\n * Storage slot 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\n * (obtained as bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)).\n */\n bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n\n /// @dev Get implementation address.\n function implementation() internal view returns (address impl) {\n assembly { // solium-disable-line\n impl := sload(_IMPLEMENTATION_SLOT)\n }\n }\n\n /// @dev Set new implementation address.\n function setImplementation(address codeAddress) internal {\n assembly {\n // solium-disable-line\n sstore(\n _IMPLEMENTATION_SLOT,\n codeAddress\n )\n }\n }\n\n}\n",
12
+ "source": "// SPDX-License-Identifier: AGPLv3\npragma solidity 0.8.14;\n\n/**\n * @title UUPS (Universal Upgradeable Proxy Standard) Shared Library\n */\nlibrary UUPSUtils {\n\n /**\n * @dev Implementation slot constant.\n * Using https://eips.ethereum.org/EIPS/eip-1967 standard\n * Storage slot 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\n * (obtained as bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)).\n */\n bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n\n /// @dev Get implementation address.\n function implementation() internal view returns (address impl) {\n assembly { // solium-disable-line\n impl := sload(_IMPLEMENTATION_SLOT)\n }\n }\n\n /// @dev Set new implementation address.\n function setImplementation(address codeAddress) internal {\n assembly {\n // solium-disable-line\n sstore(\n _IMPLEMENTATION_SLOT,\n codeAddress\n )\n }\n }\n\n}\n",
13
13
  "sourcePath": "/home/runner/work/protocol-monorepo/protocol-monorepo/packages/ethereum-contracts/contracts/upgradability/UUPSUtils.sol",
14
14
  "ast": {
15
15
  "absolutePath": "project:/contracts/upgradability/UUPSUtils.sol",
16
16
  "exportedSymbols": {
17
17
  "UUPSUtils": [
18
- 34919
18
+ 34938
19
19
  ]
20
20
  },
21
- "id": 34920,
21
+ "id": 34939,
22
22
  "license": "AGPLv3",
23
23
  "nodeType": "SourceUnit",
24
24
  "nodes": [
25
25
  {
26
- "id": 34897,
26
+ "id": 34916,
27
27
  "literals": [
28
28
  "solidity",
29
29
  "0.8",
30
- ".13"
30
+ ".14"
31
31
  ],
32
32
  "nodeType": "PragmaDirective",
33
33
  "src": "35:23:95"
@@ -39,15 +39,15 @@
39
39
  "contractDependencies": [],
40
40
  "contractKind": "library",
41
41
  "documentation": {
42
- "id": 34898,
42
+ "id": 34917,
43
43
  "nodeType": "StructuredDocumentation",
44
44
  "src": "60:76:95",
45
45
  "text": " @title UUPS (Universal Upgradeable Proxy Standard) Shared Library"
46
46
  },
47
47
  "fullyImplemented": true,
48
- "id": 34919,
48
+ "id": 34938,
49
49
  "linearizedBaseContracts": [
50
- 34919
50
+ 34938
51
51
  ],
52
52
  "name": "UUPSUtils",
53
53
  "nameLocation": "145:9:95",
@@ -56,17 +56,17 @@
56
56
  {
57
57
  "constant": true,
58
58
  "documentation": {
59
- "id": 34899,
59
+ "id": 34918,
60
60
  "nodeType": "StructuredDocumentation",
61
61
  "src": "162:288:95",
62
62
  "text": " @dev Implementation slot constant.\n Using https://eips.ethereum.org/EIPS/eip-1967 standard\n Storage slot 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\n (obtained as bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1))."
63
63
  },
64
- "id": 34902,
64
+ "id": 34921,
65
65
  "mutability": "constant",
66
66
  "name": "_IMPLEMENTATION_SLOT",
67
67
  "nameLocation": "481:20:95",
68
68
  "nodeType": "VariableDeclaration",
69
- "scope": 34919,
69
+ "scope": 34938,
70
70
  "src": "455:115:95",
71
71
  "stateVariable": true,
72
72
  "storageLocation": "default",
@@ -75,7 +75,7 @@
75
75
  "typeString": "bytes32"
76
76
  },
77
77
  "typeName": {
78
- "id": 34900,
78
+ "id": 34919,
79
79
  "name": "bytes32",
80
80
  "nodeType": "ElementaryTypeName",
81
81
  "src": "455:7:95",
@@ -86,7 +86,7 @@
86
86
  },
87
87
  "value": {
88
88
  "hexValue": "307833363038393461313362613161333231303636376338323834393264623938646361336532303736636333373335613932306133636135303564333832626263",
89
- "id": 34901,
89
+ "id": 34920,
90
90
  "isConstant": false,
91
91
  "isLValue": false,
92
92
  "isPure": true,
@@ -104,7 +104,7 @@
104
104
  },
105
105
  {
106
106
  "body": {
107
- "id": 34909,
107
+ "id": 34928,
108
108
  "nodeType": "Block",
109
109
  "src": "681:107:95",
110
110
  "statements": [
@@ -145,33 +145,33 @@
145
145
  "evmVersion": "london",
146
146
  "externalReferences": [
147
147
  {
148
- "declaration": 34902,
148
+ "declaration": 34921,
149
149
  "isOffset": false,
150
150
  "isSlot": false,
151
151
  "src": "751:20:95",
152
152
  "valueSize": 1
153
153
  },
154
154
  {
155
- "declaration": 34906,
155
+ "declaration": 34925,
156
156
  "isOffset": false,
157
157
  "isSlot": false,
158
158
  "src": "737:4:95",
159
159
  "valueSize": 1
160
160
  }
161
161
  ],
162
- "id": 34908,
162
+ "id": 34927,
163
163
  "nodeType": "InlineAssembly",
164
164
  "src": "691:91:95"
165
165
  }
166
166
  ]
167
167
  },
168
168
  "documentation": {
169
- "id": 34903,
169
+ "id": 34922,
170
170
  "nodeType": "StructuredDocumentation",
171
171
  "src": "577:36:95",
172
172
  "text": "@dev Get implementation address."
173
173
  },
174
- "id": 34910,
174
+ "id": 34929,
175
175
  "implemented": true,
176
176
  "kind": "function",
177
177
  "modifiers": [],
@@ -179,23 +179,23 @@
179
179
  "nameLocation": "627:14:95",
180
180
  "nodeType": "FunctionDefinition",
181
181
  "parameters": {
182
- "id": 34904,
182
+ "id": 34923,
183
183
  "nodeType": "ParameterList",
184
184
  "parameters": [],
185
185
  "src": "641:2:95"
186
186
  },
187
187
  "returnParameters": {
188
- "id": 34907,
188
+ "id": 34926,
189
189
  "nodeType": "ParameterList",
190
190
  "parameters": [
191
191
  {
192
192
  "constant": false,
193
- "id": 34906,
193
+ "id": 34925,
194
194
  "mutability": "mutable",
195
195
  "name": "impl",
196
196
  "nameLocation": "675:4:95",
197
197
  "nodeType": "VariableDeclaration",
198
- "scope": 34910,
198
+ "scope": 34929,
199
199
  "src": "667:12:95",
200
200
  "stateVariable": false,
201
201
  "storageLocation": "default",
@@ -204,7 +204,7 @@
204
204
  "typeString": "address"
205
205
  },
206
206
  "typeName": {
207
- "id": 34905,
207
+ "id": 34924,
208
208
  "name": "address",
209
209
  "nodeType": "ElementaryTypeName",
210
210
  "src": "667:7:95",
@@ -219,7 +219,7 @@
219
219
  ],
220
220
  "src": "666:14:95"
221
221
  },
222
- "scope": 34919,
222
+ "scope": 34938,
223
223
  "src": "618:170:95",
224
224
  "stateMutability": "view",
225
225
  "virtual": false,
@@ -227,7 +227,7 @@
227
227
  },
228
228
  {
229
229
  "body": {
230
- "id": 34917,
230
+ "id": 34936,
231
231
  "nodeType": "Block",
232
232
  "src": "896:171:95",
233
233
  "statements": [
@@ -266,33 +266,33 @@
266
266
  "evmVersion": "london",
267
267
  "externalReferences": [
268
268
  {
269
- "declaration": 34902,
269
+ "declaration": 34921,
270
270
  "isOffset": false,
271
271
  "isSlot": false,
272
272
  "src": "988:20:95",
273
273
  "valueSize": 1
274
274
  },
275
275
  {
276
- "declaration": 34913,
276
+ "declaration": 34932,
277
277
  "isOffset": false,
278
278
  "isSlot": false,
279
279
  "src": "1026:11:95",
280
280
  "valueSize": 1
281
281
  }
282
282
  ],
283
- "id": 34916,
283
+ "id": 34935,
284
284
  "nodeType": "InlineAssembly",
285
285
  "src": "906:155:95"
286
286
  }
287
287
  ]
288
288
  },
289
289
  "documentation": {
290
- "id": 34911,
290
+ "id": 34930,
291
291
  "nodeType": "StructuredDocumentation",
292
292
  "src": "794:40:95",
293
293
  "text": "@dev Set new implementation address."
294
294
  },
295
- "id": 34918,
295
+ "id": 34937,
296
296
  "implemented": true,
297
297
  "kind": "function",
298
298
  "modifiers": [],
@@ -300,17 +300,17 @@
300
300
  "nameLocation": "848:17:95",
301
301
  "nodeType": "FunctionDefinition",
302
302
  "parameters": {
303
- "id": 34914,
303
+ "id": 34933,
304
304
  "nodeType": "ParameterList",
305
305
  "parameters": [
306
306
  {
307
307
  "constant": false,
308
- "id": 34913,
308
+ "id": 34932,
309
309
  "mutability": "mutable",
310
310
  "name": "codeAddress",
311
311
  "nameLocation": "874:11:95",
312
312
  "nodeType": "VariableDeclaration",
313
- "scope": 34918,
313
+ "scope": 34937,
314
314
  "src": "866:19:95",
315
315
  "stateVariable": false,
316
316
  "storageLocation": "default",
@@ -319,7 +319,7 @@
319
319
  "typeString": "address"
320
320
  },
321
321
  "typeName": {
322
- "id": 34912,
322
+ "id": 34931,
323
323
  "name": "address",
324
324
  "nodeType": "ElementaryTypeName",
325
325
  "src": "866:7:95",
@@ -335,19 +335,19 @@
335
335
  "src": "865:21:95"
336
336
  },
337
337
  "returnParameters": {
338
- "id": 34915,
338
+ "id": 34934,
339
339
  "nodeType": "ParameterList",
340
340
  "parameters": [],
341
341
  "src": "896:0:95"
342
342
  },
343
- "scope": 34919,
343
+ "scope": 34938,
344
344
  "src": "839:228:95",
345
345
  "stateMutability": "nonpayable",
346
346
  "virtual": false,
347
347
  "visibility": "internal"
348
348
  }
349
349
  ],
350
- "scope": 34920,
350
+ "scope": 34939,
351
351
  "src": "137:933:95",
352
352
  "usedErrors": []
353
353
  }
@@ -356,11 +356,11 @@
356
356
  },
357
357
  "compiler": {
358
358
  "name": "solc",
359
- "version": "0.8.13+commit.abaa5c0e.Emscripten.clang"
359
+ "version": "0.8.14+commit.80d49f37.Emscripten.clang"
360
360
  },
361
361
  "networks": {},
362
362
  "schemaVersion": "3.4.7",
363
- "updatedAt": "2022-06-03T09:45:14.338Z",
363
+ "updatedAt": "2022-06-15T22:03:58.997Z",
364
364
  "devdoc": {
365
365
  "kind": "dev",
366
366
  "methods": {},
@@ -1,8 +1,8 @@
1
- FullUpgradableSuperTokenProxy.sol : 635 (23941)
1
+ FullUpgradableSuperTokenProxy.sol : 606 (23970)
2
2
  SuperfluidToken.sol : 2 (24574)
3
3
  SuperToken.sol : 18856 (5720)
4
- SuperTokenFactory.sol : 4997 (19579)
5
- Superfluid.sol : 22090 (2486)
4
+ SuperTokenFactory.sol : 4968 (19608)
5
+ Superfluid.sol : 22092 (2484)
6
6
  AgreementBase.sol : 2 (24574)
7
7
  InstantDistributionAgreementV1.sol : 21566 (3010)
8
8
  AgreementLibrary.sol : 143 (24433)
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: AGPLv3
2
- pragma solidity 0.8.13;
2
+ pragma solidity 0.8.14;
3
3
 
4
4
  import { UUPSProxiable } from "../upgradability/UUPSProxiable.sol";
5
5
  import { ISuperAgreement } from "../interfaces/superfluid/ISuperAgreement.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: AGPLv3
2
- pragma solidity 0.8.13;
2
+ pragma solidity 0.8.14;
3
3
 
4
4
  import {
5
5
  ISuperfluidGovernance,
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: AGPLv3
2
- pragma solidity 0.8.13;
2
+ pragma solidity 0.8.14;
3
3
 
4
4
  import {
5
5
  IConstantFlowAgreementV1,
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: AGPLv3
2
- pragma solidity 0.8.13;
2
+ pragma solidity 0.8.14;
3
3
 
4
4
  import { SafeCast } from "@openzeppelin/contracts/utils/math/SafeCast.sol";
5
5
 
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: AGPLv3
2
- pragma solidity 0.8.13;
2
+ pragma solidity 0.8.14;
3
3
 
4
4
  import {
5
5
  ISuperfluid,
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: AGPLv3
2
- pragma solidity 0.8.13;
2
+ pragma solidity 0.8.14;
3
3
 
4
4
  import { UUPSProxy } from "../upgradability/UUPSProxy.sol";
5
5
  import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol";
@@ -33,7 +33,7 @@ abstract contract IConstantFlowAgreementV1 is ISuperAgreement {
33
33
  * @dev Calculates the deposit based on the liquidationPeriod and flowRate
34
34
  * @param flowRate Flow rate to be tested
35
35
  * @return deposit The deposit amount based on flowRate and liquidationPeriod
36
- * NOTE:
36
+ * @custom:note
37
37
  * - if calculated deposit (flowRate * liquidationPeriod) is less
38
38
  * than the minimum deposit, we use the minimum deposit otherwise
39
39
  * we use the calculated deposit
@@ -163,13 +163,12 @@ abstract contract IConstantFlowAgreementV1 is ISuperAgreement {
163
163
  * @param flowRate New flow rate in amount per second
164
164
  * @param ctx Context bytes (see ISuperfluid.sol for Context struct)
165
165
  *
166
- * # App callbacks
167
- *
166
+ * @custom:callbacks
168
167
  * - AgreementCreated
169
168
  * - agreementId - can be used in getFlowByID
170
169
  * - agreementData - abi.encode(address flowSender, address flowReceiver)
171
170
  *
172
- * NOTE:
171
+ * @custom:note
173
172
  * - A deposit is taken as safety margin for the solvency agents
174
173
  * - A extra gas fee may be taken to pay for solvency agent liquidations
175
174
  */
@@ -209,13 +208,12 @@ abstract contract IConstantFlowAgreementV1 is ISuperAgreement {
209
208
  * @param flowRate New flow rate in amount per second
210
209
  * @param ctx Context bytes (see ISuperfluid.sol for Context struct)
211
210
  *
212
- * # App callbacks
213
- *
211
+ * @custom:callbacks
214
212
  * - AgreementUpdated
215
213
  * - agreementId - can be used in getFlowByID
216
214
  * - agreementData - abi.encode(address flowSender, address flowReceiver)
217
215
  *
218
- * NOTE:
216
+ * @custom:note
219
217
  * - Only the flow sender may update the flow rate
220
218
  * - Even if the flow rate is zero, the flow is not deleted
221
219
  * from the system
@@ -335,13 +333,12 @@ abstract contract IConstantFlowAgreementV1 is ISuperAgreement {
335
333
  * @param ctx Context bytes (see ISuperfluid.sol for Context struct)
336
334
  * @param receiver Flow receiver address
337
335
  *
338
- * # App callbacks
339
- *
336
+ * @custom:callbacks
340
337
  * - AgreementTerminated
341
338
  * - agreementId - can be used in getFlowByID
342
339
  * - agreementData - abi.encode(address flowSender, address flowReceiver)
343
340
  *
344
- * NOTE:
341
+ * @custom:note
345
342
  * - Both flow sender and receiver may delete the flow
346
343
  * - If Sender account is insolvent or in critical state, a solvency agent may
347
344
  * also terminate the agreement
@@ -9,7 +9,7 @@ import { ISuperfluidToken } from "../superfluid/ISuperfluidToken.sol";
9
9
  * @title Instant Distribution Agreement interface
10
10
  * @author Superfluid
11
11
  *
12
- * Notes:
12
+ * @notice
13
13
  * - A publisher can create as many as indices as possibly identifiable with `indexId`.
14
14
  * - `indexId` is deliberately limited to 32 bits, to avoid the chance for sha-3 collision.
15
15
  * Despite knowing sha-3 collision is only theoretical.
@@ -50,8 +50,7 @@ abstract contract IInstantDistributionAgreementV1 is ISuperAgreement {
50
50
  * @param indexId Id of the index
51
51
  * @param ctx Context bytes (see ISuperfluid.sol for Context struct)
52
52
  *
53
- * # App callbacks
54
- *
53
+ * @custom:callbacks
55
54
  * None
56
55
  */
57
56
  function createIndex(
@@ -124,8 +123,7 @@ abstract contract IInstantDistributionAgreementV1 is ISuperAgreement {
124
123
  * @param indexValue Value of the index
125
124
  * @param ctx Context bytes (see ISuperfluid.sol for Context struct)
126
125
  *
127
- * # App callbacks
128
- *
126
+ * @custom:callbacks
129
127
  * None
130
128
  */
131
129
  function updateIndex(
@@ -164,15 +162,14 @@ abstract contract IInstantDistributionAgreementV1 is ISuperAgreement {
164
162
  * @param amount The amount of tokens desired to be distributed
165
163
  * @param ctx Context bytes (see ISuperfluid.sol for Context struct)
166
164
  *
167
- * NOTE:
165
+ * @custom:note
168
166
  * - This is a convenient version of updateIndex. It adds to the index
169
167
  * a delta that equals to `amount / totalUnits`
170
168
  * - The actual amount distributed could be obtained via
171
169
  * `calculateDistribution`. This is due to precision error with index
172
170
  * value and units data range
173
171
  *
174
- * # App callbacks
175
- *
172
+ * @custom:callbacks
176
173
  * None
177
174
  */
178
175
  function distribute(
@@ -196,8 +193,7 @@ abstract contract IInstantDistributionAgreementV1 is ISuperAgreement {
196
193
  * @param indexId Id of the index
197
194
  * @param ctx Context bytes (see ISuperfluid.sol for Context struct)
198
195
  *
199
- * # App callbacks
200
- *
196
+ * @custom:callbacks
201
197
  * - if subscription exist
202
198
  * - AgreementCreated callback to the publisher:
203
199
  * - agreementId is for the subscription
@@ -251,7 +247,7 @@ abstract contract IInstantDistributionAgreementV1 is ISuperAgreement {
251
247
  * @param indexId Id of the index
252
248
  * @param ctx Context bytes (see ISuperfluid.sol for Context struct)
253
249
  *
254
- * # App callbacks
250
+ * @custom:callbacks
255
251
  * - AgreementUpdated callback to the publisher:
256
252
  * - agreementId is for the subscription
257
253
  */
@@ -301,8 +297,7 @@ abstract contract IInstantDistributionAgreementV1 is ISuperAgreement {
301
297
  * @param units Number of units of the subscription
302
298
  * @param ctx Context bytes (see ISuperfluid.sol for Context struct)
303
299
  *
304
- * # App callbacks
305
- *
300
+ * @custom:callbacks
306
301
  * - if subscription exist
307
302
  * - AgreementCreated callback to the subscriber:
308
303
  * - agreementId is for the subscription
@@ -432,8 +427,7 @@ abstract contract IInstantDistributionAgreementV1 is ISuperAgreement {
432
427
  * @param subscriber The subscriber's address
433
428
  * @param ctx Context bytes (see ISuperfluid.sol for Context struct)
434
429
  *
435
- * # App callbacks
436
- *
430
+ * @custom:callbacks
437
431
  * - if the subscriber called it
438
432
  * - AgreementTerminated callback to the publsiher:
439
433
  * - agreementId is for the subscription
@@ -459,10 +453,9 @@ abstract contract IInstantDistributionAgreementV1 is ISuperAgreement {
459
453
  * @param subscriber The subscriber's address
460
454
  * @param ctx Context bytes (see ISuperfluid.sol for Context struct)
461
455
  *
462
- * The subscription should not be approved yet
463
- *
464
- * # App callbacks
456
+ * @custom:note The subscription should not be approved yet
465
457
  *
458
+ * @custom:callbacks
466
459
  * - AgreementUpdated callback to the publisher:
467
460
  * - agreementId is for the subscription
468
461
  */
@@ -7,7 +7,6 @@ import { ISuperToken } from "./ISuperToken.sol";
7
7
  * @title SuperApp interface
8
8
  * @author Superfluid
9
9
  * @dev Be aware of the app being jailed, when the word permitted is used.
10
- *
11
10
  */
12
11
  interface ISuperApp {
13
12
 
@@ -21,7 +20,7 @@ interface ISuperApp {
21
20
  * @return cbdata A free format in memory data the app can use to pass
22
21
  * arbitary information to the after-hook callback.
23
22
  *
24
- * NOTE:
23
+ * @custom:note
25
24
  * - It will be invoked with `staticcall`, no state changes are permitted.
26
25
  * - Only revert with a "reason" is permitted.
27
26
  */
@@ -46,7 +45,7 @@ interface ISuperApp {
46
45
  * @param ctx The context data.
47
46
  * @return newCtx The current context of the transaction.
48
47
  *
49
- * NOTE:
48
+ * @custom:note
50
49
  * - State changes is permitted.
51
50
  * - Only revert with a "reason" is permitted.
52
51
  */
@@ -71,7 +70,7 @@ interface ISuperApp {
71
70
  * @return cbdata A free format in memory data the app can use to pass
72
71
  * arbitary information to the after-hook callback.
73
72
  *
74
- * NOTE:
73
+ * @custom:note
75
74
  * - It will be invoked with `staticcall`, no state changes are permitted.
76
75
  * - Only revert with a "reason" is permitted.
77
76
  */
@@ -97,7 +96,7 @@ interface ISuperApp {
97
96
  * @param ctx The context data.
98
97
  * @return newCtx The current context of the transaction.
99
98
  *
100
- * NOTE:
99
+ * @custom:note
101
100
  * - State changes is permitted.
102
101
  * - Only revert with a "reason" is permitted.
103
102
  */
@@ -119,10 +118,9 @@ interface ISuperApp {
119
118
  * @param agreementId The agreementId
120
119
  * @param agreementData The agreement data (non-compressed)
121
120
  * @param ctx The context data.
122
- * @return cbdata A free format in memory data the app can use to pass
123
- * arbitary information to the after-hook callback.
121
+ * @return cbdata A free format in memory data the app can use to pass arbitary information to the after-hook callback.
124
122
  *
125
- * NOTE:
123
+ * @custom:note
126
124
  * - It will be invoked with `staticcall`, no state changes are permitted.
127
125
  * - Revert is not permitted.
128
126
  */
@@ -147,7 +145,7 @@ interface ISuperApp {
147
145
  * @param ctx The context data.
148
146
  * @return newCtx The current context of the transaction.
149
147
  *
150
- * NOTE:
148
+ * @custom:note
151
149
  * - State changes is permitted.
152
150
  * - Revert is not permitted.
153
151
  */