@etherisc/gif-next 3.0.0-f90c901-018 → 3.0.0-f9ec743-307

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 (520) 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 -126
  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 -72
  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 -84
  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 -166
  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 -202
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +65 -41
  49. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +2 -2
  51. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
  52. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +799 -0
  53. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +4 -0
  54. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +229 -0
  55. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +4 -0
  56. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +801 -0
  57. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
  58. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1353 -0
  59. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
  60. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +896 -0
  61. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
  62. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1466 -0
  63. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
  64. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +844 -0
  65. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
  66. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2289 -0
  67. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
  68. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +891 -0
  69. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
  70. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -0
  71. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
  72. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +586 -0
  73. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
  74. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
  75. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  76. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +102 -159
  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 +106 -163
  81. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  82. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +120 -177
  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 -171
  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 +26 -78
  97. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  98. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +105 -83
  99. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  100. package/artifacts/contracts/instance/Instance.sol/Instance.json +51 -145
  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 +238 -77
  107. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  108. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +154 -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/RiskSet.sol/RiskSet.dbg.json +1 -1
  116. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +58 -53
  117. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  118. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  119. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  120. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +1 -1
  121. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  122. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  123. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  124. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  125. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  126. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +8 -3
  127. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  128. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
  129. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  130. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  131. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  132. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  133. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  134. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  135. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  136. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  137. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +81 -132
  138. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  139. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +65 -41
  140. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  141. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  142. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +66 -94
  143. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  144. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +83 -80
  145. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  146. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +67 -82
  147. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  148. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +148 -149
  149. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  150. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +129 -111
  151. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  152. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +73 -88
  153. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  154. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +65 -41
  155. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  156. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +129 -176
  157. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  158. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +139 -129
  159. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  160. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +44 -71
  161. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  162. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +72 -100
  163. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  164. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +98 -94
  165. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  166. package/artifacts/contracts/pool/Pool.sol/Pool.json +73 -88
  167. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  168. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +244 -26
  169. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  170. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +177 -233
  171. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  172. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +130 -140
  173. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  174. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +63 -138
  175. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  176. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +112 -110
  177. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  178. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +57 -72
  179. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  180. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +65 -41
  181. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  182. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +115 -182
  183. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  184. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +138 -132
  185. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  186. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +32 -71
  187. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  188. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +32 -71
  189. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  190. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +76 -82
  191. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  192. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +43 -82
  193. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  194. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +56 -84
  195. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  196. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +36 -75
  197. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  198. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +139 -173
  199. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  200. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +20 -12
  201. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  202. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +128 -122
  203. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  204. package/artifacts/contracts/product/PricingService.sol/PricingService.json +94 -161
  205. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  206. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +122 -116
  207. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  208. package/artifacts/contracts/product/Product.sol/Product.json +57 -72
  209. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  210. package/artifacts/contracts/product/RiskService.sol/RiskService.json +63 -146
  211. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  212. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +107 -109
  213. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  214. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  215. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  216. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +62 -155
  217. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  218. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +216 -202
  219. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  220. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +15 -1
  221. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  222. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  223. package/artifacts/contracts/registry/Registry.sol/Registry.json +102 -314
  224. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  225. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +146 -179
  226. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  227. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +77 -57
  228. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  229. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +244 -285
  230. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  231. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +110 -115
  232. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  233. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +154 -175
  234. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  235. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  236. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  237. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +208 -140
  238. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  239. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +56 -32
  240. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  241. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +29 -13
  242. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  243. package/artifacts/contracts/shared/Component.sol/Component.json +39 -84
  244. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  245. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +573 -164
  246. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  247. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +141 -115
  248. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  249. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +169 -421
  250. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  251. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  252. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  253. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  254. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  255. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
  256. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +633 -0
  257. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  258. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +38 -96
  259. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  260. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +479 -82
  261. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  262. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +56 -84
  263. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  264. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  265. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +28 -1
  266. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  267. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +12 -1
  268. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  269. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +25 -77
  270. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  271. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +12 -1
  272. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  273. package/artifacts/contracts/shared/IService.sol/IService.json +32 -71
  274. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  275. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
  276. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  277. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +57 -72
  278. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  279. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  280. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  281. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  282. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +34 -15
  283. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  284. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +14 -3
  285. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  286. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +24 -76
  287. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  288. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +37 -3
  289. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  290. package/artifacts/contracts/shared/Service.sol/Service.json +31 -70
  291. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  292. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +29 -69
  293. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  294. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +17 -57
  295. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  296. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
  297. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  298. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +81 -101
  299. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  300. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +48 -75
  301. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  302. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  303. package/artifacts/contracts/staking/Staking.sol/Staking.json +134 -170
  304. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  305. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +31 -31
  306. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  307. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +124 -112
  308. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  309. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +22 -5
  310. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  311. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +77 -132
  312. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  313. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +111 -105
  314. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  315. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +204 -212
  316. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  317. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +19 -32
  318. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  319. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -21
  320. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  321. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  322. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/Amount.sol/AmountLib.json +2 -7
  324. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  326. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
  328. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  330. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  332. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -7
  334. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  335. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  336. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  337. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  338. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  340. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  341. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  342. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  343. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +22 -25
  344. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  346. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  347. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +23 -4
  348. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  349. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  350. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
  351. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
  352. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  353. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  354. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  355. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
  356. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  357. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +21 -2
  358. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  359. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
  360. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  361. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  362. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  363. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
  364. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  365. package/artifacts/contracts/type/String.sol/StrLib.json +21 -2
  366. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  367. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
  368. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  369. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -7
  370. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  371. package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
  372. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  373. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +6 -19
  374. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  375. package/artifacts/contracts/upgradeability/{IUpgradeable.sol/IUpgradeable.json → IVersionable.sol/IVersionable.json} +4 -54
  376. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  377. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +86 -63
  378. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  379. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +3 -3
  380. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  381. package/artifacts/contracts/upgradeability/{Upgradeable.sol/Upgradeable.json → Versionable.sol/Versionable.json} +4 -54
  382. package/contracts/accounting/AccountingService.sol +22 -33
  383. package/contracts/accounting/AccountingServiceManager.sol +6 -4
  384. package/contracts/accounting/IAccountingService.sol +7 -8
  385. package/contracts/authorization/AccessAdmin.sol +24 -47
  386. package/contracts/authorization/AccessAdminLib.sol +29 -15
  387. package/contracts/authorization/AccessManagerCloneable.sol +52 -24
  388. package/contracts/authorization/Authorization.sol +2 -2
  389. package/contracts/authorization/IAccessAdmin.sol +3 -3
  390. package/contracts/authorization/IServiceAuthorization.sol +1 -1
  391. package/contracts/authorization/ServiceAuthorization.sol +4 -4
  392. package/contracts/distribution/BasicDistribution.sol +2 -0
  393. package/contracts/distribution/BasicDistributionAuthorization.sol +4 -5
  394. package/contracts/distribution/Distribution.sol +2 -0
  395. package/contracts/distribution/DistributionService.sol +25 -27
  396. package/contracts/distribution/DistributionServiceManager.sol +6 -4
  397. package/contracts/distribution/IDistributionService.sol +4 -3
  398. package/contracts/examples/fire/FirePool.sol +4 -0
  399. package/contracts/examples/fire/FireProduct.sol +4 -0
  400. package/contracts/examples/flight/FlightLib.sol +337 -0
  401. package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
  402. package/contracts/examples/flight/FlightNft.sol +234 -0
  403. package/contracts/examples/flight/FlightOracle.sol +226 -0
  404. package/contracts/examples/flight/FlightOracleAuthorization.sol +57 -0
  405. package/contracts/examples/flight/FlightPool.sol +89 -0
  406. package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
  407. package/contracts/examples/flight/FlightProduct.sol +687 -0
  408. package/contracts/examples/flight/FlightProductAuthorization.sol +70 -0
  409. package/contracts/examples/flight/FlightProductManager.sol +49 -0
  410. package/contracts/examples/flight/FlightUSD.sol +28 -0
  411. package/contracts/examples/flight/originalV1.sol +396 -0
  412. package/contracts/examples/unpermissioned/SimpleDistribution.sol +4 -0
  413. package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -0
  414. package/contracts/examples/unpermissioned/SimplePool.sol +4 -0
  415. package/contracts/examples/unpermissioned/SimpleProduct.sol +4 -0
  416. package/contracts/instance/BaseStore.sol +4 -0
  417. package/contracts/instance/IBaseStore.sol +8 -0
  418. package/contracts/instance/IInstance.sol +1 -1
  419. package/contracts/instance/IInstanceService.sol +2 -0
  420. package/contracts/instance/Instance.sol +12 -8
  421. package/contracts/instance/InstanceAdmin.sol +17 -11
  422. package/contracts/instance/InstanceAuthorizationV3.sol +2 -4
  423. package/contracts/instance/InstanceReader.sol +59 -23
  424. package/contracts/instance/InstanceService.sol +24 -18
  425. package/contracts/instance/InstanceServiceManager.sol +6 -4
  426. package/contracts/instance/base/Cloneable.sol +10 -4
  427. package/contracts/instance/base/ObjectSet.sol +2 -2
  428. package/contracts/oracle/BasicOracle.sol +3 -0
  429. package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
  430. package/contracts/oracle/IOracleService.sol +16 -12
  431. package/contracts/oracle/Oracle.sol +6 -5
  432. package/contracts/oracle/OracleService.sol +67 -37
  433. package/contracts/oracle/OracleServiceManager.sol +6 -4
  434. package/contracts/pool/BasicPool.sol +4 -2
  435. package/contracts/pool/BasicPoolAuthorization.sol +4 -5
  436. package/contracts/pool/BundleService.sol +20 -26
  437. package/contracts/pool/BundleServiceManager.sol +7 -5
  438. package/contracts/pool/IBundleService.sol +1 -1
  439. package/contracts/pool/IPoolService.sol +6 -5
  440. package/contracts/pool/Pool.sol +3 -1
  441. package/contracts/pool/PoolLib.sol +102 -5
  442. package/contracts/pool/PoolService.sol +101 -67
  443. package/contracts/pool/PoolServiceManager.sol +6 -4
  444. package/contracts/product/ApplicationService.sol +34 -13
  445. package/contracts/product/ApplicationServiceManager.sol +6 -4
  446. package/contracts/product/BasicProduct.sol +2 -0
  447. package/contracts/product/BasicProductAuthorization.sol +7 -7
  448. package/contracts/product/ClaimService.sol +34 -10
  449. package/contracts/product/ClaimServiceManager.sol +7 -5
  450. package/contracts/product/IPolicyService.sol +2 -1
  451. package/contracts/product/PolicyService.sol +58 -45
  452. package/contracts/product/PolicyServiceLib.sol +5 -3
  453. package/contracts/product/PolicyServiceManager.sol +6 -4
  454. package/contracts/product/PricingService.sol +8 -7
  455. package/contracts/product/PricingServiceManager.sol +6 -4
  456. package/contracts/product/Product.sol +2 -0
  457. package/contracts/product/RiskService.sol +40 -8
  458. package/contracts/product/RiskServiceManager.sol +6 -4
  459. package/contracts/registry/ChainNft.sol +1 -1
  460. package/contracts/registry/IRegistry.sol +14 -20
  461. package/contracts/registry/IRegistryService.sol +14 -10
  462. package/contracts/registry/IRelease.sol +3 -0
  463. package/contracts/registry/Registry.sol +78 -124
  464. package/contracts/registry/RegistryAdmin.sol +29 -12
  465. package/contracts/registry/RegistryAuthorization.sol +3 -4
  466. package/contracts/registry/RegistryService.sol +82 -99
  467. package/contracts/registry/RegistryServiceManager.sol +11 -4
  468. package/contracts/registry/ReleaseAdmin.sol +23 -9
  469. package/contracts/registry/ReleaseRegistry.sol +74 -64
  470. package/contracts/registry/ServiceAuthorizationV3.sol +3 -4
  471. package/contracts/registry/TokenRegistry.sol +15 -6
  472. package/contracts/shared/Component.sol +22 -27
  473. package/contracts/shared/ComponentService.sol +164 -47
  474. package/contracts/shared/ComponentServiceManager.sol +7 -5
  475. package/contracts/shared/ContractLib.sol +93 -359
  476. package/contracts/shared/EcdsaChecker.sol +5 -0
  477. package/contracts/shared/IAuthorizedComponent.sol +15 -0
  478. package/contracts/shared/IComponent.sol +3 -5
  479. package/contracts/shared/IComponentService.sol +36 -0
  480. package/contracts/shared/IInstanceLinkedComponent.sol +9 -9
  481. package/contracts/shared/INftOwnable.sol +2 -0
  482. package/contracts/shared/IRegisterable.sol +3 -14
  483. package/contracts/shared/IRegistryLinked.sol +3 -1
  484. package/contracts/shared/IService.sol +2 -2
  485. package/contracts/shared/InstanceLinkedComponent.sol +130 -39
  486. package/contracts/shared/NftOwnable.sol +22 -9
  487. package/contracts/shared/PolicyHolder.sol +4 -2
  488. package/contracts/shared/Registerable.sol +20 -37
  489. package/contracts/shared/RegistryLinked.sol +23 -4
  490. package/contracts/shared/Service.sol +9 -8
  491. package/contracts/shared/TokenHandler.sol +1 -4
  492. package/contracts/staking/IStaking.sol +4 -2
  493. package/contracts/staking/IStakingService.sol +1 -1
  494. package/contracts/staking/Staking.sol +34 -28
  495. package/contracts/staking/StakingLib.sol +1 -3
  496. package/contracts/staking/StakingManager.sol +6 -3
  497. package/contracts/staking/StakingReader.sol +17 -9
  498. package/contracts/staking/StakingService.sol +14 -17
  499. package/contracts/staking/StakingServiceManager.sol +8 -4
  500. package/contracts/staking/StakingStore.sol +8 -8
  501. package/contracts/staking/TargetHandler.sol +5 -4
  502. package/contracts/type/ObjectType.sol +2 -31
  503. package/contracts/type/Referral.sol +6 -0
  504. package/contracts/type/RequestIdSet.sol +62 -0
  505. package/contracts/type/Seconds.sol +4 -0
  506. package/contracts/type/String.sol +30 -0
  507. package/contracts/type/Timestamp.sol +10 -1
  508. package/contracts/type/Version.sol +16 -15
  509. package/contracts/upgradeability/{IUpgradeable.sol → IVersionable.sol} +19 -13
  510. package/contracts/upgradeability/ProxyManager.sol +54 -46
  511. package/contracts/upgradeability/{Upgradeable.sol → Versionable.sol} +14 -25
  512. package/package.json +4 -3
  513. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  514. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -74
  515. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  516. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -74
  517. package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +0 -4
  518. package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +0 -4
  519. package/contracts/shared/IVersionable.sol +0 -19
  520. package/contracts/shared/Versionable.sol +0 -47
