@etherisc/gif-next 0.0.2-ab82da8-607 → 0.0.2-abde86b-349

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 (301) hide show
  1. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +26 -45
  3. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  4. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  5. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +2 -2
  6. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  7. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  8. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +0 -19
  9. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  10. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  12. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +2 -2
  14. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  15. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  16. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +2 -2
  17. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  18. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +16 -16
  19. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  20. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  21. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +13 -8
  22. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  23. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +92 -61
  24. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  25. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  26. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  27. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +16 -16
  28. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  29. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +11 -11
  30. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  31. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +60 -32
  32. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  33. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +71 -69
  34. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  35. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
  36. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  37. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  38. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  39. package/artifacts/contracts/instance/Instance.sol/Instance.json +2 -2
  40. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  41. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +88 -91
  42. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  43. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +2 -2
  44. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  45. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +291 -66
  46. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  47. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +17 -12
  48. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  49. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +69 -38
  50. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  51. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +71 -51
  52. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  53. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  54. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  55. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  56. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  57. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  58. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  59. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
  60. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  61. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  62. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  63. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  64. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  65. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  66. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  67. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  68. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +2 -2
  69. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  70. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +18 -18
  71. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  72. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  73. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  74. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  75. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  76. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +31 -26
  77. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  78. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +68 -37
  79. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  80. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +28 -0
  81. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  82. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +16 -16
  83. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  84. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +15 -10
  85. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  86. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +90 -59
  87. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  88. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  89. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +28 -0
  90. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  91. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +73 -4
  92. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  93. package/artifacts/contracts/pool/Pool.sol/Pool.json +28 -0
  94. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  95. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +170 -43
  96. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  97. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +95 -40
  98. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  99. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +31 -26
  100. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  101. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +65 -34
  102. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  103. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +28 -26
  104. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  105. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +16 -16
  106. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  107. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +103 -82
  108. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  109. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +97 -58
  110. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  111. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  112. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +8 -8
  113. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  114. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +82 -0
  115. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  116. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  117. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +28 -26
  118. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  119. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  120. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +167 -48
  121. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  122. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +92 -45
  123. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  124. package/artifacts/contracts/product/PricingService.sol/PricingService.json +39 -34
  125. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  126. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +76 -45
  127. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  128. package/artifacts/contracts/product/Product.sol/Product.json +28 -26
  129. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  130. package/artifacts/contracts/product/RiskService.sol/RiskService.json +11 -6
  131. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  132. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +62 -31
  133. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  134. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  135. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +19 -0
  136. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  137. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  138. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  139. package/artifacts/contracts/registry/Registry.sol/Registry.json +55 -36
  140. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  141. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +108 -111
  142. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  143. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +23 -201
  144. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  145. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +60 -29
  146. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  147. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  148. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +2 -2
  149. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  150. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +2 -2
  151. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  152. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
  153. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  154. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  155. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +39 -34
  156. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  157. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +97 -56
  158. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  159. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +5 -0
  160. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  161. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +92 -0
  162. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  163. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  164. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  165. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  166. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  167. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  168. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  169. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +16 -6
  170. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  171. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  172. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  173. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
  174. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  175. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  176. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  177. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  178. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  179. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  180. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
  181. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  182. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +18 -8
  183. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  184. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +2 -2
  185. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  186. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  187. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  188. package/artifacts/contracts/shared/Service.sol/Service.json +5 -0
  189. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  190. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
  191. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  192. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
  193. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  194. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  195. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  196. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +2 -2
  197. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  198. package/artifacts/contracts/staking/Staking.sol/Staking.json +2 -2
  199. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  200. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  201. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +78 -42
  202. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  203. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
  204. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  205. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +11 -6
  206. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  207. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +64 -33
  208. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  209. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2 -2
  210. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  211. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +2 -2
  212. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  213. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  214. package/artifacts/contracts/type/Amount.sol/AmountLib.json +2 -2
  215. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  216. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  217. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  218. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  219. package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -2
  220. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  221. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  222. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  223. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  224. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  225. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  226. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  227. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  228. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  229. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  230. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  231. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  232. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  233. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  234. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  235. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  236. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  237. package/artifacts/contracts/type/UFixed.sol/MathLib.json +2 -2
  238. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  239. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +15 -2
  240. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  241. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  242. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  243. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  244. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +47 -27
  245. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  246. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  247. package/contracts/authorization/AccessAdmin.sol +24 -21
  248. package/contracts/authorization/Authorization.sol +5 -1
  249. package/contracts/authorization/IAccessAdmin.sol +0 -1
  250. package/contracts/distribution/DistributionService.sol +7 -7
  251. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  252. package/contracts/instance/InstanceAdmin.sol +6 -3
  253. package/contracts/instance/InstanceReader.sol +93 -4
  254. package/contracts/instance/InstanceService.sol +3 -5
  255. package/contracts/instance/InstanceServiceManager.sol +6 -7
  256. package/contracts/instance/module/IComponents.sol +3 -1
  257. package/contracts/instance/module/IPolicy.sol +2 -2
  258. package/contracts/oracle/OracleService.sol +8 -6
  259. package/contracts/oracle/OracleServiceManager.sol +6 -6
  260. package/contracts/pool/BundleService.sol +6 -6
  261. package/contracts/pool/BundleServiceManager.sol +6 -6
  262. package/contracts/pool/IPoolComponent.sol +18 -8
  263. package/contracts/pool/IPoolService.sol +19 -8
  264. package/contracts/pool/Pool.sol +37 -10
  265. package/contracts/pool/PoolService.sol +61 -22
  266. package/contracts/pool/PoolServiceManager.sol +4 -4
  267. package/contracts/product/ApplicationService.sol +10 -7
  268. package/contracts/product/ApplicationServiceManager.sol +4 -4
  269. package/contracts/product/ClaimService.sol +147 -61
  270. package/contracts/product/ClaimServiceManager.sol +4 -4
  271. package/contracts/product/IClaimService.sol +1 -1
  272. package/contracts/product/IPolicyService.sol +7 -3
  273. package/contracts/product/IProductComponent.sol +17 -3
  274. package/contracts/product/PolicyService.sol +93 -20
  275. package/contracts/product/PolicyServiceManager.sol +4 -4
  276. package/contracts/product/PricingService.sol +2 -3
  277. package/contracts/product/PricingServiceManager.sol +3 -3
  278. package/contracts/product/Product.sol +25 -18
  279. package/contracts/product/RiskService.sol +2 -3
  280. package/contracts/product/RiskServiceManager.sol +4 -4
  281. package/contracts/registry/IRegistry.sol +2 -0
  282. package/contracts/registry/IRegistryService.sol +0 -9
  283. package/contracts/registry/Registry.sol +7 -2
  284. package/contracts/registry/RegistryService.sol +53 -46
  285. package/contracts/registry/RegistryServiceManager.sol +2 -2
  286. package/contracts/shared/ComponentService.sol +5 -5
  287. package/contracts/shared/ComponentServiceManager.sol +8 -5
  288. package/contracts/shared/ComponentVerifyingService.sol +1 -2
  289. package/contracts/shared/ContractLib.sol +38 -0
  290. package/contracts/shared/IPolicyHolder.sol +12 -13
  291. package/contracts/shared/InstanceLinkedComponent.sol +1 -2
  292. package/contracts/shared/PolicyHolder.sol +11 -5
  293. package/contracts/shared/Service.sol +12 -7
  294. package/contracts/staking/Staking.sol +1 -1
  295. package/contracts/staking/StakingManager.sol +8 -6
  296. package/contracts/staking/StakingServiceManager.sol +2 -2
  297. package/contracts/type/PayoutId.sol +10 -10
  298. package/contracts/type/UFixed.sol +4 -0
  299. package/contracts/upgradeability/ProxyManager.sol +67 -34
  300. package/contracts/upgradeability/Versionable.sol +2 -2
  301. package/package.json +1 -1
