@superfluid-finance/ethereum-contracts 1.2.3-dev.f94fdbb.0 → 1.3.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 +6 -6
  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
@@ -237,7 +237,7 @@
237
237
  "type": "function"
238
238
  }
239
239
  ],
240
- "metadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"uuid\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"codeAddress\",\"type\":\"address\"}],\"name\":\"CodeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract ISuperToken\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"CustomSuperTokenCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract ISuperToken\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SuperTokenCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract ISuperToken\",\"name\":\"tokenLogic\",\"type\":\"address\"}],\"name\":\"SuperTokenLogicCreated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"contract ERC20WithTokenInfo\",\"name\":\"underlyingToken\",\"type\":\"address\"},{\"internalType\":\"enum ISuperTokenFactory.Upgradability\",\"name\":\"upgradability\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"createERC20Wrapper\",\"outputs\":[{\"internalType\":\"contract ISuperToken\",\"name\":\"superToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"underlyingToken\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"underlyingDecimals\",\"type\":\"uint8\"},{\"internalType\":\"enum ISuperTokenFactory.Upgradability\",\"name\":\"upgradability\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"createERC20Wrapper\",\"outputs\":[{\"internalType\":\"contract ISuperToken\",\"name\":\"superToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISuperfluid\",\"name\":\"host\",\"type\":\"address\"}],\"name\":\"createSuperTokenLogic\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"logic\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCodeAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"codeAddress\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getHost\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"host\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSuperTokenLogic\",\"outputs\":[{\"internalType\":\"contract ISuperToken\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"customSuperTokenProxy\",\"type\":\"address\"}],\"name\":\"initializeCustomSuperToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"}],\"name\":\"updateCode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"createERC20Wrapper(address,uint8,string,string)\":{\"details\":\"Create new super token wrapper for the underlying ERC20 token with extra token info\",\"params\":{\"name\":\"Super token name\",\"symbol\":\"Super token symbol NOTE: - It assumes token provide the .decimals() function\",\"underlyingToken\":\"Underlying ERC20 token\",\"upgradability\":\"Upgradability mode\"}},\"createERC20Wrapper(address,uint8,uint8,string,string)\":{\"details\":\"Create new super token wrapper for the underlying ERC20 token\",\"params\":{\"name\":\"Super token name\",\"symbol\":\"Super token symbol\",\"underlyingDecimals\":\"Underlying token decimals\",\"underlyingToken\":\"Underlying ERC20 token\",\"upgradability\":\"Upgradability mode\"}},\"getCodeAddress()\":{\"details\":\"Get current implementation code address.\"},\"getHost()\":{\"details\":\"ISuperTokenFactory.getHost implementation\"},\"getSuperTokenLogic()\":{\"details\":\"Get the current super token logic used by the factory\"},\"initialize()\":{\"details\":\"Initialize the contract\"},\"proxiableUUID()\":{\"details\":\"Proxiable UUID marker function, this would help to avoid wrong logic contract to be used for upgrading. NOTE: The semantics of the UUID deviates from the actual UUPS standard, where it is equivalent of _IMPLEMENTATION_SLOT.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/superfluid/SuperTokenFactory.sol\":\"SuperTokenFactoryBase\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0x0edeb16b9821ae2b16e9d69c383b38d3ad2fbb3e0c06cf809a0786d96e602551\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88adc865fb1bd8dab4c58096e1d5887713f62c0405f8d2d17294727a8f43d8f7\",\"dweb:/ipfs/QmUJ27zsjxCatfoTFWho4k4qdhuBTorMqLuJzWqUX4Sdmg\"]},\"@openzeppelin/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x4823752b07b8ea4ca971b217e39457930e7cb103c2c91e2a29729e5ca907e4f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f319af26a9ade3e6cf3698bf1b84aa6213bdd7a76606ea9ba56ced163593934\",\"dweb:/ipfs/QmZ2u9zen5Htan4dSP1RZCY2XqB9HUwqkNCMzdn7aV2jWc\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbbc8ac883ac3c0078ce5ad3e288fbb3ffcc8a30c3a98c0fda0114d64fc44fca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87a7a5d2f6f63f84598af02b8c50ca2df2631cb8ba2453e8d95fcb17e4be9824\",\"dweb:/ipfs/QmR76hqtAcRqoFj33tmNjcWTLrgNsAaakYwnKZ8zoJtKei\"]},\"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xc3d946432c0ddbb1f846a0d3985be71299df331b91d06732152117f62f0be2b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4632c341a06ba5c079b51ca5a915efab4e6ab57735b37839b3e8365ff806a43e\",\"dweb:/ipfs/QmTHT3xHYed2wajEoA5qu7ii2BxLpPhQZHwAhtLK5Z7ANK\"]},\"@openzeppelin/contracts/token/ERC777/IERC777.sol\":{\"keccak256\":\"0xe4e0b7e3f0265ffaa565d26acd2d45f2633f19127ed625e5a05a9f201a87a667\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1762b5bc15a009b5f092ccf547b81e0827c8705884f18e0623e497658514a7ed\",\"dweb:/ipfs/QmTtmVQYuynan3j2uVjdjjRJS1mr7LPRgxSZNnfqC7oxkz\"]},\"@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol\":{\"keccak256\":\"0x1a5d61db2733202ba361e6d6741cd2e662380e22b80e987eacfc91973f2267dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04c0cd697050a6516b7779aa2343ad2d0e5217d8915ac2382681dfdf4e445be3\",\"dweb:/ipfs/QmPCBCZgm7pHBwwogE2F9NCN3UfTdLNhqc8UDEvw8kDzyA\"]},\"@openzeppelin/contracts/token/ERC777/IERC777Sender.sol\":{\"keccak256\":\"0x742e51d63b108240759794360637468d9fcbf072cbd357744790d356a87bb382\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23912910ce2bb68e49ff83f43fcfa864210ee44580491e876db14922f8aecc18\",\"dweb:/ipfs/QmU6GnRQ51xvY8D57kPCV47oGeYozaz5AQZUCHxFfXdFZ4\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x2ccf9d2313a313d41a791505f2b5abfdc62191b5d4334f7f7a82691c088a1c87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a57d0854b2fdce6ebff933a48dca2445643d1eccfc27f00292e937f26c6a58\",\"dweb:/ipfs/QmW45rZooS9TqR4YXUbjRbtf2Bpb5ouSarBvfW1LdGprvV\"]},\"@openzeppelin/contracts/utils/Create2.sol\":{\"keccak256\":\"0xebe3f8a59f0f1c96344a05edb984ef666ee4207e993cca99af3808f1de8771b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0db23062a52185cf06ad4202be0bfa4c7718c4b75f4526aeb456620ff2e737d4\",\"dweb:/ipfs/QmXtWdePeH6xpXf175YcnbwjsuLp35k6JxX8CjHzvHiyAi\"]},\"@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol\":{\"keccak256\":\"0x6e306f9ab28416a9e5931f0b6e264676e8ac68fad184f9a9d8bb125c6ec23bc3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd7fe961c914caa1fcc8223d446c1582aec4f2a32d2f06cf09c938b72cf8ce11\",\"dweb:/ipfs/QmPfEfqtUh9SA86br28HfmMyVSBe22B3oPwF8iACCF4evY\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x5c6caab697d302ad7eb59c234a4d2dbc965c1bae87709bd2850060b7695b28c7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb62abcee612c175f1b9bc70e5dfe5bd23473c99987ade6e80e291f68dc60ff1\",\"dweb:/ipfs/QmZCMajhG7FtRYNDwBchXN89mXR6HLPVzr9732qfUdNf9E\"]},\"@openzeppelin/contracts/utils/math/SafeMath.sol\":{\"keccak256\":\"0xa2f576be637946f767aa56601c26d717f48a0aff44f82e46f13807eea1009a21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://973868f808e88e21a1a0a01d4839314515ee337ad096286c88e41b74dcc11fc2\",\"dweb:/ipfs/QmfYuZxRfx2J2xdk4EXN7jKg4bUYEMTaYk9BAw9Bqn4o2Y\"]},\"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\"]},\"project:/contracts/libs/ERC777Helper.sol\":{\"keccak256\":\"0x5db4d5e987d0659d5fd915e9823359141ad3d9d5796e50ae98756bccc86ea9d6\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://2a4e7413e6539cffc1ea0807f05ac49fea8ebc258a9d76b72bade12a0c143075\",\"dweb:/ipfs/QmTsrsMe3bcwB4JnfPAiG1bNvEdTAVFTSyVBKQALVuLMWy\"]},\"project:/contracts/libs/EventsEmitter.sol\":{\"keccak256\":\"0xd454206f297bbab7020fbdf6311c138227154433d574427dbc8c283107e8a01e\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://af0ffd28f03fe3a759ef8479c7451274c4816fbc7e9f37e4874612df20eebbc2\",\"dweb:/ipfs/QmfJou9yUti54ppcCiHnVf4ByFfRojqQPGdhGatPBT6Chr\"]},\"project:/contracts/libs/FixedSizeData.sol\":{\"keccak256\":\"0xbb3de3fbf919ef59b6890063847904d2824d7a0da63ff486d97a19eb8f4241f5\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://23a9d841867cbe1da4487d78929cc994352c22c9113840f98c15f0870b612f6f\",\"dweb:/ipfs/QmS7tZMw2itiie8BPosFiwmZy8TUipHUbzpEAf66SficGL\"]},\"project:/contracts/superfluid/FullUpgradableSuperTokenProxy.sol\":{\"keccak256\":\"0x8351cd8c965160f68ab2b5ffde063d1457d3f51c179a7c1081547a60d856bc3c\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://152dc489a518ac6f9b90b42c52faebc0cbb7479516c606b8ca3b7f7c63945717\",\"dweb:/ipfs/QmW5Q5K3zqsFmcRXA3FMsoom76tYuHUF9pZLvZYZGynnxe\"]},\"project:/contracts/superfluid/SuperToken.sol\":{\"keccak256\":\"0xcaa50b4f7c92fd51a483f31d9869d7ad4a8b11d0fb7564eca1859434a18ba429\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://5311245d23b5e6359a95a9b62ca047f6bdcb82b68c309aaf44d7852c6af7ff96\",\"dweb:/ipfs/QmNvbjHfENCwJVprouTgDS1M7J2PTyuuuKshKtAnjWEjAJ\"]},\"project:/contracts/superfluid/SuperTokenFactory.sol\":{\"keccak256\":\"0x3cb80ed9391959d9d79cc06f95071b00dee5b07e28fc0a75e7d6338b40ebddbb\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://8d589a8000d2b57865d0ca3f9d2342971003eff476e3aeb1fcd36c903cde429b\",\"dweb:/ipfs/QmSdbmi2TCLKBqNvHBEfsdujSFa6ievkqHkKjLX2B5QbQ5\"]},\"project:/contracts/superfluid/SuperfluidToken.sol\":{\"keccak256\":\"0x4f3fc780361d5ffad656e0c79fa17b98bb2b4d28252240ec40461874ec746107\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://c6c3c8e676aa027b71a7b5c0c7241ee09edf52cbd9561f528580249d0b7c9773\",\"dweb:/ipfs/QmdAa7btJCFRHpCUQqiBeWsfdWZQXTwxPLBoiAzYCAZAvy\"]},\"project:/contracts/upgradability/UUPSProxiable.sol\":{\"keccak256\":\"0x5f50cec21a585dab7b59545aeb51735f36e3222e4b0768370be8d46373d0ef05\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://acdd57d81b5b2d346da335636baf1e37da3d31cf2eef58af493e43bc65a27414\",\"dweb:/ipfs/QmTepRBNAfRBXVDBM37ME1jpw1YgcseVehC17sWpEYeFDc\"]},\"project:/contracts/upgradability/UUPSProxy.sol\":{\"keccak256\":\"0x1164a0047c0600d162060fc9ea72a5e50779a9ccd28143fa4a984f5a635493cc\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://1205e5b16fd67b2bf99bb917175d0bd1caaa1509d3f4a4f3c8184e8c40c564ef\",\"dweb:/ipfs/Qme96cpfG4LNjdA44H2CZP3zYT73XEtRZMXpBGMTDjtFVf\"]},\"project:/contracts/upgradability/UUPSUtils.sol\":{\"keccak256\":\"0xffec084e77ce3c0b595f0612687242f3d8b7a84cab15e5650c17428ee48d0b5b\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://be0183816467872b053562d9a737042ac3a91ea67e3c74e03de5db7226f3e73b\",\"dweb:/ipfs/QmUyi4YXh1T7MExbrLwZ6rAdXTPChF8q27YpZxxniR6CHM\"]}},\"version\":1}",
240
+ "metadata": "{\"compiler\":{\"version\":\"0.8.14+commit.80d49f37\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"uuid\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"codeAddress\",\"type\":\"address\"}],\"name\":\"CodeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract ISuperToken\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"CustomSuperTokenCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract ISuperToken\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SuperTokenCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract ISuperToken\",\"name\":\"tokenLogic\",\"type\":\"address\"}],\"name\":\"SuperTokenLogicCreated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"contract ERC20WithTokenInfo\",\"name\":\"underlyingToken\",\"type\":\"address\"},{\"internalType\":\"enum ISuperTokenFactory.Upgradability\",\"name\":\"upgradability\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"createERC20Wrapper\",\"outputs\":[{\"internalType\":\"contract ISuperToken\",\"name\":\"superToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"underlyingToken\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"underlyingDecimals\",\"type\":\"uint8\"},{\"internalType\":\"enum ISuperTokenFactory.Upgradability\",\"name\":\"upgradability\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"createERC20Wrapper\",\"outputs\":[{\"internalType\":\"contract ISuperToken\",\"name\":\"superToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISuperfluid\",\"name\":\"host\",\"type\":\"address\"}],\"name\":\"createSuperTokenLogic\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"logic\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCodeAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"codeAddress\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getHost\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"host\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSuperTokenLogic\",\"outputs\":[{\"internalType\":\"contract ISuperToken\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"customSuperTokenProxy\",\"type\":\"address\"}],\"name\":\"initializeCustomSuperToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"}],\"name\":\"updateCode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"createERC20Wrapper(address,uint8,string,string)\":{\"details\":\"Create new super token wrapper for the underlying ERC20 token with extra token info\",\"params\":{\"name\":\"Super token name\",\"symbol\":\"Super token symbol NOTE: - It assumes token provide the .decimals() function\",\"underlyingToken\":\"Underlying ERC20 token\",\"upgradability\":\"Upgradability mode\"}},\"createERC20Wrapper(address,uint8,uint8,string,string)\":{\"details\":\"Create new super token wrapper for the underlying ERC20 token\",\"params\":{\"name\":\"Super token name\",\"symbol\":\"Super token symbol\",\"underlyingDecimals\":\"Underlying token decimals\",\"underlyingToken\":\"Underlying ERC20 token\",\"upgradability\":\"Upgradability mode\"}},\"getCodeAddress()\":{\"details\":\"Get current implementation code address.\"},\"getHost()\":{\"details\":\"ISuperTokenFactory.getHost implementation\"},\"getSuperTokenLogic()\":{\"details\":\"Get the current super token logic used by the factory\"},\"initialize()\":{\"details\":\"Initialize the contract\"},\"proxiableUUID()\":{\"details\":\"Proxiable UUID marker function, this would help to avoid wrong logic contract to be used for upgrading. NOTE: The semantics of the UUID deviates from the actual UUPS standard, where it is equivalent of _IMPLEMENTATION_SLOT.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/superfluid/SuperTokenFactory.sol\":\"SuperTokenFactoryBase\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0x0edeb16b9821ae2b16e9d69c383b38d3ad2fbb3e0c06cf809a0786d96e602551\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88adc865fb1bd8dab4c58096e1d5887713f62c0405f8d2d17294727a8f43d8f7\",\"dweb:/ipfs/QmUJ27zsjxCatfoTFWho4k4qdhuBTorMqLuJzWqUX4Sdmg\"]},\"@openzeppelin/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x4823752b07b8ea4ca971b217e39457930e7cb103c2c91e2a29729e5ca907e4f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f319af26a9ade3e6cf3698bf1b84aa6213bdd7a76606ea9ba56ced163593934\",\"dweb:/ipfs/QmZ2u9zen5Htan4dSP1RZCY2XqB9HUwqkNCMzdn7aV2jWc\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbbc8ac883ac3c0078ce5ad3e288fbb3ffcc8a30c3a98c0fda0114d64fc44fca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87a7a5d2f6f63f84598af02b8c50ca2df2631cb8ba2453e8d95fcb17e4be9824\",\"dweb:/ipfs/QmR76hqtAcRqoFj33tmNjcWTLrgNsAaakYwnKZ8zoJtKei\"]},\"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xc3d946432c0ddbb1f846a0d3985be71299df331b91d06732152117f62f0be2b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4632c341a06ba5c079b51ca5a915efab4e6ab57735b37839b3e8365ff806a43e\",\"dweb:/ipfs/QmTHT3xHYed2wajEoA5qu7ii2BxLpPhQZHwAhtLK5Z7ANK\"]},\"@openzeppelin/contracts/token/ERC777/IERC777.sol\":{\"keccak256\":\"0xe4e0b7e3f0265ffaa565d26acd2d45f2633f19127ed625e5a05a9f201a87a667\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1762b5bc15a009b5f092ccf547b81e0827c8705884f18e0623e497658514a7ed\",\"dweb:/ipfs/QmTtmVQYuynan3j2uVjdjjRJS1mr7LPRgxSZNnfqC7oxkz\"]},\"@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol\":{\"keccak256\":\"0x1a5d61db2733202ba361e6d6741cd2e662380e22b80e987eacfc91973f2267dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04c0cd697050a6516b7779aa2343ad2d0e5217d8915ac2382681dfdf4e445be3\",\"dweb:/ipfs/QmPCBCZgm7pHBwwogE2F9NCN3UfTdLNhqc8UDEvw8kDzyA\"]},\"@openzeppelin/contracts/token/ERC777/IERC777Sender.sol\":{\"keccak256\":\"0x742e51d63b108240759794360637468d9fcbf072cbd357744790d356a87bb382\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23912910ce2bb68e49ff83f43fcfa864210ee44580491e876db14922f8aecc18\",\"dweb:/ipfs/QmU6GnRQ51xvY8D57kPCV47oGeYozaz5AQZUCHxFfXdFZ4\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x2ccf9d2313a313d41a791505f2b5abfdc62191b5d4334f7f7a82691c088a1c87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a57d0854b2fdce6ebff933a48dca2445643d1eccfc27f00292e937f26c6a58\",\"dweb:/ipfs/QmW45rZooS9TqR4YXUbjRbtf2Bpb5ouSarBvfW1LdGprvV\"]},\"@openzeppelin/contracts/utils/Create2.sol\":{\"keccak256\":\"0xebe3f8a59f0f1c96344a05edb984ef666ee4207e993cca99af3808f1de8771b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0db23062a52185cf06ad4202be0bfa4c7718c4b75f4526aeb456620ff2e737d4\",\"dweb:/ipfs/QmXtWdePeH6xpXf175YcnbwjsuLp35k6JxX8CjHzvHiyAi\"]},\"@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol\":{\"keccak256\":\"0x6e306f9ab28416a9e5931f0b6e264676e8ac68fad184f9a9d8bb125c6ec23bc3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd7fe961c914caa1fcc8223d446c1582aec4f2a32d2f06cf09c938b72cf8ce11\",\"dweb:/ipfs/QmPfEfqtUh9SA86br28HfmMyVSBe22B3oPwF8iACCF4evY\"]},\"@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x5c6caab697d302ad7eb59c234a4d2dbc965c1bae87709bd2850060b7695b28c7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb62abcee612c175f1b9bc70e5dfe5bd23473c99987ade6e80e291f68dc60ff1\",\"dweb:/ipfs/QmZCMajhG7FtRYNDwBchXN89mXR6HLPVzr9732qfUdNf9E\"]},\"@openzeppelin/contracts/utils/math/SafeMath.sol\":{\"keccak256\":\"0xa2f576be637946f767aa56601c26d717f48a0aff44f82e46f13807eea1009a21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://973868f808e88e21a1a0a01d4839314515ee337ad096286c88e41b74dcc11fc2\",\"dweb:/ipfs/QmfYuZxRfx2J2xdk4EXN7jKg4bUYEMTaYk9BAw9Bqn4o2Y\"]},\"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\"]},\"project:/contracts/libs/ERC777Helper.sol\":{\"keccak256\":\"0x44aa72d63edfd7ec2ab69796dbe2d5c7113a798dc7189b7d4878267b1fbf1f73\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://b9da702f23af6dbc05c9a4b0fffff11fb707ebebf34983d35299c9e76f624e45\",\"dweb:/ipfs/QmdReo4yGy97CHLJXSFEFcqSHrbSzoMHp4yYuJK3KBHVDm\"]},\"project:/contracts/libs/EventsEmitter.sol\":{\"keccak256\":\"0x3e67a65d0a3f7808567e60be52e280999ed7ef3332bcba4aa23ea083553422bb\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://6a5b5bac9e108f3e12e3246d92b96c8fea259ebe8ba88acdff1034c5650441a3\",\"dweb:/ipfs/QmVUEMDpp79NaqEhZjLzdxWoLoBVAEdieuJA5pagYeH7Gd\"]},\"project:/contracts/libs/FixedSizeData.sol\":{\"keccak256\":\"0xdb6303086a323e98b5efa5e8d344d531c371ae707e1df4044ca90f3dca111b01\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://af01ce1e0ed1992f543293790d58fa97718a1aa5b85923eaa42455d24caa7906\",\"dweb:/ipfs/QmVKMv8BEjkFTcsHqvviB8pTsKbb4tP55pFLvF3vqGZtSH\"]},\"project:/contracts/superfluid/FullUpgradableSuperTokenProxy.sol\":{\"keccak256\":\"0xd8762c876977d3417650ef425eb3829a2da7e54b24e0bfab265dee36dbe5923a\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://3e8ba627d3732d4794f4bbfa615e648c1f7385668ed7dc66c52e167bd5e46204\",\"dweb:/ipfs/QmVSw4WYnJpr7B1XEZgxNdarRDMDzfm1T43e8HZy4Sgg2m\"]},\"project:/contracts/superfluid/SuperToken.sol\":{\"keccak256\":\"0x9f5f13f68ab31fbfad3d9334501015a74c0b91e5b952c5d45d0624c179560278\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://7488b2b5f00a7c3e3136b3a46231fe0e5ce14d26f755d3bcf4eda75ca77556c2\",\"dweb:/ipfs/QmTgQ1bE7r1gA9TThTYKwdyeqtHcuU9cC5AVJgXtzDnosE\"]},\"project:/contracts/superfluid/SuperTokenFactory.sol\":{\"keccak256\":\"0x2ea39350cfe827ac930de94319d4b140d2c51be93a7e23b4849735d2e4a41735\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://0a84284448173d539ddb494d449305651aca6ba80b60982f807310c9c477b930\",\"dweb:/ipfs/QmVcBS3Tjf7DgZpDBndzCcnEuzR9cW5ci5eDpWSgd4rLcY\"]},\"project:/contracts/superfluid/SuperfluidToken.sol\":{\"keccak256\":\"0x011cf97f745ffbe4ba60da5c0752c369ab078787db7748ec01db45dde4cf77b3\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://8e5d4c6d27dcaea37545661bdb71caaa70580ff487ca6726f5a91f8e28dc4b9c\",\"dweb:/ipfs/QmYVBuQBREPBzVWonRZ6pqXYtjnmH1nxoDCNyEoVQEkX7V\"]},\"project:/contracts/upgradability/UUPSProxiable.sol\":{\"keccak256\":\"0xabe3beb46dff1433d7ae61fe470fc347967d5a5b09d48fa45f35ddb2735d61f2\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://ad0fdb3210d3b0ed62886decdeef62b43bdbdd59bd55fc5ea3d636e97fbfb65d\",\"dweb:/ipfs/QmPjd6ehqgoiHkrf2g2h9AZRxKakqxsGx1GTiy5DSwfYJg\"]},\"project:/contracts/upgradability/UUPSProxy.sol\":{\"keccak256\":\"0x2c651f24af9c4405c20e0a14907f76f8a0d81ff751c89ebbce48ae7aceab5f58\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://dbf209416f8af6df9949194e682a902c4cbce37520a940c5bd123d5ffb1b7b56\",\"dweb:/ipfs/QmWy7TuYgtpRddTJYCubfzthA7ex7rPrxbLuzcG6bbw7mL\"]},\"project:/contracts/upgradability/UUPSUtils.sol\":{\"keccak256\":\"0xe624225773a60f62c7a0687afb0536ba19a17e4e5605ae71e8af77a0287aca59\",\"license\":\"AGPLv3\",\"urls\":[\"bzz-raw://4294e5eb5b194477bca3b8ca04ca92a6fe72dd6cf8da8f0d942a4a86c41c1c7f\",\"dweb:/ipfs/QmdfPXZxJPaBjKNfC8joTcvEhWammJHzRACB1S18sFYfd7\"]}},\"version\":1}",
241
241
  "bytecode": "0x",