@@ -1,50 +1,13 @@
1
1
  {
2
2
  "_format": "hh-sol-artifact-1",
3
- "contractName": "Upgradeable",
4
- "sourceName": "contracts/upgradeability/Upgradeable.sol",
3
+ "contractName": "Versionable",
4
+ "sourceName": "contracts/upgradeability/Versionable.sol",
5
5
  "abi": [
6
6
  {
7
7
  "inputs": [],
8
8
  "name": "ErrorVersionableInitializeNotImplemented",
9
9
  "type": "error"
10
10
  },
11
- {
12
- "inputs": [
13
- {
14
- "internalType": "address",
15
- "name": "target",
16
- "type": "address"
17
- },
18
- {
19
- "internalType": "VersionPart",
20
- "name": "invalidRelease",
21
- "type": "uint8"
22
- }
23
- ],
24
- "name": "ErrorVersionableReleaseInvalid",
25
- "type": "error"
26
- },
27
- {
28
- "inputs": [
29
- {
30
- "internalType": "address",
31
- "name": "target",
32
- "type": "address"
33
- },
34
- {
35
- "internalType": "VersionPart",
36
- "name": "expected",
37
- "type": "uint8"
38
- },
39
- {
40
- "internalType": "VersionPart",
41
- "name": "actual",
42
- "type": "uint8"
43
- }
44
- ],
45
- "name": "ErrorVersionableReleaseMismatch",
46
- "type": "error"
47
- },
48
11
  {
49
12
  "inputs": [],
50
13
  "name": "ErrorVersionableUpgradeNotImplemented",
@@ -73,19 +36,6 @@
73
36
  "name": "Initialized",
74
37
  "type": "event"
75
38
  },
76
- {
77
- "inputs": [],
78
- "name": "getRelease",
79
- "outputs": [
80
- {
81
- "internalType": "VersionPart",
82
- "name": "",
83
- "type": "uint8"
84
- }
85
- ],
86
- "stateMutability": "pure",
87
- "type": "function"
88
- },
89
39
  {
90
40
  "inputs": [],
91
41
  "name": "getVersion",
@@ -112,7 +62,7 @@
112
62
  "type": "bytes"
113
63
  }
114
64
  ],
115
- "name": "initialize",
65
+ "name": "initializeVersionable",
116
66
  "outputs": [],
117
67
  "stateMutability": "nonpayable",
118
68
  "type": "function"
@@ -125,7 +75,7 @@
125
75
  "type": "bytes"
126
76
  }