@@ -111,7 +111,6 @@ abstract contract ComponentVerifyingService is
111
111
  /// @dev returns an IInstance contract reference for the specified instance nft id
112
112
  function _getInstance(NftId instanceNftId) internal view returns (IInstance) {
113
113
  return IInstance(
114
- getRegistry().getObjectInfo(
115
- instanceNftId).objectAddress);
114
+ getRegistry().getObjectAddress(instanceNftId));
116
115
  }
117
116
  }
@@ -0,0 +1,38 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {ERC165Checker} from "@openzeppelin/contracts/utils/introspection/ERC165Checker.sol";
5
+ import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
6
+
7
+ import {IPolicyHolder} from "./IPolicyHolder.sol";
8
+
9
+ library ContractLib {
10
+
11
+ function isPolicyHolder(address target) external view returns (bool) {
12
+ return ERC165Checker.supportsInterface(target, type(IPolicyHolder).interfaceId);
13
+ }
14
+
15
+ function isAccessManaged(address target) external view returns (bool) {
16
+ if (!isContract(target)) {
17
+ return false;
18
+ }
19
+
20
+ (bool success, ) = target.staticcall(
21
+ abi.encodeWithSelector(
22
+ IAccessManaged.authority.selector));
23
+
24
+ return success;
25
+ }
26
+
27
+ function isContract(address target) public view returns (bool) {
28
+ uint256 size;
29
+ assembly {
30
+ size := extcodesize(target)
31
+ }
32
+ return size > 0;
33
+ }
34
+
35
+ function supportsInterface(address target, bytes4 interfaceId) external view returns (bool) {
36
+ return ERC165Checker.supportsInterface(target, interfaceId);
37
+ }
38
+ }
@@ -9,28 +9,27 @@ import {ClaimId} from "../type/ClaimId.sol";
9
9
  import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