242
242
  "deployedBytecode": "0x",
243
243
  "immutableReferences": {},
@@ -245,7 +245,7 @@
245
245
  "deployedGeneratedSources": [],
246
246
  "sourceMap": "",
247
247
  "deployedSourceMap": "",
248
- "source": "// SPDX-License-Identifier: AGPLv3\npragma solidity 0.8.13;\n\nimport {\n ISuperTokenFactory,\n ISuperToken,\n IERC20,\n ERC20WithTokenInfo\n} from \"../interfaces/superfluid/ISuperTokenFactory.sol\";\n\nimport { ISuperfluid } from \"../interfaces/superfluid/ISuperfluid.sol\";\n\nimport { UUPSProxy } from \"../upgradability/UUPSProxy.sol\";\nimport { UUPSProxiable } from \"../upgradability/UUPSProxiable.sol\";\n\nimport { SuperToken } from \"../superfluid/SuperToken.sol\";\n\nimport { FullUpgradableSuperTokenProxy } from \"./FullUpgradableSuperTokenProxy.sol\";\n\nimport { Address } from \"@openzeppelin/contracts/utils/Address.sol\";\nimport { Create2 } from \"@openzeppelin/contracts/utils/Create2.sol\";\n\n\nabstract contract SuperTokenFactoryBase is\n UUPSProxiable,\n ISuperTokenFactory\n{\n\n ISuperfluid immutable internal _host;\n\n ISuperToken internal _superTokenLogic;\n\n constructor(\n ISuperfluid host\n ) {\n _host = host;\n }\n\n /// @dev ISuperTokenFactory.getHost implementation\n function getHost()\n external view\n override(ISuperTokenFactory)\n returns(address host)\n {\n return address(_host);\n }\n\n /**************************************************************************\n * UUPSProxiable\n **************************************************************************/\n function initialize()\n external override\n initializer // OpenZeppelin Initializable\n {\n _updateSuperTokenLogic();\n }\n\n function proxiableUUID() public pure override returns (bytes32) {\n return keccak256(\"org.superfluid-finance.contracts.SuperTokenFactory.implementation\");\n }\n\n function updateCode(address newAddress) external override {\n require(msg.sender == address(_host), \"SuperTokenFactory: only host can update code\");\n _updateCodeAddress(newAddress);\n _updateSuperTokenLogic();\n }\n\n function _updateSuperTokenLogic() private {\n // use external call to trigger the new code to update the super token logic contract\n _superTokenLogic = SuperToken(this.createSuperTokenLogic(_host));\n emit SuperTokenLogicCreated(_superTokenLogic);\n }\n\n /**************************************************************************\n * ISuperTokenFactory\n **************************************************************************/\n function getSuperTokenLogic()\n external view override\n returns (ISuperToken)\n {\n return _superTokenLogic;\n }\n\n function createSuperTokenLogic(ISuperfluid host) external virtual returns (address logic);\n\n function createERC20Wrapper(\n IERC20 underlyingToken,\n uint8 underlyingDecimals,\n Upgradability upgradability,\n string calldata name,\n string calldata symbol\n )\n public override\n returns (ISuperToken superToken)\n {\n require(address(underlyingToken) != address(0), \"SuperTokenFactory: zero address\");\n\n if (upgradability == Upgradability.NON_UPGRADABLE) {\n superToken = ISuperToken(this.createSuperTokenLogic(_host));\n } else if (upgradability == Upgradability.SEMI_UPGRADABLE) {\n UUPSProxy proxy = new UUPSProxy();\n // initialize the wrapper\n proxy.initializeProxy(address(_superTokenLogic));\n superToken = ISuperToken(address(proxy));\n } else /* if (type == Upgradability.FULL_UPGRADABE) */ {\n FullUpgradableSuperTokenProxy proxy = new FullUpgradableSuperTokenProxy();\n proxy.initialize();\n superToken = ISuperToken(address(proxy));\n }\n\n // initialize the token\n superToken.initialize(\n underlyingToken,\n underlyingDecimals,\n name,\n symbol\n );\n\n emit SuperTokenCreated(superToken);\n }\n\n function createERC20Wrapper(\n ERC20WithTokenInfo underlyingToken,\n Upgradability upgradability,\n string calldata name,\n string calldata symbol\n )\n external override\n returns (ISuperToken superToken)\n {\n return createERC20Wrapper(\n underlyingToken,\n underlyingToken.decimals(),\n upgradability,\n name,\n symbol\n );\n }\n\n function initializeCustomSuperToken(\n address customSuperTokenProxy\n )\n external override\n {\n // odd solidity stuff..\n // NOTE payable necessary because UUPSProxy has a payable fallback function\n address payable a = payable(address(uint160(customSuperTokenProxy)));\n UUPSProxy(a).initializeProxy(address(_superTokenLogic));\n\n emit CustomSuperTokenCreated(ISuperToken(customSuperTokenProxy));\n }\n\n}\n\n// spliting this off because the contract is getting bigger\ncontract SuperTokenFactoryHelper {\n function create(ISuperfluid host)\n external\n returns (address logic)\n {\n return address(new SuperToken(host));\n }\n}\n\ncontract SuperTokenFactory is SuperTokenFactoryBase\n{\n SuperTokenFactoryHelper immutable private _helper;\n\n constructor(\n ISuperfluid host,\n SuperTokenFactoryHelper helper\n )\n SuperTokenFactoryBase(host)\n // solhint-disable-next-line no-empty-blocks\n {\n _helper = helper;\n }\n\n function createSuperTokenLogic(ISuperfluid host)\n external override\n returns (address logic)\n {\n return _helper.create(host);\n }\n}\n",
248
+ "source": "// SPDX-License-Identifier: AGPLv3\npragma solidity 0.8.14;\n\nimport {\n ISuperTokenFactory,\n ISuperToken,\n IERC20,\n ERC20WithTokenInfo\n} from \"../interfaces/superfluid/ISuperTokenFactory.sol\";\n\nimport { ISuperfluid } from \"../interfaces/superfluid/ISuperfluid.sol\";\n\nimport { UUPSProxy } from \"../upgradability/UUPSProxy.sol\";\nimport { UUPSProxiable } from \"../upgradability/UUPSProxiable.sol\";\n\nimport { SuperToken } from \"../superfluid/SuperToken.sol\";\n\nimport { FullUpgradableSuperTokenProxy } from \"./FullUpgradableSuperTokenProxy.sol\";\n\nimport { Address } from \"@openzeppelin/contracts/utils/Address.sol\";\nimport { Create2 } from \"@openzeppelin/contracts/utils/Create2.sol\";\n\n\nabstract contract SuperTokenFactoryBase is\n UUPSProxiable,\n ISuperTokenFactory\n{\n\n ISuperfluid immutable internal _host;\n\n ISuperToken internal _superTokenLogic;\n\n constructor(\n ISuperfluid host\n ) {\n _host = host;\n }\n\n /// @dev ISuperTokenFactory.getHost implementation\n function getHost()\n external view\n override(ISuperTokenFactory)\n returns(address host)\n {\n return address(_host);\n }\n\n /**************************************************************************\n * UUPSProxiable\n **************************************************************************/\n function initialize()\n external override\n initializer // OpenZeppelin Initializable\n {\n _updateSuperTokenLogic();\n }\n\n function proxiableUUID() public pure override returns (bytes32) {\n return keccak256(\"org.superfluid-finance.contracts.SuperTokenFactory.implementation\");\n }\n\n function updateCode(address newAddress) external override {\n require(msg.sender == address(_host), \"SuperTokenFactory: only host can update code\");\n _updateCodeAddress(newAddress);\n _updateSuperTokenLogic();\n }\n\n function _updateSuperTokenLogic() private {\n // use external call to trigger the new code to update the super token logic contract\n _superTokenLogic = SuperToken(this.createSuperTokenLogic(_host));\n emit SuperTokenLogicCreated(_superTokenLogic);\n }\n\n /**************************************************************************\n * ISuperTokenFactory\n **************************************************************************/\n function getSuperTokenLogic()\n external view override\n returns (ISuperToken)\n {\n return _superTokenLogic;\n }\n\n function createSuperTokenLogic(ISuperfluid host) external virtual returns (address logic);\n\n function createERC20Wrapper(\n IERC20 underlyingToken,\n uint8 underlyingDecimals,\n Upgradability upgradability,\n string calldata name,\n string calldata symbol\n )\n public override\n returns (ISuperToken superToken)\n {\n require(address(underlyingToken) != address(0), \"SuperTokenFactory: zero address\");\n\n if (upgradability == Upgradability.NON_UPGRADABLE) {\n superToken = ISuperToken(this.createSuperTokenLogic(_host));\n } else if (upgradability == Upgradability.SEMI_UPGRADABLE) {\n UUPSProxy proxy = new UUPSProxy();\n // initialize the wrapper\n proxy.initializeProxy(address(_superTokenLogic));\n superToken = ISuperToken(address(proxy));\n } else /* if (type == Upgradability.FULL_UPGRADABE) */ {\n FullUpgradableSuperTokenProxy proxy = new FullUpgradableSuperTokenProxy();\n proxy.initialize();\n superToken = ISuperToken(address(proxy));\n }\n\n // initialize the token\n superToken.initialize(\n underlyingToken,\n underlyingDecimals,\n name,\n symbol\n );\n\n emit SuperTokenCreated(superToken);\n }\n\n function createERC20Wrapper(\n ERC20WithTokenInfo underlyingToken,\n Upgradability upgradability,\n string calldata name,\n string calldata symbol\n )\n external override\n returns (ISuperToken superToken)\n {\n return createERC20Wrapper(\n underlyingToken,\n underlyingToken.decimals(),\n upgradability,\n name,\n symbol\n );\n }\n\n function initializeCustomSuperToken(\n address customSuperTokenProxy\n )\n external override\n {\n // odd solidity stuff..\n // NOTE payable necessary because UUPSProxy has a payable fallback function\n address payable a = payable(address(uint160(customSuperTokenProxy)));\n UUPSProxy(a).initializeProxy(address(_superTokenLogic));\n\n emit CustomSuperTokenCreated(ISuperToken(customSuperTokenProxy));\n }\n\n}\n\n// spliting this off because the contract is getting bigger\ncontract SuperTokenFactoryHelper {\n function create(ISuperfluid host)\n external\n returns (address logic)\n {\n return address(new SuperToken(host));\n }\n}\n\ncontract SuperTokenFactory is SuperTokenFactoryBase\n{\n SuperTokenFactoryHelper immutable private _helper;\n\n constructor(\n ISuperfluid host,\n SuperTokenFactoryHelper helper\n )\n SuperTokenFactoryBase(host)\n // solhint-disable-next-line no-empty-blocks\n {\n _helper = helper;\n }\n\n function createSuperTokenLogic(ISuperfluid host)\n external override\n returns (address logic)\n {\n return _helper.create(host);\n }\n}\n",
249
249
  "sourcePath": "/home/runner/work/protocol-monorepo/protocol-monorepo/packages/ethereum-contracts/contracts/superfluid/SuperTokenFactory.sol",
250
250
  "ast": {
251
251
  "absolutePath": "project:/contracts/superfluid/SuperTokenFactory.sol",
@@ -260,7 +260,7 @@
260
260
  18733
261
261
  ],
262
262
  "FullUpgradableSuperTokenProxy": [
263
- 28577
263
+ 28599
264
264
  ],
265
265
  "IERC20": [
266
266
  1520
@@ -275,34 +275,34 @@
275
275
  18324
276
276
  ],
277
277
  "SuperToken": [
278
- 30169
278
+ 30191
279
279
  ],
280
280
  "SuperTokenFactory": [
281
- 30544
281
+ 30566
282
282
  ],
283
283
  "SuperTokenFactoryBase": [
284
- 30487
284
+ 30509
285
285
  ],
286
286
  "SuperTokenFactoryHelper": [
287
- 30506
287
+ 30528
288
288
  ],
289
289
  "UUPSProxiable": [
290
- 34838
290
+ 34857
291
291
  ],
292
292
  "UUPSProxy": [
293
- 34895
293
+ 34914
294
294
  ]
295
295
  },
296
- "id": 30545,
296
+ "id": 30567,
297
297
  "license": "AGPLv3",
298
298
  "nodeType": "SourceUnit",
