@etherisc/gif-next 3.0.0-2e16ebd-614 → 3.0.0-303db9f-884

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 (528) 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 +83 -164
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +115 -113
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +46 -91
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +70 -105
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +150 -126
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +101 -43
  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 +10 -20
  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 +75 -220
  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 +57 -166
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +224 -198
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +150 -140
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +56 -178
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +117 -71
  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 +104 -241
  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 +135 -277
  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 +1233 -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 +1391 -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 +2214 -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 +102 -253
  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 +175 -224
  81. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  82. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +120 -252
  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 +114 -246
  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 +54 -49
  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 +32 -71
  97. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  98. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +131 -83
  99. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  100. package/artifacts/contracts/instance/Instance.sol/Instance.json +62 -138
  101. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  102. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +151 -185
  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 +305 -77
  107. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  108. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +180 -140
  109. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  110. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +112 -104
  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/RequestSet.sol/RequestSet.dbg.json +4 -0
  116. package/artifacts/contracts/instance/RequestSet.sol/RequestSet.json +466 -0
  117. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  118. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +58 -53
  119. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  120. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  121. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  122. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +1 -1
  123. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  124. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  125. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  126. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  127. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  128. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +8 -3
  129. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  130. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +38 -2
  131. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  132. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  133. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  134. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  135. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  136. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  137. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  138. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  139. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +150 -193
  140. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  141. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +65 -41
  142. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  143. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  144. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +130 -150
  145. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  146. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +83 -80
  147. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  148. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +136 -143
  149. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  150. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +148 -149
  151. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  152. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +129 -111
  153. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  154. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +73 -163
  155. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  156. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +65 -41
  157. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  158. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +129 -176
  159. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  160. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +139 -129
  161. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  162. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +44 -71
  163. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  164. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +71 -174
  165. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  166. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +98 -94
  167. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  168. package/artifacts/contracts/pool/Pool.sol/Pool.json +73 -163
  169. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  170. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +244 -26
  171. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  172. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +177 -233
  173. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  174. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +130 -140
  175. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  176. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +63 -138
  177. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  178. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +112 -110
  179. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  180. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +57 -147
  181. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  182. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +65 -41
  183. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  184. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +115 -182
  185. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  186. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +138 -132
  187. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  188. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +32 -71
  189. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  190. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +32 -71
  191. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  192. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +76 -82
  193. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  194. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +43 -82
  195. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  196. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +56 -159
  197. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  198. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +36 -75
  199. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  200. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +139 -173
  201. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  202. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +20 -12
  203. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  204. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +128 -122
  205. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  206. package/artifacts/contracts/product/PricingService.sol/PricingService.json +94 -161
  207. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  208. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +122 -116
  209. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  210. package/artifacts/contracts/product/Product.sol/Product.json +57 -147
  211. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  212. package/artifacts/contracts/product/RiskService.sol/RiskService.json +63 -146
  213. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  214. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +107 -109
  215. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  216. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  217. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  218. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +62 -155
  219. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  220. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +216 -202
  221. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  222. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +15 -1
  223. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  224. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  225. package/artifacts/contracts/registry/Registry.sol/Registry.json +106 -314
  226. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  227. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +146 -179
  228. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  229. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +77 -82
  230. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  231. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +244 -285
  232. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  233. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +110 -115
  234. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  235. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +154 -175
  236. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  237. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  238. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  239. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +208 -140
  240. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  241. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +56 -32
  242. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  243. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +29 -13
  244. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  245. package/artifacts/contracts/shared/Component.sol/Component.json +39 -159
  246. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  247. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +536 -164
  248. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  249. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +141 -115
  250. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  251. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +169 -421
  252. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  253. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  254. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  255. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  256. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  257. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
  258. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +558 -0
  259. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  260. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +38 -171
  261. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  262. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +442 -82
  263. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  264. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +56 -159
  265. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  266. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  267. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +28 -1
  268. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  269. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +12 -1
  270. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  271. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +25 -77
  272. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  273. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +12 -1
  274. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  275. package/artifacts/contracts/shared/IService.sol/IService.json +32 -71
  276. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  277. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
  278. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  279. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +57 -147
  280. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  281. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  282. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  283. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  284. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +34 -15
  285. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  286. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +14 -3
  287. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  288. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +24 -76
  289. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  290. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +37 -3
  291. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  292. package/artifacts/contracts/shared/Service.sol/Service.json +31 -70
  293. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  294. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +29 -69
  295. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  296. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +17 -57
  297. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  298. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
  299. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  300. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +81 -176
  301. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  302. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +41 -280
  303. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  304. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  305. package/artifacts/contracts/staking/Staking.sol/Staking.json +134 -245
  306. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  307. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +31 -31
  308. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  309. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +124 -112
  310. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  311. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +22 -5
  312. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  313. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +70 -337
  314. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  315. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +111 -105
  316. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  317. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +204 -212
  318. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  319. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +19 -32
  320. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  321. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -21
  322. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  323. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  324. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/Amount.sol/AmountLib.json +2 -7
  326. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  328. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
  330. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  332. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  334. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -7
  336. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  337. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  338. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  339. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  340. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  341. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  342. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  343. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  344. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +22 -25
  346. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  347. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  348. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  349. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +23 -4
  350. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  351. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +23 -4
  352. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
  353. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
  354. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  355. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  356. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  357. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
  358. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  359. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +21 -2
  360. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  361. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
  362. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  363. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  364. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  365. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
  366. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  367. package/artifacts/contracts/type/String.sol/StrLib.json +21 -2
  368. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  369. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
  370. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  371. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -7
  372. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  373. package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
  374. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  375. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +6 -19
  376. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  377. package/artifacts/contracts/upgradeability/{IUpgradeable.sol/IUpgradeable.json → IVersionable.sol/IVersionable.json} +4 -54
  378. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  379. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +86 -63
  380. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  381. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +3 -3
  382. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  383. package/artifacts/contracts/upgradeability/{Upgradeable.sol/Upgradeable.json → Versionable.sol/Versionable.json} +4 -54
  384. package/contracts/accounting/AccountingService.sol +22 -33
  385. package/contracts/accounting/AccountingServiceManager.sol +6 -4
  386. package/contracts/accounting/IAccountingService.sol +7 -8
  387. package/contracts/authorization/AccessAdmin.sol +24 -47
  388. package/contracts/authorization/AccessAdminLib.sol +29 -15
  389. package/contracts/authorization/AccessManagerCloneable.sol +52 -24
  390. package/contracts/authorization/Authorization.sol +2 -2
  391. package/contracts/authorization/IAccessAdmin.sol +3 -3
  392. package/contracts/authorization/IServiceAuthorization.sol +1 -1
  393. package/contracts/authorization/ServiceAuthorization.sol +4 -4
  394. package/contracts/distribution/BasicDistribution.sol +2 -0
  395. package/contracts/distribution/BasicDistributionAuthorization.sol +4 -5
  396. package/contracts/distribution/Distribution.sol +2 -0
  397. package/contracts/distribution/DistributionService.sol +25 -27
  398. package/contracts/distribution/DistributionServiceManager.sol +6 -4
  399. package/contracts/distribution/IDistributionComponent.sol +0 -2
  400. package/contracts/distribution/IDistributionService.sol +4 -3
  401. package/contracts/examples/fire/FirePool.sol +4 -0
  402. package/contracts/examples/fire/FireProduct.sol +4 -0
  403. package/contracts/examples/flight/FlightLib.sol +337 -0
  404. package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
  405. package/contracts/examples/flight/FlightNft.sol +234 -0
  406. package/contracts/examples/flight/FlightOracle.sol +129 -0
  407. package/contracts/examples/flight/FlightOracleAuthorization.sol +56 -0
  408. package/contracts/examples/flight/FlightPool.sol +89 -0
  409. package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
  410. package/contracts/examples/flight/FlightProduct.sol +687 -0
  411. package/contracts/examples/flight/FlightProductAuthorization.sol +70 -0
  412. package/contracts/examples/flight/FlightProductManager.sol +49 -0
  413. package/contracts/examples/flight/FlightUSD.sol +28 -0
  414. package/contracts/examples/flight/originalV1.sol +396 -0
  415. package/contracts/examples/unpermissioned/SimpleDistribution.sol +4 -0
  416. package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -0
  417. package/contracts/examples/unpermissioned/SimplePool.sol +4 -0
  418. package/contracts/examples/unpermissioned/SimpleProduct.sol +4 -0
  419. package/contracts/instance/BaseStore.sol +4 -0
  420. package/contracts/instance/IBaseStore.sol +8 -0
  421. package/contracts/instance/IInstance.sol +4 -1
  422. package/contracts/instance/IInstanceService.sol +6 -0
  423. package/contracts/instance/Instance.sol +20 -8
  424. package/contracts/instance/InstanceAdmin.sol +18 -11
  425. package/contracts/instance/InstanceAuthorizationV3.sol +17 -5
  426. package/contracts/instance/InstanceReader.sol +74 -23
  427. package/contracts/instance/InstanceService.sol +84 -54
  428. package/contracts/instance/InstanceServiceManager.sol +6 -4
  429. package/contracts/instance/RequestSet.sol +63 -0
  430. package/contracts/instance/TargetNames.sol +1 -0
  431. package/contracts/instance/base/Cloneable.sol +10 -4
  432. package/contracts/instance/base/ObjectSet.sol +10 -2
  433. package/contracts/instance/base/ObjectSetHelperLib.sol +5 -1
  434. package/contracts/oracle/BasicOracle.sol +3 -0
  435. package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
  436. package/contracts/oracle/IOracleComponent.sol +10 -0
  437. package/contracts/oracle/IOracleService.sol +16 -12
  438. package/contracts/oracle/Oracle.sol +54 -29
  439. package/contracts/oracle/OracleService.sol +88 -55
  440. package/contracts/oracle/OracleServiceManager.sol +6 -4
  441. package/contracts/pool/BasicPool.sol +4 -2
  442. package/contracts/pool/BasicPoolAuthorization.sol +4 -5
  443. package/contracts/pool/BundleService.sol +20 -26
  444. package/contracts/pool/BundleServiceManager.sol +7 -5
  445. package/contracts/pool/IBundleService.sol +1 -1
  446. package/contracts/pool/IPoolService.sol +6 -5
  447. package/contracts/pool/Pool.sol +3 -1
  448. package/contracts/pool/PoolLib.sol +102 -5
  449. package/contracts/pool/PoolService.sol +101 -67
  450. package/contracts/pool/PoolServiceManager.sol +6 -4
  451. package/contracts/product/ApplicationService.sol +34 -13
  452. package/contracts/product/ApplicationServiceManager.sol +6 -4
  453. package/contracts/product/BasicProduct.sol +2 -0
  454. package/contracts/product/BasicProductAuthorization.sol +7 -7
  455. package/contracts/product/ClaimService.sol +34 -10
  456. package/contracts/product/ClaimServiceManager.sol +7 -5
  457. package/contracts/product/IPolicyService.sol +2 -1
  458. package/contracts/product/PolicyService.sol +58 -45
  459. package/contracts/product/PolicyServiceLib.sol +5 -3
  460. package/contracts/product/PolicyServiceManager.sol +6 -4
  461. package/contracts/product/PricingService.sol +8 -7
  462. package/contracts/product/PricingServiceManager.sol +6 -4
  463. package/contracts/product/Product.sol +2 -0
  464. package/contracts/product/RiskService.sol +40 -8
  465. package/contracts/product/RiskServiceManager.sol +6 -4
  466. package/contracts/registry/ChainNft.sol +1 -1
  467. package/contracts/registry/IRegistry.sol +14 -20
  468. package/contracts/registry/IRegistryService.sol +14 -10
  469. package/contracts/registry/IRelease.sol +3 -0
  470. package/contracts/registry/Registry.sol +82 -126
  471. package/contracts/registry/RegistryAdmin.sol +29 -12
  472. package/contracts/registry/RegistryAuthorization.sol +3 -6
  473. package/contracts/registry/RegistryService.sol +82 -99
  474. package/contracts/registry/RegistryServiceManager.sol +11 -4
  475. package/contracts/registry/ReleaseAdmin.sol +23 -9
  476. package/contracts/registry/ReleaseRegistry.sol +74 -64
  477. package/contracts/registry/ServiceAuthorizationV3.sol +3 -4
  478. package/contracts/registry/TokenRegistry.sol +15 -6
  479. package/contracts/shared/Component.sol +22 -27
  480. package/contracts/shared/ComponentService.sol +166 -47
  481. package/contracts/shared/ComponentServiceManager.sol +7 -5
  482. package/contracts/shared/ContractLib.sol +93 -359
  483. package/contracts/shared/EcdsaChecker.sol +5 -0
  484. package/contracts/shared/IAuthorizedComponent.sol +15 -0
  485. package/contracts/shared/IComponent.sol +3 -9
  486. package/contracts/shared/IComponentService.sol +36 -0
  487. package/contracts/shared/IInstanceLinkedComponent.sol +9 -9
  488. package/contracts/shared/INftOwnable.sol +2 -0
  489. package/contracts/shared/IRegisterable.sol +3 -14
  490. package/contracts/shared/IRegistryLinked.sol +3 -1
  491. package/contracts/shared/IService.sol +2 -2
  492. package/contracts/shared/InstanceLinkedComponent.sol +130 -39
  493. package/contracts/shared/NftOwnable.sol +22 -9
  494. package/contracts/shared/PolicyHolder.sol +4 -2
  495. package/contracts/shared/Registerable.sol +20 -37
  496. package/contracts/shared/RegistryLinked.sol +23 -4
  497. package/contracts/shared/Service.sol +9 -8
  498. package/contracts/shared/TokenHandler.sol +1 -4
  499. package/contracts/staking/IStaking.sol +4 -2
  500. package/contracts/staking/IStakingService.sol +1 -10
  501. package/contracts/staking/Staking.sol +34 -28
  502. package/contracts/staking/StakingLib.sol +1 -3
  503. package/contracts/staking/StakingManager.sol +6 -3
  504. package/contracts/staking/StakingReader.sol +17 -9
  505. package/contracts/staking/StakingService.sol +14 -17
  506. package/contracts/staking/StakingServiceManager.sol +8 -4
  507. package/contracts/staking/StakingStore.sol +8 -8
  508. package/contracts/staking/TargetHandler.sol +5 -4
  509. package/contracts/type/ObjectType.sol +2 -31
  510. package/contracts/type/Referral.sol +6 -0
  511. package/contracts/type/RequestId.sol +6 -0
  512. package/contracts/type/RequestIdSet.sol +62 -0
  513. package/contracts/type/Seconds.sol +4 -0
  514. package/contracts/type/String.sol +30 -0
  515. package/contracts/type/Timestamp.sol +10 -1
  516. package/contracts/type/Version.sol +16 -15
  517. package/contracts/upgradeability/{IUpgradeable.sol → IVersionable.sol} +19 -13
  518. package/contracts/upgradeability/ProxyManager.sol +54 -46
  519. package/contracts/upgradeability/{Upgradeable.sol → Versionable.sol} +14 -25
  520. package/package.json +4 -3
  521. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  522. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -74
  523. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  524. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -74
  525. package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +0 -4
  526. package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +0 -4
  527. package/contracts/shared/IVersionable.sol +0 -19
  528. package/contracts/shared/Versionable.sol +0 -47
