@etherisc/gif-next 3.0.0-a511887-523 → 3.0.0-ab05e7d-681

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 (483) hide show
  1. package/README.md +10 -1
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +64 -193
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +62 -157
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +33 -126
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +63 -130
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +145 -100
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +84 -20
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +55 -31
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +3 -45
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +1 -1
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +1 -1
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +42 -18
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +67 -158
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +65 -41
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +49 -112
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +197 -227
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +93 -184
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +48 -124
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +104 -106
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  40. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +76 -187
  42. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +65 -41
  44. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +113 -224
  46. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +65 -41
  48. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  49. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
  50. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +799 -0
  51. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +4 -0
  52. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +229 -0
  53. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +4 -0
  54. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +801 -0
  55. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
  56. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1353 -0
  57. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
  58. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +896 -0
  59. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
  60. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1466 -0
  61. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
  62. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +844 -0
  63. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
  64. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2289 -0
  65. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
  66. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +891 -0
  67. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
  68. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -0
  69. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
  70. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +586 -0
  71. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
  72. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
  73. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  74. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +74 -193
  75. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  76. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +65 -41
  77. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  78. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +73 -192
  79. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  80. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +81 -200
  81. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  82. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +65 -41
  83. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  84. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +81 -200
  85. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  86. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +65 -41
  87. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
  88. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +50 -0
  89. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  90. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
  91. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
  92. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +50 -0
  93. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  94. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +18 -118
  95. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  96. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +92 -118
  97. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  98. package/artifacts/contracts/instance/Instance.sol/Instance.json +34 -181
  99. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  100. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +149 -207
  101. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  102. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +67 -43
  103. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  104. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +236 -75
  105. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  106. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +117 -167
  107. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  108. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +59 -148
  109. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  110. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +82 -32
  111. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
  112. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +68 -18
  113. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  114. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +2 -2
  115. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  116. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  117. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  118. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  119. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  120. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  121. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  122. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  123. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
  124. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  125. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
  126. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  127. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  128. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  129. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  130. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  131. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  132. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  133. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +67 -158
  134. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  135. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +65 -41
  136. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  137. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  138. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +52 -128
  139. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  140. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +26 -113
  141. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  142. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +53 -116
  143. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  144. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +69 -184
  145. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  146. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +68 -159
  147. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  148. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +56 -119
  149. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  150. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +65 -41
  151. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  152. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +96 -199
  153. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  154. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +80 -171
  155. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  156. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +31 -106
  157. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  158. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +55 -131
  159. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  160. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +38 -113
  161. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  162. package/artifacts/contracts/pool/Pool.sol/Pool.json +56 -119
  163. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  164. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +20 -25
  165. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  166. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +107 -210
  167. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  168. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +81 -172
  169. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  170. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +50 -165
  171. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  172. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +62 -153
  173. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  174. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +49 -112
  175. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  176. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +65 -41
  177. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  178. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +96 -211
  179. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  180. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +85 -176
  181. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  182. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +19 -106
  183. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  184. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +19 -106
  185. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  186. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +26 -113
  187. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  188. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +26 -113
  189. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  190. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +48 -124
  191. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  192. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +19 -106
  193. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  194. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +89 -204
  195. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  196. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +20 -12
  197. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  198. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +78 -169
  199. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  200. package/artifacts/contracts/product/PricingService.sol/PricingService.json +71 -186
  201. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  202. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +69 -160
  203. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  204. package/artifacts/contracts/product/Product.sol/Product.json +49 -112
  205. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  206. package/artifacts/contracts/product/RiskService.sol/RiskService.json +46 -161
  207. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  208. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +60 -151
  209. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  210. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  211. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  212. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +56 -155
  213. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  214. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +185 -219
  215. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  216. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +15 -1
  217. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  218. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  219. package/artifacts/contracts/registry/Registry.sol/Registry.json +96 -314
  220. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  221. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +145 -207
  222. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  223. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +77 -57
  224. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  225. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +213 -302
  226. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  227. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +55 -162
  228. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  229. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +150 -208
  230. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  231. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  232. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  233. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +146 -181
  234. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  235. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +56 -32
  236. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  237. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -46
  238. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  239. package/artifacts/contracts/shared/Component.sol/Component.json +31 -124
  240. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  241. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +323 -198
  242. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  243. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +91 -166
  244. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  245. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +44 -24
  246. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
  247. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  248. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
  249. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
  250. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +633 -0
  251. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  252. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +30 -136
  253. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  254. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +234 -113
  255. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  256. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +48 -124
  257. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  258. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  259. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +2 -44
  260. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  261. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +2 -44
  262. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  263. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +17 -117
  264. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  265. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +2 -44
  266. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  267. package/artifacts/contracts/shared/IService.sol/IService.json +19 -106
  268. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  269. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  270. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +49 -112
  271. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  272. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  273. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  274. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  275. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +4 -46
  276. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  277. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +4 -46
  278. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  279. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +16 -116
  280. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  281. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +4 -46
  282. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  283. package/artifacts/contracts/shared/Service.sol/Service.json +18 -105
  284. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  285. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +29 -42
  286. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  287. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +17 -30
  288. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  289. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
  290. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  291. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +64 -132
  292. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  293. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +31 -106
  294. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  295. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  296. package/artifacts/contracts/staking/Staking.sol/Staking.json +111 -195
  297. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  298. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +2 -2
  299. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  300. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +71 -156
  301. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  302. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +4 -46
  303. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  304. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +54 -157
  305. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  306. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +58 -149
  307. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  308. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +200 -274
  309. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  310. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +2 -2
  311. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  312. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -16
  313. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  314. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  316. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
  318. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  320. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  322. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  324. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  325. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  326. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  327. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  328. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  329. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  330. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  331. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  332. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +22 -25
  333. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  334. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  335. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  336. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +23 -4
  337. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  338. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  339. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
  340. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
  341. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  342. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  343. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  344. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
  345. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  346. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +21 -2
  347. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  348. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  349. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  350. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  351. package/artifacts/contracts/type/String.sol/StrLib.json +21 -2
  352. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  353. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
  354. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  355. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  356. package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
  357. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  358. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +6 -19
  359. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  360. package/artifacts/contracts/upgradeability/{IUpgradeable.sol/IUpgradeable.json → IVersionable.sol/IVersionable.json} +4 -54
  361. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  362. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +40 -109
  363. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  364. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  365. package/artifacts/contracts/upgradeability/{Upgradeable.sol/Upgradeable.json → Versionable.sol/Versionable.json} +4 -54
  366. package/contracts/accounting/AccountingService.sol +18 -30
  367. package/contracts/accounting/AccountingServiceManager.sol +3 -3
  368. package/contracts/accounting/IAccountingService.sol +7 -8
  369. package/contracts/authorization/AccessAdmin.sol +22 -44
  370. package/contracts/authorization/AccessAdminLib.sol +20 -3
  371. package/contracts/authorization/AccessManagerCloneable.sol +51 -24
  372. package/contracts/authorization/Authorization.sol +2 -2
  373. package/contracts/authorization/IAccessAdmin.sol +3 -2
  374. package/contracts/authorization/IServiceAuthorization.sol +1 -1
  375. package/contracts/authorization/ServiceAuthorization.sol +4 -4
  376. package/contracts/distribution/BasicDistributionAuthorization.sol +4 -5
  377. package/contracts/distribution/DistributionService.sol +13 -14
  378. package/contracts/distribution/DistributionServiceManager.sol +3 -3
  379. package/contracts/distribution/IDistributionService.sol +4 -3
  380. package/contracts/examples/flight/FlightLib.sol +337 -0
  381. package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
  382. package/contracts/examples/flight/FlightNft.sol +234 -0
  383. package/contracts/examples/flight/FlightOracle.sol +226 -0
  384. package/contracts/examples/flight/FlightOracleAuthorization.sol +57 -0
  385. package/contracts/examples/flight/FlightPool.sol +89 -0
  386. package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
  387. package/contracts/examples/flight/FlightProduct.sol +687 -0
  388. package/contracts/examples/flight/FlightProductAuthorization.sol +70 -0
  389. package/contracts/examples/flight/FlightProductManager.sol +49 -0
  390. package/contracts/examples/flight/FlightUSD.sol +28 -0
  391. package/contracts/examples/flight/originalV1.sol +396 -0
  392. package/contracts/instance/BaseStore.sol +4 -0
  393. package/contracts/instance/IBaseStore.sol +8 -0
  394. package/contracts/instance/IInstance.sol +1 -1
  395. package/contracts/instance/IInstanceService.sol +2 -0
  396. package/contracts/instance/Instance.sol +6 -3
  397. package/contracts/instance/InstanceAdmin.sol +14 -10
  398. package/contracts/instance/InstanceAuthorizationV3.sol +2 -4
  399. package/contracts/instance/InstanceReader.sol +41 -7
  400. package/contracts/instance/InstanceService.sol +8 -4
  401. package/contracts/instance/InstanceServiceManager.sol +3 -3
  402. package/contracts/oracle/BasicOracle.sol +1 -0
  403. package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
  404. package/contracts/oracle/IOracleService.sol +12 -12
  405. package/contracts/oracle/Oracle.sol +4 -5
  406. package/contracts/oracle/OracleService.sol +1 -1
  407. package/contracts/oracle/OracleServiceManager.sol +3 -3
  408. package/contracts/pool/BasicPoolAuthorization.sol +4 -5
  409. package/contracts/pool/BundleService.sol +6 -6
  410. package/contracts/pool/BundleServiceManager.sol +3 -3
  411. package/contracts/pool/IBundleService.sol +1 -1
  412. package/contracts/pool/IPoolService.sol +1 -1
  413. package/contracts/pool/PoolLib.sol +4 -7
  414. package/contracts/pool/PoolService.sol +4 -4
  415. package/contracts/pool/PoolServiceManager.sol +3 -3
  416. package/contracts/product/ApplicationService.sol +5 -4
  417. package/contracts/product/ApplicationServiceManager.sol +3 -3
  418. package/contracts/product/BasicProductAuthorization.sol +7 -7
  419. package/contracts/product/ClaimService.sol +1 -1
  420. package/contracts/product/ClaimServiceManager.sol +3 -3
  421. package/contracts/product/PolicyService.sol +1 -1
  422. package/contracts/product/PolicyServiceLib.sol +5 -3
  423. package/contracts/product/PolicyServiceManager.sol +3 -3
  424. package/contracts/product/PricingService.sol +1 -1
  425. package/contracts/product/PricingServiceManager.sol +3 -3
  426. package/contracts/product/RiskService.sol +1 -1
  427. package/contracts/product/RiskServiceManager.sol +3 -3
  428. package/contracts/registry/ChainNft.sol +1 -1
  429. package/contracts/registry/IRegistry.sol +14 -20
  430. package/contracts/registry/IRegistryService.sol +14 -10
  431. package/contracts/registry/IRelease.sol +3 -0
  432. package/contracts/registry/Registry.sol +78 -124
  433. package/contracts/registry/RegistryAdmin.sol +23 -11
  434. package/contracts/registry/RegistryAuthorization.sol +1 -2
  435. package/contracts/registry/RegistryService.sol +78 -96
  436. package/contracts/registry/RegistryServiceManager.sol +3 -3
  437. package/contracts/registry/ReleaseAdmin.sol +19 -14
  438. package/contracts/registry/ReleaseRegistry.sol +50 -52
  439. package/contracts/registry/ServiceAuthorizationV3.sol +3 -4
  440. package/contracts/shared/Component.sol +17 -24
  441. package/contracts/shared/ComponentService.sol +106 -28
  442. package/contracts/shared/ComponentServiceManager.sol +3 -3
  443. package/contracts/shared/EcdsaChecker.sol +5 -0
  444. package/contracts/shared/IAuthorizedComponent.sol +15 -0
  445. package/contracts/shared/IComponent.sol +3 -5
  446. package/contracts/shared/IComponentService.sol +15 -0
  447. package/contracts/shared/IInstanceLinkedComponent.sol +9 -9
  448. package/contracts/shared/IRegisterable.sol +3 -8
  449. package/contracts/shared/IRegistryLinked.sol +1 -3
  450. package/contracts/shared/IService.sol +2 -2
  451. package/contracts/shared/InstanceLinkedComponent.sol +126 -40
  452. package/contracts/shared/NftOwnable.sol +14 -1
  453. package/contracts/shared/PolicyHolder.sol +2 -2
  454. package/contracts/shared/Registerable.sol +18 -36
  455. package/contracts/shared/RegistryLinked.sol +4 -11
  456. package/contracts/shared/Service.sol +5 -6
  457. package/contracts/shared/TokenHandler.sol +1 -4
  458. package/contracts/staking/IStaking.sol +4 -2
  459. package/contracts/staking/IStakingService.sol +1 -1
  460. package/contracts/staking/Staking.sol +18 -7
  461. package/contracts/staking/StakingManager.sol +3 -3
  462. package/contracts/staking/StakingService.sol +8 -11
  463. package/contracts/staking/StakingServiceManager.sol +4 -3
  464. package/contracts/staking/StakingStore.sol +8 -10
  465. package/contracts/type/ObjectType.sol +2 -31
  466. package/contracts/type/Referral.sol +6 -0
  467. package/contracts/type/RequestIdSet.sol +62 -0
  468. package/contracts/type/Seconds.sol +4 -0
  469. package/contracts/type/String.sol +30 -0
  470. package/contracts/type/Timestamp.sol +10 -1
  471. package/contracts/type/Version.sol +16 -15
  472. package/contracts/upgradeability/{IUpgradeable.sol → IVersionable.sol} +19 -13
  473. package/contracts/upgradeability/ProxyManager.sol +50 -46
  474. package/contracts/upgradeability/{Upgradeable.sol → Versionable.sol} +14 -25
  475. package/package.json +2 -1
  476. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  477. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -74
  478. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  479. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -74
  480. package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +0 -4
  481. package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +0 -4
  482. package/contracts/shared/IVersionable.sol +0 -19
  483. package/contracts/shared/Versionable.sol +0 -47
