@etherisc/gif-next 3.0.0-a511887-523 → 3.0.0-a73fc6f-862

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 (497) 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/DamageLevel.sol/DamageLevelLib.json +2 -2
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +76 -187
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +65 -41
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +122 -233
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +65 -41
  49. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +2 -2
  51. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
  52. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +799 -0
  53. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +4 -0
  54. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +229 -0
  55. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +4 -0
  56. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +801 -0
  57. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
  58. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1353 -0
  59. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
  60. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +896 -0
  61. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
  62. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1466 -0
  63. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
  64. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +844 -0
  65. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
  66. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2289 -0
  67. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
  68. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +891 -0
  69. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
  70. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -0
  71. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
  72. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +586 -0
  73. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
  74. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
  75. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  76. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +74 -193
  77. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  78. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +65 -41
  79. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  80. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +73 -192
  81. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  82. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +81 -200
  83. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  84. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +65 -41
  85. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  86. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +81 -200
  87. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  88. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +65 -41
  89. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
  90. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +50 -0
  91. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  92. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
  93. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
  94. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +50 -0
  95. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  96. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +18 -118
  97. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  98. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +92 -118
  99. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  100. package/artifacts/contracts/instance/Instance.sol/Instance.json +34 -181
  101. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  102. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +149 -207
  103. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  104. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +67 -43
  105. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  106. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +236 -75
  107. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  108. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +117 -167
  109. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  110. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +59 -148
  111. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  112. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +82 -32
  113. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
  114. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +68 -18
  115. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  116. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +2 -2
  117. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  118. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  119. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  120. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  121. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  122. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  123. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  124. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  125. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
  126. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  127. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
  128. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  129. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  130. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  131. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  132. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  133. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  134. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  135. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  136. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +67 -158
  137. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  138. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +65 -41
  139. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  140. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  141. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +52 -128
  142. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  143. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +26 -113
  144. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  145. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +53 -116
  146. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  147. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +69 -184
  148. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  149. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +68 -159
  150. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  151. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +56 -119
  152. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  153. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +65 -41
  154. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  155. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +96 -199
  156. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  157. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +80 -171
  158. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  159. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +31 -106
  160. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  161. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +55 -131
  162. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  163. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +38 -113
  164. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  165. package/artifacts/contracts/pool/Pool.sol/Pool.json +56 -119
  166. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  167. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +20 -25
  168. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  169. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +107 -210
  170. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  171. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +81 -172
  172. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  173. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +50 -165
  174. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  175. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +62 -153
  176. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  177. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +49 -112
  178. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  179. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +65 -41
  180. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  181. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +96 -211
  182. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  183. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +85 -176
  184. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  185. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +19 -106
  186. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  187. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +19 -106
  188. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  189. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +38 -113
  190. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  191. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +26 -113
  192. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  193. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +48 -124
  194. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  195. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +19 -106
  196. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  197. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +101 -204
  198. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  199. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +20 -12
  200. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  201. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +78 -169
  202. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  203. package/artifacts/contracts/product/PricingService.sol/PricingService.json +71 -186
  204. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  205. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +69 -160
  206. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  207. package/artifacts/contracts/product/Product.sol/Product.json +49 -112
  208. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  209. package/artifacts/contracts/product/RiskService.sol/RiskService.json +46 -161
  210. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  211. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +60 -151
  212. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  213. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  214. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  215. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +62 -155
  216. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  217. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +185 -219
  218. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  219. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +15 -1
  220. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  221. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  222. package/artifacts/contracts/registry/Registry.sol/Registry.json +102 -314
  223. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  224. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +145 -207
  225. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  226. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +77 -57
  227. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  228. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +213 -302
  229. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  230. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +55 -162
  231. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  232. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +150 -208
  233. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  234. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  235. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  236. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +146 -181
  237. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  238. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +56 -32
  239. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  240. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -46
  241. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  242. package/artifacts/contracts/shared/Component.sol/Component.json +31 -124
  243. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  244. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +323 -198
  245. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  246. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +91 -166
  247. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  248. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +44 -24
  249. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
  250. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  251. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
  252. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
  253. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +633 -0
  254. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  255. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +30 -136
  256. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  257. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +234 -113
  258. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  259. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +48 -124
  260. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  261. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  262. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +2 -44
  263. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  264. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +2 -44
  265. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  266. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +17 -117
  267. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  268. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +2 -44
  269. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  270. package/artifacts/contracts/shared/IService.sol/IService.json +19 -106
  271. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  272. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
  273. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  274. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +49 -112
  275. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  276. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  277. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  278. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  279. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +4 -46
  280. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  281. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +4 -46
  282. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  283. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +16 -116
  284. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  285. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +4 -46
  286. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  287. package/artifacts/contracts/shared/Service.sol/Service.json +18 -105
  288. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  289. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +29 -42
  290. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  291. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +17 -30
  292. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  293. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
  294. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  295. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +64 -132
  296. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  297. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +31 -106
  298. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  299. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  300. package/artifacts/contracts/staking/Staking.sol/Staking.json +111 -195
  301. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  302. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +2 -2
  303. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  304. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +71 -156
  305. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  306. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +4 -46
  307. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  308. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +54 -157
  309. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  310. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +58 -149
  311. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  312. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +200 -274
  313. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  314. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +2 -2
  315. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  316. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -16
  317. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  318. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  319. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  320. package/artifacts/contracts/type/Amount.sol/AmountLib.json +2 -2
  321. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  323. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  324. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
  325. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  326. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  327. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  328. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  329. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  330. package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -2
  331. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  332. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  333. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  334. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  335. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  336. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  337. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  338. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  339. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  340. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +22 -25
  341. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  342. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  343. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  344. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +23 -4
  345. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  346. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  347. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
  348. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
  349. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  350. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  351. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  352. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
  353. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  354. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +21 -2
  355. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  356. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
  357. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  358. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  359. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  360. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
  361. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  362. package/artifacts/contracts/type/String.sol/StrLib.json +21 -2
  363. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  364. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
  365. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  366. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -2
  367. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  368. package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
  369. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  370. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +6 -19
  371. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  372. package/artifacts/contracts/upgradeability/{IUpgradeable.sol/IUpgradeable.json → IVersionable.sol/IVersionable.json} +4 -54
  373. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  374. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +40 -109
  375. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  376. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  377. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  378. package/artifacts/contracts/upgradeability/{Upgradeable.sol/Upgradeable.json → Versionable.sol/Versionable.json} +4 -54
  379. package/contracts/accounting/AccountingService.sol +18 -30
  380. package/contracts/accounting/AccountingServiceManager.sol +3 -3
  381. package/contracts/accounting/IAccountingService.sol +7 -8
  382. package/contracts/authorization/AccessAdmin.sol +22 -44
  383. package/contracts/authorization/AccessAdminLib.sol +20 -3
  384. package/contracts/authorization/AccessManagerCloneable.sol +51 -24
  385. package/contracts/authorization/Authorization.sol +2 -2
  386. package/contracts/authorization/IAccessAdmin.sol +3 -2
  387. package/contracts/authorization/IServiceAuthorization.sol +1 -1
  388. package/contracts/authorization/ServiceAuthorization.sol +4 -4
  389. package/contracts/distribution/BasicDistributionAuthorization.sol +4 -5
  390. package/contracts/distribution/DistributionService.sol +13 -14
  391. package/contracts/distribution/DistributionServiceManager.sol +3 -3
  392. package/contracts/distribution/IDistributionService.sol +4 -3
  393. package/contracts/examples/flight/FlightLib.sol +337 -0
  394. package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
  395. package/contracts/examples/flight/FlightNft.sol +234 -0
  396. package/contracts/examples/flight/FlightOracle.sol +226 -0
  397. package/contracts/examples/flight/FlightOracleAuthorization.sol +57 -0
  398. package/contracts/examples/flight/FlightPool.sol +89 -0
  399. package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
  400. package/contracts/examples/flight/FlightProduct.sol +687 -0
  401. package/contracts/examples/flight/FlightProductAuthorization.sol +70 -0
  402. package/contracts/examples/flight/FlightProductManager.sol +49 -0
  403. package/contracts/examples/flight/FlightUSD.sol +28 -0
  404. package/contracts/examples/flight/originalV1.sol +396 -0
  405. package/contracts/instance/BaseStore.sol +4 -0
  406. package/contracts/instance/IBaseStore.sol +8 -0
  407. package/contracts/instance/IInstance.sol +1 -1
  408. package/contracts/instance/IInstanceService.sol +2 -0
  409. package/contracts/instance/Instance.sol +6 -3
  410. package/contracts/instance/InstanceAdmin.sol +14 -10
  411. package/contracts/instance/InstanceAuthorizationV3.sol +2 -4
  412. package/contracts/instance/InstanceReader.sol +41 -7
  413. package/contracts/instance/InstanceService.sol +8 -4
  414. package/contracts/instance/InstanceServiceManager.sol +3 -3
  415. package/contracts/oracle/BasicOracle.sol +1 -0
  416. package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
  417. package/contracts/oracle/IOracleService.sol +12 -12
  418. package/contracts/oracle/Oracle.sol +4 -5
  419. package/contracts/oracle/OracleService.sol +1 -1
  420. package/contracts/oracle/OracleServiceManager.sol +3 -3
  421. package/contracts/pool/BasicPoolAuthorization.sol +4 -5
  422. package/contracts/pool/BundleService.sol +6 -6
  423. package/contracts/pool/BundleServiceManager.sol +3 -3
  424. package/contracts/pool/IBundleService.sol +1 -1
  425. package/contracts/pool/IPoolService.sol +1 -1
  426. package/contracts/pool/PoolLib.sol +4 -7
  427. package/contracts/pool/PoolService.sol +4 -4
  428. package/contracts/pool/PoolServiceManager.sol +3 -3
  429. package/contracts/product/ApplicationService.sol +5 -4
  430. package/contracts/product/ApplicationServiceManager.sol +3 -3
  431. package/contracts/product/BasicProductAuthorization.sol +7 -7
  432. package/contracts/product/ClaimService.sol +1 -1
  433. package/contracts/product/ClaimServiceManager.sol +3 -3
  434. package/contracts/product/IPolicyService.sol +1 -1
  435. package/contracts/product/PolicyService.sol +2 -2
  436. package/contracts/product/PolicyServiceLib.sol +5 -3
  437. package/contracts/product/PolicyServiceManager.sol +3 -3
  438. package/contracts/product/PricingService.sol +1 -1
  439. package/contracts/product/PricingServiceManager.sol +3 -3
  440. package/contracts/product/RiskService.sol +1 -1
  441. package/contracts/product/RiskServiceManager.sol +3 -3
  442. package/contracts/registry/ChainNft.sol +1 -1
  443. package/contracts/registry/IRegistry.sol +14 -20
  444. package/contracts/registry/IRegistryService.sol +14 -10
  445. package/contracts/registry/IRelease.sol +3 -0
  446. package/contracts/registry/Registry.sol +78 -124
  447. package/contracts/registry/RegistryAdmin.sol +23 -11
  448. package/contracts/registry/RegistryAuthorization.sol +1 -2
  449. package/contracts/registry/RegistryService.sol +78 -96
  450. package/contracts/registry/RegistryServiceManager.sol +3 -3
  451. package/contracts/registry/ReleaseAdmin.sol +19 -14
  452. package/contracts/registry/ReleaseRegistry.sol +50 -52
  453. package/contracts/registry/ServiceAuthorizationV3.sol +3 -4
  454. package/contracts/shared/Component.sol +17 -24
  455. package/contracts/shared/ComponentService.sol +106 -28
  456. package/contracts/shared/ComponentServiceManager.sol +3 -3
  457. package/contracts/shared/EcdsaChecker.sol +5 -0
  458. package/contracts/shared/IAuthorizedComponent.sol +15 -0
  459. package/contracts/shared/IComponent.sol +3 -5
  460. package/contracts/shared/IComponentService.sol +15 -0
  461. package/contracts/shared/IInstanceLinkedComponent.sol +9 -9
  462. package/contracts/shared/IRegisterable.sol +3 -8
  463. package/contracts/shared/IRegistryLinked.sol +1 -3
  464. package/contracts/shared/IService.sol +2 -2
  465. package/contracts/shared/InstanceLinkedComponent.sol +126 -40
  466. package/contracts/shared/NftOwnable.sol +14 -1
  467. package/contracts/shared/PolicyHolder.sol +2 -2
  468. package/contracts/shared/Registerable.sol +18 -36
  469. package/contracts/shared/RegistryLinked.sol +4 -11
  470. package/contracts/shared/Service.sol +5 -6
  471. package/contracts/shared/TokenHandler.sol +1 -4
  472. package/contracts/staking/IStaking.sol +4 -2
  473. package/contracts/staking/IStakingService.sol +1 -1
  474. package/contracts/staking/Staking.sol +18 -7
  475. package/contracts/staking/StakingManager.sol +3 -3
  476. package/contracts/staking/StakingService.sol +8 -11
  477. package/contracts/staking/StakingServiceManager.sol +4 -3
  478. package/contracts/staking/StakingStore.sol +8 -10
  479. package/contracts/type/ObjectType.sol +2 -31
  480. package/contracts/type/Referral.sol +6 -0
  481. package/contracts/type/RequestIdSet.sol +62 -0
  482. package/contracts/type/Seconds.sol +4 -0
  483. package/contracts/type/String.sol +30 -0
  484. package/contracts/type/Timestamp.sol +10 -1
  485. package/contracts/type/Version.sol +16 -15
  486. package/contracts/upgradeability/{IUpgradeable.sol → IVersionable.sol} +19 -13
  487. package/contracts/upgradeability/ProxyManager.sol +50 -46
  488. package/contracts/upgradeability/{Upgradeable.sol → Versionable.sol} +14 -25
  489. package/package.json +2 -1
  490. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  491. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -74
  492. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  493. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -74
  494. package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +0 -4
  495. package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +0 -4
  496. package/contracts/shared/IVersionable.sol +0 -19
  497. 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-a73fc6f-862",
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
- }