@etherisc/gif-next 3.0.0-1a7e54a-113 → 3.0.0-1b49bd6-565

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 (472) hide show
  1. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +139 -72
  3. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +110 -116
  5. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +72 -33
  7. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +89 -66
  9. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +122 -101
  11. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +20 -65
  13. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +31 -55
  15. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  16. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +20 -10
  18. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +1 -1
  20. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +1 -1
  22. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +18 -42
  24. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +126 -75
  26. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +41 -65
  28. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +72 -57
  30. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +198 -139
  32. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +140 -150
  34. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +84 -56
  36. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +71 -32
  38. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  39. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  40. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +166 -104
  41. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  42. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +41 -65
  43. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  44. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +200 -138
  45. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  46. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +41 -65
  47. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  48. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +1 -1
  49. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +160 -56
  50. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +1 -1
  51. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +1 -1
  52. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +173 -116
  53. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +1 -1
  54. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +41 -65
  55. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +1 -1
  56. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +170 -108
  57. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +1 -1
  58. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +41 -65
  59. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +1 -1
  60. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +580 -134
  61. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +1 -1
  62. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +41 -65
  63. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +1 -1
  64. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +212 -2
  65. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +1 -1
  66. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  67. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +159 -102
  68. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  69. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +41 -65
  70. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  71. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +163 -106
  72. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  73. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +177 -120
  74. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  75. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +41 -65
  76. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  77. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +171 -114
  78. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  79. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +41 -65
  80. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
  81. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  82. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +49 -54
  83. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
  84. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  85. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +77 -25
  86. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  87. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +83 -44
  88. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  89. package/artifacts/contracts/instance/Instance.sol/Instance.json +144 -50
  90. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  91. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +169 -147
  92. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  93. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +43 -67
  94. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  95. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +36 -36
  96. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  97. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +138 -75
  98. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  99. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +104 -112
  100. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  101. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
  102. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
  103. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
  104. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  105. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +53 -58
  106. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  107. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  108. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  109. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +1 -1
  110. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  111. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  112. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  113. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  114. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  115. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +3 -8
  116. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  117. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
  118. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  119. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  120. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  121. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  122. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  123. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  124. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  125. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +132 -81
  126. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  127. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +41 -65
  128. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  129. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  130. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +94 -66
  131. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  132. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +80 -83
  133. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  134. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +82 -67
  135. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  136. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +149 -148
  137. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  138. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +111 -129
  139. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  140. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +88 -73
  141. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  142. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +41 -65
  143. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  144. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +176 -117
  145. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  146. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +129 -139
  147. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  148. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +71 -32
  149. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  150. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +100 -72
  151. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  152. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +94 -86
  153. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  154. package/artifacts/contracts/pool/Pool.sol/Pool.json +88 -73
  155. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  156. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +24 -247
  157. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  158. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +233 -165
  159. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  160. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +140 -130
  161. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  162. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +138 -63
  163. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  164. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +110 -112
  165. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  166. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +72 -57
  167. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  168. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +41 -65
  169. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  170. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +182 -115
  171. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  172. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +132 -138
  173. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  174. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +71 -32
  175. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  176. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +71 -32
  177. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  178. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +82 -64
  179. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  180. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +82 -43
  181. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  182. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +84 -56
  183. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  184. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +75 -36
  185. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  186. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +173 -127
  187. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  188. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
  189. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  190. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +122 -128
  191. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  192. package/artifacts/contracts/product/PricingService.sol/PricingService.json +161 -94
  193. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  194. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +116 -122
  195. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  196. package/artifacts/contracts/product/Product.sol/Product.json +72 -57
  197. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  198. package/artifacts/contracts/product/RiskService.sol/RiskService.json +146 -63
  199. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  200. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +109 -107
  201. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  202. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  203. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +155 -56
  204. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  205. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +202 -216
  206. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  207. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +1 -15
  208. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  209. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  210. package/artifacts/contracts/registry/Registry.sol/Registry.json +314 -96
  211. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  212. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +163 -142
  213. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  214. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +57 -77
  215. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  216. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +285 -244
  217. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  218. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +115 -110
  219. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  220. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +159 -150
  221. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  222. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  223. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  224. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +127 -185
  225. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  226. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +32 -56
  227. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  228. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +13 -29
  229. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  230. package/artifacts/contracts/shared/Component.sol/Component.json +84 -39
  231. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  232. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +164 -320
  233. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  234. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +115 -141
  235. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  236. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +421 -169
  237. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  238. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
  239. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +691 -0
  240. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  241. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +96 -38
  242. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  243. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +82 -226
  244. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  245. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +84 -56
  246. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  247. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  248. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +1 -28
  249. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  250. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +1 -12
  251. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  252. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +77 -25
  253. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  254. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +1 -12
  255. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  256. package/artifacts/contracts/shared/IService.sol/IService.json +71 -32
  257. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
  258. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +74 -0
  259. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  260. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  261. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +72 -57
  262. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  263. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  264. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  265. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  266. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -34
  267. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  268. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +3 -14
  269. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  270. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +76 -24
  271. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  272. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +3 -37
  273. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  274. package/artifacts/contracts/shared/Service.sol/Service.json +70 -31
  275. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  276. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +42 -29
  277. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  278. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +30 -17
  279. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  280. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
  281. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
  282. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +74 -0
  283. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  284. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +101 -56
  285. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  286. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +75 -36
  287. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  288. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  289. package/artifacts/contracts/staking/Staking.sol/Staking.json +170 -109
  290. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  291. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +26 -31
  292. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  293. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +112 -124
  294. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  295. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +5 -22
  296. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  297. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +132 -65
  298. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  299. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +105 -111
  300. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  301. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +212 -204
  302. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  303. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +27 -19
  304. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  305. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -16
  306. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  307. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  308. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  309. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  310. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
  311. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  312. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  313. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  314. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  315. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  316. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  317. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  318. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  319. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  320. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  322. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  323. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  324. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +6 -6
  326. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  328. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  330. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  332. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +1 -1
  333. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +2 -2
  334. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  336. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  337. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
  338. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  340. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  341. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  342. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  343. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  344. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  346. package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
  347. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  348. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +19 -6
  349. package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +4 -0
  350. package/artifacts/contracts/upgradeability/{IVersionable.sol/IVersionable.json → IUpgradeable.sol/IUpgradeable.json} +54 -4
  351. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  352. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +63 -86
  353. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  354. package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +4 -0
  355. package/artifacts/contracts/upgradeability/{Versionable.sol/Versionable.json → Upgradeable.sol/Upgradeable.json} +54 -4
  356. package/contracts/accounting/AccountingService.sol +5 -6
  357. package/contracts/accounting/AccountingServiceManager.sol +4 -6
  358. package/contracts/accounting/IAccountingService.sol +1 -1
  359. package/contracts/authorization/AccessAdmin.sol +22 -19
  360. package/contracts/authorization/AccessAdminLib.sol +14 -11
  361. package/contracts/authorization/AccessManagerCloneable.sol +24 -48
  362. package/contracts/authorization/Authorization.sol +2 -2
  363. package/contracts/authorization/IAccessAdmin.sol +3 -3
  364. package/contracts/authorization/IServiceAuthorization.sol +1 -1
  365. package/contracts/authorization/ServiceAuthorization.sol +4 -4
  366. package/contracts/distribution/BasicDistribution.sol +0 -2
  367. package/contracts/distribution/BasicDistributionAuthorization.sol +5 -4
  368. package/contracts/distribution/Distribution.sol +0 -2
  369. package/contracts/distribution/DistributionService.sol +24 -20
  370. package/contracts/distribution/DistributionServiceManager.sol +4 -6
  371. package/contracts/examples/fire/FirePool.sol +0 -4
  372. package/contracts/examples/fire/FireProduct.sol +0 -4
  373. package/contracts/examples/flight/FlightLib.sol +48 -37
  374. package/contracts/examples/flight/FlightOracle.sol +0 -4
  375. package/contracts/examples/flight/FlightPool.sol +0 -4
  376. package/contracts/examples/flight/FlightProduct.sol +120 -15
  377. package/contracts/examples/flight/FlightProductAuthorization.sol +2 -1
  378. package/contracts/examples/flight/FlightUSD.sol +3 -1
  379. package/contracts/examples/unpermissioned/SimpleDistribution.sol +0 -4
  380. package/contracts/examples/unpermissioned/SimpleOracle.sol +0 -4
  381. package/contracts/examples/unpermissioned/SimplePool.sol +0 -4
  382. package/contracts/examples/unpermissioned/SimpleProduct.sol +0 -4
  383. package/contracts/instance/Instance.sol +7 -11
  384. package/contracts/instance/InstanceAdmin.sol +10 -17
  385. package/contracts/instance/InstanceAuthorizationV3.sol +4 -2
  386. package/contracts/instance/InstanceReader.sol +15 -15
  387. package/contracts/instance/InstanceService.sol +18 -20
  388. package/contracts/instance/InstanceServiceManager.sol +4 -6
  389. package/contracts/instance/base/Cloneable.sol +4 -10
  390. package/contracts/instance/base/ObjectSet.sol +2 -2
  391. package/contracts/oracle/BasicOracle.sol +0 -2
  392. package/contracts/oracle/BasicOracleAuthorization.sol +3 -1
  393. package/contracts/oracle/IOracleService.sol +0 -4
  394. package/contracts/oracle/Oracle.sol +3 -4
  395. package/contracts/oracle/OracleService.sol +37 -67
  396. package/contracts/oracle/OracleServiceManager.sol +4 -6
  397. package/contracts/pool/BasicPool.sol +2 -4
  398. package/contracts/pool/BasicPoolAuthorization.sol +5 -4
  399. package/contracts/pool/BundleService.sol +25 -19
  400. package/contracts/pool/BundleServiceManager.sol +5 -7
  401. package/contracts/pool/IPoolService.sol +5 -6
  402. package/contracts/pool/Pool.sol +1 -3
  403. package/contracts/pool/PoolLib.sol +5 -102
  404. package/contracts/pool/PoolService.sol +67 -101
  405. package/contracts/pool/PoolServiceManager.sol +4 -6
  406. package/contracts/product/ApplicationService.sol +13 -34
  407. package/contracts/product/ApplicationServiceManager.sol +4 -6
  408. package/contracts/product/BasicProduct.sol +0 -2
  409. package/contracts/product/BasicProductAuthorization.sol +5 -4
  410. package/contracts/product/ClaimService.sol +10 -34
  411. package/contracts/product/ClaimServiceManager.sol +5 -7
  412. package/contracts/product/IPolicyService.sol +0 -1
  413. package/contracts/product/PolicyService.sol +44 -57
  414. package/contracts/product/PolicyServiceManager.sol +4 -6
  415. package/contracts/product/PricingService.sol +7 -8
  416. package/contracts/product/PricingServiceManager.sol +4 -6
  417. package/contracts/product/Product.sol +0 -2
  418. package/contracts/product/RiskService.sol +8 -40
  419. package/contracts/product/RiskServiceManager.sol +4 -6
  420. package/contracts/registry/IRegistry.sol +20 -14
  421. package/contracts/registry/IRegistryService.sol +10 -14
  422. package/contracts/registry/IRelease.sol +0 -3
  423. package/contracts/registry/Registry.sol +124 -78
  424. package/contracts/registry/RegistryAdmin.sol +11 -22
  425. package/contracts/registry/RegistryAuthorization.sol +4 -3
  426. package/contracts/registry/RegistryService.sol +99 -82
  427. package/contracts/registry/RegistryServiceManager.sol +4 -11
  428. package/contracts/registry/ReleaseAdmin.sol +9 -16
  429. package/contracts/registry/ReleaseRegistry.sol +64 -74
  430. package/contracts/registry/ServiceAuthorizationV3.sol +4 -3
  431. package/contracts/registry/TokenRegistry.sol +6 -15
  432. package/contracts/shared/Component.sol +27 -22
  433. package/contracts/shared/ComponentService.sol +45 -130
  434. package/contracts/shared/ComponentServiceManager.sol +5 -7
  435. package/contracts/shared/ContractLib.sol +359 -93
  436. package/contracts/shared/IAuthorizedComponent.sol +15 -0
  437. package/contracts/shared/IComponent.sol +5 -3
  438. package/contracts/shared/IComponentService.sol +0 -14
  439. package/contracts/shared/IInstanceLinkedComponent.sol +5 -12
  440. package/contracts/shared/INftOwnable.sol +0 -2
  441. package/contracts/shared/IRegisterable.sol +14 -3
  442. package/contracts/shared/IRegistryLinked.sol +1 -3
  443. package/contracts/shared/IService.sol +2 -2
  444. package/contracts/shared/IVersionable.sol +19 -0
  445. package/contracts/shared/InstanceLinkedComponent.sol +31 -65
  446. package/contracts/shared/NftOwnable.sol +9 -22
  447. package/contracts/shared/PolicyHolder.sol +2 -4
  448. package/contracts/shared/Registerable.sol +37 -20
  449. package/contracts/shared/RegistryLinked.sol +4 -23
  450. package/contracts/shared/Service.sol +8 -9
  451. package/contracts/shared/TokenHandler.sol +4 -1
  452. package/contracts/shared/Versionable.sol +47 -0
  453. package/contracts/staking/IStaking.sol +2 -2
  454. package/contracts/staking/Staking.sol +28 -33
  455. package/contracts/staking/StakingLib.sol +3 -1
  456. package/contracts/staking/StakingManager.sol +3 -6
  457. package/contracts/staking/StakingReader.sol +9 -17
  458. package/contracts/staking/StakingService.sol +16 -13
  459. package/contracts/staking/StakingServiceManager.sol +4 -8
  460. package/contracts/staking/StakingStore.sol +8 -8
  461. package/contracts/staking/TargetHandler.sol +4 -5
  462. package/contracts/type/Version.sol +15 -16
  463. package/contracts/upgradeability/{IVersionable.sol → IUpgradeable.sol} +13 -19
  464. package/contracts/upgradeability/ProxyManager.sol +46 -54
  465. package/contracts/upgradeability/{Versionable.sol → Upgradeable.sol} +25 -14
  466. package/package.json +1 -1
  467. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +0 -4
  468. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +0 -24
  469. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +0 -4
  470. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +0 -40
  471. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +0 -4
  472. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +0 -4