@@ -5,14 +5,14 @@ import {ProxyAdmin} from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.s
5
5
  import {ITransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
6
6
 
7
7
  import {Blocknumber, BlocknumberLib} from "../type/Blocknumber.sol";
8
- import {IUpgradeable} from "./IUpgradeable.sol";
8
+ import {IVersionable} from "./IVersionable.sol";
9
9
  import {NftId} from "../type/NftId.sol";
10
10
  import {NftOwnable} from "../shared/NftOwnable.sol";
11
11
  import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
12
12
  import {UpgradableProxyWithAdmin} from "./UpgradableProxyWithAdmin.sol";
13
- import {Version, VersionPart, VersionLib} from "../type/Version.sol";
13
+ import {Version, VersionLib} from "../type/Version.sol";
14
14
 
15
- /// @dev manages proxy deployments for upgradable contracs of type IUpgradeable
15
+ /// @dev manages proxy deployments for upgradable contracs of type IVersionable
16
16
  contract ProxyManager is
17
17
  NftOwnable
18
18
  {
@@ -27,15 +27,14 @@ contract ProxyManager is
27
27
  address activatedBy;
28
28
  }
29
29
 
30
- event LogProxyManagerProxyDeployed(address indexed proxy, address initialImplementation);
31
- event LogProxyManagerProxyUpgraded(address indexed proxy, address upgradedImplementation);
30
+ event LogProxyManagerVersionableDeployed(address indexed proxy, address initialImplementation);
31
+ event LogProxyManagerVersionableUpgraded(address indexed proxy, address upgradedImplementation);
32
32
 
33
33
  error ErrorProxyManagerAlreadyDeployed();
34
34
  error ErrorProxyManagerNotYetDeployed();
35
35
 
36
36
  error ErrorProxyManagerZeroVersion();
37
37
  error ErrorProxyManagerNextVersionNotIncreasing(Version nextVersion);
38
- error ErrorProxyManagerNextVersionReleaseInvalid(Version nextVersion);
39
38
 
40
39
  UpgradableProxyWithAdmin internal _proxy;
41
40
 
@@ -52,13 +51,9 @@ contract ProxyManager is
52
51
  )
