@superfluid-finance/ethereum-contracts 1.2.3-dev.f94fdbb.0 → 1.3.1-dev.ad4bf1f.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 (171) 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
  166. package/scripts/deploy-framework.js +5 -5
  167. package/scripts/deploy-super-token.js +13 -4
  168. package/scripts/gov-create-new-app-registration-key.js +2 -1
  169. package/scripts/gov-create-new-factory-registration.js +1 -1
  170. package/scripts/libs/getConfig.js +21 -3
  171. package/scripts/resolver-list-super-token.js +1 -0
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "contractName": "BatchOperation",
3
3
  "abi": [],
4
- "metadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Superfluid\",\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"OPERATION_TYPE_ERC20_APPROVE\":{\"details\":\"ERC20.approve batch operation type Call spec: ISuperToken(target).operationApprove( abi.decode(data, (address spender, uint256 amount)) )\"},\"OPERATION_TYPE_ERC20_TRANSFER_FROM\":{\"details\":\"ERC20.transferFrom batch operation type Call spec: ISuperToken(target).operationTransferFrom( abi.decode(data, (address sender, address recipient, uint256 amount) )\"},\"OPERATION_TYPE_SUPERFLUID_CALL_AGREEMENT\":{\"details\":\"Superfluid.callAgreement batch operation type Call spec: callAgreement( ISuperAgreement(target)), abi.decode(data, (bytes calldata, bytes userdata) )\"},\"OPERATION_TYPE_SUPERFLUID_CALL_APP_ACTION\":{\"details\":\"Superfluid.callAppAction batch operation type Call spec: callAppAction( ISuperApp(target)), data )\"},\"OPERATION_TYPE_SUPERTOKEN_DOWNGRADE\":{\"details\":\"SuperToken.downgrade batch operation type Call spec: ISuperToken(target).operationDowngrade( abi.decode(data, (uint256 amount) )\"},\"OPERATION_TYPE_SUPERTOKEN_UPGRADE\":{\"details\":\"SuperToken.upgrade batch operation type Call spec: ISuperToken(target).operationUpgrade( abi.decode(data, (uint256 amount) )\"}},\"title\":\"Batch operation library\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/interfaces/superfluid/Definitions.sol\":\"BatchOperation\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/interfaces/superfluid/Definitions.sol\":{\"keccak256\":\"0x199095781e4221b6015d859558da09977f79199f38d342ab4899c2cecdf8cec1\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://9fd3a5a8b16d8517e2af10e20390a9af5adbfa4e783e3a7dd89eb4588db98385\",\"dweb:/ipfs/QmPDtGR43DeMMVsHjUh7FYzMGsFKPpGriRkaahFpN5T5d3\"]}},\"version\":1}",
5
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122014d3a96d0b5d7bbf31d582b2ba60c7b47dd80796d45b4e0222b5f9b08d5b4f9d64736f6c634300080d0033",
6
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122014d3a96d0b5d7bbf31d582b2ba60c7b47dd80796d45b4e0222b5f9b08d5b4f9d64736f6c634300080d0033",
4
+ "metadata": "{\"compiler\":{\"version\":\"0.8.14+commit.80d49f37\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Superfluid\",\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"OPERATION_TYPE_ERC20_APPROVE\":{\"details\":\"ERC20.approve batch operation type Call spec: ISuperToken(target).operationApprove( abi.decode(data, (address spender, uint256 amount)) )\"},\"OPERATION_TYPE_ERC20_TRANSFER_FROM\":{\"details\":\"ERC20.transferFrom batch operation type Call spec: ISuperToken(target).operationTransferFrom( abi.decode(data, (address sender, address recipient, uint256 amount) )\"},\"OPERATION_TYPE_SUPERFLUID_CALL_AGREEMENT\":{\"details\":\"Superfluid.callAgreement batch operation type Call spec: callAgreement( ISuperAgreement(target)), abi.decode(data, (bytes calldata, bytes userdata) )\"},\"OPERATION_TYPE_SUPERFLUID_CALL_APP_ACTION\":{\"details\":\"Superfluid.callAppAction batch operation type Call spec: callAppAction( ISuperApp(target)), data )\"},\"OPERATION_TYPE_SUPERTOKEN_DOWNGRADE\":{\"details\":\"SuperToken.downgrade batch operation type Call spec: ISuperToken(target).operationDowngrade( abi.decode(data, (uint256 amount) )\"},\"OPERATION_TYPE_SUPERTOKEN_UPGRADE\":{\"details\":\"SuperToken.upgrade batch operation type Call spec: ISuperToken(target).operationUpgrade( abi.decode(data, (uint256 amount) )\"}},\"title\":\"Batch operation library\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/interfaces/superfluid/Definitions.sol\":\"BatchOperation\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/interfaces/superfluid/Definitions.sol\":{\"keccak256\":\"0x199095781e4221b6015d859558da09977f79199f38d342ab4899c2cecdf8cec1\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://9fd3a5a8b16d8517e2af10e20390a9af5adbfa4e783e3a7dd89eb4588db98385\",\"dweb:/ipfs/QmPDtGR43DeMMVsHjUh7FYzMGsFKPpGriRkaahFpN5T5d3\"]}},\"version\":1}",
5
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206aad5a635edb02e05d9a371d629c58904a626e8d3f10b944c77c32953f03297564736f6c634300080e0033",
6
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206aad5a635edb02e05d9a371d629c58904a626e8d3f10b944c77c32953f03297564736f6c634300080e0033",
7
7
  "immutableReferences": {},