299
299
  "nodes": [
300
300
  {
301
- "id": 30171,
301
+ "id": 30193,
302
302
  "literals": [
303
303
  "solidity",
304
304
  "0.8",
305
- ".13"
305
+ ".14"
306
306
  ],
307
307
  "nodeType": "PragmaDirective",
308
308
  "src": "35:23:87"
@@ -310,16 +310,16 @@
310
310
  {
311
311
  "absolutePath": "project:/contracts/interfaces/superfluid/ISuperTokenFactory.sol",
312
312
  "file": "../interfaces/superfluid/ISuperTokenFactory.sol",
313
- "id": 30176,
313
+ "id": 30198,
314
314
  "nameLocation": "-1:-1:-1",
315
315
  "nodeType": "ImportDirective",
316
- "scope": 30545,
316
+ "scope": 30567,
317
317
  "sourceUnit": 17851,
318
318
  "src": "60:142:87",
319
319
  "symbolAliases": [
320
320
  {
321
321
  "foreign": {
322
- "id": 30172,
322
+ "id": 30194,
323
323
  "name": "ISuperTokenFactory",
324
324
  "nodeType": "Identifier",
325
325
  "overloadedDeclarations": [],
@@ -331,7 +331,7 @@
331
331
  },
332
332
  {
333
333
  "foreign": {
334
- "id": 30173,
334
+ "id": 30195,
335
335
  "name": "ISuperToken",
336
336
  "nodeType": "Identifier",
337
337
  "overloadedDeclarations": [],
@@ -343,7 +343,7 @@
343
343
  },
344
344
  {
345
345
  "foreign": {
346
- "id": 30174,
346
+ "id": 30196,
347
347
  "name": "IERC20",
348
348
  "nodeType": "Identifier",
349
349
  "overloadedDeclarations": [],
@@ -355,7 +355,7 @@
355
355
  },
356
356
  {
357
357
  "foreign": {
358
- "id": 30175,
358
+ "id": 30197,
359
359
  "name": "ERC20WithTokenInfo",
360
360
  "nodeType": "Identifier",
361
361
  "overloadedDeclarations": [],
@@ -371,16 +371,16 @@
371
371
  {
372
372
  "absolutePath": "project:/contracts/interfaces/superfluid/ISuperfluid.sol",
373
373
  "file": "../interfaces/superfluid/ISuperfluid.sol",
374
- "id": 30178,
374
+ "id": 30200,
375
375
  "nameLocation": "-1:-1:-1",
376
376
  "nodeType": "ImportDirective",
377
- "scope": 30545,
377
+ "scope": 30567,
378
378
  "sourceUnit": 18325,
379
379
  "src": "204:71:87",
380
380
  "symbolAliases": [
381
381
  {
382
382
  "foreign": {
383
- "id": 30177,
383
+ "id": 30199,
384
384
  "name": "ISuperfluid",
385
385
  "nodeType": "Identifier",
386
386
  "overloadedDeclarations": [],
@@ -396,20 +396,20 @@
396
396
  {
397
397
  "absolutePath": "project:/contracts/upgradability/UUPSProxy.sol",
398
398
  "file": "../upgradability/UUPSProxy.sol",
399
- "id": 30180,
399
+ "id": 30202,
400
400
  "nameLocation": "-1:-1:-1",
401
401
  "nodeType": "ImportDirective",
402
- "scope": 30545,
403
- "sourceUnit": 34896,
402
+ "scope": 30567,
403
+ "sourceUnit": 34915,
404
404
  "src": "277:59:87",
405
405
  "symbolAliases": [
406
406
  {
407
407
  "foreign": {
408
- "id": 30179,
408
+ "id": 30201,
409
409
  "name": "UUPSProxy",
410
410
  "nodeType": "Identifier",
411
411
  "overloadedDeclarations": [],
412
- "referencedDeclaration": 34895,
412
+ "referencedDeclaration": 34914,
413
413
  "src": "286:9:87",
414
414
  "typeDescriptions": {}
415
415
  },
@@ -421,20 +421,20 @@
421
421
  {
422
422
  "absolutePath": "project:/contracts/upgradability/UUPSProxiable.sol",
423
423
  "file": "../upgradability/UUPSProxiable.sol",
424
- "id": 30182,
424
+ "id": 30204,
425
425
  "nameLocation": "-1:-1:-1",
426
426
  "nodeType": "ImportDirective",
427
- "scope": 30545,
428
- "sourceUnit": 34839,
427
+ "scope": 30567,
428
+ "sourceUnit": 34858,
429
429
  "src": "337:67:87",
430
430
  "symbolAliases": [
431
431
  {
432
432
  "foreign": {
433
- "id": 30181,
433
+ "id": 30203,
434
434
  "name": "UUPSProxiable",
435
435
  "nodeType": "Identifier",
436
436
  "overloadedDeclarations": [],
437
- "referencedDeclaration": 34838,
437
+ "referencedDeclaration": 34857,
438
438
  "src": "346:13:87",
439
439
  "typeDescriptions": {}
440
440
  },
@@ -446,20 +446,20 @@
446
446
  {
447
447
  "absolutePath": "project:/contracts/superfluid/SuperToken.sol",
448
448
  "file": "../superfluid/SuperToken.sol",
449
- "id": 30184,
449
+ "id": 30206,
450
450
  "nameLocation": "-1:-1:-1",
451
451
  "nodeType": "ImportDirective",
452
- "scope": 30545,
453
- "sourceUnit": 30170,
452
+ "scope": 30567,
453
+ "sourceUnit": 30192,
454
454
  "src": "406:58:87",
455
455
  "symbolAliases": [
456
456
  {
457
457
  "foreign": {
458
- "id": 30183,
458
+ "id": 30205,
459
459
  "name": "SuperToken",
460
460
  "nodeType": "Identifier",
461
461
  "overloadedDeclarations": [],
462
- "referencedDeclaration": 30169,
462
+ "referencedDeclaration": 30191,
463
463
  "src": "415:10:87",
464
464
  "typeDescriptions": {}
465
465
  },
@@ -471,20 +471,20 @@
471
471
  {
472
472
  "absolutePath": "project:/contracts/superfluid/FullUpgradableSuperTokenProxy.sol",
473
473
  "file": "./FullUpgradableSuperTokenProxy.sol",
474
- "id": 30186,
474
+ "id": 30208,
475
475
  "nameLocation": "-1:-1:-1",
476
476
  "nodeType": "ImportDirective",
477
- "scope": 30545,
478
- "sourceUnit": 28578,
477
+ "scope": 30567,
478
+ "sourceUnit": 28600,
479
479
  "src": "466:84:87",
480
480
  "symbolAliases": [
481
481
  {
482
482
  "foreign": {
483
- "id": 30185,
483
+ "id": 30207,
484
484
  "name": "FullUpgradableSuperTokenProxy",
485
485
  "nodeType": "Identifier",
486
486
  "overloadedDeclarations": [],
487
- "referencedDeclaration": 28577,
487
+ "referencedDeclaration": 28599,
488
488
  "src": "475:29:87",
489
489
  "typeDescriptions": {}
490
490
  },
@@ -496,16 +496,16 @@
496
496
  {
497
497
  "absolutePath": "@openzeppelin/contracts/utils/Address.sol",
498
498
  "file": "@openzeppelin/contracts/utils/Address.sol",
499
- "id": 30188,
499
+ "id": 30210,
500
500
  "nameLocation": "-1:-1:-1",
501
501
  "nodeType": "ImportDirective",
502
- "scope": 30545,
502
+ "scope": 30567,
503
503
  "sourceUnit": 2481,
504
504
  "src": "552:68:87",
505
505
  "symbolAliases": [
506
506
  {
507
507
  "foreign": {
508
- "id": 30187,
508
+ "id": 30209,
509
509
  "name": "Address",
510
510
  "nodeType": "Identifier",
511
511
  "overloadedDeclarations": [],
@@ -521,16 +521,16 @@
521
521
  {
522
522
  "absolutePath": "@openzeppelin/contracts/utils/Create2.sol",
523
523
  "file": "@openzeppelin/contracts/utils/Create2.sol",
524
- "id": 30190,
524
+ "id": 30212,
525
525
  "nameLocation": "-1:-1:-1",
526
526
  "nodeType": "ImportDirective",
527
- "scope": 30545,
527
+ "scope": 30567,
528
528
  "sourceUnit": 2614,
529
529
  "src": "621:68:87",
530
530
  "symbolAliases": [
531
531
  {
532
532
  "foreign": {
533
- "id": 30189,
533
+ "id": 30211,
534
534
  "name": "Create2",
535
535
  "nodeType": "Identifier",
536
536
  "overloadedDeclarations": [],
@@ -548,41 +548,41 @@
548
548
  "baseContracts": [
549
549
  {
550
550
  "baseName": {
551
- "id": 30191,
551
+ "id": 30213,
552
552
  "name": "UUPSProxiable",
553
553
  "nodeType": "IdentifierPath",
554
- "referencedDeclaration": 34838,
554
+ "referencedDeclaration": 34857,
555
555
  "src": "739:13:87"
556
556
  },
557
- "id": 30192,
557
+ "id": 30214,
558
558
  "nodeType": "InheritanceSpecifier",
559
559
  "src": "739:13:87"
560
560
  },
561
561
  {
562
562
  "baseName": {
563
- "id": 30193,
563
+ "id": 30215,
564
564
  "name": "ISuperTokenFactory",
565
565
  "nodeType": "IdentifierPath",
566
566
  "referencedDeclaration": 17850,
567
567
  "src": "758:18:87"
568
568
  },
569
- "id": 30194,
569
+ "id": 30216,
570
570
  "nodeType": "InheritanceSpecifier",
571
571
  "src": "758:18:87"
572
572
  }
573
573
  ],
574
574
  "canonicalName": "SuperTokenFactoryBase",
575
575
  "contractDependencies": [
576
- 28577,
577
- 34895
576
+ 28599,
577
+ 34914
578
578
  ],
579
579
  "contractKind": "contract",
580
580
  "fullyImplemented": false,
581
- "id": 30487,
581
+ "id": 30509,
582
582
  "linearizedBaseContracts": [
583
- 30487,
583
+ 30509,
584
584
  17850,
585
- 34838,
585
+ 34857,
586
586
  762
587
587
  ],
588
588
  "name": "SuperTokenFactoryBase",
@@ -591,12 +591,12 @@
591
591
  "nodes": [
592
592
  {
593
593
  "constant": false,
594
- "id": 30197,
594
+ "id": 30219,
595
595
  "mutability": "immutable",
596
596
  "name": "_host",
597
597
  "nameLocation": "815:5:87",
598
598
  "nodeType": "VariableDeclaration",
599
- "scope": 30487,
599
+ "scope": 30509,
600
600
  "src": "784:36:87",
601
601
  "stateVariable": true,
602
602
  "storageLocation": "default",
@@ -605,10 +605,10 @@
605
605
  "typeString": "contract ISuperfluid"
606
606
  },
607
607
  "typeName": {
608
- "id": 30196,
608
+ "id": 30218,
609
609
  "nodeType": "UserDefinedTypeName",
610
610
  "pathNode": {
611
- "id": 30195,
611
+ "id": 30217,
612
612
  "name": "ISuperfluid",
613
613
  "nodeType": "IdentifierPath",
614
614
  "referencedDeclaration": 18324,
@@ -625,12 +625,12 @@
625
625
  },
626
626
  {
627
627
  "constant": false,
628
- "id": 30200,
628
+ "id": 30222,
629
629
  "mutability": "mutable",
630
630
  "name": "_superTokenLogic",
631
631
  "nameLocation": "848:16:87",
632
632
  "nodeType": "VariableDeclaration",
633
- "scope": 30487,
633
+ "scope": 30509,
634
634
  "src": "827:37:87",
635
635
  "stateVariable": true,
636
636
  "storageLocation": "default",
@@ -639,10 +639,10 @@
639
639
  "typeString": "contract ISuperToken"
640
640
  },
641
641
  "typeName": {
642
- "id": 30199,
642
+ "id": 30221,
643
643
  "nodeType": "UserDefinedTypeName",
644
644
  "pathNode": {
645
- "id": 30198,
645
+ "id": 30220,
646
646
  "name": "ISuperToken",
647
647
  "nodeType": "IdentifierPath",
648
648
  "referencedDeclaration": 17761,
@@ -659,23 +659,23 @@
659
659
  },
660
660
  {
661
661
  "body": {
662
- "id": 30210,
662
+ "id": 30232,
663
663
  "nodeType": "Block",
664
664
  "src": "915:29:87",
665
665
  "statements": [
666
666
  {
667
667
  "expression": {
668
- "id": 30208,
668
+ "id": 30230,
669
669
  "isConstant": false,
670
670
  "isLValue": false,
671
671
  "isPure": false,
672
672
  "lValueRequested": false,
673
673
  "leftHandSide": {
674
- "id": 30206,
674
+ "id": 30228,
675
675
  "name": "_host",
676
676
  "nodeType": "Identifier",
677
677
  "overloadedDeclarations": [],
678
- "referencedDeclaration": 30197,
678
+ "referencedDeclaration": 30219,
679
679
  "src": "925:5:87",
680
680
  "typeDescriptions": {
681
681
  "typeIdentifier": "t_contract$_ISuperfluid_$18324",
@@ -685,11 +685,11 @@
685
685
  "nodeType": "Assignment",
686
686
  "operator": "=",
687
687
  "rightHandSide": {
688
- "id": 30207,
688
+ "id": 30229,
689
689
  "name": "host",
690
690
  "nodeType": "Identifier",
691
691
  "overloadedDeclarations": [],
692
- "referencedDeclaration": 30203,
692
+ "referencedDeclaration": 30225,
693
693
  "src": "933:4:87",
694
694
  "typeDescriptions": {
695
695
  "typeIdentifier": "t_contract$_ISuperfluid_$18324",
@@ -702,13 +702,13 @@
702
702
  "typeString": "contract ISuperfluid"
703
703
  }
704
704
  },
705
- "id": 30209,
705
+ "id": 30231,
706
706
  "nodeType": "ExpressionStatement",
707
707
  "src": "925:12:87"
708
708
  }
709
709
  ]
710
710
  },
711
- "id": 30211,
711
+ "id": 30233,
712
712
  "implemented": true,
713
713
  "kind": "constructor",
714
714
  "modifiers": [],
@@ -716,17 +716,17 @@
716
716
  "nameLocation": "-1:-1:-1",
717
717
  "nodeType": "FunctionDefinition",
718
718
  "parameters": {
719
- "id": 30204,
719
+ "id": 30226,
720
720
  "nodeType": "ParameterList",
721
721
  "parameters": [
722
722
  {
723
723
  "constant": false,
724
- "id": 30203,
724
+ "id": 30225,
725
725
  "mutability": "mutable",
726
726
  "name": "host",
727
727
  "nameLocation": "904:4:87",
728
728
  "nodeType": "VariableDeclaration",
729
- "scope": 30211,
729
+ "scope": 30233,
730
730
  "src": "892:16:87",
731
731
  "stateVariable": false,
732
732
  "storageLocation": "default",
@@ -735,10 +735,10 @@
735
735
  "typeString": "contract ISuperfluid"
736
736
  },
737
737
  "typeName": {
738
- "id": 30202,
738
+ "id": 30224,
739
739
  "nodeType": "UserDefinedTypeName",
740
740
  "pathNode": {
741
- "id": 30201,
741
+ "id": 30223,
742
742
  "name": "ISuperfluid",
743
743
  "nodeType": "IdentifierPath",
744
744
  "referencedDeclaration": 18324,
@@ -757,12 +757,12 @@
757
757
  "src": "882:32:87"
758
758
  },
759
759
  "returnParameters": {
760
- "id": 30205,
760
+ "id": 30227,
761
761
  "nodeType": "ParameterList",
762
762
  "parameters": [],
763
763
  "src": "915:0:87"
764
764
  },
765
- "scope": 30487,
765
+ "scope": 30509,
766
766
  "src": "871:73:87",
767
767
  "stateMutability": "nonpayable",
768
768
  "virtual": false,
@@ -773,7 +773,7 @@
773
773
  17775
774
774
  ],
775
775
  "body": {
776
- "id": 30224,
776
+ "id": 30246,
777
777
  "nodeType": "Block",
778
778
  "src": "1114:37:87",
779
779
  "statements": [
@@ -781,11 +781,11 @@
781
781
  "expression": {
782
782
  "arguments": [
783
783
  {
784
- "id": 30221,
784
+ "id": 30243,
785
785
  "name": "_host",
786
786
  "nodeType": "Identifier",
787
787
  "overloadedDeclarations": [],
788
- "referencedDeclaration": 30197,
788
+ "referencedDeclaration": 30219,
789
789
  "src": "1138:5:87",
790
790
  "typeDescriptions": {
791
791
  "typeIdentifier": "t_contract$_ISuperfluid_$18324",
@@ -800,7 +800,7 @@
800
800
  "typeString": "contract ISuperfluid"
801
801
  }
802
802
  ],
803
- "id": 30220,
803
+ "id": 30242,
804
804
  "isConstant": false,
805
805
  "isLValue": false,
806
806
  "isPure": true,
@@ -812,14 +812,14 @@
812
812
  "typeString": "type(address)"
813
813
  },
814
814
  "typeName": {
815
- "id": 30219,
815
+ "id": 30241,
816
816
  "name": "address",
817
817
  "nodeType": "ElementaryTypeName",
818
818
  "src": "1130:7:87",
819
819
  "typeDescriptions": {}
820
820
  }
821
821
  },
822
- "id": 30222,
822
+ "id": 30244,
823
823
  "isConstant": false,
824
824
  "isLValue": false,
825
825
  "isPure": false,
@@ -834,21 +834,21 @@
834
834
  "typeString": "address"
835
835
  }
836
836
  },
837
- "functionReturnParameters": 30218,
838
- "id": 30223,
837
+ "functionReturnParameters": 30240,
838
+ "id": 30245,
839
839
  "nodeType": "Return",
840
840
  "src": "1123:21:87"
841
841
  }
842
842
  ]
843
843
  },
844
844
  "documentation": {
845
- "id": 30212,
845
+ "id": 30234,
846
846
  "nodeType": "StructuredDocumentation",
847
847
  "src": "950:50:87",
848
848
  "text": "@dev ISuperTokenFactory.getHost implementation"
849
849
  },
850
850
  "functionSelector": "20bc4425",
851
- "id": 30225,
851
+ "id": 30247,
852
852
  "implemented": true,
853
853
  "kind": "function",
854
854
  "modifiers": [],
@@ -856,11 +856,11 @@
856
856
  "nameLocation": "1014:7:87",
857
857
  "nodeType": "FunctionDefinition",
858
858
  "overrides": {
859
- "id": 30215,
859
+ "id": 30237,
860
860
  "nodeType": "OverrideSpecifier",
861
861
  "overrides": [
862
862
  {
863
- "id": 30214,
863
+ "id": 30236,
864
864
  "name": "ISuperTokenFactory",
865
865
  "nodeType": "IdentifierPath",
866
866
  "referencedDeclaration": 17850,
@@ -870,23 +870,23 @@
870
870
  "src": "1052:28:87"
871
871
  },
872
872
  "parameters": {
873
- "id": 30213,
873
+ "id": 30235,
874
874
  "nodeType": "ParameterList",
875
875
  "parameters": [],
876
876
  "src": "1021:2:87"
877
877
  },
878
878
  "returnParameters": {
879
- "id": 30218,
879
+ "id": 30240,
880
880
  "nodeType": "ParameterList",
881
881
  "parameters": [
882
882
  {
883
883
  "constant": false,
884
- "id": 30217,
884
+ "id": 30239,
885
885
  "mutability": "mutable",
886
886
  "name": "host",
887
887
  "nameLocation": "1104:4:87",
888
888
  "nodeType": "VariableDeclaration",
889
- "scope": 30225,
889
+ "scope": 30247,
890
890
  "src": "1096:12:87",
891
891
  "stateVariable": false,
892
892
  "storageLocation": "default",
@@ -895,7 +895,7 @@
895
895
  "typeString": "address"
896
896
  },
897
897
  "typeName": {
898
- "id": 30216,
898
+ "id": 30238,
899
899
  "name": "address",
900
900
  "nodeType": "ElementaryTypeName",
901
901
  "src": "1096:7:87",
@@ -910,7 +910,7 @@
910
910
  ],
911
911
  "src": "1095:14:87"
912
912
  },
913
- "scope": 30487,
913
+ "scope": 30509,
914
914
  "src": "1005:146:87",
915
915
  "stateMutability": "view",
916
916
  "virtual": false,
@@ -921,7 +921,7 @@
921
921
  17779
922
922
  ],
923
923
  "body": {
924
- "id": 30234,
924
+ "id": 30256,
925
925
  "nodeType": "Block",
926
926
  "src": "1439:41:87",
927
927
  "statements": [
@@ -930,18 +930,18 @@
930
930
  "arguments": [],
931
931
  "expression": {
932
932
  "argumentTypes": [],
933
- "id": 30231,
933
+ "id": 30253,
934
934
  "name": "_updateSuperTokenLogic",
935
935
  "nodeType": "Identifier",
936
936
  "overloadedDeclarations": [],
937
- "referencedDeclaration": 30288,
937
+ "referencedDeclaration": 30310,
938
938
  "src": "1449:22:87",
939
939
  "typeDescriptions": {
940
940
  "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
941
941
  "typeString": "function ()"
942
942
  }
943
943
  },
944
- "id": 30232,
944
+ "id": 30254,
945
945
  "isConstant": false,
946
946
  "isLValue": false,
947
947
  "isPure": false,
@@ -956,22 +956,22 @@
956
956
  "typeString": "tuple()"
957
957
  }
958
958
  },
959
- "id": 30233,
959
+ "id": 30255,
960
960
  "nodeType": "ExpressionStatement",
961
961
  "src": "1449:24:87"
962
962
  }
963
963
  ]
964
964
  },
965
965
  "functionSelector": "8129fc1c",
966
- "id": 30235,
966
+ "id": 30257,
967
967
  "implemented": true,
968
968
  "kind": "function",
969
969
  "modifiers": [
970
970
  {
971
- "id": 30229,
971
+ "id": 30251,
972
972
  "kind": "modifierInvocation",
973
973
  "modifierName": {
974
- "id": 30228,
974
+ "id": 30250,
975
975
  "name": "initializer",
976
976
  "nodeType": "IdentifierPath",
977
977
  "referencedDeclaration": 736,
@@ -985,24 +985,24 @@
985
985
  "nameLocation": "1346:10:87",
986
986
  "nodeType": "FunctionDefinition",
987
987
  "overrides": {
988
- "id": 30227,
988
+ "id": 30249,
989
989
  "nodeType": "OverrideSpecifier",
990
990
  "overrides": [],
991
991
  "src": "1376:8:87"
992
992
  },
993
993
  "parameters": {
994
- "id": 30226,
994
+ "id": 30248,
995
995
  "nodeType": "ParameterList",
996
996
  "parameters": [],
997
997
  "src": "1356:2:87"
998
998
  },
999
999
  "returnParameters": {
1000
- "id": 30230,
1000
+ "id": 30252,
1001
1001
  "nodeType": "ParameterList",
1002
1002
  "parameters": [],
1003
1003
  "src": "1439:0:87"
1004
1004
  },
1005
- "scope": 30487,
1005
+ "scope": 30509,
1006
1006
  "src": "1337:143:87",
1007
1007
  "stateMutability": "nonpayable",
1008
1008
  "virtual": false,
@@ -1010,10 +1010,10 @@
1010
1010
  },
1011
1011
  {
1012
1012
  "baseFunctions": [
1013
- 34778
1013
+ 34797
1014
1014
  ],
1015
1015
  "body": {
1016
- "id": 30245,
1016
+ "id": 30267,
1017
1017
  "nodeType": "Block",
1018
1018
  "src": "1550:102:87",
1019
1019
  "statements": [
@@ -1022,7 +1022,7 @@
1022
1022
  "arguments": [
1023
1023
  {
1024
1024
  "hexValue": "6f72672e7375706572666c7569642d66696e616e63652e636f6e7472616374732e5375706572546f6b656e466163746f72792e696d706c656d656e746174696f6e",
1025
- "id": 30242,
1025
+ "id": 30264,
1026
1026
  "isConstant": false,
1027
1027
  "isLValue": false,
1028
1028
  "isPure": true,
@@ -1044,7 +1044,7 @@
1044
1044
  "typeString": "literal_string \"org.superfluid-finance.contracts.SuperTokenFactory.implementation\""
1045
1045
  }
1046
1046
  ],
1047
- "id": 30241,
1047
+ "id": 30263,
1048
1048
  "name": "keccak256",
1049
1049
  "nodeType": "Identifier",
1050
1050
  "overloadedDeclarations": [],
@@ -1055,7 +1055,7 @@
1055
1055
  "typeString": "function (bytes memory) pure returns (bytes32)"
1056
1056
  }
1057
1057
  },
1058
- "id": 30243,
1058
+ "id": 30265,
1059
1059
  "isConstant": false,
1060
1060
  "isLValue": false,
1061
1061
  "isPure": true,
@@ -1070,15 +1070,15 @@
1070
1070
  "typeString": "bytes32"
1071
1071
  }
1072
1072
  },
1073
- "functionReturnParameters": 30240,
1074
- "id": 30244,
1073
+ "functionReturnParameters": 30262,
1074
+ "id": 30266,
1075
1075
  "nodeType": "Return",
1076
1076
  "src": "1560:85:87"
1077
1077
  }
1078
1078
  ]
1079
1079
  },
1080
1080
  "functionSelector": "52d1902d",
1081
- "id": 30246,
1081
+ "id": 30268,
1082
1082
  "implemented": true,
1083
1083
  "kind": "function",
1084
1084
  "modifiers": [],
@@ -1086,29 +1086,29 @@
1086
1086
  "nameLocation": "1495:13:87",
1087
1087
  "nodeType": "FunctionDefinition",
1088
1088
  "overrides": {
1089
- "id": 30237,
1089
+ "id": 30259,
1090
1090
  "nodeType": "OverrideSpecifier",
1091
1091
  "overrides": [],
1092
1092
  "src": "1523:8:87"
1093
1093
  },
1094
1094
  "parameters": {
1095
- "id": 30236,
1095
+ "id": 30258,
1096
1096
  "nodeType": "ParameterList",
1097
1097
  "parameters": [],
1098
1098
  "src": "1508:2:87"
1099
1099
  },
1100
1100
  "returnParameters": {
1101
- "id": 30240,
1101
+ "id": 30262,
1102
1102
  "nodeType": "ParameterList",
1103
1103
  "parameters": [
1104
1104
  {
1105
1105
  "constant": false,
1106
- "id": 30239,
1106
+ "id": 30261,
1107
1107
  "mutability": "mutable",
1108
1108
  "name": "",
1109
1109
  "nameLocation": "-1:-1:-1",
1110
1110
  "nodeType": "VariableDeclaration",
1111
- "scope": 30246,
1111
+ "scope": 30268,
1112
1112
  "src": "1541:7:87",
1113
1113
  "stateVariable": false,
1114
1114
  "storageLocation": "default",
@@ -1117,7 +1117,7 @@
1117
1117
  "typeString": "bytes32"
1118
1118
  },
1119
1119
  "typeName": {
1120
- "id": 30238,
1120
+ "id": 30260,
1121
1121
  "name": "bytes32",
1122
1122
  "nodeType": "ElementaryTypeName",
1123
1123
  "src": "1541:7:87",
@@ -1131,7 +1131,7 @@
1131
1131
  ],
1132
1132
  "src": "1540:9:87"
1133
1133
  },
1134
- "scope": 30487,
1134
+ "scope": 30509,
1135
1135
  "src": "1486:166:87",
1136
1136
  "stateMutability": "pure",
1137
1137
  "virtual": false,
@@ -1139,10 +1139,10 @@
1139
1139
  },
1140
1140
  {
1141
1141
  "baseFunctions": [
1142
- 34772
1142
+ 34791
1143
1143
  ],
1144
1144
  "body": {
1145
- "id": 30270,
1145
+ "id": 30292,
1146
1146
  "nodeType": "Block",
1147
1147
  "src": "1716:176:87",
1148
1148
  "statements": [
@@ -1154,14 +1154,14 @@
1154
1154
  "typeIdentifier": "t_address",
1155
1155
  "typeString": "address"
1156
1156
  },
1157
- "id": 30259,
1157
+ "id": 30281,
1158
1158
  "isConstant": false,
1159
1159
  "isLValue": false,
1160
1160
  "isPure": false,
1161
1161
  "lValueRequested": false,
1162
1162
  "leftExpression": {
1163
1163
  "expression": {
1164
- "id": 30253,
1164
+ "id": 30275,
1165
1165
  "name": "msg",
1166
1166
  "nodeType": "Identifier",
1167
1167
  "overloadedDeclarations": [],
@@ -1172,7 +1172,7 @@
1172
1172
  "typeString": "msg"
1173
1173
  }
1174
1174
  },
1175
- "id": 30254,
1175
+ "id": 30276,
1176
1176
  "isConstant": false,
1177
1177
  "isLValue": false,
1178
1178
  "isPure": false,
@@ -1190,11 +1190,11 @@
1190
1190
  "rightExpression": {
1191
1191
  "arguments": [
1192
1192
  {
1193
- "id": 30257,
1193
+ "id": 30279,
1194
1194
  "name": "_host",
1195
1195
  "nodeType": "Identifier",
1196
1196
  "overloadedDeclarations": [],
1197
- "referencedDeclaration": 30197,
1197
+ "referencedDeclaration": 30219,
1198
1198
  "src": "1756:5:87",
1199
1199
  "typeDescriptions": {
1200
1200
  "typeIdentifier": "t_contract$_ISuperfluid_$18324",
@@ -1209,7 +1209,7 @@
1209
1209
  "typeString": "contract ISuperfluid"
1210
1210
  }
1211
1211
  ],
1212
- "id": 30256,
1212
+ "id": 30278,
1213
1213
  "isConstant": false,
1214
1214
  "isLValue": false,
1215
1215
  "isPure": true,
@@ -1221,14 +1221,14 @@
1221
1221
  "typeString": "type(address)"
1222
1222
  },
1223
1223
  "typeName": {
1224
- "id": 30255,
1224
+ "id": 30277,
1225
1225
  "name": "address",
1226
1226
  "nodeType": "ElementaryTypeName",
1227
1227
  "src": "1748:7:87",
1228
1228
  "typeDescriptions": {}
1229
1229
  }
1230
1230
  },
1231
- "id": 30258,
1231
+ "id": 30280,
1232
1232
  "isConstant": false,
1233
1233
  "isLValue": false,
1234
1234
  "isPure": false,
@@ -1251,7 +1251,7 @@
1251
1251
  },
1252
1252
  {
1253
1253
  "hexValue": "5375706572546f6b656e466163746f72793a206f6e6c7920686f73742063616e2075706461746520636f6465",
1254
- "id": 30260,
1254
+ "id": 30282,
1255
1255
  "isConstant": false,
1256
1256
  "isLValue": false,
1257
1257
  "isPure": true,
@@ -1277,7 +1277,7 @@
1277
1277
  "typeString": "literal_string \"SuperTokenFactory: only host can update code\""
1278
1278
  }
1279
1279
  ],
1280
- "id": 30252,
1280
+ "id": 30274,
1281
1281
  "name": "require",
1282
1282
  "nodeType": "Identifier",
1283
1283
  "overloadedDeclarations": [
@@ -1291,7 +1291,7 @@
1291
1291
  "typeString": "function (bool,string memory) pure"
1292
1292
  }
1293
1293
  },
1294
- "id": 30261,
1294
+ "id": 30283,
1295
1295
  "isConstant": false,
1296
1296
  "isLValue": false,
1297
1297
  "isPure": false,
@@ -1306,7 +1306,7 @@
1306
1306
  "typeString": "tuple()"
1307
1307
  }
1308
1308
  },
1309
- "id": 30262,
1309
+ "id": 30284,
1310
1310
  "nodeType": "ExpressionStatement",
1311
1311
  "src": "1726:85:87"
1312
1312
  },
@@ -1314,11 +1314,11 @@
1314
1314
  "expression": {
1315
1315
  "arguments": [
1316
1316
  {
1317
- "id": 30264,
1317
+ "id": 30286,
1318
1318
  "name": "newAddress",
1319
1319
  "nodeType": "Identifier",
1320
1320
  "overloadedDeclarations": [],
1321
- "referencedDeclaration": 30248,
1321
+ "referencedDeclaration": 30270,
1322
1322
  "src": "1840:10:87",
1323
1323
  "typeDescriptions": {
1324
1324
  "typeIdentifier": "t_address",
@@ -1333,18 +1333,18 @@
1333
1333
  "typeString": "address"
1334
1334
  }
1335
1335
  ],
1336
- "id": 30263,
1336
+ "id": 30285,
1337
1337
  "name": "_updateCodeAddress",
1338
1338
  "nodeType": "Identifier",
1339
1339
  "overloadedDeclarations": [],
1340
- "referencedDeclaration": 34831,
1340
+ "referencedDeclaration": 34850,
1341
1341
  "src": "1821:18:87",
1342
1342
  "typeDescriptions": {
1343
1343
  "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",
1344
1344
  "typeString": "function (address)"
1345
1345
  }
1346
1346
  },
1347
- "id": 30265,
1347
+ "id": 30287,
1348
1348
  "isConstant": false,
1349
1349
  "isLValue": false,
1350
1350
  "isPure": false,
@@ -1359,7 +1359,7 @@
1359
1359
  "typeString": "tuple()"
1360
1360
  }
1361
1361
  },
1362
- "id": 30266,
1362
+ "id": 30288,
1363
1363
  "nodeType": "ExpressionStatement",
1364
1364
  "src": "1821:30:87"
1365
1365
  },
@@ -1368,18 +1368,18 @@
1368
1368
  "arguments": [],
1369
1369
  "expression": {
1370
1370
  "argumentTypes": [],
1371
- "id": 30267,
1371
+ "id": 30289,
1372
1372
  "name": "_updateSuperTokenLogic",
1373
1373
  "nodeType": "Identifier",
1374
1374
  "overloadedDeclarations": [],
1375
- "referencedDeclaration": 30288,
1375
+ "referencedDeclaration": 30310,
1376
1376
  "src": "1861:22:87",
1377
1377
  "typeDescriptions": {
1378
1378
  "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
1379
1379
  "typeString": "function ()"
1380
1380
  }
1381
1381
  },
1382
- "id": 30268,
1382
+ "id": 30290,
1383
1383
  "isConstant": false,
1384
1384
  "isLValue": false,
1385
1385
  "isPure": false,
@@ -1394,14 +1394,14 @@
1394
1394
  "typeString": "tuple()"
1395
1395
  }
1396
1396
  },
1397
- "id": 30269,
1397
+ "id": 30291,
1398
1398
  "nodeType": "ExpressionStatement",
1399
1399
  "src": "1861:24:87"
1400
1400
  }
1401
1401
  ]
1402
1402
  },
1403
1403
  "functionSelector": "46951954",
1404
- "id": 30271,
1404
+ "id": 30293,
1405
1405
  "implemented": true,
1406
1406
  "kind": "function",
1407
1407
  "modifiers": [],
@@ -1409,23 +1409,23 @@
1409
1409
  "nameLocation": "1667:10:87",
1410
1410
  "nodeType": "FunctionDefinition",
1411
1411
  "overrides": {
1412
- "id": 30250,
1412
+ "id": 30272,
1413
1413
  "nodeType": "OverrideSpecifier",
1414
1414
  "overrides": [],
1415
1415
  "src": "1707:8:87"
1416
1416
  },
1417
1417
  "parameters": {
1418
- "id": 30249,
1418
+ "id": 30271,
1419
1419
  "nodeType": "ParameterList",
1420
1420
  "parameters": [
1421
1421
  {
1422
1422
  "constant": false,
1423
- "id": 30248,
1423
+ "id": 30270,
1424
1424
  "mutability": "mutable",
1425
1425
  "name": "newAddress",
1426
1426
  "nameLocation": "1686:10:87",
1427
1427
  "nodeType": "VariableDeclaration",
1428
- "scope": 30271,
1428
+ "scope": 30293,
1429
1429
  "src": "1678:18:87",
1430
1430
  "stateVariable": false,
1431
1431
  "storageLocation": "default",
@@ -1434,7 +1434,7 @@
1434
1434
  "typeString": "address"
1435
1435
  },
1436
1436
  "typeName": {
1437
- "id": 30247,
1437
+ "id": 30269,
1438
1438
  "name": "address",
1439
1439
  "nodeType": "ElementaryTypeName",
1440
1440
  "src": "1678:7:87",
@@ -1450,12 +1450,12 @@
1450
1450
  "src": "1677:20:87"
1451
1451
  },
1452
1452
  "returnParameters": {
1453
- "id": 30251,
1453
+ "id": 30273,
1454
1454
  "nodeType": "ParameterList",
1455
1455
  "parameters": [],
1456
1456
  "src": "1716:0:87"
1457
1457
  },
1458
- "scope": 30487,
1458
+ "scope": 30509,
1459
1459
  "src": "1658:234:87",
1460
1460
  "stateMutability": "nonpayable",
1461
1461
  "virtual": false,
@@ -1463,23 +1463,23 @@
1463
1463
  },
1464
1464
  {
1465
1465
  "body": {
1466
- "id": 30287,
1466
+ "id": 30309,
1467
1467
  "nodeType": "Block",
1468
1468
  "src": "1940:230:87",
1469
1469
  "statements": [
1470
1470
  {
1471
1471
  "expression": {
1472
- "id": 30281,
1472
+ "id": 30303,
1473
1473
  "isConstant": false,
1474
1474
  "isLValue": false,
1475
1475
  "isPure": false,
1476
1476
  "lValueRequested": false,
1477
1477
  "leftHandSide": {
1478
- "id": 30274,
1478
+ "id": 30296,
1479
1479
  "name": "_superTokenLogic",
1480
1480
  "nodeType": "Identifier",
1481
1481
  "overloadedDeclarations": [],
1482
- "referencedDeclaration": 30200,
1482
+ "referencedDeclaration": 30222,
1483
1483
  "src": "2044:16:87",
1484
1484
  "typeDescriptions": {
1485
1485
  "typeIdentifier": "t_contract$_ISuperToken_$17761",
@@ -1493,11 +1493,11 @@
1493
1493
  {
1494
1494
  "arguments": [
1495
1495
  {
1496
- "id": 30278,
1496
+ "id": 30300,
1497
1497
  "name": "_host",
1498
1498
  "nodeType": "Identifier",
1499
1499
  "overloadedDeclarations": [],
1500
- "referencedDeclaration": 30197,
1500
+ "referencedDeclaration": 30219,
1501
1501
  "src": "2101:5:87",
1502
1502
  "typeDescriptions": {
1503
1503
  "typeIdentifier": "t_contract$_ISuperfluid_$18324",
@@ -1513,32 +1513,32 @@
1513
1513
  }
1514
1514
  ],
1515
1515
  "expression": {
1516
- "id": 30276,
1516
+ "id": 30298,
1517
1517
  "name": "this",
1518
1518
  "nodeType": "Identifier",
1519
1519
  "overloadedDeclarations": [],
1520
1520
  "referencedDeclaration": 4294967268,
1521
1521
  "src": "2074:4:87",
1522
1522
  "typeDescriptions": {
1523
- "typeIdentifier": "t_contract$_SuperTokenFactoryBase_$30487",
1523
+ "typeIdentifier": "t_contract$_SuperTokenFactoryBase_$30509",
1524
1524
  "typeString": "contract SuperTokenFactoryBase"
1525
1525
  }
1526
1526
  },
1527
- "id": 30277,
1527
+ "id": 30299,
1528
1528
  "isConstant": false,
1529
1529
  "isLValue": false,
1530
1530
  "isPure": false,
1531
1531
  "lValueRequested": false,
1532
1532
  "memberName": "createSuperTokenLogic",
1533
1533
  "nodeType": "MemberAccess",
1534
- "referencedDeclaration": 30306,
1534
+ "referencedDeclaration": 30328,
1535
1535
  "src": "2074:26:87",
1536
1536
  "typeDescriptions": {
1537
1537
  "typeIdentifier": "t_function_external_nonpayable$_t_contract$_ISuperfluid_$18324_$returns$_t_address_$",
1538
1538
  "typeString": "function (contract ISuperfluid) external returns (address)"
1539
1539
  }
1540
1540
  },
1541
- "id": 30279,
1541
+ "id": 30301,
1542
1542
  "isConstant": false,
1543
1543
  "isLValue": false,
1544
1544
  "isPure": false,
@@ -1561,18 +1561,18 @@
1561
1561
  "typeString": "address"
1562
1562
  }
1563
1563
  ],
1564
- "id": 30275,
1564
+ "id": 30297,
1565
1565
  "name": "SuperToken",
1566
1566
  "nodeType": "Identifier",
1567
1567
  "overloadedDeclarations": [],
1568
- "referencedDeclaration": 30169,
1568
+ "referencedDeclaration": 30191,
1569
1569
  "src": "2063:10:87",
1570
1570
  "typeDescriptions": {
1571
- "typeIdentifier": "t_type$_t_contract$_SuperToken_$30169_$",
1571
+ "typeIdentifier": "t_type$_t_contract$_SuperToken_$30191_$",
1572
1572
  "typeString": "type(contract SuperToken)"
1573
1573
  }
1574
1574
  },
1575
- "id": 30280,
1575
+ "id": 30302,
1576
1576
  "isConstant": false,
1577
1577
  "isLValue": false,
1578
1578
  "isPure": false,
@@ -1583,7 +1583,7 @@
1583
1583
  "src": "2063:45:87",
1584
1584
  "tryCall": false,
1585
1585
  "typeDescriptions": {
1586
- "typeIdentifier": "t_contract$_SuperToken_$30169",
1586
+ "typeIdentifier": "t_contract$_SuperToken_$30191",
1587
1587
  "typeString": "contract SuperToken"
1588
1588
  }
1589
1589
  },
@@ -1593,7 +1593,7 @@
1593
1593
  "typeString": "contract ISuperToken"
1594
1594
  }
1595
1595
  },
1596
- "id": 30282,
1596
+ "id": 30304,
1597
1597
  "nodeType": "ExpressionStatement",
1598
1598
  "src": "2044:64:87"
1599
1599
  },
@@ -1601,11 +1601,11 @@
1601
1601
  "eventCall": {
1602
1602
  "arguments": [
1603
1603
  {
1604
- "id": 30284,
1604
+ "id": 30306,
1605
1605
  "name": "_superTokenLogic",
1606
1606
  "nodeType": "Identifier",
1607
1607
  "overloadedDeclarations": [],
1608
- "referencedDeclaration": 30200,
1608
+ "referencedDeclaration": 30222,
1609
1609
  "src": "2146:16:87",
1610
1610
  "typeDescriptions": {
1611
1611
  "typeIdentifier": "t_contract$_ISuperToken_$17761",
@@ -1620,7 +1620,7 @@
1620
1620
  "typeString": "contract ISuperToken"
1621
1621
  }
1622
1622
  ],
1623
- "id": 30283,
1623
+ "id": 30305,
1624
1624
  "name": "SuperTokenLogicCreated",
1625
1625
  "nodeType": "Identifier",
1626
1626
  "overloadedDeclarations": [],
@@ -1631,7 +1631,7 @@
1631
1631
  "typeString": "function (contract ISuperToken)"
1632
1632
  }
1633
1633
  },
1634
- "id": 30285,
1634
+ "id": 30307,
1635
1635
  "isConstant": false,
1636
1636
  "isLValue": false,
1637
1637
  "isPure": false,
@@ -1646,13 +1646,13 @@
1646
1646
  "typeString": "tuple()"
1647
1647
  }
1648
1648
  },
1649
- "id": 30286,
1649
+ "id": 30308,
1650
1650
  "nodeType": "EmitStatement",
1651
1651
  "src": "2118:45:87"
1652
1652
  }
1653
1653
  ]
1654
1654
  },
1655
- "id": 30288,
1655
+ "id": 30310,
1656
1656
  "implemented": true,
1657
1657
  "kind": "function",
1658
1658
  "modifiers": [],
@@ -1660,18 +1660,18 @@
1660
1660
  "nameLocation": "1907:22:87",
1661
1661
  "nodeType": "FunctionDefinition",
1662
1662
  "parameters": {
1663
- "id": 30272,
1663
+ "id": 30294,
1664
1664
  "nodeType": "ParameterList",
1665
1665
  "parameters": [],
1666
1666
  "src": "1929:2:87"
1667
1667
  },
1668
1668
  "returnParameters": {
1669
- "id": 30273,
1669
+ "id": 30295,
1670
1670
  "nodeType": "ParameterList",
1671
1671
  "parameters": [],
1672
1672
  "src": "1940:0:87"
1673
1673
  },
1674
- "scope": 30487,
1674
+ "scope": 30509,
1675
1675
  "src": "1898:272:87",
1676
1676
  "stateMutability": "nonpayable",
1677
1677
  "virtual": false,
@@ -1682,32 +1682,32 @@
1682
1682
  17786
1683
1683
  ],
1684
1684
  "body": {
1685
- "id": 30297,
1685
+ "id": 30319,
1686
1686
  "nodeType": "Block",
1687
1687
  "src": "2456:40:87",
1688
1688
  "statements": [
1689
1689
  {
1690
1690
  "expression": {
1691
- "id": 30295,
1691
+ "id": 30317,
1692
1692
  "name": "_superTokenLogic",
1693
1693
  "nodeType": "Identifier",
1694
1694
  "overloadedDeclarations": [],
1695
- "referencedDeclaration": 30200,
1695
+ "referencedDeclaration": 30222,
1696
1696
  "src": "2473:16:87",
1697
1697
  "typeDescriptions": {
1698
1698
  "typeIdentifier": "t_contract$_ISuperToken_$17761",
1699
1699
  "typeString": "contract ISuperToken"
1700
1700
  }
1701
1701
  },
1702
- "functionReturnParameters": 30294,
1703
- "id": 30296,
1702
+ "functionReturnParameters": 30316,
1703
+ "id": 30318,
1704
1704
  "nodeType": "Return",
1705
1705
  "src": "2466:23:87"
1706
1706
  }
1707
1707
  ]
1708
1708
  },
1709
1709
  "functionSelector": "9470a5b2",
1710
- "id": 30298,
1710
+ "id": 30320,
1711
1711
  "implemented": true,
1712
1712
  "kind": "function",
1713
1713
  "modifiers": [],
@@ -1715,29 +1715,29 @@
1715
1715
  "nameLocation": "2370:18:87",
1716
1716
  "nodeType": "FunctionDefinition",
1717
1717
  "overrides": {
1718
- "id": 30290,
1718
+ "id": 30312,
1719
1719
  "nodeType": "OverrideSpecifier",
1720
1720
  "overrides": [],
1721
1721
  "src": "2413:8:87"
1722
1722
  },
1723
1723
  "parameters": {
1724
- "id": 30289,
1724
+ "id": 30311,
1725
1725
  "nodeType": "ParameterList",
1726
1726
  "parameters": [],
1727
1727
  "src": "2388:2:87"
1728
1728
  },
1729
1729
  "returnParameters": {
1730
- "id": 30294,
1730
+ "id": 30316,
1731
1731
  "nodeType": "ParameterList",
1732
1732
  "parameters": [
1733
1733
  {
1734
1734
  "constant": false,
1735
- "id": 30293,
1735
+ "id": 30315,
1736
1736
  "mutability": "mutable",
1737
1737
  "name": "",
1738
1738
  "nameLocation": "-1:-1:-1",
1739
1739
  "nodeType": "VariableDeclaration",
1740
- "scope": 30298,
1740
+ "scope": 30320,
1741
1741
  "src": "2439:11:87",
1742
1742
  "stateVariable": false,
1743
1743
  "storageLocation": "default",
@@ -1746,10 +1746,10 @@
1746
1746
  "typeString": "contract ISuperToken"
1747
1747
  },
1748
1748
  "typeName": {
1749
- "id": 30292,
1749
+ "id": 30314,
1750
1750
  "nodeType": "UserDefinedTypeName",
1751
1751
  "pathNode": {
1752
- "id": 30291,
1752
+ "id": 30313,
1753
1753
  "name": "ISuperToken",
1754
1754
  "nodeType": "IdentifierPath",
1755
1755
  "referencedDeclaration": 17761,
@@ -1767,7 +1767,7 @@
1767
1767
  ],
1768
1768
  "src": "2438:13:87"
1769
1769
  },
1770
- "scope": 30487,
1770
+ "scope": 30509,
1771
1771
  "src": "2361:135:87",
1772
1772
  "stateMutability": "view",
1773
1773
  "virtual": false,
@@ -1775,7 +1775,7 @@
1775
1775
  },
1776
1776
  {
1777
1777
  "functionSelector": "4dcc4d79",
1778
- "id": 30306,
1778
+ "id": 30328,
1779
1779
  "implemented": false,
1780
1780
  "kind": "function",
1781
1781
  "modifiers": [],
@@ -1783,17 +1783,17 @@
1783
1783
  "nameLocation": "2511:21:87",
1784
1784
  "nodeType": "FunctionDefinition",
1785
1785
  "parameters": {
1786
- "id": 30302,
1786
+ "id": 30324,
1787
1787
  "nodeType": "ParameterList",
1788
1788
  "parameters": [
1789
1789
  {
1790
1790
  "constant": false,
1791
- "id": 30301,
1791
+ "id": 30323,
1792
1792
  "mutability": "mutable",
1793
1793
  "name": "host",
1794
1794
  "nameLocation": "2545:4:87",
1795
1795
  "nodeType": "VariableDeclaration",
1796
- "scope": 30306,
1796
+ "scope": 30328,
1797
1797
  "src": "2533:16:87",
1798
1798
  "stateVariable": false,
1799
1799
  "storageLocation": "default",
@@ -1802,10 +1802,10 @@
1802
1802
  "typeString": "contract ISuperfluid"
1803
1803
  },
1804
1804
  "typeName": {
1805
- "id": 30300,
1805
+ "id": 30322,
1806
1806
  "nodeType": "UserDefinedTypeName",
1807
1807
  "pathNode": {
1808
- "id": 30299,
1808
+ "id": 30321,
1809
1809
  "name": "ISuperfluid",
1810
1810
  "nodeType": "IdentifierPath",
1811
1811
  "referencedDeclaration": 18324,
@@ -1824,17 +1824,17 @@
1824
1824
  "src": "2532:18:87"
1825
1825
  },
1826
1826
  "returnParameters": {
1827
- "id": 30305,
1827
+ "id": 30327,
1828
1828
  "nodeType": "ParameterList",
1829
1829
  "parameters": [
1830
1830
  {
1831
1831
  "constant": false,
1832
- "id": 30304,
1832
+ "id": 30326,
1833
1833
  "mutability": "mutable",
1834
1834
  "name": "logic",
1835
1835
  "nameLocation": "2585:5:87",
1836
1836
  "nodeType": "VariableDeclaration",
1837
- "scope": 30306,
1837
+ "scope": 30328,
1838
1838
  "src": "2577:13:87",
1839
1839
  "stateVariable": false,
1840
1840
  "storageLocation": "default",
@@ -1843,7 +1843,7 @@
1843
1843
  "typeString": "address"
1844
1844
  },
1845
1845
  "typeName": {
1846
- "id": 30303,
1846
+ "id": 30325,
1847
1847
  "name": "address",
1848
1848
  "nodeType": "ElementaryTypeName",
1849
1849
  "src": "2577:7:87",
@@ -1858,7 +1858,7 @@
1858
1858
  ],
1859
1859
  "src": "2576:15:87"
1860
1860
  },
1861
- "scope": 30487,
1861
+ "scope": 30509,
1862
1862
  "src": "2502:90:87",
1863
1863
  "stateMutability": "nonpayable",
1864
1864
  "virtual": true,
@@ -1869,7 +1869,7 @@
1869
1869
  17809
1870
1870
  ],
1871
1871
  "body": {
1872
- "id": 30421,
1872
+ "id": 30443,
1873
1873
  "nodeType": "Block",
1874
1874
  "src": "2866:970:87",
1875
1875
  "statements": [
@@ -1881,7 +1881,7 @@
1881
1881
  "typeIdentifier": "t_address",
1882
1882
  "typeString": "address"
1883
1883
  },
1884
- "id": 30334,
1884
+ "id": 30356,
1885
1885
  "isConstant": false,
1886
1886
  "isLValue": false,
1887
1887
  "isPure": false,
@@ -1889,11 +1889,11 @@
1889
1889
  "leftExpression": {
1890
1890
  "arguments": [
1891
1891
  {
1892
- "id": 30328,
1892
+ "id": 30350,
1893
1893
  "name": "underlyingToken",
1894
1894
  "nodeType": "Identifier",
1895
1895
  "overloadedDeclarations": [],
1896
- "referencedDeclaration": 30309,
1896
+ "referencedDeclaration": 30331,
1897
1897
  "src": "2892:15:87",
1898
1898
  "typeDescriptions": {
1899
1899
  "typeIdentifier": "t_contract$_IERC20_$1520",
@@ -1908,7 +1908,7 @@
1908
1908
  "typeString": "contract IERC20"
1909
1909
  }
1910
1910
  ],
1911
- "id": 30327,
1911
+ "id": 30349,
1912
1912
  "isConstant": false,
1913
1913
  "isLValue": false,
1914
1914
  "isPure": true,
@@ -1920,14 +1920,14 @@
1920
1920
  "typeString": "type(address)"
1921
1921
  },
1922
1922
  "typeName": {
1923
- "id": 30326,
1923
+ "id": 30348,
1924
1924
  "name": "address",
1925
1925
  "nodeType": "ElementaryTypeName",
1926
1926
  "src": "2884:7:87",
1927
1927
  "typeDescriptions": {}
1928
1928
  }
1929
1929
  },
1930
- "id": 30329,
1930
+ "id": 30351,
1931
1931
  "isConstant": false,
1932
1932
  "isLValue": false,
1933
1933
  "isPure": false,
@@ -1948,7 +1948,7 @@
1948
1948
  "arguments": [
1949
1949
  {
1950
1950
  "hexValue": "30",
1951
- "id": 30332,
1951
+ "id": 30354,
1952
1952
  "isConstant": false,
1953
1953
  "isLValue": false,
1954
1954
  "isPure": true,
@@ -1970,7 +1970,7 @@
1970
1970
  "typeString": "int_const 0"
1971
1971
  }
1972
1972
  ],
1973
- "id": 30331,
1973
+ "id": 30353,
1974
1974
  "isConstant": false,
1975
1975
  "isLValue": false,
1976
1976
  "isPure": true,
@@ -1982,14 +1982,14 @@
1982
1982
  "typeString": "type(address)"
1983
1983
  },
1984
1984
  "typeName": {
1985
- "id": 30330,
1985
+ "id": 30352,
1986
1986
  "name": "address",
1987
1987
  "nodeType": "ElementaryTypeName",
1988
1988
  "src": "2912:7:87",
1989
1989
  "typeDescriptions": {}
1990
1990
  }
1991
1991
  },
1992
- "id": 30333,
1992
+ "id": 30355,
1993
1993
  "isConstant": false,
1994
1994
  "isLValue": false,
1995
1995
  "isPure": true,
@@ -2012,7 +2012,7 @@
2012
2012
  },
2013
2013
  {
2014
2014
  "hexValue": "5375706572546f6b656e466163746f72793a207a65726f2061646472657373",
2015
- "id": 30335,
2015
+ "id": 30357,
2016
2016
  "isConstant": false,
2017
2017
  "isLValue": false,
2018
2018
  "isPure": true,
@@ -2038,7 +2038,7 @@
2038
2038
  "typeString": "literal_string \"SuperTokenFactory: zero address\""
2039
2039
  }
2040
2040
  ],
2041
- "id": 30325,
2041
+ "id": 30347,
2042
2042
  "name": "require",
2043
2043
  "nodeType": "Identifier",
2044
2044
  "overloadedDeclarations": [
@@ -2052,7 +2052,7 @@
2052
2052
  "typeString": "function (bool,string memory) pure"
2053
2053
  }
2054
2054
  },
2055
- "id": 30336,
2055
+ "id": 30358,
2056
2056
  "isConstant": false,
2057
2057
  "isLValue": false,
2058
2058
  "isPure": false,
@@ -2067,7 +2067,7 @@
2067
2067
  "typeString": "tuple()"
2068
2068
  }
2069
2069
  },
2070
- "id": 30337,
2070
+ "id": 30359,
2071
2071
  "nodeType": "ExpressionStatement",
2072
2072
  "src": "2876:82:87"
2073
2073
  },
@@ -2077,17 +2077,17 @@
2077
2077
  "typeIdentifier": "t_enum$_Upgradability_$17790",
2078
2078
  "typeString": "enum ISuperTokenFactory.Upgradability"
2079
2079
  },
2080
- "id": 30341,
2080
+ "id": 30363,
2081
2081
  "isConstant": false,
2082
2082
  "isLValue": false,
2083
2083
  "isPure": false,
2084
2084
  "lValueRequested": false,
2085
2085
  "leftExpression": {
2086
- "id": 30338,
2086
+ "id": 30360,
2087
2087
  "name": "upgradability",
2088
2088
  "nodeType": "Identifier",
2089
2089
  "overloadedDeclarations": [],
2090
- "referencedDeclaration": 30314,
2090
+ "referencedDeclaration": 30336,
2091
2091
  "src": "2973:13:87",
2092
2092
  "typeDescriptions": {
2093
2093
  "typeIdentifier": "t_enum$_Upgradability_$17790",
@@ -2098,7 +2098,7 @@
2098
2098
  "operator": "==",
2099
2099
  "rightExpression": {
2100
2100
  "expression": {
2101
- "id": 30339,
2101
+ "id": 30361,
2102
2102
  "name": "Upgradability",
2103
2103
  "nodeType": "Identifier",
2104
2104
  "overloadedDeclarations": [],
@@ -2109,7 +2109,7 @@
2109
2109
  "typeString": "type(enum ISuperTokenFactory.Upgradability)"
2110
2110
  }
2111
2111
  },
2112
- "id": 30340,
2112
+ "id": 30362,
2113
2113
  "isConstant": false,
2114
2114
  "isLValue": false,
2115
2115
  "isPure": true,
@@ -2135,17 +2135,17 @@
2135
2135
  "typeIdentifier": "t_enum$_Upgradability_$17790",
2136
2136
  "typeString": "enum ISuperTokenFactory.Upgradability"
2137
2137
  },
2138
- "id": 30355,
2138
+ "id": 30377,
2139
2139
  "isConstant": false,
2140
2140
  "isLValue": false,
2141
2141
  "isPure": false,
2142
2142
  "lValueRequested": false,
2143
2143
  "leftExpression": {
2144
- "id": 30352,
2144
+ "id": 30374,
2145
2145
  "name": "upgradability",
2146
2146
  "nodeType": "Identifier",
2147
2147
  "overloadedDeclarations": [],
2148
- "referencedDeclaration": 30314,
2148
+ "referencedDeclaration": 30336,
2149
2149
  "src": "3114:13:87",
2150
2150
  "typeDescriptions": {
2151
2151
  "typeIdentifier": "t_enum$_Upgradability_$17790",
@@ -2156,7 +2156,7 @@
2156
2156
  "operator": "==",
2157
2157
  "rightExpression": {
2158
2158
  "expression": {
2159
- "id": 30353,
2159
+ "id": 30375,
2160
2160
  "name": "Upgradability",
2161
2161
  "nodeType": "Identifier",
2162
2162
  "overloadedDeclarations": [],
@@ -2167,7 +2167,7 @@
2167
2167
  "typeString": "type(enum ISuperTokenFactory.Upgradability)"
2168
2168
  }
2169
2169
  },
2170
- "id": 30354,
2170
+ "id": 30376,
2171
2171
  "isConstant": false,
2172
2172
  "isLValue": false,
2173
2173
  "isPure": true,
@@ -2188,56 +2188,56 @@
2188
2188
  }
2189
2189
  },
2190
2190
  "falseBody": {
2191
- "id": 30405,
2191
+ "id": 30427,
2192
2192
  "nodeType": "Block",
2193
2193
  "src": "3428:184:87",
2194
2194
  "statements": [
2195
2195
  {
2196
2196
  "assignments": [
2197
- 30385
2197
+ 30407
2198
2198
  ],
2199
2199
  "declarations": [
2200
2200
  {
2201
2201
  "constant": false,
2202
- "id": 30385,
2202
+ "id": 30407,
2203
2203
  "mutability": "mutable",
2204
2204
  "name": "proxy",
2205
2205
  "nameLocation": "3472:5:87",
2206
2206
  "nodeType": "VariableDeclaration",
2207
- "scope": 30405,
2207
+ "scope": 30427,
2208
2208
  "src": "3442:35:87",
2209
2209
  "stateVariable": false,
2210
2210
  "storageLocation": "default",
2211
2211
  "typeDescriptions": {
2212
- "typeIdentifier": "t_contract$_FullUpgradableSuperTokenProxy_$28577",
2212
+ "typeIdentifier": "t_contract$_FullUpgradableSuperTokenProxy_$28599",
2213
2213
  "typeString": "contract FullUpgradableSuperTokenProxy"
2214
2214
  },
2215
2215
  "typeName": {
2216
- "id": 30384,
2216
+ "id": 30406,
2217
2217
  "nodeType": "UserDefinedTypeName",
2218
2218
  "pathNode": {
2219
- "id": 30383,
2219
+ "id": 30405,
2220
2220
  "name": "FullUpgradableSuperTokenProxy",
2221
2221
  "nodeType": "IdentifierPath",
2222
- "referencedDeclaration": 28577,
2222
+ "referencedDeclaration": 28599,
2223
2223
  "src": "3442:29:87"
2224
2224
  },
2225
- "referencedDeclaration": 28577,
2225
+ "referencedDeclaration": 28599,
2226
2226
  "src": "3442:29:87",
2227
2227
  "typeDescriptions": {
2228
- "typeIdentifier": "t_contract$_FullUpgradableSuperTokenProxy_$28577",
2228
+ "typeIdentifier": "t_contract$_FullUpgradableSuperTokenProxy_$28599",
2229
2229
  "typeString": "contract FullUpgradableSuperTokenProxy"
2230
2230
  }
2231
2231
  },
2232
2232
  "visibility": "internal"
2233
2233
  }
2234
2234
  ],
2235
- "id": 30390,
2235
+ "id": 30412,
2236
2236
  "initialValue": {
2237
2237
  "arguments": [],
2238
2238
  "expression": {
2239
2239
  "argumentTypes": [],
2240
- "id": 30388,
2240
+ "id": 30410,
2241
2241
  "isConstant": false,
2242
2242
  "isLValue": false,
2243
2243
  "isPure": false,
@@ -2245,28 +2245,28 @@
2245
2245
  "nodeType": "NewExpression",
2246
2246
  "src": "3480:33:87",
2247
2247
  "typeDescriptions": {
2248
- "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_FullUpgradableSuperTokenProxy_$28577_$",
2248
+ "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_FullUpgradableSuperTokenProxy_$28599_$",
2249
2249
  "typeString": "function () returns (contract FullUpgradableSuperTokenProxy)"
2250
2250
  },
2251
2251
  "typeName": {
2252
- "id": 30387,
2252
+ "id": 30409,
2253
2253
  "nodeType": "UserDefinedTypeName",
2254
2254
  "pathNode": {
2255
- "id": 30386,
2255
+ "id": 30408,
2256
2256
  "name": "FullUpgradableSuperTokenProxy",
2257
2257
  "nodeType": "IdentifierPath",
2258
- "referencedDeclaration": 28577,
2258
+ "referencedDeclaration": 28599,
2259
2259
  "src": "3484:29:87"
2260
2260
  },
2261
- "referencedDeclaration": 28577,
2261
+ "referencedDeclaration": 28599,
2262
2262
  "src": "3484:29:87",
2263
2263
  "typeDescriptions": {
2264
- "typeIdentifier": "t_contract$_FullUpgradableSuperTokenProxy_$28577",
2264
+ "typeIdentifier": "t_contract$_FullUpgradableSuperTokenProxy_$28599",
2265
2265
  "typeString": "contract FullUpgradableSuperTokenProxy"
2266
2266
  }
2267
2267
  }
2268
2268
  },
2269
- "id": 30389,
2269
+ "id": 30411,
2270
2270
  "isConstant": false,
2271
2271
  "isLValue": false,
2272
2272
  "isPure": false,
@@ -2277,7 +2277,7 @@
2277
2277
  "src": "3480:35:87",
2278
2278
  "tryCall": false,
2279
2279
  "typeDescriptions": {
2280
- "typeIdentifier": "t_contract$_FullUpgradableSuperTokenProxy_$28577",
2280
+ "typeIdentifier": "t_contract$_FullUpgradableSuperTokenProxy_$28599",
2281
2281
  "typeString": "contract FullUpgradableSuperTokenProxy"
2282
2282
  }
2283
2283
  },
@@ -2290,32 +2290,32 @@
2290
2290
  "expression": {
2291
2291
  "argumentTypes": [],
2292
2292
  "expression": {
2293
- "id": 30391,
2293
+ "id": 30413,
2294
2294
  "name": "proxy",
2295
2295
  "nodeType": "Identifier",
2296
2296
  "overloadedDeclarations": [],
2297
- "referencedDeclaration": 30385,
2297
+ "referencedDeclaration": 30407,
2298
2298
  "src": "3529:5:87",
2299
2299
  "typeDescriptions": {
2300
- "typeIdentifier": "t_contract$_FullUpgradableSuperTokenProxy_$28577",
2300
+ "typeIdentifier": "t_contract$_FullUpgradableSuperTokenProxy_$28599",
2301
2301
  "typeString": "contract FullUpgradableSuperTokenProxy"
2302
2302
  }
2303
2303
  },
2304
- "id": 30393,
2304
+ "id": 30415,
2305
2305
  "isConstant": false,
2306
2306
  "isLValue": false,
2307
2307
  "isPure": false,
2308
2308
  "lValueRequested": false,
2309
2309
  "memberName": "initialize",
2310
2310
  "nodeType": "MemberAccess",
2311
- "referencedDeclaration": 28544,
2311
+ "referencedDeclaration": 28567,
2312
2312
  "src": "3529:16:87",
2313
2313
  "typeDescriptions": {
2314
2314
  "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
2315
2315
  "typeString": "function () external"
2316
2316
  }
2317
2317
  },
2318
- "id": 30394,
2318
+ "id": 30416,
2319
2319
  "isConstant": false,
2320
2320
  "isLValue": false,
2321
2321
  "isPure": false,
@@ -2330,23 +2330,23 @@
2330
2330
  "typeString": "tuple()"
2331
2331
  }
2332
2332
  },
2333
- "id": 30395,
2333
+ "id": 30417,
2334
2334
  "nodeType": "ExpressionStatement",
2335
2335
  "src": "3529:18:87"
2336
2336
  },
2337
2337
  {
2338
2338
  "expression": {
2339
- "id": 30403,
2339
+ "id": 30425,
2340
2340
  "isConstant": false,
2341
2341
  "isLValue": false,
2342
2342
  "isPure": false,
2343
2343
  "lValueRequested": false,
2344
2344
  "leftHandSide": {
2345
- "id": 30396,
2345
+ "id": 30418,
2346
2346
  "name": "superToken",
2347
2347
  "nodeType": "Identifier",
2348
2348
  "overloadedDeclarations": [],
2349
- "referencedDeclaration": 30323,
2349
+ "referencedDeclaration": 30345,
2350
2350
  "src": "3561:10:87",
2351
2351
  "typeDescriptions": {
2352
2352
  "typeIdentifier": "t_contract$_ISuperToken_$17761",
@@ -2360,14 +2360,14 @@
2360
2360
  {
2361
2361
  "arguments": [
2362
2362
  {
2363
- "id": 30400,
2363
+ "id": 30422,
2364
2364
  "name": "proxy",
2365
2365
  "nodeType": "Identifier",
2366
2366
  "overloadedDeclarations": [],
2367
- "referencedDeclaration": 30385,
2367
+ "referencedDeclaration": 30407,
2368
2368
  "src": "3594:5:87",
2369
2369
  "typeDescriptions": {
2370
- "typeIdentifier": "t_contract$_FullUpgradableSuperTokenProxy_$28577",
2370
+ "typeIdentifier": "t_contract$_FullUpgradableSuperTokenProxy_$28599",
2371
2371
  "typeString": "contract FullUpgradableSuperTokenProxy"
2372
2372
  }
2373
2373
  }
@@ -2375,11 +2375,11 @@
2375
2375
  "expression": {
2376
2376
  "argumentTypes": [
2377
2377
  {
2378
- "typeIdentifier": "t_contract$_FullUpgradableSuperTokenProxy_$28577",
2378
+ "typeIdentifier": "t_contract$_FullUpgradableSuperTokenProxy_$28599",
2379
2379
  "typeString": "contract FullUpgradableSuperTokenProxy"
2380
2380
  }
2381
2381
  ],
2382
- "id": 30399,
2382
+ "id": 30421,
2383
2383
  "isConstant": false,
2384
2384
  "isLValue": false,
2385
2385
  "isPure": true,
@@ -2391,14 +2391,14 @@
2391
2391
  "typeString": "type(address)"
2392
2392
  },
2393
2393
  "typeName": {
2394
- "id": 30398,
2394
+ "id": 30420,
2395
2395
  "name": "address",
2396
2396
  "nodeType": "ElementaryTypeName",
2397
2397
  "src": "3586:7:87",
2398
2398
  "typeDescriptions": {}
2399
2399
  }
2400
2400
  },
2401
- "id": 30401,
2401
+ "id": 30423,
2402
2402
  "isConstant": false,
2403
2403
  "isLValue": false,
2404
2404
  "isPure": false,
@@ -2421,7 +2421,7 @@
2421
2421
  "typeString": "address"
2422
2422
  }
2423
2423
  ],
2424
- "id": 30397,
2424
+ "id": 30419,
2425
2425
  "name": "ISuperToken",
2426
2426
  "nodeType": "Identifier",
2427
2427
  "overloadedDeclarations": [],
@@ -2432,7 +2432,7 @@
2432
2432
  "typeString": "type(contract ISuperToken)"
2433
2433
  }
2434
2434
  },
2435
- "id": 30402,
2435
+ "id": 30424,
2436
2436
  "isConstant": false,
2437
2437
  "isLValue": false,
2438
2438
  "isPure": false,
@@ -2453,66 +2453,66 @@
2453
2453
  "typeString": "contract ISuperToken"
2454
2454
  }
2455
2455
  },
2456
- "id": 30404,
2456
+ "id": 30426,
2457
2457
  "nodeType": "ExpressionStatement",
2458
2458
  "src": "3561:40:87"
2459
2459
  }
2460
2460
  ]
2461
2461
  },
2462
- "id": 30406,
2462
+ "id": 30428,
2463
2463
  "nodeType": "IfStatement",
2464
2464
  "src": "3110:502:87",
2465
2465
  "trueBody": {
2466
- "id": 30382,
2466
+ "id": 30404,
2467
2467
  "nodeType": "Block",
2468
2468
  "src": "3162:212:87",
2469
2469
  "statements": [
2470
2470
  {
2471
2471
  "assignments": [
2472
- 30358
2472
+ 30380
2473
2473
  ],
2474
2474
  "declarations": [
2475
2475
  {
2476
2476
  "constant": false,
2477
- "id": 30358,
2477
+ "id": 30380,
2478
2478
  "mutability": "mutable",
2479
2479
  "name": "proxy",
2480
2480
  "nameLocation": "3186:5:87",
2481
2481
  "nodeType": "VariableDeclaration",
2482
- "scope": 30382,
2482
+ "scope": 30404,
2483
2483
  "src": "3176:15:87",
2484
2484
  "stateVariable": false,
2485
2485
  "storageLocation": "default",
2486
2486
  "typeDescriptions": {
2487
- "typeIdentifier": "t_contract$_UUPSProxy_$34895",
2487
+ "typeIdentifier": "t_contract$_UUPSProxy_$34914",
2488
2488
  "typeString": "contract UUPSProxy"
2489
2489
  },
2490
2490
  "typeName": {
2491
- "id": 30357,
2491
+ "id": 30379,
2492
2492
  "nodeType": "UserDefinedTypeName",
2493
2493
  "pathNode": {
2494
- "id": 30356,
2494
+ "id": 30378,
2495
2495
  "name": "UUPSProxy",
2496
2496
  "nodeType": "IdentifierPath",
2497
- "referencedDeclaration": 34895,
2497
+ "referencedDeclaration": 34914,
2498
2498
  "src": "3176:9:87"
2499
2499
  },
2500
- "referencedDeclaration": 34895,
2500
+ "referencedDeclaration": 34914,
2501
2501
  "src": "3176:9:87",
2502
2502
  "typeDescriptions": {
2503
- "typeIdentifier": "t_contract$_UUPSProxy_$34895",
2503
+ "typeIdentifier": "t_contract$_UUPSProxy_$34914",
2504
2504
  "typeString": "contract UUPSProxy"
2505
2505
  }
2506
2506
  },
2507
2507
  "visibility": "internal"
2508
2508
  }
2509
2509
  ],
2510
- "id": 30363,
2510
+ "id": 30385,
2511
2511
  "initialValue": {
2512
2512
  "arguments": [],
2513
2513
  "expression": {
2514
2514
  "argumentTypes": [],
2515
- "id": 30361,
2515
+ "id": 30383,
2516
2516
  "isConstant": false,
2517
2517
  "isLValue": false,
2518
2518
  "isPure": false,
@@ -2520,28 +2520,28 @@
2520
2520
  "nodeType": "NewExpression",
2521
2521
  "src": "3194:13:87",
2522
2522
  "typeDescriptions": {
2523
- "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_UUPSProxy_$34895_$",
2523
+ "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_UUPSProxy_$34914_$",
2524
2524
  "typeString": "function () returns (contract UUPSProxy)"
2525
2525
  },
2526
2526
  "typeName": {
2527
- "id": 30360,
2527
+ "id": 30382,
2528
2528
  "nodeType": "UserDefinedTypeName",
2529
2529
  "pathNode": {
2530
- "id": 30359,
2530
+ "id": 30381,
2531
2531
  "name": "UUPSProxy",
2532
2532
  "nodeType": "IdentifierPath",
2533
- "referencedDeclaration": 34895,
2533
+ "referencedDeclaration": 34914,
2534
2534
  "src": "3198:9:87"
2535
2535
  },
2536
- "referencedDeclaration": 34895,
2536
+ "referencedDeclaration": 34914,
2537
2537
  "src": "3198:9:87",
2538
2538
  "typeDescriptions": {
2539
- "typeIdentifier": "t_contract$_UUPSProxy_$34895",
2539
+ "typeIdentifier": "t_contract$_UUPSProxy_$34914",
2540
2540
  "typeString": "contract UUPSProxy"
2541
2541
  }
2542
2542
  }
2543
2543
  },
2544
- "id": 30362,
2544
+ "id": 30384,
2545
2545
  "isConstant": false,
2546
2546
  "isLValue": false,
2547
2547
  "isPure": false,
@@ -2552,7 +2552,7 @@
2552
2552
  "src": "3194:15:87",
2553
2553
  "tryCall": false,
2554
2554
  "typeDescriptions": {
2555
- "typeIdentifier": "t_contract$_UUPSProxy_$34895",
2555
+ "typeIdentifier": "t_contract$_UUPSProxy_$34914",
2556
2556
  "typeString": "contract UUPSProxy"
2557
2557
  }
2558
2558
  },
@@ -2565,11 +2565,11 @@
2565
2565
  {
2566
2566
  "arguments": [
2567
2567
  {
2568
- "id": 30369,
2568
+ "id": 30391,
2569
2569
  "name": "_superTokenLogic",
2570
2570
  "nodeType": "Identifier",
2571
2571
  "overloadedDeclarations": [],
2572
- "referencedDeclaration": 30200,
2572
+ "referencedDeclaration": 30222,
2573
2573
  "src": "3291:16:87",
2574
2574
  "typeDescriptions": {
2575
2575
  "typeIdentifier": "t_contract$_ISuperToken_$17761",
@@ -2584,7 +2584,7 @@
2584
2584
  "typeString": "contract ISuperToken"
2585
2585
  }
2586
2586
  ],
2587
- "id": 30368,
2587
+ "id": 30390,
2588
2588
  "isConstant": false,
2589
2589
  "isLValue": false,
2590
2590
  "isPure": true,
@@ -2596,14 +2596,14 @@
2596
2596
  "typeString": "type(address)"
2597
2597
  },
2598
2598
  "typeName": {
2599
- "id": 30367,
2599
+ "id": 30389,
2600
2600
  "name": "address",
2601
2601
  "nodeType": "ElementaryTypeName",
2602
2602
  "src": "3283:7:87",
2603
2603
  "typeDescriptions": {}
2604
2604
  }
2605
2605
  },
2606
- "id": 30370,
2606
+ "id": 30392,
2607
2607
  "isConstant": false,
2608
2608
  "isLValue": false,
2609
2609
  "isPure": false,
@@ -2627,32 +2627,32 @@
2627
2627
  }
2628
2628
  ],
2629
2629
  "expression": {
2630
- "id": 30364,
2630
+ "id": 30386,
2631
2631
  "name": "proxy",
2632
2632
  "nodeType": "Identifier",
2633
2633
  "overloadedDeclarations": [],
2634
- "referencedDeclaration": 30358,
2634
+ "referencedDeclaration": 30380,
2635
2635
  "src": "3261:5:87",
2636
2636
  "typeDescriptions": {
2637
- "typeIdentifier": "t_contract$_UUPSProxy_$34895",
2637
+ "typeIdentifier": "t_contract$_UUPSProxy_$34914",
2638
2638
  "typeString": "contract UUPSProxy"
2639
2639
  }
2640
2640
  },
2641
- "id": 30366,
2641
+ "id": 30388,
2642
2642
  "isConstant": false,
2643
2643
  "isLValue": false,
2644
2644
  "isPure": false,
2645
2645
  "lValueRequested": false,
2646
2646
  "memberName": "initializeProxy",
2647
2647
  "nodeType": "MemberAccess",
2648
- "referencedDeclaration": 34882,
2648
+ "referencedDeclaration": 34901,
2649
2649
  "src": "3261:21:87",
2650
2650
  "typeDescriptions": {
2651
2651
  "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
2652
2652
  "typeString": "function (address) external"
2653
2653
  }
2654
2654
  },
2655
- "id": 30371,
2655
+ "id": 30393,
2656
2656
  "isConstant": false,
2657
2657
  "isLValue": false,
2658
2658
  "isPure": false,
@@ -2667,23 +2667,23 @@
2667
2667
  "typeString": "tuple()"
2668
2668
  }
2669
2669
  },
2670
- "id": 30372,
2670
+ "id": 30394,
2671
2671
  "nodeType": "ExpressionStatement",
2672
2672
  "src": "3261:48:87"
2673
2673
  },
2674
2674
  {
2675
2675
  "expression": {
2676
- "id": 30380,
2676
+ "id": 30402,
2677
2677
  "isConstant": false,
2678
2678
  "isLValue": false,
2679
2679
  "isPure": false,
2680
2680
  "lValueRequested": false,
2681
2681
  "leftHandSide": {
2682
- "id": 30373,
2682
+ "id": 30395,
2683
2683
  "name": "superToken",
2684
2684
  "nodeType": "Identifier",
2685
2685
  "overloadedDeclarations": [],
2686
- "referencedDeclaration": 30323,
2686
+ "referencedDeclaration": 30345,
2687
2687
  "src": "3323:10:87",
2688
2688
  "typeDescriptions": {
2689
2689
  "typeIdentifier": "t_contract$_ISuperToken_$17761",
@@ -2697,14 +2697,14 @@
2697
2697
  {
2698
2698
  "arguments": [
2699
2699
  {
2700
- "id": 30377,
2700
+ "id": 30399,
2701
2701
  "name": "proxy",
2702
2702
  "nodeType": "Identifier",
2703
2703
  "overloadedDeclarations": [],
2704
- "referencedDeclaration": 30358,
2704
+ "referencedDeclaration": 30380,
2705
2705
  "src": "3356:5:87",
2706
2706
  "typeDescriptions": {
2707
- "typeIdentifier": "t_contract$_UUPSProxy_$34895",
2707
+ "typeIdentifier": "t_contract$_UUPSProxy_$34914",
2708
2708
  "typeString": "contract UUPSProxy"
2709
2709
  }
2710
2710
  }
@@ -2712,11 +2712,11 @@
2712
2712
  "expression": {
2713
2713
  "argumentTypes": [
2714
2714
  {
2715
- "typeIdentifier": "t_contract$_UUPSProxy_$34895",
2715
+ "typeIdentifier": "t_contract$_UUPSProxy_$34914",
2716
2716
  "typeString": "contract UUPSProxy"
2717
2717
  }
2718
2718
  ],
2719
- "id": 30376,
2719
+ "id": 30398,
2720
2720
  "isConstant": false,
2721
2721
  "isLValue": false,
2722
2722
  "isPure": true,
@@ -2728,14 +2728,14 @@
2728
2728
  "typeString": "type(address)"
2729
2729
  },
2730
2730
  "typeName": {
2731
- "id": 30375,
2731
+ "id": 30397,
2732
2732
  "name": "address",
2733
2733
  "nodeType": "ElementaryTypeName",
2734
2734
  "src": "3348:7:87",
2735
2735
  "typeDescriptions": {}
2736
2736
  }
2737
2737
  },
2738
- "id": 30378,
2738
+ "id": 30400,
2739
2739
  "isConstant": false,
2740
2740
  "isLValue": false,
2741
2741
  "isPure": false,
@@ -2758,7 +2758,7 @@
2758
2758
  "typeString": "address"
2759
2759
  }
2760
2760
  ],
2761
- "id": 30374,
2761
+ "id": 30396,
2762
2762
  "name": "ISuperToken",
2763
2763
  "nodeType": "Identifier",
2764
2764
  "overloadedDeclarations": [],
@@ -2769,7 +2769,7 @@
2769
2769
  "typeString": "type(contract ISuperToken)"
2770
2770
  }
2771
2771
  },
2772
- "id": 30379,
2772
+ "id": 30401,
2773
2773
  "isConstant": false,
2774
2774
  "isLValue": false,
2775
2775
  "isPure": false,
@@ -2790,34 +2790,34 @@
2790
2790
  "typeString": "contract ISuperToken"
2791
2791
  }
2792
2792
  },
2793
- "id": 30381,
2793
+ "id": 30403,
2794
2794
  "nodeType": "ExpressionStatement",
2795
2795
  "src": "3323:40:87"
2796
2796
  }
2797
2797
  ]
2798
2798
  }
2799
2799
  },
2800
- "id": 30407,
2800
+ "id": 30429,
2801
2801
  "nodeType": "IfStatement",
2802
2802
  "src": "2969:643:87",
2803
2803
  "trueBody": {
2804
- "id": 30351,
2804
+ "id": 30373,
2805
2805
  "nodeType": "Block",
2806
2806
  "src": "3020:84:87",
2807
2807
  "statements": [
2808
2808
  {
2809
2809
  "expression": {
2810
- "id": 30349,
2810
+ "id": 30371,
2811
2811
  "isConstant": false,
2812
2812
  "isLValue": false,
2813
2813
  "isPure": false,
2814
2814
  "lValueRequested": false,
2815
2815
  "leftHandSide": {
2816
- "id": 30342,
2816
+ "id": 30364,
2817
2817
  "name": "superToken",
2818
2818
  "nodeType": "Identifier",
2819
2819
  "overloadedDeclarations": [],
2820
- "referencedDeclaration": 30323,
2820
+ "referencedDeclaration": 30345,
2821
2821
  "src": "3034:10:87",
2822
2822
  "typeDescriptions": {
2823
2823
  "typeIdentifier": "t_contract$_ISuperToken_$17761",
@@ -2831,11 +2831,11 @@
2831
2831
  {
2832
2832
  "arguments": [
2833
2833
  {
2834
- "id": 30346,
2834
+ "id": 30368,
2835
2835
  "name": "_host",
2836
2836
  "nodeType": "Identifier",
2837
2837
  "overloadedDeclarations": [],
2838
- "referencedDeclaration": 30197,
2838
+ "referencedDeclaration": 30219,
2839
2839
  "src": "3086:5:87",
2840
2840
  "typeDescriptions": {
2841
2841
  "typeIdentifier": "t_contract$_ISuperfluid_$18324",
@@ -2851,32 +2851,32 @@
2851
2851
  }
2852
2852
  ],
2853
2853
  "expression": {
2854
- "id": 30344,
2854
+ "id": 30366,
2855
2855
  "name": "this",
2856
2856
  "nodeType": "Identifier",
2857
2857
  "overloadedDeclarations": [],
2858
2858
  "referencedDeclaration": 4294967268,
2859
2859
  "src": "3059:4:87",
2860
2860
  "typeDescriptions": {
2861
- "typeIdentifier": "t_contract$_SuperTokenFactoryBase_$30487",
2861
+ "typeIdentifier": "t_contract$_SuperTokenFactoryBase_$30509",
2862
2862
  "typeString": "contract SuperTokenFactoryBase"
2863
2863
  }
2864
2864
  },
2865
- "id": 30345,
2865
+ "id": 30367,
2866
2866
  "isConstant": false,
2867
2867
  "isLValue": false,
2868
2868
  "isPure": false,
2869
2869
  "lValueRequested": false,
2870
2870
  "memberName": "createSuperTokenLogic",
2871
2871
  "nodeType": "MemberAccess",
2872
- "referencedDeclaration": 30306,
2872
+ "referencedDeclaration": 30328,
2873
2873
  "src": "3059:26:87",
2874
2874
  "typeDescriptions": {
2875
2875
  "typeIdentifier": "t_function_external_nonpayable$_t_contract$_ISuperfluid_$18324_$returns$_t_address_$",
2876
2876
  "typeString": "function (contract ISuperfluid) external returns (address)"
2877
2877
  }
2878
2878
  },
2879
- "id": 30347,
2879
+ "id": 30369,
2880
2880
  "isConstant": false,
2881
2881
  "isLValue": false,
2882
2882
  "isPure": false,
@@ -2899,7 +2899,7 @@
2899
2899
  "typeString": "address"
2900
2900
  }
2901
2901
  ],
2902
- "id": 30343,
2902
+ "id": 30365,
2903
2903
  "name": "ISuperToken",
2904
2904
  "nodeType": "Identifier",
2905
2905
  "overloadedDeclarations": [],
@@ -2910,7 +2910,7 @@
2910
2910
  "typeString": "type(contract ISuperToken)"
2911
2911
  }
2912
2912
  },
2913
- "id": 30348,
2913
+ "id": 30370,
2914
2914
  "isConstant": false,
2915
2915
  "isLValue": false,
2916
2916
  "isPure": false,
@@ -2931,7 +2931,7 @@
2931
2931
  "typeString": "contract ISuperToken"
2932
2932
  }
2933
2933
  },
2934
- "id": 30350,
2934
+ "id": 30372,
2935
2935
  "nodeType": "ExpressionStatement",
2936
2936
  "src": "3034:59:87"
2937
2937
  }
@@ -2942,11 +2942,11 @@
2942
2942
  "expression": {
2943
2943
  "arguments": [
2944
2944
  {
2945
- "id": 30411,
2945
+ "id": 30433,
2946
2946
  "name": "underlyingToken",
2947
2947
  "nodeType": "Identifier",
2948
2948
  "overloadedDeclarations": [],
2949
- "referencedDeclaration": 30309,
2949
+ "referencedDeclaration": 30331,
2950
2950
  "src": "3689:15:87",
2951
2951
  "typeDescriptions": {
2952
2952
  "typeIdentifier": "t_contract$_IERC20_$1520",
@@ -2954,11 +2954,11 @@
2954
2954
  }
2955
2955
  },
2956
2956
  {
2957
- "id": 30412,
2957
+ "id": 30434,
2958
2958
  "name": "underlyingDecimals",
2959
2959
  "nodeType": "Identifier",
2960
2960
  "overloadedDeclarations": [],
2961
- "referencedDeclaration": 30311,
2961
+ "referencedDeclaration": 30333,
2962
2962
  "src": "3718:18:87",
2963
2963
  "typeDescriptions": {
2964
2964
  "typeIdentifier": "t_uint8",
@@ -2966,11 +2966,11 @@
2966
2966
  }
2967
2967
  },
2968
2968
  {
2969
- "id": 30413,
2969
+ "id": 30435,
2970
2970
  "name": "name",
2971
2971
  "nodeType": "Identifier",
2972
2972
  "overloadedDeclarations": [],
2973
- "referencedDeclaration": 30316,
2973
+ "referencedDeclaration": 30338,
2974
2974
  "src": "3750:4:87",
2975
2975
  "typeDescriptions": {
2976
2976
  "typeIdentifier": "t_string_calldata_ptr",
@@ -2978,11 +2978,11 @@
2978
2978
  }
2979
2979
  },
2980
2980
  {
2981
- "id": 30414,
2981
+ "id": 30436,
2982
2982
  "name": "symbol",
2983
2983
  "nodeType": "Identifier",
2984
2984
  "overloadedDeclarations": [],
2985
- "referencedDeclaration": 30318,
2985
+ "referencedDeclaration": 30340,
2986
2986
  "src": "3768:6:87",
2987
2987
  "typeDescriptions": {
2988
2988
  "typeIdentifier": "t_string_calldata_ptr",
@@ -3010,18 +3010,18 @@
3010
3010
  }
3011
3011
  ],
3012
3012
  "expression": {
3013
- "id": 30408,
3013
+ "id": 30430,
3014
3014
  "name": "superToken",
3015
3015
  "nodeType": "Identifier",
3016
3016
  "overloadedDeclarations": [],
3017
- "referencedDeclaration": 30323,
3017
+ "referencedDeclaration": 30345,
3018
3018
  "src": "3654:10:87",
3019
3019
  "typeDescriptions": {
3020
3020
  "typeIdentifier": "t_contract$_ISuperToken_$17761",
3021
3021
  "typeString": "contract ISuperToken"
3022
3022
  }
3023
3023
  },
3024
- "id": 30410,
3024
+ "id": 30432,
3025
3025
  "isConstant": false,
3026
3026
  "isLValue": false,
3027
3027
  "isPure": false,
@@ -3035,7 +3035,7 @@
3035
3035
  "typeString": "function (contract IERC20,uint8,string memory,string memory) external"
3036
3036
  }
3037
3037
  },
3038
- "id": 30415,
3038
+ "id": 30437,
3039
3039
  "isConstant": false,
3040
3040
  "isLValue": false,
3041
3041
  "isPure": false,
@@ -3050,7 +3050,7 @@
3050
3050
  "typeString": "tuple()"
3051
3051
  }
3052
3052
  },
3053
- "id": 30416,
3053
+ "id": 30438,
3054
3054
  "nodeType": "ExpressionStatement",
3055
3055
  "src": "3654:130:87"
3056
3056
  },
@@ -3058,11 +3058,11 @@
3058
3058
  "eventCall": {
3059
3059
  "arguments": [
3060
3060
  {
3061
- "id": 30418,
3061
+ "id": 30440,
3062
3062
  "name": "superToken",
3063
3063
  "nodeType": "Identifier",
3064
3064
  "overloadedDeclarations": [],
3065
- "referencedDeclaration": 30323,
3065
+ "referencedDeclaration": 30345,
3066
3066
  "src": "3818:10:87",
3067
3067
  "typeDescriptions": {
3068
3068
  "typeIdentifier": "t_contract$_ISuperToken_$17761",
@@ -3077,7 +3077,7 @@
3077
3077
  "typeString": "contract ISuperToken"
3078
3078
  }
3079
3079
  ],
3080
- "id": 30417,
3080
+ "id": 30439,
3081
3081
  "name": "SuperTokenCreated",
3082
3082
  "nodeType": "Identifier",
3083
3083
  "overloadedDeclarations": [],
@@ -3088,7 +3088,7 @@
3088
3088
  "typeString": "function (contract ISuperToken)"
3089
3089
  }
3090
3090
  },
3091
- "id": 30419,
3091
+ "id": 30441,
3092
3092
  "isConstant": false,
3093
3093
  "isLValue": false,
3094
3094
  "isPure": false,
@@ -3103,14 +3103,14 @@
3103
3103
  "typeString": "tuple()"
3104
3104
  }
3105
3105
  },
3106
- "id": 30420,
3106
+ "id": 30442,
3107
3107
  "nodeType": "EmitStatement",
3108
3108
  "src": "3795:34:87"
3109
3109
  }
3110
3110
  ]