10
10
  import {NftId} from "../type/NftId.sol";
11
11
  import {PayoutId} from "../type/PayoutId.sol";
12
+ import {Timestamp} from "../type/Timestamp.sol";
12
13
 
13
- /// @dev generic interface for contracts that need to hold policies and receive payouts
14
- /// GIF will notify policy holder contracts for policy creation and payout execution
14
+ /// @dev Generic interface for contracts that need to hold policies and receive payouts.
15
+ /// The framework notifies policy holder contracts for policy creation/expiry, claim confirmation and payout execution
15
16
  interface IPolicyHolder is
16
17
  IERC165,
17
18
  IERC721Receiver,
18
19
  IRegistryLinked
19
20
  {
20
21
 
21
- /// @dev callback function that will be called after successful policy activation
22
- /// active policies may open claims under the activated policy
23
- function policyActivated(NftId policyNftId) external;
22
+ /// @dev Callback function that will be called after successful policy activation.
23
+ /// Active policies may open claims under the activated policy.
24
+ function policyActivated(NftId policyNftId, Timestamp activatedAt) external;
24
25
 
25
- /// @dev callback function to indicate the specified policy has expired
26
- /// expired policies may no longer open claims
27
- /// it is optional for products to notifiy policy holder of expired claims
28
- function policyExpired(NftId policyNftId) external;
26
+ /// @dev Callback function to indicate the specified policy has expired.
27
+ /// expired policies no longer accept new claims.
28
+ function policyExpired(NftId policyNftId, Timestamp expiredAt) external;
29
29
 
30
- /// @dev callback function to notify the confirmation of the specified claim
31
- /// active policies may open claims under the activated policy
30
+ /// @dev Callback function to notify the confirmation of the specified claim.
32
31
  function claimConfirmed(NftId policyNftId, ClaimId claimId, Amount amount) external;
33
32
 
34
- /// @dev callback function that will be called after a successful payout
35
- function payoutExecuted(NftId policyNftId, PayoutId payoutId, address beneficiary, Amount amount) external;
33
+ /// @dev Callback function to notify the successful payout.
34
+ function payoutExecuted(NftId policyNftId, PayoutId payoutId, Amount amount, address beneficiary) external;
36
35
  }
@@ -96,8 +96,7 @@ abstract contract InstanceLinkedComponent is
96
96
  // set and check linked instance