@@ -2,7 +2,6 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
5
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
6
5
  import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManaged.sol";
7
6
  import {Initializable} from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
8
7
 
@@ -16,10 +15,7 @@ import {IRelease} from "./IRelease.sol";
16
15
  import {IRegisterable} from "../shared/IRegisterable.sol";
17
16
  import {IStaking} from "../staking/IStaking.sol";
18
17
  import {ReleaseRegistry} from "./ReleaseRegistry.sol";
19
- import {TokenRegistry} from "./TokenRegistry.sol";
20
18
  import {RegistryAdmin} from "./RegistryAdmin.sol";
21
- import {Versionable} from "../shared/Versionable.sol";
22
- import {VersionLib, Version} from "../type/Version.sol";
23
19
 
24
20
  /// @dev IMPORTANT
25
21
  // Each NFT minted by registry is accosiated with:
@@ -33,27 +29,20 @@ import {VersionLib, Version} from "../type/Version.sol";
33
29
  // 5) registerRegistry() -> registers IRegistry address (from different chain) by GifAdmin. Works ONLY on mainnet.
34
30
  // Note: getters by address MUST not be used with this address (will return 0 or data related to different object or even revert)
35
31
 
36
-
37
- function GIF_INITIAL_RELEASE() pure returns (VersionPart) {
38
- return VersionPartLib.toVersionPart(3);
39
- }
40
-
41
-
42
32
  /// @dev Chain Registry contract implementing IRegistry.