3111
3111
  },
3112
3112
  "functionSelector": "a6d0c534",
3113
- "id": 30422,
3113
+ "id": 30444,
3114
3114
  "implemented": true,
3115
3115
  "kind": "function",
3116
3116
  "modifiers": [],
@@ -3118,23 +3118,23 @@
3118
3118
  "nameLocation": "2607:18:87",
3119
3119
  "nodeType": "FunctionDefinition",
3120
3120
  "overrides": {
3121
- "id": 30320,
3121
+ "id": 30342,
3122
3122
  "nodeType": "OverrideSpecifier",
3123
3123
  "overrides": [],
3124
3124
  "src": "2812:8:87"
3125
3125
  },
3126
3126
  "parameters": {
3127
- "id": 30319,
3127
+ "id": 30341,
3128
3128
  "nodeType": "ParameterList",
3129
3129
  "parameters": [
3130
3130
  {
3131
3131
  "constant": false,
3132
- "id": 30309,
3132
+ "id": 30331,
3133
3133
  "mutability": "mutable",
3134
3134
  "name": "underlyingToken",
3135
3135
  "nameLocation": "2642:15:87",
3136
3136
  "nodeType": "VariableDeclaration",
3137
- "scope": 30422,
3137
+ "scope": 30444,
3138
3138
  "src": "2635:22:87",
3139
3139
  "stateVariable": false,
3140
3140
  "storageLocation": "default",
@@ -3143,10 +3143,10 @@
3143
3143
  "typeString": "contract IERC20"
3144
3144
  },
3145
3145
  "typeName": {
3146
- "id": 30308,
3146
+ "id": 30330,
3147
3147
  "nodeType": "UserDefinedTypeName",
3148
3148
  "pathNode": {
3149
- "id": 30307,
3149
+ "id": 30329,
3150
3150
  "name": "IERC20",
3151
3151
  "nodeType": "IdentifierPath",
3152
3152
  "referencedDeclaration": 1520,
@@ -3163,12 +3163,12 @@
3163
3163
  },
3164
3164
  {
3165
3165
  "constant": false,
3166
- "id": 30311,
3166
+ "id": 30333,
3167
3167
  "mutability": "mutable",
3168
3168
  "name": "underlyingDecimals",
3169
3169
  "nameLocation": "2673:18:87",
3170
3170
  "nodeType": "VariableDeclaration",
3171
- "scope": 30422,
3171
+ "scope": 30444,
3172
3172
  "src": "2667:24:87",
3173
3173
  "stateVariable": false,
3174
3174
  "storageLocation": "default",
@@ -3177,7 +3177,7 @@
3177
3177
  "typeString": "uint8"
3178
3178
  },
3179
3179
  "typeName": {
3180
- "id": 30310,
3180
+ "id": 30332,
3181
3181
  "name": "uint8",
3182
3182
  "nodeType": "ElementaryTypeName",
3183
3183
  "src": "2667:5:87",
@@ -3190,12 +3190,12 @@
3190
3190
  },
3191
3191
  {
3192
3192
  "constant": false,
3193
- "id": 30314,
3193
+ "id": 30336,
3194
3194
  "mutability": "mutable",
3195
3195
  "name": "upgradability",
3196
3196
  "nameLocation": "2715:13:87",
3197
3197
  "nodeType": "VariableDeclaration",
3198
- "scope": 30422,
3198
+ "scope": 30444,
3199
3199
  "src": "2701:27:87",
3200
3200
  "stateVariable": false,
3201
3201
  "storageLocation": "default",
@@ -3204,10 +3204,10 @@
3204
3204
  "typeString": "enum ISuperTokenFactory.Upgradability"
3205
3205
  },
3206
3206
  "typeName": {
3207
- "id": 30313,
3207
+ "id": 30335,
3208
3208
  "nodeType": "UserDefinedTypeName",
3209
3209
  "pathNode": {
3210
- "id": 30312,
3210
+ "id": 30334,
3211
3211
  "name": "Upgradability",
3212
3212
  "nodeType": "IdentifierPath",
3213
3213
  "referencedDeclaration": 17790,
@@ -3224,12 +3224,12 @@
3224
3224
  },
3225
3225
  {
3226
3226
  "constant": false,
3227
- "id": 30316,
3227
+ "id": 30338,
3228
3228
  "mutability": "mutable",
3229
3229
  "name": "name",
3230
3230
  "nameLocation": "2754:4:87",
3231
3231
  "nodeType": "VariableDeclaration",
3232
- "scope": 30422,
3232
+ "scope": 30444,
3233
3233
  "src": "2738:20:87",
3234
3234
  "stateVariable": false,
3235
3235
  "storageLocation": "calldata",
@@ -3238,7 +3238,7 @@
3238
3238
  "typeString": "string"
3239
3239
  },
3240
3240
  "typeName": {
3241
- "id": 30315,
3241
+ "id": 30337,
3242
3242
  "name": "string",
3243
3243
  "nodeType": "ElementaryTypeName",
3244
3244
  "src": "2738:6:87",
@@ -3251,12 +3251,12 @@
3251
3251
  },
3252
3252
  {
3253
3253
  "constant": false,
3254
- "id": 30318,
3254
+ "id": 30340,
3255
3255
  "mutability": "mutable",
3256
3256
  "name": "symbol",
3257
3257
  "nameLocation": "2784:6:87",
3258
3258
  "nodeType": "VariableDeclaration",
3259
- "scope": 30422,
3259
+ "scope": 30444,
3260
3260
  "src": "2768:22:87",
3261
3261
  "stateVariable": false,
3262
3262
  "storageLocation": "calldata",
@@ -3265,7 +3265,7 @@
3265
3265
  "typeString": "string"
3266
3266
  },
3267
3267
  "typeName": {
3268
- "id": 30317,
3268
+ "id": 30339,
3269
3269
  "name": "string",
3270
3270
  "nodeType": "ElementaryTypeName",
3271
3271
  "src": "2768:6:87",
@@ -3280,17 +3280,17 @@
3280
3280
  "src": "2625:171:87"
3281
3281
  },
3282
3282
  "returnParameters": {
3283
- "id": 30324,
3283
+ "id": 30346,
3284
3284
  "nodeType": "ParameterList",
3285
3285
  "parameters": [
3286
3286
  {
3287
3287
  "constant": false,
3288
- "id": 30323,
3288
+ "id": 30345,
3289
3289
  "mutability": "mutable",
3290
3290
  "name": "superToken",
3291
3291
  "nameLocation": "2850:10:87",
3292
3292
  "nodeType": "VariableDeclaration",
3293
- "scope": 30422,
3293
+ "scope": 30444,
3294
3294
  "src": "2838:22:87",
3295
3295
  "stateVariable": false,
3296
3296
  "storageLocation": "default",
@@ -3299,10 +3299,10 @@
3299
3299
  "typeString": "contract ISuperToken"
3300
3300
  },
3301
3301
  "typeName": {
3302
- "id": 30322,
3302
+ "id": 30344,
3303
3303
  "nodeType": "UserDefinedTypeName",
3304
3304
  "pathNode": {
3305
- "id": 30321,
3305
+ "id": 30343,
3306
3306
  "name": "ISuperToken",
3307
3307
  "nodeType": "IdentifierPath",
3308
3308
  "referencedDeclaration": 17761,
@@ -3320,7 +3320,7 @@
3320
3320
  ],
3321
3321
  "src": "2837:24:87"
3322
3322
  },
3323
- "scope": 30487,
3323
+ "scope": 30509,
3324
3324
  "src": "2598:1238:87",
3325
3325
  "stateMutability": "nonpayable",
3326
3326
  "virtual": false,
@@ -3331,7 +3331,7 @@
3331
3331
  17826
3332
3332
  ],
3333
3333
  "body": {
3334
- "id": 30449,
3334
+ "id": 30471,
3335
3335
  "nodeType": "Block",
3336
3336
  "src": "4090:186:87",
3337
3337
  "statements": [
@@ -3339,11 +3339,11 @@
3339
3339
  "expression": {
3340
3340
  "arguments": [
3341
3341
  {
3342
- "id": 30440,
3342
+ "id": 30462,
3343
3343
  "name": "underlyingToken",
3344
3344
  "nodeType": "Identifier",
3345
3345
  "overloadedDeclarations": [],
3346
- "referencedDeclaration": 30425,
3346
+ "referencedDeclaration": 30447,
3347
3347
  "src": "4139:15:87",
3348
3348
  "typeDescriptions": {
3349
3349
  "typeIdentifier": "t_contract$_ERC20WithTokenInfo_$18733",
@@ -3355,18 +3355,18 @@
3355
3355
  "expression": {
3356
3356
  "argumentTypes": [],
3357
3357
  "expression": {
3358
- "id": 30441,
3358
+ "id": 30463,
3359
3359
  "name": "underlyingToken",
3360
3360
  "nodeType": "Identifier",
3361
3361
  "overloadedDeclarations": [],
3362
- "referencedDeclaration": 30425,
3362
+ "referencedDeclaration": 30447,
3363
3363
  "src": "4168:15:87",
3364
3364
  "typeDescriptions": {
3365
3365
  "typeIdentifier": "t_contract$_ERC20WithTokenInfo_$18733",
3366
3366
  "typeString": "contract ERC20WithTokenInfo"
3367
3367
  }
3368
3368
  },
3369
- "id": 30442,
3369
+ "id": 30464,
3370
3370
  "isConstant": false,
3371
3371
  "isLValue": false,
3372
3372
  "isPure": false,
@@ -3380,7 +3380,7 @@
3380
3380
  "typeString": "function () view external returns (uint8)"
3381
3381
  }
3382
3382
  },
3383
- "id": 30443,
3383
+ "id": 30465,
3384
3384
  "isConstant": false,
3385
3385
  "isLValue": false,
3386
3386
  "isPure": false,
@@ -3396,11 +3396,11 @@
3396
3396
  }
3397
3397
  },
3398
3398
  {
3399
- "id": 30444,
3399
+ "id": 30466,
3400
3400
  "name": "upgradability",
3401
3401
  "nodeType": "Identifier",
3402
3402
  "overloadedDeclarations": [],
3403
- "referencedDeclaration": 30428,
3403
+ "referencedDeclaration": 30450,
3404
3404
  "src": "4208:13:87",
3405
3405
  "typeDescriptions": {
3406
3406
  "typeIdentifier": "t_enum$_Upgradability_$17790",
@@ -3408,11 +3408,11 @@
3408
3408
  }
3409
3409
  },
3410
3410
  {
3411
- "id": 30445,
3411
+ "id": 30467,
3412
3412
  "name": "name",
3413
3413
  "nodeType": "Identifier",
3414
3414
  "overloadedDeclarations": [],
3415
- "referencedDeclaration": 30430,
3415
+ "referencedDeclaration": 30452,
3416
3416
  "src": "4235:4:87",
3417
3417
  "typeDescriptions": {
3418
3418
  "typeIdentifier": "t_string_calldata_ptr",
@@ -3420,11 +3420,11 @@
3420
3420
  }
3421
3421
  },
3422
3422
  {
3423
- "id": 30446,
3423
+ "id": 30468,
3424
3424
  "name": "symbol",
3425
3425
  "nodeType": "Identifier",
3426
3426
  "overloadedDeclarations": [],
3427
- "referencedDeclaration": 30432,
3427
+ "referencedDeclaration": 30454,
3428
3428
  "src": "4253:6:87",
3429
3429
  "typeDescriptions": {
3430
3430
  "typeIdentifier": "t_string_calldata_ptr",
@@ -3455,18 +3455,18 @@
3455
3455
  "typeString": "string calldata"
3456
3456
  }
3457
3457
  ],
3458
- "id": 30439,
3458
+ "id": 30461,
3459
3459
  "name": "createERC20Wrapper",
3460
3460
  "nodeType": "Identifier",
3461
3461
  "overloadedDeclarations": [],
3462
- "referencedDeclaration": 30422,
3462
+ "referencedDeclaration": 30444,
3463
3463
  "src": "4107:18:87",
3464
3464
  "typeDescriptions": {
3465
3465
  "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1520_$_t_uint8_$_t_enum$_Upgradability_$17790_$_t_string_calldata_ptr_$_t_string_calldata_ptr_$returns$_t_contract$_ISuperToken_$17761_$",
3466
3466
  "typeString": "function (contract IERC20,uint8,enum ISuperTokenFactory.Upgradability,string calldata,string calldata) returns (contract ISuperToken)"
3467
3467
  }
3468
3468
  },
3469
- "id": 30447,
3469
+ "id": 30469,
3470
3470
  "isConstant": false,
3471
3471
  "isLValue": false,
3472
3472
  "isPure": false,
@@ -3481,15 +3481,15 @@
3481
3481
  "typeString": "contract ISuperToken"
3482
3482
  }
3483
3483
  },
3484
- "functionReturnParameters": 30438,
3485
- "id": 30448,
3484
+ "functionReturnParameters": 30460,
3485
+ "id": 30470,
3486
3486
  "nodeType": "Return",
3487
3487
  "src": "4100:169:87"
3488
3488
  }
3489
3489
  ]
3490
3490
  },
3491
3491
  "functionSelector": "431f1481",
3492
- "id": 30450,
3492
+ "id": 30472,
3493
3493
  "implemented": true,
3494
3494
  "kind": "function",
3495
3495
  "modifiers": [],
@@ -3497,23 +3497,23 @@
3497
3497
  "nameLocation": "3851:18:87",
3498
3498
  "nodeType": "FunctionDefinition",
3499
3499
  "overrides": {
3500
- "id": 30434,
3500
+ "id": 30456,
3501
3501
  "nodeType": "OverrideSpecifier",
3502
3502
  "overrides": [],
3503
3503
  "src": "4036:8:87"
3504
3504
  },
3505
3505
  "parameters": {
3506
- "id": 30433,
3506
+ "id": 30455,
3507
3507
  "nodeType": "ParameterList",
3508
3508
  "parameters": [
3509
3509
  {
3510
3510
  "constant": false,
3511
- "id": 30425,
3511
+ "id": 30447,
3512
3512
  "mutability": "mutable",
3513
3513
  "name": "underlyingToken",
3514
3514
  "nameLocation": "3898:15:87",
3515
3515
  "nodeType": "VariableDeclaration",
3516
- "scope": 30450,
3516
+ "scope": 30472,
3517
3517
  "src": "3879:34:87",
3518
3518
  "stateVariable": false,
3519
3519
  "storageLocation": "default",
@@ -3522,10 +3522,10 @@
3522
3522
  "typeString": "contract ERC20WithTokenInfo"
3523
3523
  },
3524
3524
  "typeName": {
3525
- "id": 30424,
3525
+ "id": 30446,
3526
3526
  "nodeType": "UserDefinedTypeName",
3527
3527
  "pathNode": {
3528
- "id": 30423,
3528
+ "id": 30445,
3529
3529
  "name": "ERC20WithTokenInfo",
3530
3530
  "nodeType": "IdentifierPath",
3531
3531
  "referencedDeclaration": 18733,
@@ -3542,12 +3542,12 @@
3542
3542
  },
3543
3543
  {
3544
3544
  "constant": false,
3545
- "id": 30428,
3545
+ "id": 30450,
3546
3546
  "mutability": "mutable",
3547
3547
  "name": "upgradability",
3548
3548
  "nameLocation": "3937:13:87",
3549
3549
  "nodeType": "VariableDeclaration",
3550
- "scope": 30450,
3550
+ "scope": 30472,
3551
3551
  "src": "3923:27:87",
3552
3552
  "stateVariable": false,
3553
3553
  "storageLocation": "default",
@@ -3556,10 +3556,10 @@
3556
3556
  "typeString": "enum ISuperTokenFactory.Upgradability"
3557
3557
  },
3558
3558
  "typeName": {
3559
- "id": 30427,
3559
+ "id": 30449,
3560
3560
  "nodeType": "UserDefinedTypeName",
3561
3561
  "pathNode": {
3562
- "id": 30426,
3562
+ "id": 30448,
3563
3563
  "name": "Upgradability",
3564
3564
  "nodeType": "IdentifierPath",
3565
3565
  "referencedDeclaration": 17790,
@@ -3576,12 +3576,12 @@
3576
3576
  },
3577
3577
  {
3578
3578
  "constant": false,
3579
- "id": 30430,
3579
+ "id": 30452,
3580
3580
  "mutability": "mutable",
3581
3581
  "name": "name",
3582
3582
  "nameLocation": "3976:4:87",
3583
3583
  "nodeType": "VariableDeclaration",
3584
- "scope": 30450,
3584
+ "scope": 30472,
3585
3585
  "src": "3960:20:87",
3586
3586
  "stateVariable": false,
3587
3587
  "storageLocation": "calldata",
@@ -3590,7 +3590,7 @@
3590
3590
  "typeString": "string"
3591
3591
  },
3592
3592
  "typeName": {
3593
- "id": 30429,
3593
+ "id": 30451,
3594
3594
  "name": "string",
3595
3595
  "nodeType": "ElementaryTypeName",
3596
3596
  "src": "3960:6:87",
@@ -3603,12 +3603,12 @@
3603
3603
  },
3604
3604
  {
3605
3605
  "constant": false,
3606
- "id": 30432,
3606
+ "id": 30454,
3607
3607
  "mutability": "mutable",
3608
3608
  "name": "symbol",
3609
3609
  "nameLocation": "4006:6:87",
3610
3610
  "nodeType": "VariableDeclaration",
3611
- "scope": 30450,
3611
+ "scope": 30472,
3612
3612
  "src": "3990:22:87",
3613
3613
  "stateVariable": false,
3614
3614
  "storageLocation": "calldata",
@@ -3617,7 +3617,7 @@
3617
3617
  "typeString": "string"
3618
3618
  },
3619
3619
  "typeName": {
3620
- "id": 30431,
3620
+ "id": 30453,
3621
3621
  "name": "string",
3622
3622
  "nodeType": "ElementaryTypeName",
3623
3623
  "src": "3990:6:87",
@@ -3632,17 +3632,17 @@
3632
3632
  "src": "3869:149:87"
3633
3633
  },
3634
3634
  "returnParameters": {
3635
- "id": 30438,
3635
+ "id": 30460,
3636
3636
  "nodeType": "ParameterList",
3637
3637
  "parameters": [
3638
3638
  {
3639
3639
  "constant": false,
3640
- "id": 30437,
3640
+ "id": 30459,
3641
3641
  "mutability": "mutable",
3642
3642
  "name": "superToken",
3643
3643
  "nameLocation": "4074:10:87",
3644
3644
  "nodeType": "VariableDeclaration",
3645
- "scope": 30450,
3645
+ "scope": 30472,
3646
3646
  "src": "4062:22:87",
3647
3647
  "stateVariable": false,
3648
3648
  "storageLocation": "default",
@@ -3651,10 +3651,10 @@
3651
3651
  "typeString": "contract ISuperToken"
3652
3652
  },
3653
3653
  "typeName": {
3654
- "id": 30436,
3654
+ "id": 30458,
3655
3655
  "nodeType": "UserDefinedTypeName",
3656
3656
  "pathNode": {
3657
- "id": 30435,
3657
+ "id": 30457,
3658
3658
  "name": "ISuperToken",
3659
3659
  "nodeType": "IdentifierPath",
3660
3660
  "referencedDeclaration": 17761,
@@ -3672,7 +3672,7 @@
3672
3672
  ],
3673
3673
  "src": "4061:24:87"
3674
3674
  },
3675
- "scope": 30487,
3675
+ "scope": 30509,
3676
3676
  "src": "3842:434:87",
3677
3677
  "stateMutability": "nonpayable",
3678
3678
  "virtual": false,
@@ -3683,23 +3683,23 @@
3683
3683
  17831
3684
3684
  ],
3685
3685
  "body": {
3686
- "id": 30485,
3686
+ "id": 30507,
3687
3687
  "nodeType": "Block",
3688
3688
  "src": "4393:341:87",
3689
3689
  "statements": [
3690
3690
  {
3691
3691
  "assignments": [
3692
- 30457
3692
+ 30479
3693
3693
  ],
3694
3694
  "declarations": [
3695
3695
  {
3696
3696
  "constant": false,
3697
- "id": 30457,
3697
+ "id": 30479,
3698
3698
  "mutability": "mutable",
3699
3699
  "name": "a",
3700
3700
  "nameLocation": "4535:1:87",
3701
3701
  "nodeType": "VariableDeclaration",
3702
- "scope": 30485,
3702
+ "scope": 30507,
3703
3703
  "src": "4519:17:87",
3704
3704
  "stateVariable": false,
3705
3705
  "storageLocation": "default",
@@ -3708,7 +3708,7 @@
3708
3708
  "typeString": "address payable"
3709
3709
  },
3710
3710
  "typeName": {
3711
- "id": 30456,
3711
+ "id": 30478,
3712
3712
  "name": "address",
3713
3713
  "nodeType": "ElementaryTypeName",
3714
3714
  "src": "4519:15:87",
@@ -3721,7 +3721,7 @@
3721
3721
  "visibility": "internal"
3722
3722
  }
3723
3723
  ],
3724
- "id": 30468,
3724
+ "id": 30490,
3725
3725
  "initialValue": {
3726
3726
  "arguments": [
3727
3727
  {
@@ -3729,11 +3729,11 @@
3729
3729
  {
3730
3730
  "arguments": [
3731
3731
  {
3732
- "id": 30464,
3732
+ "id": 30486,
3733
3733
  "name": "customSuperTokenProxy",
3734
3734
  "nodeType": "Identifier",
3735
3735
  "overloadedDeclarations": [],
3736
- "referencedDeclaration": 30452,
3736
+ "referencedDeclaration": 30474,
3737
3737
  "src": "4563:21:87",
3738
3738
  "typeDescriptions": {
3739
3739
  "typeIdentifier": "t_address",
@@ -3748,7 +3748,7 @@
3748
3748
  "typeString": "address"
3749
3749
  }
3750
3750
  ],
3751
- "id": 30463,
3751
+ "id": 30485,
3752
3752
  "isConstant": false,
3753
3753
  "isLValue": false,
3754
3754
  "isPure": true,
@@ -3760,14 +3760,14 @@
3760
3760
  "typeString": "type(uint160)"
3761
3761
  },
3762
3762
  "typeName": {
3763
- "id": 30462,
3763
+ "id": 30484,
3764
3764
  "name": "uint160",
3765
3765
  "nodeType": "ElementaryTypeName",
3766
3766
  "src": "4555:7:87",
3767
3767
  "typeDescriptions": {}
3768
3768
  }
3769
3769
  },
3770
- "id": 30465,
3770
+ "id": 30487,
3771
3771
  "isConstant": false,
3772
3772
  "isLValue": false,
3773
3773
  "isPure": false,
@@ -3790,7 +3790,7 @@
3790
3790
  "typeString": "uint160"
3791
3791
  }
3792
3792
  ],
3793
- "id": 30461,
3793
+ "id": 30483,
3794
3794
  "isConstant": false,
3795
3795
  "isLValue": false,
3796
3796
  "isPure": true,
@@ -3802,14 +3802,14 @@
3802
3802
  "typeString": "type(address)"
3803
3803
  },
3804
3804
  "typeName": {
3805
- "id": 30460,
3805
+ "id": 30482,
3806
3806
  "name": "address",
3807
3807
  "nodeType": "ElementaryTypeName",
3808
3808
  "src": "4547:7:87",
3809
3809
  "typeDescriptions": {}
3810
3810
  }
3811
3811
  },
3812
- "id": 30466,
3812
+ "id": 30488,
3813
3813
  "isConstant": false,
3814
3814
  "isLValue": false,
3815
3815
  "isPure": false,
@@ -3832,7 +3832,7 @@
3832
3832
  "typeString": "address"
3833
3833
  }
3834
3834
  ],
3835
- "id": 30459,
3835
+ "id": 30481,
3836
3836
  "isConstant": false,
3837
3837
  "isLValue": false,
3838
3838
  "isPure": true,
@@ -3844,7 +3844,7 @@
3844
3844
  "typeString": "type(address payable)"
3845
3845
  },
3846
3846
  "typeName": {
3847
- "id": 30458,
3847
+ "id": 30480,
3848
3848
  "name": "address",
3849
3849
  "nodeType": "ElementaryTypeName",
3850
3850
  "src": "4539:8:87",
@@ -3852,7 +3852,7 @@
3852
3852
  "typeDescriptions": {}
3853
3853
  }
3854
3854
  },
3855
- "id": 30467,
3855
+ "id": 30489,
3856
3856
  "isConstant": false,
3857
3857
  "isLValue": false,
3858
3858
  "isPure": false,
@@ -3876,11 +3876,11 @@
3876
3876
  {
3877
3877
  "arguments": [
3878
3878
  {
3879
- "id": 30475,
3879
+ "id": 30497,
3880
3880
  "name": "_superTokenLogic",
3881
3881
  "nodeType": "Identifier",
3882
3882
  "overloadedDeclarations": [],
3883
- "referencedDeclaration": 30200,
3883
+ "referencedDeclaration": 30222,
3884
3884
  "src": "4634:16:87",
3885
3885
  "typeDescriptions": {
3886
3886
  "typeIdentifier": "t_contract$_ISuperToken_$17761",
@@ -3895,7 +3895,7 @@
3895
3895
  "typeString": "contract ISuperToken"
3896
3896
  }
3897
3897
  ],
3898
- "id": 30474,
3898
+ "id": 30496,
3899
3899
  "isConstant": false,
3900
3900
  "isLValue": false,
3901
3901
  "isPure": true,
@@ -3907,14 +3907,14 @@
3907
3907
  "typeString": "type(address)"
3908
3908
  },
3909
3909
  "typeName": {
3910
- "id": 30473,
3910
+ "id": 30495,
3911
3911
  "name": "address",
3912
3912
  "nodeType": "ElementaryTypeName",
3913
3913
  "src": "4626:7:87",
3914
3914
  "typeDescriptions": {}
3915
3915
  }
3916
3916
  },
3917
- "id": 30476,
3917
+ "id": 30498,
3918
3918
  "isConstant": false,
3919
3919
  "isLValue": false,
3920
3920
  "isPure": false,
@@ -3940,11 +3940,11 @@
3940
3940
  "expression": {
3941
3941
  "arguments": [
3942
3942
  {
3943
- "id": 30470,
3943
+ "id": 30492,
3944
3944
  "name": "a",
3945
3945
  "nodeType": "Identifier",
3946
3946
  "overloadedDeclarations": [],
3947
- "referencedDeclaration": 30457,
3947
+ "referencedDeclaration": 30479,
3948
3948
  "src": "4607:1:87",
3949
3949
  "typeDescriptions": {
3950
3950
  "typeIdentifier": "t_address_payable",
@@ -3959,18 +3959,18 @@
3959
3959
  "typeString": "address payable"
3960
3960
  }
3961
3961
  ],
3962
- "id": 30469,
3962
+ "id": 30491,
3963
3963
  "name": "UUPSProxy",
3964
3964
  "nodeType": "Identifier",
3965
3965
  "overloadedDeclarations": [],
3966
- "referencedDeclaration": 34895,
3966
+ "referencedDeclaration": 34914,
3967
3967
  "src": "4597:9:87",
3968
3968
  "typeDescriptions": {
3969
- "typeIdentifier": "t_type$_t_contract$_UUPSProxy_$34895_$",
3969
+ "typeIdentifier": "t_type$_t_contract$_UUPSProxy_$34914_$",
3970
3970
  "typeString": "type(contract UUPSProxy)"
3971
3971
  }
3972
3972
  },
3973
- "id": 30471,
3973
+ "id": 30493,
3974
3974
  "isConstant": false,
3975
3975
  "isLValue": false,
3976
3976
  "isPure": false,
@@ -3981,25 +3981,25 @@
3981
3981
  "src": "4597:12:87",
3982
3982
  "tryCall": false,
3983
3983
  "typeDescriptions": {
3984
- "typeIdentifier": "t_contract$_UUPSProxy_$34895",
3984
+ "typeIdentifier": "t_contract$_UUPSProxy_$34914",
3985
3985
  "typeString": "contract UUPSProxy"
3986
3986
  }
3987
3987
  },
3988
- "id": 30472,
3988
+ "id": 30494,
3989
3989
  "isConstant": false,
3990
3990
  "isLValue": false,
3991
3991
  "isPure": false,
3992
3992
  "lValueRequested": false,
3993
3993
  "memberName": "initializeProxy",
3994
3994
  "nodeType": "MemberAccess",
3995
- "referencedDeclaration": 34882,
3995
+ "referencedDeclaration": 34901,
3996
3996
  "src": "4597:28:87",
3997
3997
  "typeDescriptions": {
3998
3998
  "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
3999
3999
  "typeString": "function (address) external"
4000
4000
  }
4001
4001
  },
4002
- "id": 30477,
4002
+ "id": 30499,
4003
4003
  "isConstant": false,
4004
4004
  "isLValue": false,
4005
4005
  "isPure": false,
@@ -4014,7 +4014,7 @@
4014
4014
  "typeString": "tuple()"
4015
4015
  }
4016
4016
  },
4017
- "id": 30478,
4017
+ "id": 30500,
4018
4018
  "nodeType": "ExpressionStatement",
4019
4019
  "src": "4597:55:87"
4020
4020
  },
@@ -4024,11 +4024,11 @@
4024
4024
  {
4025
4025
  "arguments": [
4026
4026
  {
4027
- "id": 30481,
4027
+ "id": 30503,
4028
4028
  "name": "customSuperTokenProxy",
4029
4029
  "nodeType": "Identifier",
4030
4030
  "overloadedDeclarations": [],
4031
- "referencedDeclaration": 30452,
4031
+ "referencedDeclaration": 30474,
4032
4032
  "src": "4704:21:87",
4033
4033
  "typeDescriptions": {
4034
4034
  "typeIdentifier": "t_address",
@@ -4043,7 +4043,7 @@
4043
4043
  "typeString": "address"
4044
4044
  }
4045
4045
  ],
4046
- "id": 30480,
4046
+ "id": 30502,
4047
4047
  "name": "ISuperToken",
4048
4048
  "nodeType": "Identifier",
4049
4049
  "overloadedDeclarations": [],
@@ -4054,7 +4054,7 @@
4054
4054
  "typeString": "type(contract ISuperToken)"
4055
4055
  }
4056
4056
  },
4057
- "id": 30482,
4057
+ "id": 30504,
4058
4058
  "isConstant": false,
4059
4059
  "isLValue": false,
4060
4060
  "isPure": false,
@@ -4077,7 +4077,7 @@
4077
4077
  "typeString": "contract ISuperToken"
4078
4078
  }