@@ -11,9 +11,10 @@ import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
11
11
  import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
12
12
  import {ObjectType, INSTANCE} from "../type/ObjectType.sol";
13
13
  import {RoleId, ADMIN_ROLE} from "../type/RoleId.sol";
14
+ import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
14
15
  import {Str} from "../type/String.sol";
15
- import {VersionPart} from "../type/Version.sol";
16
16
  import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
17
+ import {VersionPart} from "../type/Version.sol";
17
18
 
18
19
 
19
20
  contract InstanceAdmin is
@@ -26,13 +27,12 @@ contract InstanceAdmin is
26
27
  error ErrorInstanceAdminNotComponentOrCustomTarget(address target);
27
28
 
28
29
  IInstance internal _instance;
29
- IRegistry internal _registry;
30
30
 
31
31
  uint64 internal _customRoleIdNext;
32
32
 
33
33
 
34
34
  modifier onlyInstanceService() {
35
- if (msg.sender != _registry.getServiceAddress(INSTANCE(), getRelease())) {
35
+ if (msg.sender != _getRegistry().getServiceAddress(INSTANCE(), getRelease())) {
36
36
  revert ErrorInstanceAdminNotInstanceService(msg.sender);
37
37
  }
38
38
  _;
@@ -43,7 +43,8 @@ contract InstanceAdmin is
43
43
  constructor(address accessManager) {
44
44
  initialize(
45
45
  accessManager,
46
- "MasterInstanceAdmin");
46
+ "MasterInstanceAdmin",
47
+ GIF_INITIAL_RELEASE());
47
48
  }
48
49
 
49
50
 
@@ -51,32 +52,23 @@ contract InstanceAdmin is
51
52
  /// Important: Initialization of instance admin is only complete after calling this function.
52
53
  /// Important: The instance MUST be registered and all instance supporting contracts must be wired to this instance.
53
54
  function completeSetup(
54
- address registry,
55
55
  address authorization,
56
- VersionPart release,
57
56
  address instance
58
57
  )
59
58
  external
60
- reinitializer(uint64(release.toInt()))
61
59
  {
62
60
  // checks
63
- AccessAdminLib.checkIsRegistered(registry, instance, INSTANCE());
61
+ AccessAdminLib.checkIsRegistered(instance, INSTANCE(), getRelease());
64
62
 
65
63
  // effects
66
- AccessManagerCloneable(
67
- authority()).completeSetup(
68
- registry,
69
- release);
70
-
71
64
  AccessAdminLib.checkAuthorization(
72
65
  address(_authorization),
73
66
  authorization,
74
67
  INSTANCE(), // expectedDomain
75
- release, // expectedRelease
68
+ getRelease(), // expectedRelease
76
69
  false, // expectServiceAuthorization
77
70
  true); // checkAlreadyInitialized
78
71
 
79
- _registry = IRegistry(registry);
80
72
  _instance = IInstance(instance);
81
73
  _authorization = IAuthorization(authorization);
82
74
  _customRoleIdNext = 0;
@@ -105,7 +97,7 @@ contract InstanceAdmin is
105
97
  for(uint256 i = 0; i < serviceDomains.length; i++) {
106
98
  ObjectType serviceDomain = serviceDomains[i];
107
99
  RoleId serviceRoleId = authorization.getServiceRole(serviceDomain);
108
- address service = _registry.getServiceAddress(serviceDomain, getRelease());
100
+ address service = _getRegistry().getServiceAddress(serviceDomain, getRelease());
109
101
 
110
102
  _grantRoleToAccount(
111
103
  serviceRoleId,
@@ -135,7 +127,8 @@ contract InstanceAdmin is
135
127
  /// Important: The component MUST be registered.
136
128
  function initializeComponentAuthorization(
137
129
  address componentAddress,
138
- ObjectType expectedType
130
+ ObjectType expectedType,
131
+ VersionPart expectedRelease
139
132
  )
140
133
  external
141
134
  restricted()
@@ -13,7 +13,9 @@ import {InstanceStore} from "../instance/InstanceStore.sol";
13
13
  import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
14
14
  import {ProductStore} from "../instance/ProductStore.sol";
15
15
  import {ADMIN_ROLE, INSTANCE_OWNER_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
16
- import {RiskSet} from "../instance/RiskSet.sol";
16
+ import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
17
+ import {RiskSet} from "../instance/RiskSet.sol";
18
+ import {VersionPartLib} from "../type/Version.sol";
17
19
 
18
20
 
19
21
  contract InstanceAuthorizationV3
@@ -27,7 +29,7 @@ contract InstanceAuthorizationV3
27
29
  Authorization(
28
30
  INSTANCE_TARGET_NAME,
29
31
  INSTANCE(),
30
- 3,
32
+ GIF_INITIAL_RELEASE(),
31
33
  COMMIT_HASH,
32
34
  TargetType.Instance,
33
35
  false)
@@ -28,6 +28,7 @@ import {NftId} from "../type/NftId.sol";
28
28
  import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
29
29
  import {PolicyServiceLib} from "../product/PolicyServiceLib.sol";
30
30
  import {ProductStore} from "./ProductStore.sol";
31
+ import {RegistryLinked} from "../shared/RegistryLinked.sol";
31
32
  import {ReferralId, ReferralStatus, ReferralLib} from "../type/Referral.sol";
32
33
  import {RequestId} from "../type/RequestId.sol";
33
34
  import {RiskId} from "../type/RiskId.sol";
@@ -40,14 +41,19 @@ import {UFixed, UFixedLib} from "../type/UFixed.sol";
40
41
 
41
42
  /// @dev Central reader contract for a specific instance.
42
43
  /// Provides reading functions for all instance data and related component data.
43
- contract InstanceReader {
44
+ contract InstanceReader is
45
+ RegistryLinked
46
+ {
44
47
 
45
48
  error ErrorInstanceReaderAlreadyInitialized();
46
49
  error ErrorInstanceReaderInstanceAddressZero();
47
-
50
+ // TODO make state immutable:
51
+ // 1. instance receives reader through setInstanceReader()
52
+ // 2. this way instance initialization is not depends on reader
53
+ // 3. and reader is simple contract with constructor
54
+ // 4. no _initialized in storage, the rest is immutable
48
55
  bool private _initialized = false;
49
56
 
50
- IRegistry internal _registry;
51
57
  IInstance internal _instance;
52
58
  InstanceAdmin internal _instanceAdmin;
53
59
 
@@ -78,27 +84,24 @@ contract InstanceReader {
78
84
  _initialized = true;
79
85
  _instance = IInstance(instanceAddress);
80
86
  _instanceAdmin = _instance.getInstanceAdmin();
81
- _registry = _instance.getRegistry();
82
87
 
83
88
  _store = _instance.getInstanceStore();
84
89
  _productStore = _instance.getProductStore();
85
90
  _bundleSet = _instance.getBundleSet();
86
91
  _riskSet = _instance.getRiskSet();
87
- _distributionService = IDistributionService(_registry.getServiceAddress(DISTRIBUTION(), _instance.getRelease()));
92
+
93
+ _distributionService = IDistributionService(
94
+ _getRegistry().getServiceAddress(DISTRIBUTION(), _instance.getRelease()));
88
95
  }
89
96
 
90
97
 
91
98
  //--- instance functions ---------------------------------------------------------//
92
99
 
93
- /// @dev Returns the registry this instance is registered in.
94
- function getRegistry() public view returns (IRegistry registry) {
95
- return _registry;
96
- }
97
100
 
98
101
 
99
102
  /// @dev Returns the instance NFT ID.
100
103
  function getInstanceNftId() public view returns (NftId instanceNftid) {
101
- return _registry.getNftIdForAddress(address(_instance));
104
+ return _getRegistry().getNftIdForAddress(address(_instance));
102
105
  }
103
106
 
104
107
 
@@ -435,7 +438,7 @@ contract InstanceReader {
435
438
  return _store.getReferralInfo(referralId);
436
439
  }
437
440
 
438
-
441
+ // TODO reader dependce on service os wrong?
439
442
  function getDiscountPercentage(ReferralId referralId)
440
443
  public
441
444
  view
@@ -444,10 +447,7 @@ contract InstanceReader {
444
447
  ReferralStatus status
445
448
  )
446
449
  {
447
- return IDistributionService(
448
- _registry.getServiceAddress(
449
- DISTRIBUTION(),
450
- _instance.getRelease())).getDiscountPercentage(
450
+ return _distributionService.getDiscountPercentage(
451
451
  this, // instance reader
452
452
  referralId);
453
453
  }
@@ -175,7 +175,7 @@ contract InstanceService is
175
175
  IInstance(instanceAddress).getInstanceAdmin().setInstanceLocked(locked);
176
176
 
177
177
  emit LogInstanceServiceInstanceLocked(
178
- getRegistry().getNftIdForAddress(instanceAddress),
178
+ _getRegistry().getNftIdForAddress(instanceAddress),
179
179
  locked);
180
180
  }
181
181
 
@@ -204,13 +204,11 @@ contract InstanceService is
204
204
  // MUST be set after instance is set up and registered
205
205
  IAuthorization instanceAuthorization = InstanceAdmin(_masterInstanceAdmin).getInstanceAuthorization();
206
206
  instanceAdmin.completeSetup(
207
- address(getRegistry()),
208
207
  address(instanceAuthorization),
209
- getRelease(),
210
208
  address(instance));
211
209
 
212
210
  // hard checks for newly cloned instance
213
- assert(address(instance.getRegistry()) == address(getRegistry()));
211
+ //assert(address(instance._getRegistry()) == address(_getRegistry()));// consider deleting this
214
212
  assert(instance.getRelease() == getRelease());
215
213
 
216
214
  // register cloned instance as staking target
@@ -231,7 +229,7 @@ contract InstanceService is
231
229
  restricted()
232
230
  onlyInstance()
233
231
  {
234
- NftId instanceNftId = getRegistry().getNftIdForAddress(msg.sender);
232
+ NftId instanceNftId = _getRegistry().getNftIdForAddress(msg.sender);
235
233
  _stakingService.setInstanceLockingPeriod(
236
234
  instanceNftId,
237
235
  stakeLockingPeriod);
@@ -244,7 +242,7 @@ contract InstanceService is
244
242
  restricted()
245
243
  onlyInstance()
246
244
  {
247
- NftId instanceNftId = getRegistry().getNftIdForAddress(msg.sender);
245
+ NftId instanceNftId = _getRegistry().getNftIdForAddress(msg.sender);
248
246
  _stakingService.setInstanceRewardRate(
249
247
  instanceNftId,
250
248
  rewardRate);
@@ -256,7 +254,7 @@ contract InstanceService is
256
254
  restricted()
257
255
  onlyInstance()
258
256
  {
259
- NftId instanceNftId = getRegistry().getNftIdForAddress(msg.sender);
257
+ NftId instanceNftId = _getRegistry().getNftIdForAddress(msg.sender);
260
258
  _stakingService.setInstanceMaxStakedAmount(
261
259
  instanceNftId,
262
260
  maxStakedAmount);
@@ -270,7 +268,7 @@ contract InstanceService is
270
268
  onlyInstance()
271
269
  returns (Amount newBalance)
272
270
  {
273
- NftId instanceNftId = getRegistry().getNftIdForAddress(msg.sender);
271
+ NftId instanceNftId = _getRegistry().getNftIdForAddress(msg.sender);
274
272
  newBalance = _stakingService.refillInstanceRewardReserves(
275
273
  instanceNftId,
276
274
  rewardProvider,
@@ -285,7 +283,7 @@ contract InstanceService is
285
283
  onlyInstance()
286
284
  returns (Amount newBalance)
287
285
  {
288
- NftId instanceNftId = getRegistry().getNftIdForAddress(msg.sender);
286
+ NftId instanceNftId = _getRegistry().getNftIdForAddress(msg.sender);
289
287
  newBalance = _stakingService.withdrawInstanceRewardReserves(
290
288
  instanceNftId,
291
289
  dipAmount);
@@ -308,7 +306,7 @@ contract InstanceService is
308
306
  instance.setInstanceReader(upgradedInstanceReaderClone);
309
307
 
310
308
  emit LogInstanceServiceInstanceReaderUpgraded(
311
- getRegistry().getNftIdForAddress(instanceAddress),
309
+ _getRegistry().getNftIdForAddress(instanceAddress),
312
310
  address(upgradedInstanceReaderClone));
313
311
  }
314
312
 
@@ -349,6 +347,7 @@ contract InstanceService is
349
347
  if(instanceStoreAddress == address(0)) { revert ErrorInstanceServiceInstanceStoreZero(); }
350
348
  if(productStoreAddress == address(0)) { revert ErrorInstanceServiceProductStoreZero(); } // TODO: rename exception
351
349
 
350
+ // TODO check instance cluster release
352
351
  if(instance.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceInstanceAuthorityMismatch(); }
353
352
  if(bundleSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceBundleSetAuthorityMismatch(); }
354
353
  if(riskSet.authority() != instanceAdmin.authority()) { revert ErrorInstanceServiceRiskSetAuthorityMismatch(); }
@@ -391,7 +390,7 @@ contract InstanceService is
391
390
  _masterInstanceReader = instanceReaderAddress;
392
391
 
393
392
  emit LogInstanceServiceMasterInstanceReaderUpgraded(
394
- getRegistry().getNftIdForAddress(_masterInstance),
393
+ _getRegistry().getNftIdForAddress(_masterInstance),
395
394
  instanceReaderAddress);
396
395
  }
397
396
 
@@ -419,7 +418,8 @@ contract InstanceService is
419
418
 
420
419
  clonedAdmin.initialize(
421
420
  address(clonedAccessManager),
422
- "InstanceAdmin");
421
+ "InstanceAdmin",
422
+ getRelease());
423
423
  }
424
424
 
425
425
 
@@ -445,8 +445,6 @@ contract InstanceService is
445
445
  riskSet: RiskSet(Clones.clone(_masterInstanceRiskSet)),
446
446
  instanceReader: InstanceReader(Clones.clone(address(_masterInstanceReader)))
447
447
  }),
448
- getRegistry(),
449
- getRelease(),
450
448
  instanceOwner,
451
449
  allowAnyToken);
452
450
 
@@ -461,14 +459,13 @@ contract InstanceService is
461
459
  )
462
460
  internal
463
461
  virtual override
464
- initializer()
462
+ onlyInitializing()
465
463
  {
466
464
  (
467
- address authority,
468
- address registry
469
- ) = abi.decode(data, (address, address));
465
+ address authority
466
+ ) = abi.decode(data, (address));
470
467
 
471
- __Service_init(authority, registry, owner);
468
+ __Service_init(authority, owner);
472
469
 
473
470
  _registryService = IRegistryService(_getServiceAddress(REGISTRY()));
474
471
  _stakingService = IStakingService(_getServiceAddress(STAKING()));
@@ -486,7 +483,8 @@ contract InstanceService is
486
483
  virtual
487
484
  view
488
485
  {
489
- IRegistry registry = getRegistry();
486
+ // TODO use ContractLib to verify registration, type and release
487
+ IRegistry registry = _getRegistry();
490
488
 
491
489
  NftId instanceNftId = registry.getNftIdForAddress(instanceAddress);
492
490
  if (instanceNftId.eqz()) {
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IVersionable} from "../upgradeability/IVersionable.sol";
4
+ import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
5
5
  import {ProxyManager} from "../upgradeability/ProxyManager.sol";
6
6
  import {InstanceService} from "./InstanceService.sol";
7
7
 
@@ -12,19 +12,17 @@ contract InstanceServiceManager is ProxyManager {
12
12
  /// @dev initializes proxy manager with instance service implementation
13
13
  constructor(
14
14
  address authority,
15
- address registry,
16
15
  bytes32 salt
17
16
  )
18
17
  {
19
18
  InstanceService svc = new InstanceService{salt: salt}();
20
- bytes memory data = abi.encode(authority, registry);
21
- IVersionable versionable = initialize(
22
- registry,
19
+ bytes memory data = abi.encode(authority);
20
+ IUpgradeable upgradeable = initialize(
23
21
  address(svc),
24
22
  data,
25
23
  salt);
26
24
 
27
- _instanceService = InstanceService(address(versionable));
25
+ _instanceService = InstanceService(address(upgradeable));
28
26
  }
29
27
 
30
28
  //--- view functions ----------------------------------------------------//
@@ -4,25 +4,19 @@ pragma solidity ^0.8.20;
4
4
  import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
5
5
 
6
6
  import {IRegistry} from "../../registry/IRegistry.sol";
7
+ import {RegistryLinked} from "../../shared/RegistryLinked.sol";
7
8
 
8
9
  abstract contract Cloneable is
9
- AccessManagedUpgradeable
10
+ AccessManagedUpgradeable,
11
+ RegistryLinked
10
12
  {
11
- IRegistry internal _registry;
12
-
13
13
  /// @dev call to initialize MUST be made in the same transaction as cloning of the contract
14
14
  function __Cloneable_init(
15
- address authority,
16
- address registry
15
+ address authority
17
16
  )
18
17
  internal
19
18
  onlyInitializing
20
19
  {
21
20
  __AccessManaged_init(authority);
22
- _registry = IRegistry(registry);
23
- }
24
-
25
- function getRegistry() external view returns (IRegistry) {
26
- return _registry;
27
21
  }
28
22
  }
@@ -21,12 +21,12 @@ contract ObjectSet is
21
21
  address internal _instanceAddress;
22
22
 
23
23
  /// @dev This initializer needs to be called from the instance itself.
24
- function initialize(address authority, address registry)
24
+ function initialize(address authority)
25
25
  external
26
26
  initializer()
27
27
  {
28
28
  _instanceAddress = msg.sender;
29
- __Cloneable_init(authority, registry);
29
+ __Cloneable_init(authority);
30
30
 
31
31
  emit LogObjectSetInitialized(address(_instanceAddress));
32
32
  }
@@ -23,7 +23,6 @@ contract BasicOracle is
23
23
  }
24
24
 
25
25
  function _initializeBasicOracle(
26
- address registry,
27
26
  NftId instanceNftId,
28
27
  IAuthorization authorization,
29
28
  address initialOwner,
@@ -35,7 +34,6 @@ contract BasicOracle is
35
34
  {
36
35
 
37
36
  __Oracle_init(
38
- registry,
39
37
  instanceNftId,
40
38
  authorization,
41
39
  initialOwner,
@@ -8,6 +8,8 @@ import {IAccess} from "../authorization/IAccess.sol";
8
8
  import {IOracle} from "./IOracle.sol";
9
9
  import {PUBLIC_ROLE} from "../../contracts/type/RoleId.sol";
10
10
  import {RoleId} from "../type/RoleId.sol";
11
+ import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
12
+ import {VersionPartLib} from "../type/Version.sol";
11
13
 
12
14
 
13
15
  contract BasicOracleAuthorization
@@ -21,7 +23,7 @@ contract BasicOracleAuthorization
21
23
  Authorization(
22
24
  componentName,
23
25
  ORACLE(),
24
- 3,
26
+ GIF_INITIAL_RELEASE(),
25
27
  commitHash,
26
28
  TargetType.Component,
27
29
  false)
@@ -18,13 +18,9 @@ interface IOracleService is IService {
18
18
  event LogOracleServiceRequestCancelled(RequestId requestId, NftId requesterNftId);
19
19
 
20
20
  // create request
21
- error ErrorOracleServiceProductMismatch(ObjectType callerObjectType, NftId productNft, NftId oracleParentNftId);
22
21
  error ErrorOracleServiceExpiryInThePast(Timestamp blockTimestamp, Timestamp expiryAt);
23
22
  error ErrorOracleServiceCallbackMethodNameEmpty();
24
23
 
25
- // respond
26
- error ErrorOracleServiceNotResponsibleOracle(RequestId requestId, NftId expectedOracleNftId, NftId oracleNftId);
27
-
28
24
  // get request info
29
25
  error ErrorOracleServiceRequestStateNotActive(RequestId requestId, StateId state);
30
26
  error ErrorOracleServiceCallerNotResponsibleOracle(RequestId requestId, NftId oracleNftId, NftId callerNftId);
@@ -5,10 +5,11 @@ import {Amount} from "../type/Amount.sol";
5
5
  import {COMPONENT, PRODUCT, ORACLE} from "../type/ObjectType.sol";
6
6
  import {IAuthorization} from "../authorization/IAuthorization.sol";
7
7
  import {IComponentService} from "../shared/IComponentService.sol";
8
- import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
8
+ import {IComponent} from "../shared/IComponent.sol";
9
9
  import {IOracleComponent} from "./IOracleComponent.sol";
10
10
  import {IOracleService} from "./IOracleService.sol";
11
11
  import {NftId} from "../type/NftId.sol";
12
+ import {Component} from "../shared/Component.sol";
12
13
  import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
13
14
  import {RequestId} from "../type/RequestId.sol";
14
15
  import {Timestamp} from "../type/Timestamp.sol";
@@ -66,7 +67,7 @@ abstract contract Oracle is
66
67
  function withdrawFees(Amount amount)
67
68
  external
68
69
  virtual
69
- override(IInstanceLinkedComponent, InstanceLinkedComponent)
70
+ override(IComponent, Component)
70
71
  onlyOwner()
71
72
  restricted()
72
73
  returns (Amount)
@@ -76,7 +77,6 @@ abstract contract Oracle is
76
77
 
77
78
 
78
79
  function __Oracle_init(
79
- address registry,
80
80
  NftId productNftId,
81
81
  IAuthorization authorization,
82
82
  address initialOwner,
@@ -87,7 +87,6 @@ abstract contract Oracle is
87
87
  onlyInitializing()
88
88
  {
89
89
  __InstanceLinkedComponent_init(
90
- registry,
91
90
  productNftId,
92
91
  name,
93
92
  ORACLE(),