43
33
  /// IRegistry for method details.
44
34
  contract Registry is
45
35
  Initializable,
46
36
  AccessManaged,
47
- Versionable,
48
37
  IRegistry
49
38
  {
50
39
  /// @dev Protocol NFT ID
51
40
  NftId public immutable PROTOCOL_NFT_ID;
52
41
 
53
- /// @dev Global registry NFT ID
42
+ /// @dev Gobal registry NFT ID
54
43
  NftId public immutable GLOBAL_REGISTRY_NFT_ID;
55
44
 
56
- /// @dev Global registry address on mainnet.
45
+ /// @dev Gobal registry address on mainnet.
57
46
  address public immutable GLOBAL_REGISTRY_ADDRESS;
58
47
 
59
48
  /// @dev Registry NFT ID
@@ -77,9 +66,8 @@ contract Registry is
77
66
  mapping(uint256 chainId => NftId registryNftId) private _registryNftIdByChainId;
78
67
  uint256[] private _chainId;
79
68
 
80
- /// @dev keep track of object info, data and address reverse lookup
69
+ /// @dev keep track of object info and address reverse lookup
81
70
  mapping(NftId nftId => ObjectInfo info) private _info;
82
- mapping(NftId nftId => bytes data) private _data;
83
71
  mapping(address object => NftId nftId) private _nftIdByAddress;
84
72
 
85
73
  /// @dev keep track of service addresses by version and domain
@@ -156,8 +144,7 @@ contract Registry is
156
144
  function registerRegistry(
157
145
  NftId nftId,
158
146
  uint256 chainId,
159
- address registryAddress,
160
- VersionPart release
147
+ address registryAddress
161
148
  )
162
149
  external
163
150
  restricted()
@@ -191,19 +178,20 @@ contract Registry is
191
178
  nftId: nftId,
192
179
  parentNftId: REGISTRY_NFT_ID,
193
180
  objectType: REGISTRY(),
194
- release: release,
195
181
  isInterceptor: false,
196
- objectAddress: registryAddress}),
182
+ objectAddress: registryAddress,
183
+ initialOwner: NFT_LOCK_ADDRESS,
184
+ data: ""
185
+ }),
197
186
  false); // do not update address lookup for objects on a different chain