53
52
  public
54
53
  initializer()
55
- returns (IUpgradeable upgradeable)
54
+ returns (IVersionable versionable)
56
55
  {
57
- address initialOwner = msg.sender;
58
-
59
- __NftOwnable_init(registry, initialOwner);
60
-
61
- upgradeable = deployDetermenistic(
56
+ versionable = deployDetermenistic(
62
57
  registry,
63
58
  implementation,
64
59
  data,
@@ -74,14 +69,12 @@ contract ProxyManager is
74
69
  public
75
70
  virtual
76
71
  onlyInitializing()
77
- returns (IUpgradeable upgradeable)
72
+ returns (IVersionable versionable)
78
73
  {
79
- if (_versions.length > 0) {
80
- revert ErrorProxyManagerAlreadyDeployed();
81
- }
82
-
83
- address currentProxyOwner = getOwner(); // used by implementation
84
- address initialProxyAdminOwner = address(this); // used by proxy
74
+ (
75
+ address currentProxyOwner,
76
+ address initialProxyAdminOwner
77
+ ) = _preDeployChecksAndSetup(registry);
85
78
 
86
79
  _proxy = new UpgradableProxyWithAdmin(
87
80
  initialImplementation,
@@ -89,11 +82,11 @@ contract ProxyManager is
89
82
  getDeployData(currentProxyOwner, initializationData)
90
83
  );
91
84
 
92
- upgradeable = _updateVersionHistory(
85
+ versionable = _updateVersionHistory(
93
86
  initialImplementation,
94
87
  currentProxyOwner);
95
88
 
96
- emit LogProxyManagerProxyDeployed(address(upgradeable), initialImplementation);
89
+ emit LogProxyManagerVersionableDeployed(address(versionable), initialImplementation);
97
90
  }
98
91
 
99
92
  function deployDetermenistic(
@@ -105,14 +98,12 @@ contract ProxyManager is
105
98
  public
106
99
  virtual
107
100
  onlyInitializing()
108
- returns (IUpgradeable upgradeable)
101
+ returns (IVersionable versionable)
109
102
  {
110
- if (_versions.length > 0) {
111
- revert ErrorProxyManagerAlreadyDeployed();
112
- }
113
-
114
- address currentProxyOwner = getOwner(); // used by implementation
115
- address initialProxyAdminOwner = address(this); // used by proxy
103
+ (
104
+ address currentProxyOwner,
105
+ address initialProxyAdminOwner
106
+ ) = _preDeployChecksAndSetup(registry);
116
107
 
117
108
  _proxy = new UpgradableProxyWithAdmin{salt: salt}(
118
109
  initialImplementation,
@@ -120,11 +111,11 @@ contract ProxyManager is
120
111
  getDeployData(currentProxyOwner, initializationData)
121
112
  );
122
113
 
123
- upgradeable = _updateVersionHistory(
114
+ versionable = _updateVersionHistory(
124
115
  initialImplementation,
125
116
  currentProxyOwner);
126
117
 
127
- emit LogProxyManagerProxyDeployed(address(upgradeable), initialImplementation);
118
+ emit LogProxyManagerVersionableDeployed(address(versionable), initialImplementation);
128
119
  }
129
120
 
130
121
  /// @dev upgrade existing contract.
@@ -133,7 +124,7 @@ contract ProxyManager is
133
124
  public
134
125
  virtual
135
126
  onlyOwner()
136
- returns (IUpgradeable upgradeable)
127
+ returns (IVersionable versionable)
137
128
  {
138
129
  bytes memory emptyUpgradeData;
139
130
  return upgrade(newImplementation, emptyUpgradeData);
@@ -144,7 +135,7 @@ contract ProxyManager is
144
135
  public
145
136
  virtual
146
137
  onlyOwner()
147
- returns (IUpgradeable upgradeable)
138
+ returns (IVersionable versionable)
148
139
  {
149
140
  if (_versions.length == 0) {
150
141
  revert ErrorProxyManagerNotYetDeployed();
@@ -159,11 +150,11 @@ contract ProxyManager is
159
150
  newImplementation,
160
151
  getUpgradeData(upgradeData));
161
152
 
162
- upgradeable = _updateVersionHistory(
153
+ versionable = _updateVersionHistory(
163
154
  newImplementation,
164
155
  currentProxyOwner);
165
156
 
166
- emit LogProxyManagerProxyUpgraded(address(upgradeable), newImplementation);
157
+ emit LogProxyManagerVersionableUpgraded(address(versionable), newImplementation);
167
158
 
168
159
  }
169
160
 
@@ -173,14 +164,14 @@ contract ProxyManager is
173
164
 
174
165
  function getDeployData(address proxyOwner, bytes memory deployData) public pure returns (bytes memory data) {
175
166
  return abi.encodeWithSelector(
176
- IUpgradeable.initialize.selector,
167
+ IVersionable.initializeVersionable.selector,
177
168
  proxyOwner,
178
169
  deployData);
179
170
  }
180
171
 
181
172
  function getUpgradeData(bytes memory upgradeData) public pure returns (bytes memory data) {
182
173
  return abi.encodeWithSelector(
183
- IUpgradeable.upgrade.selector,
174
+ IVersionable.upgradeVersionable.selector,
184
175
  upgradeData);
185
176
  }
186
177
 
@@ -189,7 +180,7 @@ contract ProxyManager is
189
180
  }
190
181
 
191
182
  function getVersion() external view virtual returns(Version) {
192
- return _versionHistory[_versions[_versions.length]].version;
183
+ return IVersionable(address(_proxy)).getVersion();
193
184
  }
194
185
 
195
186
  function getVersionCount() external view returns(uint256) {
@@ -204,29 +195,42 @@ contract ProxyManager is
204
195
  return _versionHistory[_version];
205
196
  }
206
197
 
198
+ function _preDeployChecksAndSetup(address registry)
199
+ private
200
+ returns (
201
+ address currentProxyOwner,
202
+ address initialProxyAdminOwner
203
+ )
204
+ {
205
+ if (_versions.length > 0) {
206
+ revert ErrorProxyManagerAlreadyDeployed();
207
+ }
208
+
209
+ address initialOwner = msg.sender;
210
+ __NftOwnable_init(registry, initialOwner);
211
+
212
+ currentProxyOwner = getOwner(); // used by implementation
213
+ initialProxyAdminOwner = address(this); // used by proxy
214
+ }
215
+
207
216
  function _updateVersionHistory(
208
217
  address implementation,
209
218
  address activatedBy
210
219
  )
211
220
  private
212
- returns (IUpgradeable upgradeable)
221
+ returns (IVersionable versionable)
213
222
  {
214
- upgradeable = IUpgradeable(address(_proxy));
215
- Version newVersion = upgradeable.getVersion();
223
+ versionable = IVersionable(address(_proxy));
224
+ Version newVersion = versionable.getVersion();
216
225
 
217
226
  if(newVersion == VersionLib.zeroVersion()) {
218
227
  revert ErrorProxyManagerZeroVersion();
219
228
  }
220
229
 
221
230
  if(_versions.length > 0) {
222
- Version version = _versions[_versions.length-1];
223
- if(newVersion.toInt() <= version.toInt()) {
231
+ if(newVersion.toInt() <= _versions[_versions.length-1].toInt()) {
224
232
  revert ErrorProxyManagerNextVersionNotIncreasing(newVersion);
225
233
  }
226
-
227
- if(newVersion.toMajorPart() != version.toMajorPart()) {
228
- revert ErrorProxyManagerNextVersionReleaseInvalid(newVersion);
229
- }
230
234
  }
231
235
 
232
236
  // update version history
@@ -3,40 +3,39 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
5
5
 
6
- import {IUpgradeable} from "./IUpgradeable.sol";
7
- import {Version} from "../type/Version.sol";
8
- import {Versionable} from "../shared/Versionable.sol";
6
+ import {IVersionable} from "./IVersionable.sol";
7
+ import {Version, VersionLib} from "../type/Version.sol";
9
8
 
10
- abstract contract Upgradeable is
11
- Initializable,
12
- Versionable,
13
- IUpgradeable
9
+
10
+ abstract contract Versionable is
11
+ Initializable,
12
+ IVersionable
14
13
  {
15
14
  constructor() {
16
15
  _disableInitializers();
17
16
  }
18
17
 
19
- function initialize(
18
+ function initializeVersionable(
20
19
  address activatedBy,
21
20
  bytes memory data
22
21
  )
23
- external
22
+ public
23
+ initializer()
24
24
  {
25
- if(_getInitializedVersion() != 0) {
26
- revert InvalidInitialization();
27
- }
28
- __Upgradeable_init(activatedBy, data);
25
+ _initialize(activatedBy, data);
29
26
  }
30
27
 
31
- function upgrade(
28
+ function upgradeVersionable(
32
29
  bytes memory data
33
30
  )
34
31
  external
35
- reinitializer(getVersion().toInt())
32
+ reinitializer(VersionLib.toUint64(getVersion()))
36
33
  {
37
34
  _upgrade(data);
38
35
  }
39
36
 
37
+ function getVersion() public pure virtual returns(Version);
38
+
40
39
  // IMPORTANT each version must implement this function
41
40
  // each implementation MUST use onlyInitialising modifier
42
41
  // each implementation MUST call intializers of all base contracts...
@@ -60,14 +59,4 @@ abstract contract Upgradeable is
60
59
  {
61
60
  revert ErrorVersionableUpgradeNotImplemented();
62
61
  }
63
-
64
- function __Upgradeable_init(
65
- address activatedBy,
66
- bytes memory data
67
- )
68
- private
69
- reinitializer(getVersion().toInt())
70
- {
71
- _initialize(activatedBy, data);
72
- }
73
62
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etherisc/gif-next",
3
- "version": "3.0.0-a511887-523",
3
+ "version": "3.0.0-ab05e7d-681",
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": {
@@ -50,6 +50,7 @@
50
50
  "antlr4ng": "^3.0.4",
51
51
  "ethers": "^6.7.1",
52
52
  "ethers-decode-error": "^2.1.3",
53
+ "simple-git": "^3.27.0",
53
54
  "solidity-docgen": "^0.6.0-beta.36",
54
55
  "winston": "^3.10.0"
55
56
  }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/9a415fb6bf9197b5d2ed454357782056.json"
4
- }
@@ -1,74 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "IVersionable",
4
- "sourceName": "contracts/shared/IVersionable.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "address",
10
- "name": "target",
11
- "type": "address"
12
- },
13
- {
14
- "internalType": "VersionPart",
15
- "name": "invalidRelease",
16
- "type": "uint8"
17
- }
18
- ],
19
- "name": "ErrorVersionableReleaseInvalid",
20
- "type": "error"
21
- },
22
- {
23
- "inputs": [
24
- {
25
- "internalType": "address",
26
- "name": "target",
27
- "type": "address"
28
- },
29
- {
30
- "internalType": "VersionPart",
31
- "name": "expected",
32
- "type": "uint8"
33
- },
34
- {
35
- "internalType": "VersionPart",
36
- "name": "actual",
37
- "type": "uint8"
38
- }
39
- ],
40
- "name": "ErrorVersionableReleaseMismatch",
41
- "type": "error"
42
- },
43
- {
44
- "inputs": [],
45
- "name": "getRelease",
46
- "outputs": [
47
- {
48
- "internalType": "VersionPart",
49
- "name": "",
50
- "type": "uint8"
51
- }
52
- ],
53
- "stateMutability": "pure",
54
- "type": "function"
55
- },
56
- {
57
- "inputs": [],
58
- "name": "getVersion",
59
- "outputs": [
60
- {
61
- "internalType": "Version",
62
- "name": "",
63
- "type": "uint24"
64
- }
65
- ],
66
- "stateMutability": "pure",
67
- "type": "function"
68
- }
69
- ],
70
- "bytecode": "0x",
71
- "deployedBytecode": "0x",
72
- "linkReferences": {},
73
- "deployedLinkReferences": {}
74
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/9a415fb6bf9197b5d2ed454357782056.json"
4
- }
@@ -1,74 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "Versionable",
4
- "sourceName": "contracts/shared/Versionable.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "address",
10
- "name": "target",
11
- "type": "address"
12
- },
13
- {
14
- "internalType": "VersionPart",
15
- "name": "invalidRelease",
16
- "type": "uint8"
17
- }
18
- ],
19
- "name": "ErrorVersionableReleaseInvalid",
20
- "type": "error"
21
- },
22
- {
23
- "inputs": [
24
- {
25
- "internalType": "address",
26
- "name": "target",
27
- "type": "address"
28
- },
29
- {
30
- "internalType": "VersionPart",
31
- "name": "expected",
32
- "type": "uint8"
33
- },
34
- {
35
- "internalType": "VersionPart",
36
- "name": "actual",
37
- "type": "uint8"
38
- }
39
- ],
40
- "name": "ErrorVersionableReleaseMismatch",
41
- "type": "error"
42
- },
43
- {
44
- "inputs": [],
45
- "name": "getRelease",
46
- "outputs": [
47
- {
48
- "internalType": "VersionPart",
49
- "name": "",
50
- "type": "uint8"
51
- }
52
- ],
53
- "stateMutability": "pure",
54
- "type": "function"
55
- },
56
- {
57
- "inputs": [],
58
- "name": "getVersion",
59
- "outputs": [
60
- {
61
- "internalType": "Version",
62
- "name": "",
63
- "type": "uint24"
64
- }
65
- ],
66
- "stateMutability": "pure",
67
- "type": "function"
68
- }
69
- ],
70
- "bytecode": "0x",
71
- "deployedBytecode": "0x",
72
- "linkReferences": {},
73
- "deployedLinkReferences": {}
74
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/9a415fb6bf9197b5d2ed454357782056.json"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/9a415fb6bf9197b5d2ed454357782056.json"
4
- }
@@ -1,19 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Version, VersionPart} from "../type/Version.sol";
5
-
6
- interface IVersionable {
7
-
8
- error ErrorVersionableReleaseInvalid(address target, VersionPart invalidRelease);
9
- error ErrorVersionableReleaseMismatch(address target, VersionPart expected, VersionPart actual);
10
-
11
- /**
12
- * @dev returns version of this contract
13
- * implementation MUST define version in this function
14
- * version number MUST increase
15
- */
16
- function getVersion() external pure returns(Version);
17
-
18
- function getRelease() external pure returns(VersionPart);
19
- }
@@ -1,47 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IVersionable} from "./IVersionable.sol";
5
- import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
6
- import {Version, VersionPart, VersionLib, VersionPartLib} from "../type/Version.sol";
7
-
8
-
9
- abstract contract Versionable is
10
- IVersionable
11
- {
12
- // TODO use arg of type Version
13
- function __Versionable_init(
14
- VersionPart release // wants to initialize to this release version
15
- )
16
- internal
17
- view
18
- virtual
19
- {
20
- VersionPart currentRelease = getRelease();
21
- if (!currentRelease.isValidRelease()) {
22
- revert ErrorVersionableReleaseInvalid(address(this), currentRelease);
23
- }
24
-
25
- //Version initializedVersion = VersionLib.toVersion(_getInitializedVersion());
26
- //if(initializedVersion != getVersion()) {}
27
-
28
- _checkRelease(release);
29
- }
30
-
31
- function getVersion() public pure virtual returns(Version)
32
- {
33
- return VersionLib.toVersion(GIF_INITIAL_RELEASE().toInt(), 0, 0);
34
- }
35
-
36
- function getRelease() public pure returns(VersionPart)
37
- {
38
- return getVersion().toMajorPart();
39
- }
40
-
41
- function _checkRelease(VersionPart release) internal view {
42
- VersionPart currentRelease = getRelease();
43
- if(currentRelease != release) {
44
- revert ErrorVersionableReleaseMismatch(address(this), release, currentRelease);
45
- }
46
- }
47
- }