4079
4079
  ],
4080
- "id": 30479,
4080
+ "id": 30501,
4081
4081
  "name": "CustomSuperTokenCreated",
4082
4082
  "nodeType": "Identifier",
4083
4083
  "overloadedDeclarations": [],
@@ -4088,7 +4088,7 @@
4088
4088
  "typeString": "function (contract ISuperToken)"
4089
4089
  }
4090
4090
  },
4091
- "id": 30483,
4091
+ "id": 30505,
4092
4092
  "isConstant": false,
4093
4093
  "isLValue": false,
4094
4094
  "isPure": false,
@@ -4103,14 +4103,14 @@
4103
4103
  "typeString": "tuple()"
4104
4104
  }
4105
4105
  },
4106
- "id": 30484,
4106
+ "id": 30506,
4107
4107
  "nodeType": "EmitStatement",
4108
4108
  "src": "4663:64:87"
4109
4109
  }
4110
4110
  ]
4111
4111
  },
4112
4112
  "functionSelector": "d412d344",
4113
- "id": 30486,
4113
+ "id": 30508,
4114
4114
  "implemented": true,
4115
4115
  "kind": "function",
4116
4116
  "modifiers": [],
@@ -4118,23 +4118,23 @@
4118
4118
  "nameLocation": "4291:26:87",