198
187
  }
199
188
 
200
189
  // TODO limit service owner to registry admin?
201
190
  /// @inheritdoc IRegistry
202
191
  function registerService(
203
- ObjectInfo memory info,
204
- address initialOwner,
205
- ObjectType domain,
206
- bytes memory data
192
+ ObjectInfo memory info,
193
+ VersionPart version,
194
+ ObjectType domain
207
195
  )
208
196
  external
209
197
  restricted()
@@ -216,13 +204,12 @@ contract Registry is
216
204
  }
217
205
 
218
206
  // version is defined
219
- VersionPart release = info.release;
220
- if(release.eqz()) {
207
+ if(version.eqz()) {
221
208
  revert ErrorRegistryServiceVersionZero(service);
222
209
  }
223
210
  // service domain is defined
224
211
  if(domain.eqz()) {
225
- revert ErrorRegistryServiceDomainZero(service, release);
212
+ revert ErrorRegistryServiceDomainZero(service, version);
226
213
  }
227
214
 
228
215
  // service has proper type
@@ -232,31 +219,30 @@ contract Registry is
232
219
 
233
220
  // service parent has registry type
234
221
  if(info.parentNftId != REGISTRY_NFT_ID) {
235
- revert ErrorRegistryServiceParentNotRegistry(service, release, info.parentNftId);
222
+ revert ErrorRegistryServiceParentNotRegistry(service, version, info.parentNftId);
236
223
  }
237
224
 
238
225
  // service has not already been registered
239
- if(_service[release][domain] != address(0)) {
240
- revert ErrorRegistryServiceDomainAlreadyRegistered(service, release, domain);
226
+ if(_service[version][domain] != address(0)) {
227
+ revert ErrorRegistryServiceDomainAlreadyRegistered(service, version, domain);
241
228
  }
242
229
 
243
- _service[release][domain] = service;
230
+ _service[version][domain] = service;
244
231
 
245
- emit LogRegistryServiceRegistered(release, domain);
232
+ emit LogRegistryServiceRegistered(info.nftId,version, domain);
246
233
 
247
- nftId = _register(info, initialOwner, data);
234
+ nftId = _register(info);
248
235
  }
249
236
 
250
237
 
251
238
  /// @inheritdoc IRegistry
252
- function register(ObjectInfo memory info, address initialOwner, bytes memory data)
239
+ function register(ObjectInfo memory info)
253
240
  external
254
241
  restricted()
255
242
  returns(NftId nftId)
256
243
  {
257
244
  address objectAddress = info.objectAddress;
258
245
  ObjectType objectType = info.objectType;
259
- VersionPart parentRelease = _info[info.parentNftId].release;
260
246
 
261
247
  // specialized functions have to be used to register registries and services
262
248
  if(objectType == REGISTRY() || objectType == STAKING() || objectType == SERVICE()) {
@@ -280,21 +266,18 @@ contract Registry is
280
266
  }
281
267
  }
282
268
 
283
- _checkRelease(info.release, parentRelease, parentType);
284
-
285
- nftId = _register(info, initialOwner, data);
269
+ nftId = _register(info);
286
270
  }