97
97
  InstanceLinkedComponentStorage storage $ = _getInstanceLinkedComponentStorage();
98
98
  $._instance = IInstance(
99
- IRegistry(registry).getObjectInfo(
100
- instanceNftId).objectAddress);
99
+ IRegistry(registry).getObjectAddress(instanceNftId));
101
100
 
102
101
  if(!$._instance.supportsInterface(type(IInstance).interfaceId)) {
103
102
  revert ErrorComponentNotInstance(instanceNftId);
@@ -10,13 +10,18 @@ import {IPolicyHolder} from "./IPolicyHolder.sol";
10
10
  import {NftId} from "../type/NftId.sol";
11
11
  import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
12
12
  import {RegistryLinked} from "./RegistryLinked.sol";
13
+ import {Timestamp} from "../type/Timestamp.sol";
13
14
 
14
15
  /// @dev template implementation for IPolicyHolder
15
16
  contract PolicyHolder is
16
17
  InitializableERC165,
17
- RegistryLinked, // TODO need upgradeable version
18
+ RegistryLinked,
18
19
  IPolicyHolder
19
20
  {
21
+ // TODO add modifier to protect callback functions from unauthorized access
22
+ // callbacks must only be allowed from the policy and claim services
23
+ // will need a release parameter to fetch the right service addresses for the modifiers
24
+
20
25
  function _initializePolicyHolder(
21
26
  address registryAddress
22
27
  )
@@ -25,20 +30,21 @@ contract PolicyHolder is
25
30
  onlyInitializing()
26
31
  {
27
32
  _initializeRegistryLinked(registryAddress);
33
+ _initializeERC165();
28
34
  _registerInterface(type(IPolicyHolder).interfaceId);
29
35
  }
30
36
 
31
37
  /// @dev empty default implementation
32
- function policyActivated(NftId policyNftId) external {}
38
+ function policyActivated(NftId policyNftId, Timestamp activatedAt) external virtual {}
33
39
 
34
40
  /// @dev empty default implementation
35
- function policyExpired(NftId policyNftId) external {}
41
+ function policyExpired(NftId policyNftId, Timestamp expiredAt) external virtual {}
36
42
 
37
43
  /// @dev empty default implementation
38
- function claimConfirmed(NftId policyNftId, ClaimId claimId, Amount amount) external {}
44
+ function claimConfirmed(NftId policyNftId, ClaimId claimId, Amount amount) external virtual {}
39
45
 
40
46
  /// @dev empty default implementation
41
- function payoutExecuted(NftId policyNftId, PayoutId payoutId, address beneficiary, Amount amount) external {}
47
+ function payoutExecuted(NftId policyNftId, PayoutId payoutId, Amount amount, address beneficiary) external virtual {}
42
48
 
43
49
  //--- IERC165 functions ---------------//
44
50
  function onERC721Received(
@@ -3,6 +3,7 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
5
5
  import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
6
+ import {ReentrancyGuardUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol";
6
7
 
7
8
  import {IRegistry} from "../registry/IRegistry.sol";
8
9
  import {IService} from "./IService.sol";
@@ -19,6 +20,7 @@ abstract contract Service is
19
20
  Registerable,
20
21
  Versionable,
21
22
  AccessManagedUpgradeable,
23
+ ReentrancyGuardUpgradeable,
22
24
  IService
23
25
  {
24
26
 
@@ -34,13 +36,7 @@ abstract contract Service is
34
36
  virtual
35
37
  onlyInitializing()
36
38
  {
37
- _initializeRegisterable(
38
- registry,
39
- IRegistry(registry).getNftId(),
40
- SERVICE(),
41
- false, // is interceptor
42
- initialOwner,
43
- ""); // data
39
+ __ReentrancyGuard_init();
44
40
 
45
41
  // externally provided authority
46
42
  if(authority != address(0)) {
@@ -52,6 +48,15 @@ abstract contract Service is
52
48
  __AccessManaged_init(IAccessManaged(registryServiceAddress).authority());
53
49
  }
54
50
 
51
+ _initializeRegisterable(
52
+ registry,
53
+ IRegistry(registry).getNftId(),
54
+ SERVICE(),
55
+ false, // is interceptor
56
+ initialOwner,
57
+ ""); // data
58
+
59
+
55
60
  _registerInterface(type(IAccessManaged).interfaceId);
56
61
  _registerInterface(type(IService).interfaceId);
57
62
  }
@@ -451,7 +451,7 @@ contract Staking is
451
451
  )
452
452
  internal
453
453
  virtual override
454
- initializer
454
+ initializer()
455
455
  {
456
456
  (
457
457
  address registryAddress,
@@ -18,9 +18,9 @@ contract StakingManager is
18
18
  address registry,
19
19
  address tokenRegistry,
20
20
  address stakingStore,
21
- address initialOwner
21
+ address initialOwner,
22
+ bytes32 salt
22
23
  )
23
- ProxyManager(registry)
24
24
  {
25
25
  Staking stakingImplementation = new Staking();
26
26
 
@@ -30,10 +30,12 @@ contract StakingManager is
30
30
  tokenRegistry,
31
31
  stakingStore,
32
32
  initialOwner);
33
-
34
- IVersionable versionable = deploy(
35
- _initialImplementation,
36
- _initializationData);
33
+
34
+ IVersionable versionable = initialize(
35
+ registry,
36
+ _initialImplementation,
37
+ _initializationData,
38
+ salt);
37
39
 
38
40
  _staking = Staking(address(versionable));
39
41
  }
@@ -18,14 +18,14 @@ contract StakingServiceManager is
18
18
  address registryAddress,
19
19
  bytes32 salt
20
20
  )
21
- ProxyManager(registryAddress)
22
21
  {
23
22
  StakingService svc = new StakingService();
24
23
  bytes memory data = abi.encode(
25
24
  authority,
26
25
  registryAddress,
27
26
  IRegistry(registryAddress).getStakingAddress());
28
- IVersionable versionable = deployDetermenistic(
27
+ IVersionable versionable = initialize(
28
+ registryAddress,
29
29
  address(svc),
30
30
  data,
31
31
  salt);
@@ -1,8 +1,8 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- // uint24 allows for 65'535 claims with 255 payouts each per policy
5
- type PayoutId is uint24;
4
+ // uint40 allows for 65'535 claims with 16'777'216 payouts each per policy
5
+ type PayoutId is uint40;
6
6
 
7
7
  import {ClaimId} from "./ClaimId.sol";
8
8
  import {PAYOUT} from "./ObjectType.sol";
@@ -39,21 +39,21 @@ library PayoutIdLib {
39
39
  }
40
40
 
41
41
  /// @dev Converts an uint into a PayoutId.
42
- function toPayoutId(ClaimId claimId, uint8 payoutNo) public pure returns (PayoutId) {
43
- return PayoutId.wrap((ClaimId.unwrap(claimId) << 8) + payoutNo);
42
+ function toPayoutId(ClaimId claimId, uint24 payoutNo) public pure returns (PayoutId) {
43
+ return PayoutId.wrap((uint40(ClaimId.unwrap(claimId)) << 24) + payoutNo);
44
44
  }
45
45
 
46
46
  function toClaimId(PayoutId payoutId) public pure returns (ClaimId) {
47
- return ClaimId.wrap(uint16(PayoutId.unwrap(payoutId) >> 8));
47
+ return ClaimId.wrap(uint16(PayoutId.unwrap(payoutId) >> 24));
48
48
  }
49
49
 
50
- function toPayoutNo(PayoutId payoutId) public pure returns (uint8) {
51
- return uint8(PayoutId.unwrap(payoutId) & 255);
50
+ function toPayoutNo(PayoutId payoutId) public pure returns (uint24) {
51
+ return uint24(PayoutId.unwrap(payoutId) & 16777215);
52
52
  }
53
53
 
54
54
  /// @dev Converts the PayoutId to a uint.
55
- function toInt(PayoutId a) public pure returns (uint24) {
56
- return uint24(PayoutId.unwrap(a));
55
+ function toInt(PayoutId a) public pure returns (uint40) {
56
+ return PayoutId.unwrap(a);
57
57
  }
58
58
 
59
59
  /// @dev Returns true if the value is non-zero (> 0).
@@ -77,6 +77,6 @@ library PayoutIdLib {
77
77
  bytes31(
78
78
  bytes15(
79
79
  uint120(
80
- (NftId.unwrap(policyNftId) << 24) + PayoutId.unwrap(payoutId)))));
80
+ (NftId.unwrap(policyNftId) << 40) + PayoutId.unwrap(payoutId)))));
81
81
  }
82
82
  }
@@ -344,6 +344,10 @@ library UFixedLib {
344
344
  return UFixed.wrap(0);
345
345
  }
346
346
 
347
+ function one() public pure returns (UFixed) {
348
+ return UFixed.wrap(MULTIPLIER);
349
+ }
350
+
347
351
  /// @dev return the absolute delta between two UFixed numbers
348
352
  function delta(UFixed a, UFixed b) public pure returns (UFixed) {
349
353
  return deltaUFixed(a, b);
@@ -40,57 +40,68 @@ contract ProxyManager is
40
40
  mapping(Version version => VersionInfo info) _versionHistory;
41
41
  Version [] _versions;
42
42
 
43
- /// @dev only used to capture proxy owner
44
- constructor(address registry)
45
- {
46
- initializeProxyManager(registry);
47
- }
48
-
49
- function initializeProxyManager(address registry)
43
+ /// @dev convencience initializer
44
+ function initialize(
45
+ address registry,
46
+ address implementation,
47
+ bytes memory data,
48
+ bytes32 salt
49
+ )
50
50
  public
51
51
  initializer()
52
+ returns (IVersionable versionable)
52
53
  {
53
- _initializeNftOwnable(msg.sender, registry);
54
+ versionable = deployDetermenistic(
55
+ registry,
56
+ implementation,
57
+ data,
58
+ salt);
54
59
  }
55
60
 
56
61
  /// @dev deploy initial contract
57
- function deploy(address initialImplementation, bytes memory initializationData)
62
+ function deploy(
63
+ address registry,
64
+ address initialImplementation,
65
+ bytes memory initializationData
66
+ )
58
67
  public
59
68
  virtual
60
- onlyOwner()
69
+ onlyInitializing()
61
70
  returns (IVersionable versionable)
62
71
  {
63
- if (_versions.length > 0) {
64
- revert ErrorProxyManagerAlreadyDeployed();
65
- }
72
+ (
73
+ address currentProxyOwner,
74
+ address initialProxyAdminOwner
75
+ ) = _preDeployChecksAndSetup(registry);
66
76
 
67
- address currentProxyOwner = getOwner(); // used by implementation
68
- address initialProxyAdminOwner = address(this); // used by proxy
69
-
70
77
  _proxy = new UpgradableProxyWithAdmin(
71
78
  initialImplementation,
72
79
  initialProxyAdminOwner,
73
80
  getDeployData(currentProxyOwner, initializationData)
74
81
  );
75
82
 
76
- versionable = IVersionable(address(_proxy));
77
- _updateVersionHistory(versionable.getVersion(), initialImplementation, currentProxyOwner);
83
+ versionable = _updateVersionHistory(
84
+ initialImplementation,
85
+ currentProxyOwner);
78
86
 
79
- emit LogProxyManagerVersionableDeployed(address(_proxy), initialImplementation);
87
+ emit LogProxyManagerVersionableDeployed(address(versionable), initialImplementation);
80
88
  }
81
89
 
82
- function deployDetermenistic(address initialImplementation, bytes memory initializationData, bytes32 salt)
90
+ function deployDetermenistic(
91
+ address registry,
92
+ address initialImplementation,
93
+ bytes memory initializationData,
94
+ bytes32 salt
95
+ )
83
96
  public
84
97
  virtual
85
- onlyOwner()
98
+ onlyInitializing()
86
99
  returns (IVersionable versionable)
87
100
  {
88
- if (_versions.length > 0) {
89
- revert ErrorProxyManagerAlreadyDeployed();
90
- }
91
-
92
- address currentProxyOwner = getOwner();
93
- address initialProxyAdminOwner = address(this);
101
+ (
102
+ address currentProxyOwner,
103
+ address initialProxyAdminOwner
104
+ ) = _preDeployChecksAndSetup(registry);
94
105
 
95
106
  _proxy = new UpgradableProxyWithAdmin{salt: salt}(
96
107
  initialImplementation,
@@ -98,10 +109,11 @@ contract ProxyManager is
98
109
  getDeployData(currentProxyOwner, initializationData)
99
110
  );
100
111
 
101
- versionable = IVersionable(address(_proxy));
102
- _updateVersionHistory(versionable.getVersion(), initialImplementation, currentProxyOwner);
112
+ versionable = _updateVersionHistory(
113
+ initialImplementation,
114
+ currentProxyOwner);
103
115
 
104
- emit LogProxyManagerVersionableDeployed(address(_proxy), initialImplementation);
116
+ emit LogProxyManagerVersionableDeployed(address(versionable), initialImplementation);
105
117
  }
106
118
 
107
119
  /// @dev upgrade existing contract
@@ -124,10 +136,11 @@ contract ProxyManager is
124
136
  newImplementation,
125
137
  getUpgradeData(upgradeData));
126
138
 
127
- versionable = IVersionable(address(_proxy));
128
- _updateVersionHistory(versionable.getVersion(), newImplementation, currentProxyOwner);
139
+ versionable = _updateVersionHistory(
140
+ newImplementation,
141
+ currentProxyOwner);
129
142
 
130
- emit LogProxyManagerVersionableUpgraded(address(_proxy), newImplementation);
143
+ emit LogProxyManagerVersionableUpgraded(address(versionable), newImplementation);
131
144
 
132
145
  }
133
146
 
@@ -168,13 +181,33 @@ contract ProxyManager is
168
181
  return _versionHistory[_version];
169
182
  }