4119
4119
  "nodeType": "FunctionDefinition",
4120
4120
  "overrides": {
4121
- "id": 30454,
4121
+ "id": 30476,
4122
4122
  "nodeType": "OverrideSpecifier",
4123
4123
  "overrides": [],
4124
4124
  "src": "4380:8:87"
4125
4125
  },
4126
4126
  "parameters": {
4127
- "id": 30453,
4127
+ "id": 30475,
4128
4128
  "nodeType": "ParameterList",
4129
4129
  "parameters": [
4130
4130
  {
4131
4131
  "constant": false,
4132
- "id": 30452,
4132
+ "id": 30474,
4133
4133
  "mutability": "mutable",
4134
4134
  "name": "customSuperTokenProxy",
4135
4135
  "nameLocation": "4335:21:87",
4136
4136
  "nodeType": "VariableDeclaration",
4137
- "scope": 30486,
4137
+ "scope": 30508,
4138
4138
  "src": "4327:29:87",
4139
4139
  "stateVariable": false,
4140
4140
  "storageLocation": "default",
@@ -4143,7 +4143,7 @@
4143
4143
  "typeString": "address"
4144
4144
  },
4145
4145
  "typeName": {
4146
- "id": 30451,
4146
+ "id": 30473,
4147
4147
  "name": "address",
4148
4148
  "nodeType": "ElementaryTypeName",
4149
4149
  "src": "4327:7:87",
@@ -4159,19 +4159,19 @@
4159
4159
  "src": "4317:45:87"
4160
4160
  },
4161
4161
  "returnParameters": {
4162
- "id": 30455,
4162
+ "id": 30477,
4163
4163
  "nodeType": "ParameterList",
4164
4164
  "parameters": [],
4165
4165
  "src": "4393:0:87"
4166
4166
  },
4167
- "scope": 30487,
4167
+ "scope": 30509,
4168
4168
  "src": "4282:452:87",
4169
4169
  "stateMutability": "nonpayable",
4170
4170
  "virtual": false,
4171
4171
  "visibility": "external"
4172
4172
  }
4173
4173
  ],