127
77
  ],
128
- "name": "upgrade",
78
+ "name": "upgradeVersionable",
129
79
  "outputs": [],
130
80
  "stateMutability": "nonpayable",
131
81
  "type": "function"
@@ -9,7 +9,7 @@ import {InstanceStore} from "../instance/InstanceStore.sol";
9
9
  import {Amount, AmountLib} from "../type/Amount.sol";
10
10
  import {Fee} from "../type/Fee.sol";
11
11
  import {NftId} from "../type/NftId.sol";
12
- import {ObjectType, ACCOUNTING, BUNDLE, DISTRIBUTION, DISTRIBUTOR, POOL, PRODUCT} from "../type/ObjectType.sol";
12
+ import {ObjectType, ACCOUNTING, BUNDLE, COMPONENT, DISTRIBUTION, DISTRIBUTOR, POOL, PRODUCT} from "../type/ObjectType.sol";
13
13
  import {Service} from "../shared/Service.sol";
14
14
 
15
15
 
@@ -26,13 +26,14 @@ contract AccountingService is
26
26
  )
27
27
  internal
28
28
  virtual override
29
- onlyInitializing()
29
+ initializer()
30
30
  {
31
31
  (
32
- address authority
33
- ) = abi.decode(data, (address));
32
+ address authority,
33
+ address registry
34
+ ) = abi.decode(data, (address, address));
34
35
 