8
8
  "generatedSources": [],
9
9
  "deployedGeneratedSources": [],
@@ -6473,11 +6473,11 @@
6473
6473
  },
6474
6474
  "compiler": {
6475
6475
  "name": "solc",
6476
- "version": "0.8.13+commit.abaa5c0e.Emscripten.clang"
6476
+ "version": "0.8.14+commit.80d49f37.Emscripten.clang"
6477
6477
  },
6478
6478
  "networks": {},
6479
6479
  "schemaVersion": "3.4.7",
6480
- "updatedAt": "2022-06-03T09:45:13.980Z",
6480
+ "updatedAt": "2022-06-15T22:18:50.299Z",
6481
6481
  "devdoc": {
6482
6482
  "author": "Superfluid",
6483
6483
  "kind": "dev",
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "contractName": "CFAv1Library",
3
3
  "abi": [],
4
- "metadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Superfluid\",\"details\":\"for working with the constant flow agreement within soliditythe first set of functions are each for callAgreement()the second set of functions are each for use in callAgreementWithContext()\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Constant flow agreement v1 library\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/apps/CFAv1Library.sol\":\"CFAv1Library\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbbc8ac883ac3c0078ce5ad3e288fbb3ffcc8a30c3a98c0fda0114d64fc44fca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87a7a5d2f6f63f84598af02b8c50ca2df2631cb8ba2453e8d95fcb17e4be9824\",\"dweb:/ipfs/QmR76hqtAcRqoFj33tmNjcWTLrgNsAaakYwnKZ8zoJtKei\"]},\"@openzeppelin/contracts/token/ERC777/IERC777.sol\":{\"keccak256\":\"0xe4e0b7e3f0265ffaa565d26acd2d45f2633f19127ed625e5a05a9f201a87a667\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1762b5bc15a009b5f092ccf547b81e0827c8705884f18e0623e497658514a7ed\",\"dweb:/ipfs/QmTtmVQYuynan3j2uVjdjjRJS1mr7LPRgxSZNnfqC7oxkz\"]},\"project:/contracts/apps/CFAv1Library.sol\":{\"keccak256\":\"0x5384b9a56711ce7b72405c653ff8be3bb94131428919b380248e10f1ddb252de\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://979aa0e84f86851125d7ad79d7f974681c91680139e65ae426fee12671f81ca0\",\"dweb:/ipfs/QmVk59WkCeqaUVRBeiCfftVstSXugXgyXMurEeAicAx3du\"]},\"project:/contracts/interfaces/agreements/IConstantFlowAgreementV1.sol\":{\"keccak256\":\"0xb96bb6cb0fe88ddf5b890b6826f7f7585cf6e94223c76d8e2fb269779afe4445\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://b864597ae952222f0f43c66943492966013021c4171d5ef4f7357c047dfd737c\",\"dweb:/ipfs/Qmcr7xicfmPDD343B34ETP3XrdU9Vi1z3zxJSgqLipfQmY\"]},\"project:/contracts/interfaces/superfluid/Definitions.sol\":{\"keccak256\":\"0x199095781e4221b6015d859558da09977f79199f38d342ab4899c2cecdf8cec1\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://9fd3a5a8b16d8517e2af10e20390a9af5adbfa4e783e3a7dd89eb4588db98385\",\"dweb:/ipfs/QmPDtGR43DeMMVsHjUh7FYzMGsFKPpGriRkaahFpN5T5d3\"]},\"project:/contracts/interfaces/superfluid/ISuperAgreement.sol\":{\"keccak256\":\"0xc3a6a907245116bcecc70fe4b207454012e8ce4fa190228fb8bbe39e0b1bc5cf\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://83c116bdae48685d20e5a27c942111e685ec1ef6334e7ff6f6d9af66edbd8025\",\"dweb:/ipfs/QmTnVuNTaRFiDmkAmDk7NFYdfQTW1kqgBZiY2exC6k8jDx\"]},\"project:/contracts/interfaces/superfluid/ISuperApp.sol\":{\"keccak256\":\"0x57f4203168992c940eb6b8c7cc75f854cb36a1f9323b3f39ddc5e4fbe819c043\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://888941dfa3e5004f678f215b98a85d1bf54e412317928a78e0a1cff090773d4c\",\"dweb:/ipfs/QmVe838upcAyqpy1d3oQNHJrbRyWCKHL51zWrMKruvLxFG\"]},\"project:/contracts/interfaces/superfluid/ISuperToken.sol\":{\"keccak256\":\"0x3cb0b7216007b942f7611d7b3d983c0df9408fdd4fd6b799c33fc9033e0abf8b\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://17901a1fd3635f441671e14ece8ecc6806af20c5eb80cca3b7c6e53a51fef7b6\",\"dweb:/ipfs/QmUXXMfU6nmsyEnufyGEwyZ5M7pzpXNTr6vw32e3JjjoZp\"]},\"project:/contracts/interfaces/superfluid/ISuperTokenFactory.sol\":{\"keccak256\":\"0x68a466c978557e47bd7385b1d7d78f1c8fb07462a870efc5a791008e33a4f535\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://d109879bdb7f022560a792af2ff481df729bf1b4b8e1831b8022f4d12892d41d\",\"dweb:/ipfs/QmRSWqHq8CP5XWgyV4mJpPxMg33s312s2K5ndHRHVqqZ8n\"]},\"project:/contracts/interfaces/superfluid/ISuperfluid.sol\":{\"keccak256\":\"0x2d9b845469a35b66f1166406149ac85e933dbe9156f57e4a4078948e6a6e71a4\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://48e5cb11d4b90e42af521e23b33d57e12187c989d8d56be332b1649308168d45\",\"dweb:/ipfs/QmdaTW4HfpFfHjkHiJ3CmZUmCfLJyFCPTnCygwhiNhx3Tu\"]},\"project:/contracts/interfaces/superfluid/ISuperfluidGovernance.sol\":{\"keccak256\":\"0x2166f766b7f61f9bb1376b0948efa0d0c0046b93dc301e51ce495203b145189b\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://929630e6a15f523b142b2897783b2f7a54532ac5ae578bd17a0b7f25a6ca2bd8\",\"dweb:/ipfs/QmTu9ffH9qbQncJGEc24bmnoCGjifQ7BG47AYR8AzMLfXR\"]},\"project:/contracts/interfaces/superfluid/ISuperfluidToken.sol\":{\"keccak256\":\"0x518b869178aafffde40c654a1e24b3b1a2b5e42e5e8f17562556f404db8b9434\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://458ce84666b418fa3a7569c0e109db4d920fb6d1cb67ebc4c497c9c71107d93b\",\"dweb:/ipfs/QmV9nqhRF7MDGkV6UW3WWcqeXov2vmqHuRcvbqaaV8yP6u\"]},\"project:/contracts/interfaces/tokens/ERC20WithTokenInfo.sol\":{\"keccak256\":\"0x66708dae3fcd06e6fc0a46f2959fc2d1e6b9361f28598337339d26af8eb8c0f9\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://77b80718cec21b81ef190c19fb9fbe73913a95c71f7e6715f671bbe8a224dafc\",\"dweb:/ipfs/QmUdsc6DF2Bgih5VZm7sfaECjhGmwE7tAx8pMkzGQgVKQw\"]},\"project:/contracts/interfaces/tokens/TokenInfo.sol\":{\"keccak256\":\"0x70e573644a0ff271c0ccef526809e9d9ab4950ec58755ca84e833cde3b8f3df0\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://aea3709687cc37ba625f4cc882fbdb149a7bf5be5afe2b030203c8719641a77b\",\"dweb:/ipfs/QmVpvfR6ZheE5wNUK9CobaVBgVvEnEPkvjWF9cfwyZr7eQ\"]}},\"version\":1}",
5
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204e9adaaa2f93162623d190f9fbc80a0923c7770677a001843d648958fa7689c964736f6c634300080d0033",
6
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204e9adaaa2f93162623d190f9fbc80a0923c7770677a001843d648958fa7689c964736f6c634300080d0033",
4
+ "metadata": "{\"compiler\":{\"version\":\"0.8.14+commit.80d49f37\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Superfluid\",\"details\":\"for working with the constant flow agreement within soliditythe first set of functions are each for callAgreement()the second set of functions are each for use in callAgreementWithContext()\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Constant flow agreement v1 library\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/apps/CFAv1Library.sol\":\"CFAv1Library\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbbc8ac883ac3c0078ce5ad3e288fbb3ffcc8a30c3a98c0fda0114d64fc44fca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87a7a5d2f6f63f84598af02b8c50ca2df2631cb8ba2453e8d95fcb17e4be9824\",\"dweb:/ipfs/QmR76hqtAcRqoFj33tmNjcWTLrgNsAaakYwnKZ8zoJtKei\"]},\"@openzeppelin/contracts/token/ERC777/IERC777.sol\":{\"keccak256\":\"0xe4e0b7e3f0265ffaa565d26acd2d45f2633f19127ed625e5a05a9f201a87a667\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1762b5bc15a009b5f092ccf547b81e0827c8705884f18e0623e497658514a7ed\",\"dweb:/ipfs/QmTtmVQYuynan3j2uVjdjjRJS1mr7LPRgxSZNnfqC7oxkz\"]},\"project:/contracts/apps/CFAv1Library.sol\":{\"keccak256\":\"0x5384b9a56711ce7b72405c653ff8be3bb94131428919b380248e10f1ddb252de\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://979aa0e84f86851125d7ad79d7f974681c91680139e65ae426fee12671f81ca0\",\"dweb:/ipfs/QmVk59WkCeqaUVRBeiCfftVstSXugXgyXMurEeAicAx3du\"]},\"project:/contracts/interfaces/agreements/IConstantFlowAgreementV1.sol\":{\"keccak256\":\"0x5da735cab1cf7114564ec7d81ed35037a56b6f216a60569aef6e65f3aaca5dd8\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://27a2ad0243469f7364d5e5a483493b16e2b57b9b36c24c6de0ea0e2c13465c71\",\"dweb:/ipfs/QmSfHTC7ewk8LA27TrDqojqFjdkkafCoZmWE1V6HEuFqox\"]},\"project:/contracts/interfaces/superfluid/Definitions.sol\":{\"keccak256\":\"0x199095781e4221b6015d859558da09977f79199f38d342ab4899c2cecdf8cec1\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://9fd3a5a8b16d8517e2af10e20390a9af5adbfa4e783e3a7dd89eb4588db98385\",\"dweb:/ipfs/QmPDtGR43DeMMVsHjUh7FYzMGsFKPpGriRkaahFpN5T5d3\"]},\"project:/contracts/interfaces/superfluid/ISuperAgreement.sol\":{\"keccak256\":\"0xc3a6a907245116bcecc70fe4b207454012e8ce4fa190228fb8bbe39e0b1bc5cf\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://83c116bdae48685d20e5a27c942111e685ec1ef6334e7ff6f6d9af66edbd8025\",\"dweb:/ipfs/QmTnVuNTaRFiDmkAmDk7NFYdfQTW1kqgBZiY2exC6k8jDx\"]},\"project:/contracts/interfaces/superfluid/ISuperApp.sol\":{\"keccak256\":\"0x42b604992cf67321cc12e8bed16543df0db4eaf125b8c1c82c330ebbeb20c014\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://7c18b00caf7b8be7e11f75284fb96263ce48a3984d56f2a91ec44cae4413d2fc\",\"dweb:/ipfs/QmWVzdW9KnkwAVe9g5zRuMoqCf7N89AoBfzzRr8puw5d8a\"]},\"project:/contracts/interfaces/superfluid/ISuperToken.sol\":{\"keccak256\":\"0xcff22ed43df0f34a645e6cbe0d7c5fd08f204d769e9095bc59d7c2fe6d11b7d6\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://944b8c5a37839b40ec8ee1ccfecbaf007808a61ea16c7b1351a7184606772032\",\"dweb:/ipfs/QmbUKZqZtVfqZMKYnQUygE4svatKuN9kT2ibrnxMuWXR7n\"]},\"project:/contracts/interfaces/superfluid/ISuperTokenFactory.sol\":{\"keccak256\":\"0x68a466c978557e47bd7385b1d7d78f1c8fb07462a870efc5a791008e33a4f535\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://d109879bdb7f022560a792af2ff481df729bf1b4b8e1831b8022f4d12892d41d\",\"dweb:/ipfs/QmRSWqHq8CP5XWgyV4mJpPxMg33s312s2K5ndHRHVqqZ8n\"]},\"project:/contracts/interfaces/superfluid/ISuperfluid.sol\":{\"keccak256\":\"0xf16efd1ba72322e77e0d936b723c0e71eb14c23e11cf69efae8c7caa407012cf\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://ff4bb321b72dc3332984346e5b66ad131c6132101658fe6707d7a9d043f981ab\",\"dweb:/ipfs/QmXmVD2mZ3LRb7wQZ2VcrpYhtjm21zUe5hPDDDJA1WXbFz\"]},\"project:/contracts/interfaces/superfluid/ISuperfluidGovernance.sol\":{\"keccak256\":\"0xea33d20751ffea4f4446bc04f6c10194fb4da0803a988586d41d49cf4859731c\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://7716b1f5eec0a7ac8780d82de4f0274ecd7059be4eec46c82b0b7adce110f10b\",\"dweb:/ipfs/QmWRQafvdCBsyfDYnevXSav1AAz8uZRRBwh2be5Z3vSfVN\"]},\"project:/contracts/interfaces/superfluid/ISuperfluidToken.sol\":{\"keccak256\":\"0x3eec5a3bf337cd319c1918fd1b16f350cf5f6850ac71f6859066fbf86e734ff4\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://cda19a2f5ca18e79c1e2300c8efac84c718df76c4fb313f59f84264a4c6b398a\",\"dweb:/ipfs/QmfQiwgDH5Q64w5ufBnDzVaeWv6WCZ6fLTrYu1FSYfBGhq\"]},\"project:/contracts/interfaces/tokens/ERC20WithTokenInfo.sol\":{\"keccak256\":\"0x66708dae3fcd06e6fc0a46f2959fc2d1e6b9361f28598337339d26af8eb8c0f9\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://77b80718cec21b81ef190c19fb9fbe73913a95c71f7e6715f671bbe8a224dafc\",\"dweb:/ipfs/QmUdsc6DF2Bgih5VZm7sfaECjhGmwE7tAx8pMkzGQgVKQw\"]},\"project:/contracts/interfaces/tokens/TokenInfo.sol\":{\"keccak256\":\"0x70e573644a0ff271c0ccef526809e9d9ab4950ec58755ca84e833cde3b8f3df0\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://aea3709687cc37ba625f4cc882fbdb149a7bf5be5afe2b030203c8719641a77b\",\"dweb:/ipfs/QmVpvfR6ZheE5wNUK9CobaVBgVvEnEPkvjWF9cfwyZr7eQ\"]}},\"version\":1}",
5
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a7ad725b18f03261c9eaae12a55f10f7fbcfa7d6be5b9d3250d79cd91b10a5c464736f6c634300080e0033",
6
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a7ad725b18f03261c9eaae12a55f10f7fbcfa7d6be5b9d3250d79cd91b10a5c464736f6c634300080e0033",
7
7
  "immutableReferences": {},
8
8
  "generatedSources": [],
9
9
  "deployedGeneratedSources": [],
@@ -15694,11 +15694,11 @@
15694
15694
  },