287
271
 
288
272
 
289
273
  /// @inheritdoc IRegistry
290
- function registerWithCustomType(ObjectInfo memory info, address initialOwner, bytes memory data)
274
+ function registerWithCustomType(ObjectInfo memory info)
291
275
  external
292
276
  restricted()
293
277
  returns(NftId nftId)
294
278
  {
295
279
  ObjectType objectType = info.objectType;
296
280
  ObjectType parentType = _info[info.parentNftId].objectType;
297
- VersionPart parentRelease = _info[info.parentNftId].release;
298
281
 
299
282
  if(_coreTypes[objectType]) {
300
283
  revert ErrorRegistryCoreTypeRegistration();
@@ -310,36 +293,13 @@ contract Registry is
310
293
  revert ErrorRegistryTypeCombinationInvalid(info.objectAddress, objectType, parentType);
311
294
  }
312
295
 
313
- _checkRelease(info.release, parentRelease, parentType);
314
-
315
- nftId = _register(info, initialOwner, data);
296
+ nftId = _register(info);
316
297
  }
317
298
 
318
- function _checkRelease(
319
- VersionPart objectRelease,
320
- VersionPart parentRelease,
321
- ObjectType parentType
322
- ) internal view
323
- {
324
- VersionPart senderRelease = _info[_nftIdByAddress[msg.sender]].release;
325
-
326
- // assume:
327
- // 1) only address with role can reach this function -> caller is registered registry service
328
- // 2) locked registry service can not call registry -> no "caller is locked" check is needed
329
- if(parentType == PROTOCOL()) {
330
- // STAKING for PROTOCOL, parent release is 0
331
- if(senderRelease != objectRelease) {
332
- revert ErrorRegistryReleaseMismatch(objectRelease, parentRelease, senderRelease);
333
- }
334
- }
335
- else if(senderRelease != objectRelease || senderRelease != parentRelease) {
336
- revert ErrorRegistryReleaseMismatch(objectRelease, parentRelease, senderRelease);
337
- }
338
- }
339
299
 
340
300
  /// @dev earliest GIF major version
341
301
  function getInitialRelease() external view returns (VersionPart) {
342
- return GIF_INITIAL_RELEASE();
302
+ return VersionPartLib.toVersionPart(_releaseRegistry.INITIAL_GIF_VERSION());
343
303
  }
344
304
 
345
305
  /// @dev next GIF release version to be released
@@ -404,20 +364,13 @@ contract Registry is
404
364
  return _info[nftId].parentNftId;
405
365
  }
406
366
 