35
- __Service_init(authority, owner);
36
+ __Service_init(authority, registry, owner);
36
37
  _registerInterface(type(IAccountingService).interfaceId);
37
38
  }
38
39
 
@@ -45,7 +46,7 @@ contract AccountingService is
45
46
  virtual
46
47
  restricted()
47
48
  {
48
- _changeTargetBalance(DECREASE, instanceStore, componentNftId, AmountLib.zero(), feeAmount);
49
+ _changeTargetBalance(DECREASE, instanceStore, componentNftId, COMPONENT(), AmountLib.zero(), feeAmount);
49
50
  }
50
51
 
51
52
 
@@ -59,7 +60,7 @@ contract AccountingService is
59
60
  restricted()
60
61
  {
61
62
  _checkNftType(productNftId, PRODUCT());
62
- _changeTargetBalance(INCREASE, instanceStore, productNftId, AmountLib.zero(), feeAmount);
63
+ _changeTargetBalance(INCREASE, instanceStore, productNftId, PRODUCT(), AmountLib.zero(), feeAmount);
63
64
  }
64
65
 
65
66
  function increaseProductFeesForPool(
@@ -72,7 +73,7 @@ contract AccountingService is
72
73
  restricted()
73
74
  {
74
75
  _checkNftType(productNftId, PRODUCT());
75
- _changeTargetBalance(INCREASE, instanceStore, productNftId, AmountLib.zero(), feeAmount);
76
+ _changeTargetBalance(INCREASE, instanceStore, productNftId, PRODUCT(), AmountLib.zero(), feeAmount);
76
77
  }
77
78
 
78
79
 
@@ -82,7 +83,7 @@ contract AccountingService is
82
83
  restricted()
83
84
  {
84
85
  _checkNftType(productNftId, PRODUCT());
85
- _changeTargetBalance(DECREASE, instanceStore, productNftId, AmountLib.zero(), feeAmount);
86
+ _changeTargetBalance(DECREASE, instanceStore, productNftId, PRODUCT(), AmountLib.zero(), feeAmount);
86
87
  }
87
88
 
88
89
  function increaseDistributionBalance(
@@ -96,7 +97,7 @@ contract AccountingService is
96
97
  restricted()
97
98
  {
98
99
  _checkNftType(distributionNftId, DISTRIBUTION());
99
- _changeTargetBalance(INCREASE, instanceStore, distributionNftId, amount, feeAmount);
100
+ _changeTargetBalance(INCREASE, instanceStore, distributionNftId, DISTRIBUTION(), amount, feeAmount);
100
101
  }
101
102
 
102
103
 
@@ -111,7 +112,7 @@ contract AccountingService is
111
112
  restricted()
112
113
  {
113
114
  _checkNftType(distributionNftId, DISTRIBUTION());
114
- _changeTargetBalance(DECREASE, instanceStore, distributionNftId, amount, feeAmount);
115
+ _changeTargetBalance(DECREASE, instanceStore, distributionNftId, DISTRIBUTION(), amount, feeAmount);
115
116
  }
116
117
 
117
118
  function increaseDistributorBalance(
@@ -125,7 +126,7 @@ contract AccountingService is
125
126
  restricted()
126
127
  {
127
128
  _checkNftType(distributorNftId, DISTRIBUTOR());
128
- _changeTargetBalance(INCREASE, instanceStore, distributorNftId, amount, feeAmount);
129
+ _changeTargetBalance(INCREASE, instanceStore, distributorNftId, DISTRIBUTOR(), amount, feeAmount);
129
130
  }
130
131
 
131
132
  function decreaseDistributorBalance(
@@ -139,7 +140,7 @@ contract AccountingService is
139
140
  restricted()
140
141
  {
141
142
  _checkNftType(distributorNftId, DISTRIBUTOR());
142
- _changeTargetBalance(DECREASE, instanceStore, distributorNftId, amount, feeAmount);
143
+ _changeTargetBalance(DECREASE, instanceStore, distributorNftId, DISTRIBUTOR(), amount, feeAmount);
143
144
  }
144
145
 
145
146
  function increasePoolBalance(
@@ -153,7 +154,7 @@ contract AccountingService is
153
154
  restricted()
154
155
  {
155
156
  _checkNftType(poolNftId, POOL());
156
- _changeTargetBalance(INCREASE, instanceStore, poolNftId, amount, feeAmount);
157
+ _changeTargetBalance(INCREASE, instanceStore, poolNftId, POOL(), amount, feeAmount);
157
158
  }
158
159
 
159
160
  function decreasePoolBalance(
@@ -167,7 +168,7 @@ contract AccountingService is
167
168
  restricted()
168
169
  {
169
170
  _checkNftType(poolNftId, POOL());
170
- _changeTargetBalance(DECREASE, instanceStore, poolNftId, amount, feeAmount);
171
+ _changeTargetBalance(DECREASE, instanceStore, poolNftId, POOL(), amount, feeAmount);
171
172
  }
172
173
 
173
174
  function increaseBundleBalance(
@@ -181,7 +182,7 @@ contract AccountingService is
181
182
  restricted()
182
183
  {
183
184
  _checkNftType(bundleNftId, BUNDLE());
184
- _changeTargetBalance(INCREASE, instanceStore, bundleNftId, amount, feeAmount);
185
+ _changeTargetBalance(INCREASE, instanceStore, bundleNftId, BUNDLE(), amount, feeAmount);
185
186
  }
186
187
 
187
188
  function decreaseBundleBalance(
@@ -195,7 +196,7 @@ contract AccountingService is
195
196
  restricted()
196
197
  {
197
198
  _checkNftType(bundleNftId, BUNDLE());
198
- _changeTargetBalance(DECREASE, instanceStore, bundleNftId, amount, feeAmount);
199
+ _changeTargetBalance(DECREASE, instanceStore, bundleNftId, BUNDLE(), amount, feeAmount);
199
200
  }
200
201
 
201
202
  function increaseBundleBalanceForPool(
@@ -209,7 +210,7 @@ contract AccountingService is
209
210
  restricted()
210
211
  {
211
212
  _checkNftType(bundleNftId, BUNDLE());
212
- _changeTargetBalance(INCREASE, instanceStore, bundleNftId, amount, feeAmount);
213
+ _changeTargetBalance(INCREASE, instanceStore, bundleNftId, BUNDLE(), amount, feeAmount);
213
214
  }
214
215
 
215
216
  function decreaseBundleBalanceForPool(
@@ -223,7 +224,7 @@ contract AccountingService is
223
224
  restricted()
224
225
  {
225
226
  _checkNftType(bundleNftId, BUNDLE());
226
- _changeTargetBalance(DECREASE, instanceStore, bundleNftId, amount, feeAmount);
227
+ _changeTargetBalance(DECREASE, instanceStore, bundleNftId, BUNDLE(), amount, feeAmount);
227
228
  }
228
229
 
229
230
 
@@ -233,6 +234,7 @@ contract AccountingService is
233
234
  bool increase,
234
235
  InstanceStore instanceStore,
235
236
  NftId targetNftId,
237
+ ObjectType objectType,
236
238
  Amount amount,
237
239
  Amount feeAmount
238
240
  )
@@ -248,21 +250,8 @@ contract AccountingService is
248
250
  if(totalAmount.gtz()) { instanceStore.decreaseBalance(targetNftId, totalAmount); }
249
251
  if(feeAmount.gtz()) { instanceStore.decreaseFees(targetNftId, feeAmount); }
250
252
  }
251
- }
252
-
253
253
 
254
- function _logUpdateFee(NftId productNftId, string memory name, Fee memory feeBefore, Fee memory feeAfter)
255
- internal
256
- virtual
257
- {
258
- emit LogAccountingServiceUpdateFee(
259
- productNftId,
260
- name,
261
- feeBefore.fractionalFee,
262
- feeBefore.fixedFee,
263
- feeAfter.fractionalFee,
264
- feeAfter.fixedFee
265
- );
254
+ emit LogAccountingServiceBalanceChanged(targetNftId, amount, feeAmount, increase, objectType);
266
255
  }
267
256
 
268
257
  function _getDomain() internal pure virtual override returns(ObjectType) {
@@ -2,7 +2,7 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {AccountingService} from "./AccountingService.sol";
5
- import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
5
+ import {IVersionable} from "../upgradeability/IVersionable.sol";
6
6
  import {ProxyManager} from "../upgradeability/ProxyManager.sol";
7
7
 
8
8
  contract AccountingServiceManager is ProxyManager {
@@ -12,17 +12,19 @@ contract AccountingServiceManager is ProxyManager {
12
12
  /// @dev initializes proxy manager with service implementation
13
13
  constructor(
14
14
  address authority,
15
+ address registry,
15
16
  bytes32 salt
16
17
  )
17
18
  {
18
19
  AccountingService svc = new AccountingService();
19
- bytes memory data = abi.encode(authority);
20
- IUpgradeable upgradeable = initialize(
20
+ bytes memory data = abi.encode(authority, registry);
21
+ IVersionable versionable = initialize(
22
+ registry,
21
23
  address(svc),
22
24
  data,
23
25
  salt);
24
26
 
25
- _accountingService = AccountingService(address(upgradeable));
27
+ _accountingService = AccountingService(address(versionable));
26
28
  }
27
29
 
28
30
  //--- view functions ----------------------------------------------------//
@@ -6,20 +6,19 @@ import {Amount} from "../type/Amount.sol";
6
6
  import {InstanceStore} from "../instance/InstanceStore.sol";
7
7
  import {IService} from "../shared/IService.sol";
8
8
  import {NftId} from "../type/NftId.sol";
9
- import {UFixed} from "../type/UFixed.sol";
9
+ import {ObjectType} from "../type/ObjectType.sol";
10
10
 
11
11
  /// @dev component base class
12
12
  /// component examples are staking, product, distribution, pool and oracle
13
13
  interface IAccountingService is
14
14
  IService
15
15
  {
16
- event LogAccountingServiceUpdateFee(
17
- NftId nftId,
18
- string feeName,
19
- UFixed previousFractionalFee,
20
- Amount previousFixedFee,
21
- UFixed newFractionalFee,
22
- Amount newFixedFee
16
+ event LogAccountingServiceBalanceChanged(
17
+ NftId indexed nftId,
18
+ Amount indexed amount,
19
+ Amount indexed feeAmount,
20
+ bool increase,
21
+ ObjectType objectType
23
22
  );
24
23
 
25
24
  function decreaseComponentFees(InstanceStore instanceStore, NftId componentNftId, Amount feeAmount) external;
@@ -14,14 +14,13 @@ import {AccessAdminLib} from "./AccessAdminLib.sol";
14
14
  import {AccessManagerCloneable} from "./AccessManagerCloneable.sol";
15
15
  import {Blocknumber, BlocknumberLib} from "../type/Blocknumber.sol";
16
16
  import {ContractLib} from "../shared/ContractLib.sol";
17
- import {NftId} from "../type/NftId.sol";
17
+ import {NftId, NftIdLib} from "../type/NftId.sol";
18
18
  import {ObjectType} from "../type/ObjectType.sol";
19
19
  import {RoleId, RoleIdLib, ADMIN_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
20
- import {RegistryLinked} from "../shared/RegistryLinked.sol";
21
20
  import {Selector, SelectorSetLib} from "../type/Selector.sol";
22
21
  import {Str, StrLib} from "../type/String.sol";
23
22
  import {TimestampLib} from "../type/Timestamp.sol";
24
- import {VersionPartLib, VersionPart} from "../type/Version.sol";
23
+ import {VersionPart} from "../type/Version.sol";
25
24
 
26
25
 
27
26
  /**
@@ -31,7 +30,6 @@ import {VersionPartLib, VersionPart} from "../type/Version.sol";
31
30
  */
32
31
  contract AccessAdmin is
33
32
  AccessManagedUpgradeable,
34
- RegistryLinked,
35
33
  IAccessAdmin
36
34
  {
37
35
  using EnumerableSet for EnumerableSet.AddressSet;
@@ -93,16 +91,12 @@ contract AccessAdmin is
93
91
  /// Internally initializes access manager with this admin and creates basic role setup.
94
92
  function initialize(
95
93
  address authority,
96
- string memory adminName,
97
- VersionPart release
94
+ string memory adminName
98
95
  )
99
96
  public
97
+ initializer()
100
98
  {
101
- if(_getInitializedVersion() != 0) {
102
- revert InvalidInitialization();
103
- }
104
-
105
- __AccessAdmin_init(authority, adminName, release);
99
+ __AccessAdmin_init(authority, adminName);
106
100
  }
107
101
 
108
102
 
@@ -112,16 +106,14 @@ contract AccessAdmin is
112
106
  /// - this function as well as any completeSetup functions MUST be called in the same tx.
113
107
  function __AccessAdmin_init(
114
108
  address authority,
115
- string memory adminName,
116
- VersionPart release
109
+ string memory adminName
117
110
  )
118
111
  internal
119
- reinitializer(release.toInt())
112
+ onlyInitializing()
120
113
  {
121
114
  AccessAdminLib.checkInitParameters(authority, adminName);
122
-
123
115
  _authority = AccessManagerCloneable(authority);
124
- _authority.initialize(address(this), release);
116
+ _authority.initialize(address(this));
125
117
 
126
118
  // delayed additional check for authority after its initialization
127
119
  if (!ContractLib.isAuthority(authority)) {
@@ -129,7 +121,7 @@ contract AccessAdmin is
129
121
  }
130
122
 
131
123
  // effects
132
- // set and initialize this contract as
124
+ // set and initialize this access manager contract as
133
125
  // the admin (ADMIN_ROLE) of the provided authority
134
126
  __AccessManaged_init(authority);
135
127
 
@@ -137,7 +129,7 @@ contract AccessAdmin is
137
129
  _adminName = adminName;
138
130
 
139
131
  // set initial linked NFT ID to zero
140
- //_linkedNftId = NftIdLib.zero();
132
+ _linkedNftId = NftIdLib.zero();
141
133
 
142
134
  // setup admin role
143
135
  _createRoleUnchecked(
@@ -157,7 +149,12 @@ contract AccessAdmin is
157
149
  //--- view functions for access admin ---------------------------------------//
158
150
 
159
151
  function getRelease() public view virtual returns (VersionPart release) {
160
- return VersionPartLib.toVersionPart(uint8(_getInitializedVersion()));
152
+ return _authority.getRelease();
153
+ }
154
+
155
+
156
+ function getRegistry() public view returns (IRegistry registry) {
157
+ return _authority.getRegistry();
161
158
  }
162
159
 
163
160
 
@@ -282,10 +279,11 @@ contract AccessAdmin is
282
279
  {
283
280
  Selector selector = SelectorSetLib.at(_targetFunctions[target], idx);
284
281
  func = _functionInfo[target][selector];
285
- roleId = RoleIdLib.toRoleId(
286
- _authority.getTargetFunctionRole(
287
- target,
288
- selector.toBytes4()));
282
+ roleId = AccessAdminLib.getFunctionRoleId(_authority, target, selector);
283
+ // roleId = RoleIdLib.toRoleId(
284
+ // _authority.getTargetFunctionRole(
285
+ // target,
286
+ // selector.toBytes4()));
289
287
  }
290
288
 
291
289
 
@@ -300,12 +298,11 @@ contract AccessAdmin is
300
298
  //--- internal/private functions -------------------------------------------------//
301
299
 
302
300
  function _linkToNftOwnable(address registerable) internal {
303
- NftId nftId = _getRegistry().getNftIdForAddress(registerable);
304
- if (nftId.eqz()) {
301
+ if (!getRegistry().isRegistered(registerable)) {
305
302
  revert ErrorAccessAdminNotRegistered(registerable);
306
303
  }
307
304
 
308
- _linkedNftId = nftId;
305
+ _linkedNftId = getRegistry().getNftIdForAddress(registerable);
309
306
  }
310
307
 
311
308
 
@@ -322,7 +319,7 @@ contract AccessAdmin is
322
319
  (RoleId roleId, bool exists) = getRoleForName(roleInfo.name.toString());
323
320
 
324
321
  if (!exists) {
325
- if (!AccessAdminLib.isDynamicRoleId(authzRoleId)) {
322
+ if (!AccessAdminLib.isDynamicRoleId(authzRoleId) || roleInfo.targetType == TargetType.Custom) {
326
323
  roleId = authzRoleId;
327
324
  }
328
325
 
@@ -660,24 +657,4 @@ contract AccessAdmin is
660
657
  AccessAdminLib.toFunctionGrantingString(this, func.name, roleId),
661
658
  lastUpdateIn);
662
659
  }
663
-
664
-
665
- function _checkAuthorization(
666
- address authorization,
667
- ObjectType expectedDomain,
668
- VersionPart expectedRelease,
669
- bool expectServiceAuthorization,
670
- bool checkAlreadyInitialized
671
- )
672
- internal
673
- view
674
- {
675
- AccessAdminLib.checkAuthorization(
676
- address(_authorization),
677
- authorization,
678
- expectedDomain,
679
- expectedRelease,
680
- expectServiceAuthorization,
681
- checkAlreadyInitialized);
682
- }
683
660
  }
@@ -7,16 +7,17 @@ import {IAccess} from "./IAccess.sol";
7
7
  import {IAccessAdmin} from "./IAccessAdmin.sol";
8
8
  import {IAuthorization} from "./IAuthorization.sol";
9
9
  import {IComponent} from "../shared/IComponent.sol";
10
- import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
10
+ import {IAuthorizedComponent} from "../shared/IAuthorizedComponent.sol";
11
11
  import {IRegistry} from "../registry/IRegistry.sol";
12
12
  import {IService} from "../shared/IService.sol";
13
13
  import {IServiceAuthorization} from "./IServiceAuthorization.sol";
14
14
 
15
+ import {AccessManagerCloneable} from "./AccessManagerCloneable.sol";
15
16
  import {BlocknumberLib} from "../type/Blocknumber.sol";
16
17
  import {ContractLib} from "../shared/ContractLib.sol";
17
18
  import {ObjectType} from "../type/ObjectType.sol";
18
19
  import {RoleId, RoleIdLib, ADMIN_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
19
- import {SelectorLib} from "../type/Selector.sol";
20
+ import {Selector, SelectorLib} from "../type/Selector.sol";
20
21
  import {Str, StrLib} from "../type/String.sol";
21
22
  import {TimestampLib} from "../type/Timestamp.sol";
22
23
  import {VersionPart, VersionPartLib} from "../type/Version.sol";
@@ -335,10 +336,10 @@ library AccessAdminLib { // ACCESS_ADMIN_LIB
335
336
  view
336
337
  returns (IAuthorization componentAuthorization)
337
338
  {
338
- VersionPart expecteRelease = accessAdmin.getRelease();
339
- checkIsRegistered(componentAddress, expectedType, expecteRelease);
339
+ checkIsRegistered(address(accessAdmin.getRegistry()), componentAddress, expectedType);
340
340
 
341
- IInstanceLinkedComponent component = IInstanceLinkedComponent(componentAddress);
341
+ VersionPart expecteRelease = accessAdmin.getRelease();
342
+ IAuthorizedComponent component = IAuthorizedComponent(componentAddress);
342
343
  componentAuthorization = component.getAuthorization();
343
344
 
344
345
  checkAuthorization(
@@ -435,25 +436,22 @@ library AccessAdminLib { // ACCESS_ADMIN_LIB
435
436
 
436
437
 
437
438
  function checkIsRegistered(
439
+ address registry,
438
440
  address target,
439
- ObjectType expectedType,
440
- VersionPart expectedRelease
441
+ ObjectType expectedType
441
442
  )
442
443
  public
443
444
  view
444
445
  {
445
- IRegistry.ObjectInfo memory info = ContractLib.getRegistry().getObjectInfo(target);
446
+ checkRegistry(registry);
446
447
 
447
- if (info.objectType.eqz()) {
448
+ ObjectType tagetType = IRegistry(registry).getObjectInfo(target).objectType;
449
+ if (tagetType.eqz()) {
448
450
  revert IAccessAdmin.ErrorAccessAdminNotRegistered(target);
449
451
  }
450
452
 
451
- if (info.objectType != expectedType) {
452
- revert IAccessAdmin.ErrorAccessAdminTargetTypeMismatch(target, expectedType, info.objectType);
453
- }
454
-
455
- if (info.release != expectedRelease) {
456
- revert IAccessAdmin.ErrorAccessAdminTargetReleaseMismatch(target, expectedRelease, info.release);
453
+ if (tagetType != expectedType) {
454
+ revert IAccessAdmin.ErrorAccessAdminTargetTypeMismatch(target, expectedType, tagetType);
457
455
  }
458
456
  }
459
457
 
@@ -484,6 +482,22 @@ library AccessAdminLib { // ACCESS_ADMIN_LIB
484
482
  }
485
483
 
486
484
 
485
+ function getFunctionRoleId(
486
+ AccessManagerCloneable authority,
487
+ address target,
488
+ Selector selector
489
+ )
490
+ public
491
+ view
492
+ returns (RoleId functionRoleId)
493
+ {
494
+ return RoleIdLib.toRoleId(
495
+ authority.getTargetFunctionRole(
496
+ target,
497
+ selector.toBytes4()));
498
+ }
499
+
500
+
487
501
  function getServiceRoleId(
488
502
  address serviceAddress,
489
503
  IAccess.TargetType serviceTargetType