170
183
 
184
+ function _preDeployChecksAndSetup(address registry)
185
+ private
186
+ returns (
187
+ address currentProxyOwner,
188
+ address initialProxyAdminOwner
189
+ )
190
+ {
191
+ if (_versions.length > 0) {
192
+ revert ErrorProxyManagerAlreadyDeployed();
193
+ }
194
+
195
+ _initializeNftOwnable(msg.sender, registry);
196
+
197
+ currentProxyOwner = getOwner(); // used by implementation
198
+ initialProxyAdminOwner = address(this); // used by proxy
199
+ }
200
+
171
201
  function _updateVersionHistory(
172
- Version newVersion,
173
202
  address implementation,
174
203
  address activatedBy
175
204
  )
176
205
  private
206
+ returns (IVersionable versionable)
177
207
  {
208
+ versionable = IVersionable(address(_proxy));
209
+ Version newVersion = versionable.getVersion();
210
+
178
211
  if(newVersion == VersionLib.zeroVersion()) {
179
212
  revert ErrorProxyManagerZeroVersion();
180
213
  }
@@ -20,7 +20,7 @@ abstract contract Versionable is
20
20
  bytes memory data
21
21
  )
22
22
  public
23
- initializer
23
+ initializer()
24
24
  {
25
25
  _initialize(activatedBy, data);
26
26
  }
@@ -41,7 +41,7 @@ abstract contract Versionable is
41
41
  // each implementation MUST call intializers of all base contracts...
42
42
  function _initialize(address owner, bytes memory data)
43
43
  internal
44
- onlyInitializing
44
+ onlyInitializing()
45
45
  virtual
46
46
  {
47
47
  revert();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etherisc/gif-next",
3
- "version": "0.0.2-ab82da8-607",
3
+ "version": "0.0.2-abde86b-349",
4
4
  "description": "This is the repository for the next version of the Generic Insurance Framework (GIF) smart contracts. ",
5
5
  "main": "index.js",
6
6
  "scripts": {