407
- function isObjectType(address contractAddress, ObjectType expectedObjectType, VersionPart release) external view returns (bool) {
367
+ function isObjectType(address contractAddress, ObjectType expectedObjectType) external view returns (bool) {
408
368
  NftId nftId = _nftIdByAddress[contractAddress];
409
- return isObjectType(nftId, expectedObjectType, release);
410
- }
411
-
412
- function isObjectType(NftId nftId, ObjectType expectedObjectType, VersionPart release) public view returns (bool) {
413
- return (
414
- _info[nftId].objectType == expectedObjectType &&
415
- _info[nftId].release == release
416
- );
369
+ return isObjectType(nftId, expectedObjectType);
417
370
  }
418
371
 
419
- function getObjectRelease(NftId nftId) external view returns (VersionPart release) {
420
- return _info[nftId].release;
372
+ function isObjectType(NftId nftId, ObjectType expectedObjectType) public view returns (bool) {
373
+ return _info[nftId].objectType == expectedObjectType;
421
374
  }
422
375
 
423
376
  function getObjectAddress(NftId nftId) external view returns (address) {
@@ -428,14 +381,6 @@ contract Registry is
428
381
  return _info[_nftIdByAddress[object]];
429
382
  }
430
383
 
431
- function getObjectData(NftId nftId) external view returns (bytes memory data) {
432
- return _data[nftId];
433
- }
434
-
435
- function getObjectData(address objectAddress) external view returns (bytes memory data) {
436
- return _data[_nftIdByAddress[objectAddress]];
437
- }
438
-
439
384
  function isRegistered(NftId nftId) public view returns (bool) {
440
385
  return _info[nftId].objectType.gtz();
441
386
  }
@@ -494,12 +439,6 @@ contract Registry is
494
439
  return ownerOf(address(this));
495
440
  }
496
441
 
497
- // Versionable
498
-
499
- function getVersion() public pure override returns (Version) {
500
- return VersionLib.toVersion(GIF_INITIAL_RELEASE().toInt(), 0 , 0);
501
- }
502
-
503
442
  // IERC165
504
443
 
505
444
  function supportsInterface(bytes4 interfaceId) external pure returns (bool) {
@@ -513,49 +452,62 @@ contract Registry is
513
452
  // Internals
514
453
 
515
454
  /// @dev registry protects only against tampering existing records, registering with invalid types pairs and 0 parent address
516
- function _register(ObjectInfo memory info, address initialOwner, bytes memory data)
455
+ function _register(ObjectInfo memory info)
517
456
  internal
518
457
  returns(NftId nftId)
519
458
  {
459
+ ObjectType objectType = info.objectType; // do not care here, never PROTOCOL(), REGISTRY()
460
+ bool isInterceptor = info.isInterceptor;
461
+ address objectAddress = info.objectAddress; // do not care here, can be 0
462
+ address owner = info.initialOwner; // do not care here, can be 0, can be equal info.objectAddress
463
+
520
464
  NftId parentNftId = info.parentNftId; // do not care here, can not be 0
521
465
  ObjectInfo memory parentInfo = _info[parentNftId];
466
+ address parentAddress = parentInfo.objectAddress; // can be 0
467
+
468
+ // parent is contract -> need to check? -> check before minting
469
+ // special case: staking: to protocol possible as well
470
+ // NO LONGER TRUE: special case: global registry nft as parent when not on mainnet -> global registry address is 0
471
+ // special case: when parentNftId == CHAIN_NFT.mint(), check for zero parent address before mint
472
+ // special case: when parentNftId == CHAIN_NFT.mint() && objectAddress == initialOwner
473
+ // Parent can have 0 address in case of STAKE for PROTOCOL / CUSTOM_TYPE for POLICY
474
+ // But it MUST be registered -> parentType != 0 && parentNftId != 0
475
+ /*if(objectType != STAKE()) {
476
+ if(parentAddress == address(0)) {
477
+ revert ErrorRegistryParentAddressZero();
478
+ }
479
+ }*/
522
480
 
523
481
  // global registry is never parent when not on mainnet
524
482
  if(block.chainid != 1) {
525
483
  if(parentNftId == GLOBAL_REGISTRY_NFT_ID) {
526
- revert ErrorRegistryGlobalRegistryAsParent(info.objectAddress, info.objectType);
484
+ revert ErrorRegistryGlobalRegistryAsParent(objectAddress, objectType);
527
485
  }
528
486
  }
529
487
 
530
488
  address interceptorAddress = _getInterceptor(
531
- info.isInterceptor,
532
- info.objectType,
533
- info.objectAddress,
489
+ isInterceptor,
490
+ objectType,
491
+ objectAddress,
534
492
  parentInfo.isInterceptor,
535
- parentInfo.objectAddress);
536
-
537
- uint256 tokenId = CHAIN_NFT.mint(
538
- initialOwner,
539
- interceptorAddress,
540
- EMPTY_URI);
493
+ parentAddress);
541
494
 
495
+ uint256 tokenId = CHAIN_NFT.getNextTokenId();
542
496
  nftId = NftIdLib.toNftId(tokenId);
543
497
  info.nftId = nftId;
544
498
 
545
499
  _info[nftId] = info;
546
- if(data.length > 0) {
547
- _data[nftId] = data;
548
- }
549
- _setAddressForNftId(nftId, info.objectAddress);
500
+ _setAddressForNftId(nftId, objectAddress);
501
+
502
+ emit LogRegistryObjectRegistered(nftId, parentNftId, objectType, isInterceptor, objectAddress, owner);
503
+
504
+ // calls nft receiver(1) and interceptor(2)
505
+ uint256 mintedTokenId = CHAIN_NFT.mint(
506
+ owner,
507
+ interceptorAddress,
508
+ EMPTY_URI);
550
509
 
551
- emit LogRegistryObjectRegistered(
552
- nftId,
553
- parentNftId,
554
- info.objectType,
555
- info.release,
556
- info.isInterceptor,
557
- info.objectAddress,
558
- initialOwner);
510
+ assert(mintedTokenId == tokenId);
559
511
  }
560
512
 
561
513
  /// @dev obtain interceptor address for this nft if applicable, address(0) otherwise
@@ -607,11 +559,13 @@ contract Registry is
607
559
  nftId: protocolNftId,
608
560
  parentNftId: NftIdLib.zero(),
609
561
  objectType: PROTOCOL(),
610
- release: VersionPartLib.toVersionPart(0),
611
562
  isInterceptor: false,
612
- objectAddress: address(0)}),
613
- NFT_LOCK_ADDRESS, // initial owner of protocol
563
+ objectAddress: address(0),
564
+ initialOwner: NFT_LOCK_ADDRESS,
565
+ data: ""}),
614
566
  true);