4174
- "scope": 30545,
4174
+ "scope": 30567,
4175
4175
  "src": "692:4045:87",
4176
4176
  "usedErrors": []
4177
4177
  },
@@ -4180,13 +4180,13 @@
4180
4180
  "baseContracts": [],
4181
4181
  "canonicalName": "SuperTokenFactoryHelper",
4182
4182
  "contractDependencies": [
4183
- 30169
4183
+ 30191
4184
4184
  ],
4185
4185
  "contractKind": "contract",
4186
4186
  "fullyImplemented": true,
4187
- "id": 30506,
4187
+ "id": 30528,
4188
4188
  "linearizedBaseContracts": [
4189
- 30506
4189
+ 30528
4190
4190
  ],
4191
4191
  "name": "SuperTokenFactoryHelper",
4192
4192
  "nameLocation": "4808:23:87",
@@ -4194,7 +4194,7 @@
4194
4194
  "nodes": [
4195
4195
  {
4196
4196
  "body": {
4197
- "id": 30504,
4197
+ "id": 30526,
4198
4198
  "nodeType": "Block",
4199
4199
  "src": "4925:53:87",
4200
4200
  "statements": [
@@ -4204,11 +4204,11 @@
4204
4204
  {
4205
4205
  "arguments": [
4206
4206
  {
4207
- "id": 30500,
4207
+ "id": 30522,
4208
4208
  "name": "host",
4209
4209
  "nodeType": "Identifier",
4210
4210
  "overloadedDeclarations": [],
4211
- "referencedDeclaration": 30490,
4211
+ "referencedDeclaration": 30512,
4212
4212
  "src": "4965:4:87",
4213
4213
  "typeDescriptions": {
4214
4214
  "typeIdentifier": "t_contract$_ISuperfluid_$18324",
@@ -4223,7 +4223,7 @@
4223
4223
  "typeString": "contract ISuperfluid"
4224
4224
  }
4225
4225
  ],
4226
- "id": 30499,
4226
+ "id": 30521,
4227
4227
  "isConstant": false,
4228
4228
  "isLValue": false,
4229
4229
  "isPure": false,
@@ -4231,28 +4231,28 @@
4231
4231
  "nodeType": "NewExpression",
4232
4232
  "src": "4950:14:87",
4233
4233
  "typeDescriptions": {
4234
- "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_ISuperfluid_$18324_$returns$_t_contract$_SuperToken_$30169_$",
4234
+ "typeIdentifier": "t_function_creation_nonpayable$_t_contract$_ISuperfluid_$18324_$returns$_t_contract$_SuperToken_$30191_$",
4235
4235
  "typeString": "function (contract ISuperfluid) returns (contract SuperToken)"
4236
4236
  },
4237
4237
  "typeName": {
4238
- "id": 30498,
4238
+ "id": 30520,
4239
4239
  "nodeType": "UserDefinedTypeName",
4240
4240
  "pathNode": {
4241
- "id": 30497,
4241
+ "id": 30519,
4242
4242
  "name": "SuperToken",
4243
4243
  "nodeType": "IdentifierPath",
4244
- "referencedDeclaration": 30169,
4244
+ "referencedDeclaration": 30191,
4245
4245
  "src": "4954:10:87"
4246
4246
  },
4247
- "referencedDeclaration": 30169,
4247
+ "referencedDeclaration": 30191,
4248
4248
  "src": "4954:10:87",
4249
4249
  "typeDescriptions": {
4250
- "typeIdentifier": "t_contract$_SuperToken_$30169",
4250
+ "typeIdentifier": "t_contract$_SuperToken_$30191",
4251
4251
  "typeString": "contract SuperToken"
4252
4252
  }
4253
4253
  }
4254
4254
  },
4255
- "id": 30501,
4255
+ "id": 30523,
4256
4256
  "isConstant": false,
4257
4257
  "isLValue": false,
4258
4258
  "isPure": false,
@@ -4263,7 +4263,7 @@
4263
4263
  "src": "4950:20:87",
4264
4264
  "tryCall": false,
4265
4265
  "typeDescriptions": {
4266
- "typeIdentifier": "t_contract$_SuperToken_$30169",
4266
+ "typeIdentifier": "t_contract$_SuperToken_$30191",
4267
4267
  "typeString": "contract SuperToken"
4268
4268
  }
4269
4269
  }
@@ -4271,11 +4271,11 @@
4271
4271
  "expression": {
4272
4272
  "argumentTypes": [
4273
4273
  {
4274
- "typeIdentifier": "t_contract$_SuperToken_$30169",
4274
+ "typeIdentifier": "t_contract$_SuperToken_$30191",
4275
4275
  "typeString": "contract SuperToken"
4276
4276
  }
4277
4277
  ],
4278
- "id": 30496,
4278
+ "id": 30518,
4279
4279
  "isConstant": false,
4280
4280
  "isLValue": false,
4281
4281
  "isPure": true,
@@ -4287,14 +4287,14 @@
4287
4287
  "typeString": "type(address)"
4288
4288
  },
4289
4289
  "typeName": {
4290
- "id": 30495,
4290
+ "id": 30517,
4291
4291
  "name": "address",
4292
4292
  "nodeType": "ElementaryTypeName",
4293
4293
  "src": "4942:7:87",
4294
4294
  "typeDescriptions": {}
4295
4295
  }
4296
4296
  },
4297
- "id": 30502,
4297
+ "id": 30524,
4298
4298
  "isConstant": false,
4299
4299
  "isLValue": false,
4300
4300
  "isPure": false,
@@ -4309,15 +4309,15 @@
4309
4309
  "typeString": "address"
4310
4310
  }
4311
4311
  },
4312
- "functionReturnParameters": 30494,
4313
- "id": 30503,
4312
+ "functionReturnParameters": 30516,
4313
+ "id": 30525,
4314
4314
  "nodeType": "Return",
4315
4315
  "src": "4935:36:87"
4316
4316
  }