15695
15695
  "compiler": {
15696
15696
  "name": "solc",
15697
- "version": "0.8.13+commit.abaa5c0e.Emscripten.clang"
15697
+ "version": "0.8.14+commit.80d49f37.Emscripten.clang"
15698
15698
  },
15699
15699
  "networks": {},
15700
15700
  "schemaVersion": "3.4.7",
15701
- "updatedAt": "2022-06-03T09:45:13.951Z",
15701
+ "updatedAt": "2022-06-15T22:18:50.266Z",
15702
15702
  "devdoc": {
15703
15703
  "author": "Superfluid",
15704
15704
  "details": "for working with the constant flow agreement within soliditythe first set of functions are each for callAgreement()the second set of functions are each for use in callAgreementWithContext()",
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "contractName": "CallUtils",
3
3
  "abi": [],
4
- "metadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Superfluid\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Call utilities library that is absent from the OpenZeppelin\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/libs/CallUtils.sol\":\"CallUtils\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/libs/CallUtils.sol\":{\"keccak256\":\"0x16b6a382d6e75244f35ced44126b23472fcc94a412391c9db693e83bb810f76a\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://d43974dcedc193e8ef84fb44f41b27b4e74e3af476b4c2f9d0e6b271fa83e354\",\"dweb:/ipfs/QmUZG2Rqh8yzZ79rT4rmCKSkuKFk5QkRpSYGJXgVHwDFr9\"]}},\"version\":1}",
5
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b0bd445215f55f35cef02df8923e2996e6385aa1c5347a5c4fb2e21cc02de61564736f6c634300080d0033",
6
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b0bd445215f55f35cef02df8923e2996e6385aa1c5347a5c4fb2e21cc02de61564736f6c634300080d0033",
4
+ "metadata": "{\"compiler\":{\"version\":\"0.8.14+commit.80d49f37\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Superfluid\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Call utilities library that is absent from the OpenZeppelin\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/libs/CallUtils.sol\":\"CallUtils\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/libs/CallUtils.sol\":{\"keccak256\":\"0x837d399e50cda4e7dc97596419fbd14dcfa6c6d9a89d58edc299b6ff8e123ae8\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://4ea55c80d32200532641dc18acdbf9952be1b96dbc2788f73b845daa0e908c82\",\"dweb:/ipfs/QmdkjYBjq6r4Bft8aSouUTWtQZ3GBSiZ8EgES2ued3i25C\"]}},\"version\":1}",
5
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220264c6410e10290627421180c1ffcf0a981d9a092316a863fab2ea0d9923bfaed64736f6c634300080e0033",
6
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220264c6410e10290627421180c1ffcf0a981d9a092316a863fab2ea0d9923bfaed64736f6c634300080e0033",
7
7
  "immutableReferences": {},
8
8
  "generatedSources": [],
9
9
  "deployedGeneratedSources": [],
10
10
  "sourceMap": "160:3827:59:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;160:3827:59;;;;;;;;;;;;;;;;;",
11
11
  "deployedSourceMap": "160:3827:59:-:0;;;;;;;;",
12
- "source": "// SPDX-License-Identifier: AGPLv3\npragma solidity 0.8.13;\n\n/**\n * @title Call utilities library that is absent from the OpenZeppelin\n * @author Superfluid\n */\nlibrary CallUtils {\n\n /// @dev Bubble up the revert from the returnedData (supports Panic, Error & Custom Errors)\n /// @notice This is needed in order to provide some human-readable revert message from a call\n /// @param returnedData Response of the call\n function revertFromReturnedData(bytes memory returnedData) internal pure {\n if (returnedData.length < 4) {\n // case 1: catch all\n revert(\"CallUtils: target revert()\");\n } else {\n bytes4 errorSelector;\n assembly {\n errorSelector := mload(add(returnedData, 0x20))\n }\n if (errorSelector == bytes4(0x4e487b71) /* `seth sig \"Panic(uint256)\"` */) {\n // case 2: Panic(uint256) (Defined since 0.8.0)\n // solhint-disable-next-line max-line-length\n // ref: https://docs.soliditylang.org/en/v0.8.0/control-structures.html#panic-via-assert-and-error-via-require)\n string memory reason = \"CallUtils: target panicked: 0x__\";\n uint errorCode;\n assembly {\n errorCode := mload(add(returnedData, 0x24))\n let reasonWord := mload(add(reason, 0x20))\n // [0..9] is converted to ['0'..'9']\n // [0xa..0xf] is not correctly converted to ['a'..'f']\n // but since panic code doesn't have those cases, we will ignore them for now!\n let e1 := add(and(errorCode, 0xf), 0x30)\n let e2 := shl(8, add(shr(4, and(errorCode, 0xf0)), 0x30))\n reasonWord := or(\n and(reasonWord, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000),\n or(e2, e1))\n mstore(add(reason, 0x20), reasonWord)\n }\n revert(reason);\n } else {\n // case 3: Error(string) (Defined at least since 0.7.0)\n // case 4: Custom errors (Defined since 0.8.0)\n uint len = returnedData.length;\n assembly {\n revert(add(returnedData, 32), len)\n }\n }\n }\n }\n\n /**\n * @dev Helper method to parse data and extract the method signature (selector).\n *\n * Copied from: https://github.com/argentlabs/argent-contracts/\n * blob/master/contracts/modules/common/Utils.sol#L54-L60\n */\n function parseSelector(bytes memory callData) internal pure returns (bytes4 selector) {\n require(callData.length >= 4, \"CallUtils: invalid callData\");\n // solhint-disable-next-line no-inline-assembly\n assembly {\n selector := mload(add(callData, 0x20))\n }\n }\n\n /**\n * @dev Pad length to 32 bytes word boundary\n */\n function padLength32(uint256 len) internal pure returns (uint256 paddedLen) {\n return ((len / 32) + (((len & 31) > 0) /* rounding? */ ? 1 : 0)) * 32;\n }\n\n /**\n * @dev Validate if the data is encoded correctly with abi.encode(bytesData)\n *\n * Expected ABI Encode Layout:\n * | word 1 | word 2 | word 3 | the rest...\n * | data length | bytesData offset | bytesData length | bytesData + padLength32 zeros |\n */\n function isValidAbiEncodedBytes(bytes memory data) internal pure returns (bool) {\n if (data.length < 64) return false;\n uint bytesOffset;\n uint bytesLen;\n // bytes offset is always expected to be 32\n assembly { bytesOffset := mload(add(data, 32)) }\n if (bytesOffset != 32) return false;\n assembly { bytesLen := mload(add(data, 64)) }\n // the data length should be bytesData.length + 64 + padded bytes length\n return data.length == 64 + padLength32(bytesLen);\n }\n\n}\n",
12
+ "source": "// SPDX-License-Identifier: AGPLv3\npragma solidity 0.8.14;\n\n/**\n * @title Call utilities library that is absent from the OpenZeppelin\n * @author Superfluid\n */\nlibrary CallUtils {\n\n /// @dev Bubble up the revert from the returnedData (supports Panic, Error & Custom Errors)\n /// @notice This is needed in order to provide some human-readable revert message from a call\n /// @param returnedData Response of the call\n function revertFromReturnedData(bytes memory returnedData) internal pure {\n if (returnedData.length < 4) {\n // case 1: catch all\n revert(\"CallUtils: target revert()\");\n } else {\n bytes4 errorSelector;\n assembly {\n errorSelector := mload(add(returnedData, 0x20))\n }\n if (errorSelector == bytes4(0x4e487b71) /* `seth sig \"Panic(uint256)\"` */) {\n // case 2: Panic(uint256) (Defined since 0.8.0)\n // solhint-disable-next-line max-line-length\n // ref: https://docs.soliditylang.org/en/v0.8.0/control-structures.html#panic-via-assert-and-error-via-require)\n string memory reason = \"CallUtils: target panicked: 0x__\";\n uint errorCode;\n assembly {\n errorCode := mload(add(returnedData, 0x24))\n let reasonWord := mload(add(reason, 0x20))\n // [0..9] is converted to ['0'..'9']\n // [0xa..0xf] is not correctly converted to ['a'..'f']\n // but since panic code doesn't have those cases, we will ignore them for now!\n let e1 := add(and(errorCode, 0xf), 0x30)\n let e2 := shl(8, add(shr(4, and(errorCode, 0xf0)), 0x30))\n reasonWord := or(\n and(reasonWord, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000),\n or(e2, e1))\n mstore(add(reason, 0x20), reasonWord)\n }\n revert(reason);\n } else {\n // case 3: Error(string) (Defined at least since 0.7.0)\n // case 4: Custom errors (Defined since 0.8.0)\n uint len = returnedData.length;\n assembly {\n revert(add(returnedData, 32), len)\n }\n }\n }\n }\n\n /**\n * @dev Helper method to parse data and extract the method signature (selector).\n *\n * Copied from: https://github.com/argentlabs/argent-contracts/\n * blob/master/contracts/modules/common/Utils.sol#L54-L60\n */\n function parseSelector(bytes memory callData) internal pure returns (bytes4 selector) {\n require(callData.length >= 4, \"CallUtils: invalid callData\");\n // solhint-disable-next-line no-inline-assembly\n assembly {\n selector := mload(add(callData, 0x20))\n }\n }\n\n /**\n * @dev Pad length to 32 bytes word boundary\n */\n function padLength32(uint256 len) internal pure returns (uint256 paddedLen) {\n return ((len / 32) + (((len & 31) > 0) /* rounding? */ ? 1 : 0)) * 32;\n }\n\n /**\n * @dev Validate if the data is encoded correctly with abi.encode(bytesData)\n *\n * Expected ABI Encode Layout:\n * | word 1 | word 2 | word 3 | the rest...\n * | data length | bytesData offset | bytesData length | bytesData + padLength32 zeros |\n */\n function isValidAbiEncodedBytes(bytes memory data) internal pure returns (bool) {\n if (data.length < 64) return false;\n uint bytesOffset;\n uint bytesLen;\n // bytes offset is always expected to be 32\n assembly { bytesOffset := mload(add(data, 32)) }\n if (bytesOffset != 32) return false;\n assembly { bytesLen := mload(add(data, 64)) }\n // the data length should be bytesData.length + 64 + padded bytes length\n return data.length == 64 + padLength32(bytesLen);\n }\n\n}\n",
13
13
  "sourcePath": "/home/runner/work/protocol-monorepo/protocol-monorepo/packages/ethereum-contracts/contracts/libs/CallUtils.sol",
14
14
  "ast": {
15
15
  "absolutePath": "project:/contracts/libs/CallUtils.sol",
@@ -27,7 +27,7 @@
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:59"
@@ -2469,11 +2469,11 @@
2469
2469
  },
2470
2470
  "compiler": {
2471
2471
  "name": "solc",
2472
- "version": "0.8.13+commit.abaa5c0e.Emscripten.clang"
2472
+ "version": "0.8.14+commit.80d49f37.Emscripten.clang"
2473
2473
  },
2474
2474
  "networks": {},
2475
2475
  "schemaVersion": "3.4.7",
2476
- "updatedAt": "2022-06-03T09:45:14.007Z",
2476
+ "updatedAt": "2022-06-15T22:18:50.330Z",
2477
2477
  "devdoc": {
2478
2478
  "author": "Superfluid",
2479
2479
  "kind": "dev",