567
+
568
+ emit LogRegistryObjectRegistered(protocolNftId, NftIdLib.zero(), PROTOCOL(), false, address(0), NFT_LOCK_ADDRESS);
615
569
  }
616
570
 
617
571
  /// @dev register this registry
@@ -630,9 +584,10 @@ contract Registry is
630
584
  nftId: GLOBAL_REGISTRY_NFT_ID,
631
585
  parentNftId: PROTOCOL_NFT_ID,
632
586
  objectType: REGISTRY(),
633
- release: getRelease(),
634
587
  isInterceptor: false,
635
- objectAddress: GLOBAL_REGISTRY_ADDRESS}),
588
+ objectAddress: GLOBAL_REGISTRY_ADDRESS,
589
+ initialOwner: NFT_LOCK_ADDRESS,
590
+ data: ""}),
636
591
  block.chainid == 1);// update address lookup for global registry only on mainnet
637
592
 
638
593
  // if not on mainnet: register this registry with global registry as parent
@@ -648,9 +603,10 @@ contract Registry is
648
603
  nftId: registryNftId,
649
604
  parentNftId: GLOBAL_REGISTRY_NFT_ID,
650
605
  objectType: REGISTRY(),
651
- release: getRelease(),
652
606
  isInterceptor: false,
653
- objectAddress: address(this)}),
607
+ objectAddress: address(this),
608
+ initialOwner: NFT_LOCK_ADDRESS,
609
+ data: ""}),
654
610
  true);
655
611
  }
656
612
  }
@@ -674,7 +630,6 @@ contract Registry is
674
630
  // register the registry info
675
631
  _registerForNft(
676
632
  info,
677
- NFT_LOCK_ADDRESS, // initial owner of any registry
678
633
  updateAddressLookup);
679
634
  }
680
635
 
@@ -692,10 +647,10 @@ contract Registry is
692
647
  nftId: stakingNftId,
693
648
  parentNftId: REGISTRY_NFT_ID,
694
649
  objectType: STAKING(),
695
- release: VersionPartLib.toVersionPart(3),
696
650
  isInterceptor: false,
697
- objectAddress: _stakingAddress}),
698
- stakingOwner,
651
+ objectAddress: _stakingAddress,
652
+ initialOwner: stakingOwner,
653
+ data: ""}),
699
654
  true);
700
655
 
701
656
  IStaking(_stakingAddress).initializeTokenHandler();
@@ -703,8 +658,7 @@ contract Registry is
703
658
 
704
659
  /// @dev Register the provided object info for the specified NFT ID.
705
660
  function _registerForNft(
706
- ObjectInfo memory info,
707
- address initialOwner,
661
+ ObjectInfo memory info,
708
662
  bool updateAddressLookup
709
663
  )
710
664
  internal
@@ -716,7 +670,9 @@ contract Registry is
716
670
  }
717
671
 
718
672
  // calls nft receiver
719
- CHAIN_NFT.mint(initialOwner, info.nftId.toInt());
673
+ CHAIN_NFT.mint(info.initialOwner, info.nftId.toInt());
674
+
675
+ emit LogRegistryObjectRegistered(info.nftId, info.parentNftId, info.objectType, info.isInterceptor, info.objectAddress, info.initialOwner);
720
676
  }
721
677
 
722
678
  function _setAddressForNftId(NftId nftId, address objectAddress)
@@ -7,11 +7,12 @@ import {IService} from "../shared/IService.sol";
7
7
  import {IStaking} from "../staking/IStaking.sol";
8
8
 
9
9
  import {AccessAdmin} from "../authorization/AccessAdmin.sol";
10
+ import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
10
11
  import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
11
12
  import {ObjectType, REGISTRY} from "../type/ObjectType.sol";
12
13
  import {RoleId, RoleIdLib, GIF_MANAGER_ROLE, GIF_ADMIN_ROLE} from "../type/RoleId.sol";
13
- import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
14
14
  import {Str} from "../type/String.sol";
15
+ import {VersionPart} from "../type/Version.sol";
15
16
 