4317
4317
  ]
4318
4318
  },
4319
4319
  "functionSelector": "9ed93318",
4320
- "id": 30505,
4320
+ "id": 30527,
4321
4321
  "implemented": true,
4322
4322
  "kind": "function",
4323
4323
  "modifiers": [],
@@ -4325,17 +4325,17 @@
4325
4325
  "nameLocation": "4847:6:87",
4326
4326
  "nodeType": "FunctionDefinition",
4327
4327
  "parameters": {
4328
- "id": 30491,
4328
+ "id": 30513,
4329
4329
  "nodeType": "ParameterList",
4330
4330
  "parameters": [
4331
4331
  {
4332
4332
  "constant": false,
4333
- "id": 30490,
4333
+ "id": 30512,
4334
4334
  "mutability": "mutable",
4335
4335
  "name": "host",
4336
4336
  "nameLocation": "4866:4:87",
4337
4337
  "nodeType": "VariableDeclaration",
4338
- "scope": 30505,
4338
+ "scope": 30527,
4339
4339
  "src": "4854:16:87",
4340
4340
  "stateVariable": false,
4341
4341
  "storageLocation": "default",
@@ -4344,10 +4344,10 @@
4344
4344
  "typeString": "contract ISuperfluid"
4345
4345
  },
4346
4346
  "typeName": {
4347
- "id": 30489,
4347
+ "id": 30511,
4348
4348
  "nodeType": "UserDefinedTypeName",
4349
4349
  "pathNode": {
4350
- "id": 30488,
4350
+ "id": 30510,
4351
4351
  "name": "ISuperfluid",
4352
4352
  "nodeType": "IdentifierPath",
4353
4353
  "referencedDeclaration": 18324,
@@ -4366,17 +4366,17 @@
4366
4366
  "src": "4853:18:87"
4367
4367
  },
4368
4368
  "returnParameters": {
4369
- "id": 30494,
4369
+ "id": 30516,
4370
4370
  "nodeType": "ParameterList",
4371
4371
  "parameters": [
4372
4372
  {
4373
4373
  "constant": false,
4374
- "id": 30493,
4374
+ "id": 30515,
4375
4375
  "mutability": "mutable",
4376
4376
  "name": "logic",
4377
4377
  "nameLocation": "4914:5:87",
4378
4378
  "nodeType": "VariableDeclaration",
4379
- "scope": 30505,
4379
+ "scope": 30527,
4380
4380
  "src": "4906:13:87",
4381
4381
  "stateVariable": false,
4382
4382
  "storageLocation": "default",
@@ -4385,7 +4385,7 @@
4385
4385
  "typeString": "address"
4386
4386
  },
4387
4387
  "typeName": {
4388
- "id": 30492,
4388
+ "id": 30514,
4389
4389
  "name": "address",
4390
4390
  "nodeType": "ElementaryTypeName",
4391
4391
  "src": "4906:7:87",
@@ -4400,14 +4400,14 @@
4400
4400
  ],
4401
4401
  "src": "4905:15:87"
4402
4402
  },
4403
- "scope": 30506,
4403
+ "scope": 30528,
4404
4404
  "src": "4838:140:87",
4405
4405
  "stateMutability": "nonpayable",
4406
4406
  "virtual": false,
4407
4407
  "visibility": "external"
4408
4408
  }
4409
4409
  ],
4410
- "scope": 30545,
4410
+ "scope": 30567,
4411
4411
  "src": "4799:181:87",
4412
4412
  "usedErrors": []
4413
4413
  },
@@ -4416,30 +4416,30 @@
4416
4416
  "baseContracts": [
4417
4417
  {
4418
4418
  "baseName": {
4419
- "id": 30507,
4419
+ "id": 30529,
4420
4420
  "name": "SuperTokenFactoryBase",
4421
4421
  "nodeType": "IdentifierPath",
4422
- "referencedDeclaration": 30487,
4422
+ "referencedDeclaration": 30509,
4423
4423
  "src": "5012:21:87"
4424
4424
  },
4425
- "id": 30508,
4425
+ "id": 30530,
4426
4426
  "nodeType": "InheritanceSpecifier",
4427
4427
  "src": "5012:21:87"
4428
4428
  }
4429
4429
  ],
4430
4430
  "canonicalName": "SuperTokenFactory",
4431
4431
  "contractDependencies": [
4432
- 28577,
4433
- 34895
4432
+ 28599,
4433
+ 34914
4434
4434
  ],
4435
4435
  "contractKind": "contract",
4436
4436
  "fullyImplemented": true,
4437
- "id": 30544,
4437
+ "id": 30566,
4438
4438
  "linearizedBaseContracts": [
4439
- 30544,
4440
- 30487,
4439
+ 30566,
4440
+ 30509,
4441
4441
  17850,
4442
- 34838,
4442
+ 34857,
4443
4443
  762
4444
4444
  ],
4445
4445
  "name": "SuperTokenFactory",
@@ -4448,33 +4448,33 @@
4448
4448
  "nodes": [
4449
4449
  {
4450
4450
  "constant": false,
4451
- "id": 30511,
4451
+ "id": 30533,
4452
4452
  "mutability": "immutable",
4453
4453
  "name": "_helper",
4454
4454
  "nameLocation": "5082:7:87",
4455
4455
  "nodeType": "VariableDeclaration",
4456
- "scope": 30544,
4456
+ "scope": 30566,
4457
4457
  "src": "5040:49:87",
4458
4458
  "stateVariable": true,
4459
4459
  "storageLocation": "default",
4460
4460
  "typeDescriptions": {
4461
- "typeIdentifier": "t_contract$_SuperTokenFactoryHelper_$30506",
4461
+ "typeIdentifier": "t_contract$_SuperTokenFactoryHelper_$30528",
4462
4462
  "typeString": "contract SuperTokenFactoryHelper"
4463
4463
  },
4464
4464
  "typeName": {
4465
- "id": 30510,
4465
+ "id": 30532,
4466
4466
  "nodeType": "UserDefinedTypeName",
4467
4467
  "pathNode": {
4468
- "id": 30509,
4468
+ "id": 30531,
4469
4469
  "name": "SuperTokenFactoryHelper",
4470
4470
  "nodeType": "IdentifierPath",
4471
- "referencedDeclaration": 30506,
4471
+ "referencedDeclaration": 30528,
4472
4472
  "src": "5040:23:87"
4473
4473
  },
4474
- "referencedDeclaration": 30506,
4474
+ "referencedDeclaration": 30528,
4475
4475
  "src": "5040:23:87",
4476
4476
  "typeDescriptions": {
4477
- "typeIdentifier": "t_contract$_SuperTokenFactoryHelper_$30506",
4477
+ "typeIdentifier": "t_contract$_SuperTokenFactoryHelper_$30528",
4478
4478
  "typeString": "contract SuperTokenFactoryHelper"
4479
4479
  }
4480
4480
  },
@@ -4482,67 +4482,67 @@
4482
4482
  },
4483
4483
  {
4484
4484
  "body": {
4485
- "id": 30527,
4485
+ "id": 30549,
4486
4486
  "nodeType": "Block",
4487
4487
  "src": "5273:33:87",
4488
4488
  "statements": [
4489
4489
  {
4490
4490
  "expression": {
4491
- "id": 30525,
4491
+ "id": 30547,
4492
4492
  "isConstant": false,
4493
4493
  "isLValue": false,
4494
4494
  "isPure": false,
4495
4495
  "lValueRequested": false,
4496
4496
  "leftHandSide": {
4497
- "id": 30523,
4497
+ "id": 30545,
4498
4498
  "name": "_helper",
4499
4499
  "nodeType": "Identifier",
4500
4500
  "overloadedDeclarations": [],
4501
- "referencedDeclaration": 30511,
4501
+ "referencedDeclaration": 30533,
4502
4502
  "src": "5283:7:87",
4503
4503
  "typeDescriptions": {
4504
- "typeIdentifier": "t_contract$_SuperTokenFactoryHelper_$30506",
4504
+ "typeIdentifier": "t_contract$_SuperTokenFactoryHelper_$30528",
4505
4505
  "typeString": "contract SuperTokenFactoryHelper"
4506
4506
  }
4507
4507
  },
4508
4508
  "nodeType": "Assignment",
4509
4509
  "operator": "=",
4510
4510
  "rightHandSide": {
4511
- "id": 30524,
4511
+ "id": 30546,
4512
4512
  "name": "helper",
4513
4513
  "nodeType": "Identifier",
4514
4514
  "overloadedDeclarations": [],
4515
- "referencedDeclaration": 30517,
4515
+ "referencedDeclaration": 30539,
4516
4516
  "src": "5293:6:87",
4517
4517
  "typeDescriptions": {
4518
- "typeIdentifier": "t_contract$_SuperTokenFactoryHelper_$30506",
4518
+ "typeIdentifier": "t_contract$_SuperTokenFactoryHelper_$30528",
4519
4519
  "typeString": "contract SuperTokenFactoryHelper"
4520
4520
  }
4521
4521
  },
4522
4522
  "src": "5283:16:87",
4523
4523
  "typeDescriptions": {
4524
- "typeIdentifier": "t_contract$_SuperTokenFactoryHelper_$30506",
4524
+ "typeIdentifier": "t_contract$_SuperTokenFactoryHelper_$30528",
4525
4525
  "typeString": "contract SuperTokenFactoryHelper"
4526
4526
  }
4527
4527
  },
4528
- "id": 30526,
4528
+ "id": 30548,
4529
4529
  "nodeType": "ExpressionStatement",
4530
4530
  "src": "5283:16:87"
4531
4531
  }
4532
4532
  ]
4533
4533
  },
4534
- "id": 30528,
4534
+ "id": 30550,
4535
4535
  "implemented": true,
4536
4536
  "kind": "constructor",
4537
4537
  "modifiers": [
4538
4538
  {
4539
4539
  "arguments": [
4540
4540
  {
4541
- "id": 30520,
4541
+ "id": 30542,
4542
4542
  "name": "host",
4543
4543
  "nodeType": "Identifier",
4544
4544
  "overloadedDeclarations": [],
4545
- "referencedDeclaration": 30514,
4545
+ "referencedDeclaration": 30536,
4546
4546
  "src": "5210:4:87",
4547
4547
  "typeDescriptions": {
4548
4548
  "typeIdentifier": "t_contract$_ISuperfluid_$18324",
@@ -4550,13 +4550,13 @@
4550
4550
  }
4551
4551
  }
4552
4552
  ],
4553
- "id": 30521,
4553
+ "id": 30543,
4554
4554
  "kind": "baseConstructorSpecifier",
4555
4555
  "modifierName": {
4556
- "id": 30519,
4556
+ "id": 30541,
4557
4557
  "name": "SuperTokenFactoryBase",
4558
4558
  "nodeType": "IdentifierPath",
4559
- "referencedDeclaration": 30487,
4559
+ "referencedDeclaration": 30509,
4560
4560
  "src": "5188:21:87"
4561
4561
  },
4562
4562
  "nodeType": "ModifierInvocation",
@@ -4567,17 +4567,17 @@
4567
4567
  "nameLocation": "-1:-1:-1",
4568
4568
  "nodeType": "FunctionDefinition",
4569
4569
  "parameters": {
4570
- "id": 30518,
4570
+ "id": 30540,
4571
4571
  "nodeType": "ParameterList",
4572
4572
  "parameters": [
4573
4573
  {
4574
4574
  "constant": false,
4575
- "id": 30514,
4575
+ "id": 30536,
4576
4576
  "mutability": "mutable",
4577
4577
  "name": "host",
4578
4578
  "nameLocation": "5129:4:87",
4579
4579
  "nodeType": "VariableDeclaration",
4580
- "scope": 30528,
4580
+ "scope": 30550,
4581
4581
  "src": "5117:16:87",
4582
4582
  "stateVariable": false,
4583
4583
  "storageLocation": "default",
@@ -4586,10 +4586,10 @@
4586
4586
  "typeString": "contract ISuperfluid"
4587
4587
  },
4588
4588
  "typeName": {
4589
- "id": 30513,
4589
+ "id": 30535,
4590
4590
  "nodeType": "UserDefinedTypeName",
4591
4591
  "pathNode": {
4592
- "id": 30512,
4592
+ "id": 30534,
4593
4593
  "name": "ISuperfluid",
4594
4594
  "nodeType": "IdentifierPath",
4595
4595
  "referencedDeclaration": 18324,
@@ -4606,33 +4606,33 @@
4606
4606
  },
4607
4607
  {
4608
4608
  "constant": false,
4609
- "id": 30517,
4609
+ "id": 30539,
4610
4610
  "mutability": "mutable",
4611
4611
  "name": "helper",
4612
4612
  "nameLocation": "5167:6:87",
4613
4613
  "nodeType": "VariableDeclaration",
4614
- "scope": 30528,
4614
+ "scope": 30550,
4615
4615
  "src": "5143:30:87",
4616
4616
  "stateVariable": false,
4617
4617
  "storageLocation": "default",
4618
4618
  "typeDescriptions": {
4619
- "typeIdentifier": "t_contract$_SuperTokenFactoryHelper_$30506",
4619
+ "typeIdentifier": "t_contract$_SuperTokenFactoryHelper_$30528",
4620
4620
  "typeString": "contract SuperTokenFactoryHelper"
4621
4621
  },
4622
4622
  "typeName": {
4623
- "id": 30516,
4623
+ "id": 30538,
4624
4624
  "nodeType": "UserDefinedTypeName",
4625
4625
  "pathNode": {
4626
- "id": 30515,
4626
+ "id": 30537,
4627
4627
  "name": "SuperTokenFactoryHelper",
4628
4628
  "nodeType": "IdentifierPath",
4629
- "referencedDeclaration": 30506,
4629
+ "referencedDeclaration": 30528,
4630
4630
  "src": "5143:23:87"
4631
4631
  },
4632
- "referencedDeclaration": 30506,
4632
+ "referencedDeclaration": 30528,
4633
4633
  "src": "5143:23:87",
4634
4634
  "typeDescriptions": {
4635
- "typeIdentifier": "t_contract$_SuperTokenFactoryHelper_$30506",
4635
+ "typeIdentifier": "t_contract$_SuperTokenFactoryHelper_$30528",
4636
4636
  "typeString": "contract SuperTokenFactoryHelper"
4637
4637
  }
4638
4638
  },
@@ -4642,12 +4642,12 @@
4642
4642
  "src": "5107:72:87"
4643
4643
  },
4644
4644
  "returnParameters": {
4645
- "id": 30522,
4645
+ "id": 30544,
4646
4646
  "nodeType": "ParameterList",
4647
4647
  "parameters": [],
4648
4648
  "src": "5273:0:87"
4649
4649
  },
4650
- "scope": 30544,
4650
+ "scope": 30566,
4651
4651
  "src": "5096:210:87",
4652
4652
  "stateMutability": "nonpayable",
4653
4653
  "virtual": false,
@@ -4655,10 +4655,10 @@
4655
4655
  },
4656
4656
  {
4657
4657
  "baseFunctions": [
4658
- 30306
4658
+ 30328
4659
4659
  ],
4660
4660
  "body": {
4661
- "id": 30542,
4661
+ "id": 30564,
4662
4662
  "nodeType": "Block",
4663
4663
  "src": "5423:44:87",
4664
4664
  "statements": [
@@ -4666,11 +4666,11 @@
4666
4666
  "expression": {
4667
4667
  "arguments": [
4668
4668
  {
4669
- "id": 30539,
4669
+ "id": 30561,
4670
4670
  "name": "host",
4671
4671
  "nodeType": "Identifier",
4672
4672
  "overloadedDeclarations": [],
4673
- "referencedDeclaration": 30531,
4673
+ "referencedDeclaration": 30553,
4674
4674
  "src": "5455:4:87",
4675
4675
  "typeDescriptions": {
4676
4676
  "typeIdentifier": "t_contract$_ISuperfluid_$18324",
@@ -4686,32 +4686,32 @@
4686
4686
  }
4687
4687
  ],
4688
4688
  "expression": {
4689
- "id": 30537,
4689
+ "id": 30559,
4690
4690
  "name": "_helper",
4691
4691
  "nodeType": "Identifier",
4692
4692
  "overloadedDeclarations": [],
4693
- "referencedDeclaration": 30511,
4693
+ "referencedDeclaration": 30533,
4694
4694
  "src": "5440:7:87",
4695
4695
  "typeDescriptions": {
4696
- "typeIdentifier": "t_contract$_SuperTokenFactoryHelper_$30506",
4696
+ "typeIdentifier": "t_contract$_SuperTokenFactoryHelper_$30528",
4697
4697
  "typeString": "contract SuperTokenFactoryHelper"
4698
4698
  }
4699
4699
  },
4700
- "id": 30538,
4700
+ "id": 30560,
4701
4701
  "isConstant": false,
4702
4702
  "isLValue": false,
4703
4703
  "isPure": false,
4704
4704
  "lValueRequested": false,
4705
4705
  "memberName": "create",
4706
4706
  "nodeType": "MemberAccess",
4707
- "referencedDeclaration": 30505,
4707
+ "referencedDeclaration": 30527,
4708
4708
  "src": "5440:14:87",
4709
4709
  "typeDescriptions": {
4710
4710
  "typeIdentifier": "t_function_external_nonpayable$_t_contract$_ISuperfluid_$18324_$returns$_t_address_$",
4711
4711
  "typeString": "function (contract ISuperfluid) external returns (address)"
4712
4712
  }
4713
4713
  },
4714
- "id": 30540,
4714
+ "id": 30562,
4715
4715
  "isConstant": false,
4716
4716
  "isLValue": false,
4717
4717
  "isPure": false,
@@ -4726,15 +4726,15 @@
4726
4726
  "typeString": "address"
4727
4727
  }
4728
4728
  },
4729
- "functionReturnParameters": 30536,
4730
- "id": 30541,
4729
+ "functionReturnParameters": 30558,
4730
+ "id": 30563,
4731
4731
  "nodeType": "Return",
4732
4732
  "src": "5433:27:87"
4733
4733
  }
4734
4734
  ]
4735
4735
  },
4736
4736
  "functionSelector": "4dcc4d79",
4737
- "id": 30543,
4737
+ "id": 30565,
4738
4738
  "implemented": true,
4739
4739
  "kind": "function",
4740
4740
  "modifiers": [],
@@ -4742,23 +4742,23 @@
4742
4742
  "nameLocation": "5321:21:87",
4743
4743
  "nodeType": "FunctionDefinition",
4744
4744
  "overrides": {
4745
- "id": 30533,
4745
+ "id": 30555,
4746
4746
  "nodeType": "OverrideSpecifier",
4747
4747
  "overrides": [],
4748
4748
  "src": "5378:8:87"
4749
4749
  },
4750
4750
  "parameters": {
4751
- "id": 30532,
4751
+ "id": 30554,
4752
4752
  "nodeType": "ParameterList",
4753
4753
  "parameters": [
4754
4754
  {
4755
4755
  "constant": false,
4756
- "id": 30531,
4756
+ "id": 30553,
4757
4757
  "mutability": "mutable",
4758
4758
  "name": "host",
4759
4759
  "nameLocation": "5355:4:87",
4760
4760
  "nodeType": "VariableDeclaration",
4761
- "scope": 30543,
4761
+ "scope": 30565,
4762
4762
  "src": "5343:16:87",
4763
4763
  "stateVariable": false,
4764
4764
  "storageLocation": "default",
@@ -4767,10 +4767,10 @@
4767
4767
  "typeString": "contract ISuperfluid"
4768
4768
  },
4769
4769
  "typeName": {
4770
- "id": 30530,
4770
+ "id": 30552,
4771
4771
  "nodeType": "UserDefinedTypeName",
4772
4772
  "pathNode": {
4773
- "id": 30529,
4773
+ "id": 30551,
4774
4774
  "name": "ISuperfluid",
4775
4775
  "nodeType": "IdentifierPath",
4776
4776
  "referencedDeclaration": 18324,
@@ -4789,17 +4789,17 @@
4789
4789
  "src": "5342:18:87"
4790
4790
  },
4791
4791
  "returnParameters": {
4792
- "id": 30536,
4792
+ "id": 30558,
4793
4793
  "nodeType": "ParameterList",
4794
4794
  "parameters": [
4795
4795
  {
4796
4796
  "constant": false,
4797
- "id": 30535,
4797
+ "id": 30557,
4798
4798
  "mutability": "mutable",
4799
4799
  "name": "logic",
4800
4800
  "nameLocation": "5412:5:87",
4801
4801
  "nodeType": "VariableDeclaration",
4802
- "scope": 30543,
4802
+ "scope": 30565,
4803
4803
  "src": "5404:13:87",
4804
4804
  "stateVariable": false,
4805
4805
  "storageLocation": "default",
@@ -4808,7 +4808,7 @@
4808
4808
  "typeString": "address"
4809
4809
  },
4810
4810
  "typeName": {
4811
- "id": 30534,
4811
+ "id": 30556,
4812
4812
  "name": "address",
4813
4813
  "nodeType": "ElementaryTypeName",
4814
4814
  "src": "5404:7:87",
@@ -4823,14 +4823,14 @@
4823
4823
  ],
4824
4824
  "src": "5403:15:87"
4825
4825
  },
4826
- "scope": 30544,
4826
+ "scope": 30566,
4827
4827
  "src": "5312:155:87",
4828
4828
  "stateMutability": "nonpayable",
4829
4829
  "virtual": false,
4830
4830
  "visibility": "external"
4831
4831
  }
4832
4832
  ],
4833
- "scope": 30545,
4833
+ "scope": 30567,
4834
4834
  "src": "4982:487:87",
4835
4835
  "usedErrors": []
4836
4836
  }
@@ -4839,11 +4839,11 @@
4839
4839
  },
4840
4840
  "compiler": {
4841
4841
  "name": "solc",
4842
- "version": "0.8.13+commit.abaa5c0e.Emscripten.clang"
4842
+ "version": "0.8.14+commit.80d49f37.Emscripten.clang"
4843
4843
  },
4844
4844
  "networks": {},
4845
4845
  "schemaVersion": "3.4.7",
4846
- "updatedAt": "2022-06-03T09:45:14.298Z",
4846
+ "updatedAt": "2022-06-16T09:19:12.517Z",
4847
4847
  "devdoc": {
4848
4848
  "kind": "dev",
4849
4849
  "methods": {