16
17
  /*
17
18
  1) GIF_MANAGER_ROLE
@@ -51,6 +52,7 @@ contract RegistryAdmin is
51
52
  // completeSetup
52
53
  error ErrorRegistryAdminNotRegistry(address registry);
53
54
 
55
+ address internal _registry;
54
56
  address private _releaseRegistry;
55
57
  address private _tokenRegistry;
56
58
  address private _staking;
@@ -60,34 +62,49 @@ contract RegistryAdmin is
60
62
  constructor() {
61
63
  initialize(
62
64
  address(new AccessManagerCloneable()),
63
- "RegistryAdmin",
64
- GIF_INITIAL_RELEASE());
65
+ "RegistryAdmin");
65
66
  }
66
67
 
67
68
 
68
69
  function completeSetup(
70
+ address registry,
69
71
  address authorization,
72
+ VersionPart release,
70
73
  address gifAdmin,
71
74
  address gifManager
72
75
  )
73
76
  public
74
77
  virtual
78
+ reinitializer(type(uint8).max)
75
79
  {
76
80
  // checks
77
- _checkAuthorization(authorization, REGISTRY(), getRelease(), false, true);
78
-
79
- // effects
81
+ AccessAdminLib.checkRegistry(registry);
82
+
83
+ AccessManagerCloneable(
84
+ authority()).completeSetup(
85
+ registry,
86
+ release);
87
+
88
+ AccessAdminLib.checkAuthorization(
89
+ address(_authorization),
90
+ authorization,
91
+ REGISTRY(),
92
+ release,
93
+ false, // expectServiceAuthorization
94
+ false); // checkAlreadyInitialized);
95
+
96
+ _registry = registry;
80
97
  _authorization = IAuthorization(authorization);
81
98
 
82
- IRegistry registry = _getRegistry();
83
- _releaseRegistry = registry.getReleaseRegistryAddress();
84
- _tokenRegistry = registry.getTokenRegistryAddress();
85
- _staking = registry.getStakingAddress();
99
+ IRegistry registryContract = IRegistry(registry);
100
+ _releaseRegistry = registryContract.getReleaseRegistryAddress();
101
+ _tokenRegistry = registryContract.getTokenRegistryAddress();
102
+ _staking = registryContract.getStakingAddress();
86
103
  _stakingTargetHandler = address(IStaking(_staking).getTargetHandler());
87
104
  _stakingStore = address(IStaking(_staking).getStakingStore());
88
105
 
89
106
  // link nft ownability to registry
90
- _linkToNftOwnable(address(_getRegistry()));
107
+ _linkToNftOwnable(_registry);
91
108
 
92
109
  _createRoles(_authorization);
93
110
 
@@ -132,7 +149,7 @@ contract RegistryAdmin is
132
149
  internal
133
150
  {
134
151
  // create unchecked registry targets
135
- _createTarget(address(_getRegistry()), registryTargetName, TargetType.Core, false);
152
+ _createTarget(_registry, registryTargetName, TargetType.Core, false);
136
153
  _createTarget(address(this), REGISTRY_ADMIN_TARGET_NAME, TargetType.Core, false);
137
154
  _createTarget(_releaseRegistry, RELEASE_REGISTRY_TARGET_NAME, TargetType.Core, false);
138
155
  _createTarget(_tokenRegistry, TOKEN_REGISTRY_TARGET_NAME, TargetType.Core, false);
@@ -12,7 +12,6 @@ import {PUBLIC_ROLE} from "../type/RoleId.sol";
12
12
  import {ReleaseRegistry} from "./ReleaseRegistry.sol";
13
13
  import {RegistryAdmin} from "./RegistryAdmin.sol";
14
14
  import {RoleIdLib, ADMIN_ROLE, GIF_ADMIN_ROLE, GIF_MANAGER_ROLE} from "../type/RoleId.sol";
15
- import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
16
15
  import {StakingStore} from "../staking/StakingStore.sol";
17
16
  import {TargetHandler} from "../staking/TargetHandler.sol";
18
17
  import {TokenHandler} from "../shared/TokenHandler.sol";
@@ -50,7 +49,7 @@ contract RegistryAuthorization
50
49
  Authorization(
51
50
  REGISTRY_TARGET_NAME,
52
51
  REGISTRY(),
53
- GIF_INITIAL_RELEASE(),
52
+ 3,
54
53
  commitHash,
55
54
  TargetType.Core,
56
55
  false) // includeTokenHandler
@@ -101,7 +100,7 @@ contract RegistryAuthorization
101
100
  AccessAdminLib.roleInfo(
102
101
  ADMIN_ROLE(),
103
102
  TargetType.Custom, // custom is only type that allows role removal
104
- 1, // TODO decide on max member count
103
+ 2, // TODO decide on max member count
105
104
  GIF_ADMIN_ROLE_NAME));
106
105
 
107
106
  // gif manager role
@@ -110,7 +109,7 @@ contract RegistryAuthorization
110
109
  AccessAdminLib.roleInfo(
111
110
  ADMIN_ROLE(),
112
111
  TargetType.Custom, // custom is only type that allows role removal
113
- 2, // TODO decide on max member count
112
+ 1, // TODO decide on max member count
114
113
  GIF_MANAGER_ROLE_NAME));
115
114
 
116
115
  }
@@ -145,8 +144,6 @@ contract RegistryAuthorization
145
144
  _setupStakingThAuthorization();
146
145
  }
147
146
 
148
- event LogAccessAdminDebug(string message, string custom, uint256 value);
149
-
150
147
  function _setupRegistryAuthorization() internal {
151
148
  IAccess.FunctionInfo[] storage functions;
152
149