@etherisc/gif-next 3.0.0-a35a440-562 → 3.0.0-a511887-523

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 (460) hide show
  1. package/README.md +0 -1
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +168 -53
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +154 -63
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +107 -20
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +114 -59
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +96 -96
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +20 -65
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +31 -55
  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 +45 -3
  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 +18 -42
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +158 -67
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +41 -65
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +112 -49
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +227 -112
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +184 -93
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +124 -48
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +106 -19
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  40. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +187 -76
  42. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +41 -65
  44. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +224 -113
  46. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +41 -65
  48. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  49. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  50. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +193 -74
  51. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +41 -65
  53. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  54. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +192 -73
  55. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  56. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +200 -81
  57. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  58. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +41 -65
  59. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  60. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +200 -81
  61. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +41 -65
  63. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
  64. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  65. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
  66. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
  67. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  68. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +118 -18
  69. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +118 -31
  71. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  72. package/artifacts/contracts/instance/Instance.sol/Instance.json +181 -34
  73. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +192 -146
  75. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +43 -67
  77. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +75 -177
  79. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +167 -56
  81. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +148 -59
  83. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
  85. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
  86. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
  87. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  88. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +2 -2
  89. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  90. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  91. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  92. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  94. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  95. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  96. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  97. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
  98. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  99. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
  100. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  104. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  105. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  106. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  107. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +158 -67
  108. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  109. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +41 -65
  110. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  111. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  112. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +128 -52
  113. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  114. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +113 -26
  115. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  116. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +116 -53
  117. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  118. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +184 -69
  119. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  120. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +159 -68
  121. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  122. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +119 -56
  123. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  124. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +41 -65
  125. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  126. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +199 -84
  127. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  128. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +171 -80
  129. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  130. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +106 -19
  131. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  132. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +131 -55
  133. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  134. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +113 -26
  135. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  136. package/artifacts/contracts/pool/Pool.sol/Pool.json +119 -56
  137. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  138. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +25 -20
  139. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  140. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +210 -95
  141. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  142. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +172 -81
  143. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  144. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +165 -50
  145. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  146. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +153 -62
  147. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  148. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +112 -49
  149. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  150. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +41 -65
  151. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  152. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +211 -96
  153. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  154. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +176 -85
  155. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  156. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +106 -19
  157. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  158. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +106 -19
  159. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +113 -26
  161. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  162. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +113 -26
  163. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  164. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +124 -48
  165. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  166. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +106 -19
  167. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  168. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +204 -89
  169. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  170. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
  171. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  172. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +169 -78
  173. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  174. package/artifacts/contracts/product/PricingService.sol/PricingService.json +186 -71
  175. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  176. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +160 -69
  177. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  178. package/artifacts/contracts/product/Product.sol/Product.json +112 -49
  179. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  180. package/artifacts/contracts/product/RiskService.sol/RiskService.json +161 -46
  181. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  182. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +151 -60
  183. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  184. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  185. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +155 -56
  186. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  187. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +219 -185
  188. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  189. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +1 -15
  190. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  191. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  192. package/artifacts/contracts/registry/Registry.sol/Registry.json +314 -96
  193. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  194. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +192 -142
  195. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  196. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +57 -77
  197. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  198. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +302 -213
  199. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  200. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +162 -55
  201. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  202. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +192 -146
  203. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  204. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  205. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  206. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +173 -144
  207. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  208. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +32 -56
  209. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  210. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +46 -4
  211. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  212. package/artifacts/contracts/shared/Component.sol/Component.json +124 -31
  213. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  214. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +198 -298
  215. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  216. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +166 -91
  217. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  218. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +24 -44
  219. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
  220. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  221. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
  222. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  223. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +136 -30
  224. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  225. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +113 -209
  226. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  227. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +124 -48
  228. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  229. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  230. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +44 -2
  231. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  232. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +44 -2
  233. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  234. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +117 -17
  235. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  236. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +44 -2
  237. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  238. package/artifacts/contracts/shared/IService.sol/IService.json +106 -19
  239. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
  240. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +74 -0
  241. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  242. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  243. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +112 -49
  244. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  245. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  246. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  247. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  248. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +46 -4
  249. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  250. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +46 -4
  251. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  252. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +116 -16
  253. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  254. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +46 -4
  255. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  256. package/artifacts/contracts/shared/Service.sol/Service.json +105 -18
  257. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  258. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +42 -29
  259. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  260. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +30 -17
  261. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  262. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
  263. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
  264. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +74 -0
  265. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  266. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +132 -39
  267. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  268. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +106 -19
  269. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  270. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  271. package/artifacts/contracts/staking/Staking.sol/Staking.json +195 -86
  272. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  273. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +2 -2
  274. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  275. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +156 -71
  276. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  277. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +46 -4
  278. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  279. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +157 -42
  280. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  281. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +149 -58
  282. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  283. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +274 -200
  284. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  285. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +2 -2
  286. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  287. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -16
  288. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  289. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  290. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  291. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  292. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
  293. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  294. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  295. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  296. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  297. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  298. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  299. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  300. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  301. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  302. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  303. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  304. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  305. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  306. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +25 -22
  308. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  309. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  310. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  311. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -23
  312. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  313. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  314. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  316. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
  318. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +2 -21
  320. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  324. package/artifacts/contracts/type/String.sol/StrLib.json +2 -21
  325. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  326. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +4 -36
  327. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  328. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
  330. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +19 -6
  332. package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +4 -0
  333. package/artifacts/contracts/upgradeability/{IVersionable.sol/IVersionable.json → IUpgradeable.sol/IUpgradeable.json} +54 -4
  334. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  335. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +109 -40
  336. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  337. package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +4 -0
  338. package/artifacts/contracts/upgradeability/{Versionable.sol/Versionable.json → Upgradeable.sol/Upgradeable.json} +54 -4
  339. package/contracts/accounting/AccountingService.sol +2 -2
  340. package/contracts/accounting/AccountingServiceManager.sol +3 -3
  341. package/contracts/accounting/IAccountingService.sol +1 -1
  342. package/contracts/authorization/AccessAdmin.sol +19 -16
  343. package/contracts/authorization/AccessManagerCloneable.sol +24 -48
  344. package/contracts/authorization/Authorization.sol +2 -2
  345. package/contracts/authorization/IAccessAdmin.sol +2 -3
  346. package/contracts/authorization/IServiceAuthorization.sol +1 -1
  347. package/contracts/authorization/ServiceAuthorization.sol +4 -4
  348. package/contracts/distribution/BasicDistributionAuthorization.sol +5 -4
  349. package/contracts/distribution/DistributionService.sol +11 -8
  350. package/contracts/distribution/DistributionServiceManager.sol +3 -3
  351. package/contracts/instance/IInstance.sol +1 -1
  352. package/contracts/instance/Instance.sol +3 -6
  353. package/contracts/instance/InstanceAdmin.sol +9 -14
  354. package/contracts/instance/InstanceAuthorizationV3.sol +4 -2
  355. package/contracts/instance/InstanceReader.sol +3 -25
  356. package/contracts/instance/InstanceService.sol +4 -4
  357. package/contracts/instance/InstanceServiceManager.sol +3 -3
  358. package/contracts/oracle/BasicOracleAuthorization.sol +3 -1
  359. package/contracts/oracle/IOracleService.sol +12 -12
  360. package/contracts/oracle/Oracle.sol +3 -2
  361. package/contracts/oracle/OracleService.sol +1 -1
  362. package/contracts/oracle/OracleServiceManager.sol +3 -3
  363. package/contracts/pool/BasicPoolAuthorization.sol +5 -4
  364. package/contracts/pool/BundleService.sol +5 -5
  365. package/contracts/pool/BundleServiceManager.sol +3 -3
  366. package/contracts/pool/PoolLib.sol +7 -4
  367. package/contracts/pool/PoolService.sol +3 -3
  368. package/contracts/pool/PoolServiceManager.sol +3 -3
  369. package/contracts/product/ApplicationService.sol +4 -5
  370. package/contracts/product/ApplicationServiceManager.sol +3 -3
  371. package/contracts/product/BasicProductAuthorization.sol +7 -7
  372. package/contracts/product/ClaimService.sol +1 -1
  373. package/contracts/product/ClaimServiceManager.sol +3 -3
  374. package/contracts/product/PolicyService.sol +1 -1
  375. package/contracts/product/PolicyServiceManager.sol +3 -3
  376. package/contracts/product/PricingService.sol +1 -1
  377. package/contracts/product/PricingServiceManager.sol +3 -3
  378. package/contracts/product/RiskService.sol +1 -1
  379. package/contracts/product/RiskServiceManager.sol +3 -3
  380. package/contracts/registry/IRegistry.sol +20 -14
  381. package/contracts/registry/IRegistryService.sol +10 -14
  382. package/contracts/registry/IRelease.sol +0 -3
  383. package/contracts/registry/Registry.sol +124 -78
  384. package/contracts/registry/RegistryAdmin.sol +9 -15
  385. package/contracts/registry/RegistryAuthorization.sol +2 -1
  386. package/contracts/registry/RegistryService.sol +96 -78
  387. package/contracts/registry/RegistryServiceManager.sol +3 -3
  388. package/contracts/registry/ReleaseAdmin.sol +14 -12
  389. package/contracts/registry/ReleaseRegistry.sol +52 -50
  390. package/contracts/registry/ServiceAuthorizationV3.sol +4 -3
  391. package/contracts/shared/Component.sol +24 -17
  392. package/contracts/shared/ComponentService.sol +28 -101
  393. package/contracts/shared/ComponentServiceManager.sol +3 -3
  394. package/contracts/shared/IComponent.sol +5 -3
  395. package/contracts/shared/IComponentService.sol +0 -14
  396. package/contracts/shared/IInstanceLinkedComponent.sol +4 -7
  397. package/contracts/shared/IRegisterable.sol +8 -3
  398. package/contracts/shared/IRegistryLinked.sol +3 -1
  399. package/contracts/shared/IService.sol +2 -2
  400. package/contracts/shared/IVersionable.sol +19 -0
  401. package/contracts/shared/InstanceLinkedComponent.sol +39 -124
  402. package/contracts/shared/NftOwnable.sol +1 -14
  403. package/contracts/shared/PolicyHolder.sol +2 -2
  404. package/contracts/shared/Registerable.sol +36 -18
  405. package/contracts/shared/RegistryLinked.sol +11 -4
  406. package/contracts/shared/Service.sol +6 -5
  407. package/contracts/shared/TokenHandler.sol +4 -1
  408. package/contracts/shared/Versionable.sol +47 -0
  409. package/contracts/staking/IStaking.sol +2 -2
  410. package/contracts/staking/Staking.sol +7 -17
  411. package/contracts/staking/StakingManager.sol +3 -3
  412. package/contracts/staking/StakingService.sol +10 -7
  413. package/contracts/staking/StakingServiceManager.sol +3 -4
  414. package/contracts/staking/StakingStore.sol +10 -8
  415. package/contracts/type/ObjectType.sol +31 -2
  416. package/contracts/type/Referral.sol +0 -6
  417. package/contracts/type/Seconds.sol +0 -4
  418. package/contracts/type/String.sol +0 -30
  419. package/contracts/type/Timestamp.sol +1 -10
  420. package/contracts/type/Version.sol +15 -16
  421. package/contracts/upgradeability/{IVersionable.sol → IUpgradeable.sol} +13 -19
  422. package/contracts/upgradeability/ProxyManager.sol +46 -50
  423. package/contracts/upgradeability/{Versionable.sol → Upgradeable.sol} +25 -14
  424. package/package.json +1 -2
  425. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +0 -4
  426. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +0 -500
  427. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +0 -4
  428. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +0 -229
  429. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +0 -4
  430. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +0 -1198
  431. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +0 -4
  432. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +0 -849
  433. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +0 -4
  434. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +0 -1466
  435. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +0 -4
  436. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +0 -844
  437. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +0 -4
  438. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +0 -2324
  439. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +0 -4
  440. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +0 -844
  441. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +0 -4
  442. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +0 -586
  443. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +0 -4
  444. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +0 -901
  445. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +0 -4
  446. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +0 -33
  447. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +0 -4
  448. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +0 -4
  449. package/contracts/examples/flight/FlightLib.sol +0 -311
  450. package/contracts/examples/flight/FlightMessageVerifier.sol +0 -128
  451. package/contracts/examples/flight/FlightOracle.sol +0 -167
  452. package/contracts/examples/flight/FlightOracleAuthorization.sol +0 -34
  453. package/contracts/examples/flight/FlightPool.sol +0 -89
  454. package/contracts/examples/flight/FlightPoolAuthorization.sol +0 -37
  455. package/contracts/examples/flight/FlightProduct.sol +0 -626
  456. package/contracts/examples/flight/FlightProductAuthorization.sol +0 -44
  457. package/contracts/examples/flight/FlightUSD.sol +0 -28
  458. package/contracts/examples/flight/originalV1.sol +0 -396
  459. package/contracts/shared/EcdsaChecker.sol +0 -5
  460. package/contracts/type/RequestIdSet.sol +0 -62
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IVersionable} from "../upgradeability/IVersionable.sol";
4
+ import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
5
5
  import {ProxyManager} from "../upgradeability/ProxyManager.sol";
6
6
  import {InstanceService} from "./InstanceService.sol";
7
7
 
@@ -18,13 +18,13 @@ contract InstanceServiceManager is ProxyManager {
18
18
  {
19
19
  InstanceService svc = new InstanceService{salt: salt}();
20
20
  bytes memory data = abi.encode(authority, registry);
21
- IVersionable versionable = initialize(
21
+ IUpgradeable upgradeable = initialize(
22
22
  registry,
23
23
  address(svc),
24
24
  data,
25
25
  salt);
26
26
 
27
- _instanceService = InstanceService(address(versionable));
27
+ _instanceService = InstanceService(address(upgradeable));
28
28
  }
29
29
 
30
30
  //--- view functions ----------------------------------------------------//
@@ -8,6 +8,8 @@ import {IAccess} from "../authorization/IAccess.sol";
8
8
  import {IOracle} from "./IOracle.sol";
9
9
  import {PUBLIC_ROLE} from "../../contracts/type/RoleId.sol";
10
10
  import {RoleId} from "../type/RoleId.sol";
11
+ import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
12
+ import {VersionPartLib} from "../type/Version.sol";
11
13
 
12
14
 
13
15
  contract BasicOracleAuthorization
@@ -21,7 +23,7 @@ contract BasicOracleAuthorization
21
23
  Authorization(
22
24
  componentName,
23
25
  ORACLE(),
24
- 3,
26
+ GIF_INITIAL_RELEASE(),
25
27
  commitHash,
26
28
  TargetType.Component,
27
29
  false)
@@ -41,26 +41,26 @@ interface IOracleService is IService {
41
41
  string calldata callbackMethodName
42
42
  ) external returns (RequestId requestId);
43
43
 
44
- /// @dev Respond to oracle request by oracle compnent.
45
- /// The response data is amended in the request info stored with the instance.
46
- /// The request state changes to FULFILLED (when calling the callback method of the requester is successful)
44
+ /// @dev respond to oracle request by oracle compnent.
45
+ /// the response data is amende in the request info stored with the instance.
46
+ /// the request state changes to FULFILLED (when calling the callback method of the requester is successful)
47
47
  /// or to FAILED when calling the requester is not succesful.
48
- /// The function returns true iff the state changes to FULFILLED.
49
- /// Permissioned: only the receiving oracle component may call this method
48
+ /// the function returns true iff the state changes to FULFILLED.
49
+ /// permissioned: only the oracle component linked to the request id may call this method
50
50
  function respond(
51
51
  RequestId requestId,
52
52
  bytes calldata responseData
53
53
  ) external returns (bool success);
54
54
 
55
- /// @dev Resend a failed response to the requester.
56
- /// Only requests in state FAILED may be resent.
57
- /// The request state changes to FULFILLED when calling the callback method of the requester is successful.
58
- /// Permissioned: only the receiving oracle may resend a request
55
+ /// @dev re send a failed response to the requester.
56
+ /// only requests in state FAILED may be re sent.
57
+ /// the request state changes to FULFILLED when calling the callback method of the requester is successful.
58
+ /// permissioned: only the requester may resend a request
59
59
  function resend(RequestId requestId) external;
60
60
 
61
- /// @dev Notify the oracle component that the specified request has become invalid.
62
- /// Only requests in state ACTIVE may be cancelled.
63
- /// Permissioned: only the requester may cancel a request
61
+ /// @dev notify the oracle component that the specified request has become invalid.
62
+ /// only requests in state ACTIVE may be cancelled.
63
+ /// permissioned: only the requester may cancel a request
64
64
  function cancel(RequestId requestId) external;
65
65
 
66
66
  }
@@ -5,10 +5,11 @@ import {Amount} from "../type/Amount.sol";
5
5
  import {COMPONENT, PRODUCT, ORACLE} from "../type/ObjectType.sol";
6
6
  import {IAuthorization} from "../authorization/IAuthorization.sol";
7
7
  import {IComponentService} from "../shared/IComponentService.sol";
8
- import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
8
+ import {IComponent} from "../shared/IComponent.sol";
9
9
  import {IOracleComponent} from "./IOracleComponent.sol";
10
10
  import {IOracleService} from "./IOracleService.sol";
11
11
  import {NftId} from "../type/NftId.sol";
12
+ import {Component} from "../shared/Component.sol";
12
13
  import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
13
14
  import {RequestId} from "../type/RequestId.sol";
14
15
  import {Timestamp} from "../type/Timestamp.sol";
@@ -66,7 +67,7 @@ abstract contract Oracle is
66
67
  function withdrawFees(Amount amount)
67
68
  external
68
69
  virtual
69
- override(IInstanceLinkedComponent, InstanceLinkedComponent)
70
+ override(IComponent, Component)
70
71
  onlyOwner()
71
72
  restricted()
72
73
  returns (Amount)
@@ -29,7 +29,7 @@ contract OracleService is
29
29
  )
30
30
  internal
31
31
  virtual override
32
- initializer()
32
+ onlyInitializing()
33
33
  {
34
34
  (
35
35
  address authority,
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IVersionable} from "../upgradeability/IVersionable.sol";
4
+ import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
5
5
  import {ProxyManager} from "../upgradeability/ProxyManager.sol";
6
6
  import {OracleService} from "./OracleService.sol";
7
7
 
@@ -18,13 +18,13 @@ contract OracleServiceManager is ProxyManager {
18
18
  {
19
19
  OracleService svc = new OracleService{salt: salt}();
20
20
  bytes memory data = abi.encode(authority, registry);
21
- IVersionable versionable = initialize(
21
+ IUpgradeable upgradeable = initialize(
22
22
  registry,
23
23
  address(svc),
24
24
  data,
25
25
  salt);
26
26
 
27
- _oracleService = OracleService(address(versionable));
27
+ _oracleService = OracleService(address(upgradeable));
28
28
  }
29
29
 
30
30
  //--- view functions ----------------------------------------------------//
@@ -2,7 +2,7 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {IAccess} from "../authorization/IAccess.sol";
5
- import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
5
+ import {IComponent} from "../shared/IInstanceLinkedComponent.sol";
6
6
  import {IPoolComponent} from "./IPoolComponent.sol";
7
7
 
8
8
  import {Authorization} from "../authorization/Authorization.sol";
@@ -10,8 +10,9 @@ import {BasicPool} from "./BasicPool.sol";
10
10
  import {COMPONENT, POOL} from "../type/ObjectType.sol";
11
11
  import {PUBLIC_ROLE} from "../../contracts/type/RoleId.sol";
12
12
  import {RoleId} from "../type/RoleId.sol";
13
+ import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
13
14
  import {TokenHandler} from "../shared/TokenHandler.sol";
14
-
15
+ import {VersionPartLib} from "../type/Version.sol";
15
16
 
16
17
  contract BasicPoolAuthorization
17
18
  is Authorization
@@ -21,7 +22,7 @@ contract BasicPoolAuthorization
21
22
  Authorization(
22
23
  poolName,
23
24
  POOL(),
24
- 3,
25
+ GIF_INITIAL_RELEASE(),
25
26
  COMMIT_HASH,
26
27
  TargetType.Component,
27
28
  true)
@@ -70,7 +71,7 @@ contract BasicPoolAuthorization
70
71
  _authorize(functions, BasicPool.unstake.selector, "unstake");
71
72
  _authorize(functions, BasicPool.extend.selector, "extend");
72
73
 
73
- _authorize(functions, IInstanceLinkedComponent.withdrawFees.selector, "withdrawFees");
74
+ _authorize(functions, IComponent.withdrawFees.selector, "withdrawFees");
74
75
  _authorize(functions, BasicPool.withdrawBundleFees.selector, "withdrawBundleFees");
75
76
 
76
77
  // authorize pool service
@@ -41,7 +41,7 @@ contract BundleService is
41
41
  )
42
42
  internal
43
43
  virtual override
44
- initializer()
44
+ onlyInitializing()
45
45
  {
46
46
  (
47
47
  address authority,
@@ -105,11 +105,11 @@ contract BundleService is
105
105
  NftIdLib.zero(),
106
106
  poolNftId,
107
107
  BUNDLE(),
108
+ getRelease(),
108
109
  false, // intercepting property for bundles is defined on pool
109
- address(0),
110
- owner,
111
- "" // bundle data to be stored in registry
112
- )
110
+ address(0)),
111
+ owner,
112
+ "" // bundle data to be stored in registry
113
113
  );
114
114
 
115
115
  // create bundle info in instance
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IVersionable} from "../upgradeability/IVersionable.sol";
4
+ import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
5
5
  import {ProxyManager} from "../upgradeability/ProxyManager.sol";
6
6
  import {BundleService} from "./BundleService.sol";
7
7
 
@@ -18,13 +18,13 @@ contract BundleServiceManager is ProxyManager {
18
18
  {
19
19
  BundleService svc = new BundleService{salt: salt}();
20
20
  bytes memory data = abi.encode(authority, registry);
21
- IVersionable versionable = initialize(
21
+ IUpgradeable upgradeable = initialize(
22
22
  registry,
23
23
  address(svc),
24
24
  data,
25
25
  salt);
26
26
 
27
- _bundleService = BundleService(address(versionable));
27
+ _bundleService = BundleService(address(upgradeable));
28
28
  }
29
29
 
30
30
  //--- view functions ----------------------------------------------------//
@@ -18,6 +18,7 @@ import {ObjectType, BUNDLE, POOL} from "../type/ObjectType.sol";
18
18
  import {PayoutId} from "../type/PayoutId.sol";
19
19
  import {TokenHandler} from "../shared/TokenHandler.sol";
20
20
  import {UFixed} from "../type/UFixed.sol";
21
+ import {VersionPart} from "../type/Version.sol";
21
22
 
22
23
  library PoolLib {
23
24
 
@@ -155,7 +156,8 @@ library PoolLib {
155
156
  function checkAndGetPoolInfo(
156
157
  IRegistry registry,
157
158
  address sender,
158
- NftId bundleNftId
159
+ NftId bundleNftId,
160
+ VersionPart release
159
161
  )
160
162
  public
161
163
  view
@@ -167,7 +169,7 @@ library PoolLib {
167
169
  IComponents.PoolInfo memory poolInfo
168
170
  )
169
171
  {
170
- checkNftType(registry, bundleNftId, BUNDLE());
172
+ checkNftType(registry, bundleNftId, BUNDLE(), release);
171
173
 
172
174
  IInstance instance;
173
175
  (poolNftId, instance) = getAndVerifyActivePool(registry, sender);
@@ -235,9 +237,10 @@ library PoolLib {
235
237
  function checkNftType(
236
238
  IRegistry registry,
237
239
  NftId nftId,
238
- ObjectType expectedObjectType
240
+ ObjectType expectedObjectType,
241
+ VersionPart expectedRelease
239
242
  ) internal view {
240
- if(!registry.isObjectType(nftId, expectedObjectType)) {
243
+ if(!registry.isObjectType(nftId, expectedObjectType, expectedRelease)) {
241
244
  revert INftOwnable.ErrorNftOwnableInvalidType(nftId, expectedObjectType);
242
245
  }
243
246
  }
@@ -42,7 +42,7 @@ contract PoolService is
42
42
  )
43
43
  internal
44
44
  virtual override
45
- initializer()
45
+ onlyInitializing()
46
46
  {
47
47
  (
48
48
  address authority,
@@ -184,7 +184,7 @@ contract PoolService is
184
184
  NftId instanceNftId,
185
185
  NftId poolNftId,
186
186
  IComponents.PoolInfo memory poolInfo
187
- ) = PoolLib.checkAndGetPoolInfo(getRegistry(), msg.sender, bundleNftId);
187
+ ) = PoolLib.checkAndGetPoolInfo(getRegistry(), msg.sender, bundleNftId, getRelease());
188
188
 
189
189
  {
190
190
  Amount currentPoolBalance = instanceReader.getBalanceAmount(poolNftId);
@@ -241,7 +241,7 @@ contract PoolService is
241
241
  InstanceStore instanceStore,
242
242
  NftId instanceNftId,
243
243
  NftId poolNftId,
244
- ) = PoolLib.checkAndGetPoolInfo(getRegistry(), msg.sender, bundleNftId);
244
+ ) = PoolLib.checkAndGetPoolInfo(getRegistry(), msg.sender, bundleNftId, getRelease());
245
245
 
246
246
  // call bundle service for bookkeeping and additional checks
247
247
  Amount unstakedAmount = _bundleService.unstake(instanceStore, bundleNftId, amount);
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IVersionable} from "../upgradeability/IVersionable.sol";
4
+ import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
5
5
  import {ProxyManager} from "../upgradeability/ProxyManager.sol";
6
6
  import {PoolService} from "./PoolService.sol";
7
7
 
@@ -18,13 +18,13 @@ contract PoolServiceManager is ProxyManager {
18
18
  {
19
19
  PoolService poolSrv = new PoolService{salt: salt}();
20
20
  bytes memory data = abi.encode(authority, registry);
21
- IVersionable versionable = initialize(
21
+ IUpgradeable upgradeable = initialize(
22
22
  registry,
23
23
  address(poolSrv),
24
24
  data,
25
25
  salt);
26
26
 
27
- _poolService = PoolService(address(versionable));
27
+ _poolService = PoolService(address(upgradeable));
28
28
  }
29
29
 
30
30
  //--- view functions ----------------------------------------------------//
@@ -38,7 +38,7 @@ contract ApplicationService is
38
38
  )
39
39
  internal
40
40
  virtual override
41
- initializer()
41
+ onlyInitializing()
42
42
  {
43
43
  (
44
44
  address authority,
@@ -108,12 +108,11 @@ contract ApplicationService is
108
108
  NftIdLib.zero(),
109
109
  productNftId,
110
110
  POLICY(),
111
+ getRelease(),
111
112
  false, // intercepting property for policies is defined on product
112
- address(0),
113
- applicationOwner,
114
- "");
113
+ address(0));
115
114
 
116
- applicationNftId = _registryService.registerPolicy(objectInfo);
115
+ applicationNftId = _registryService.registerPolicy(objectInfo, applicationOwner, "");
117
116
  }
118
117
 
119
118
 
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IVersionable} from "../upgradeability/IVersionable.sol";
4
+ import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
5
5
  import {ProxyManager} from "../upgradeability/ProxyManager.sol";
6
6
  import {ApplicationService} from "./ApplicationService.sol";
7
7
 
@@ -18,13 +18,13 @@ contract ApplicationServiceManager is ProxyManager {
18
18
  {
19
19
  ApplicationService svc = new ApplicationService{salt: salt}();
20
20
  bytes memory data = abi.encode(authority, registry);
21
- IVersionable versionable = initialize(
21
+ IUpgradeable upgradeable = initialize(
22
22
  registry,
23
23
  address(svc),
24
24
  data,
25
25
  salt);
26
26
 
27
- _applicationService = ApplicationService(address(versionable));
27
+ _applicationService = ApplicationService(address(upgradeable));
28
28
  }
29
29
 
30
30
  //--- view functions ----------------------------------------------------//
@@ -2,15 +2,16 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {IAccess} from "../authorization/IAccess.sol";
5
- import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
5
+ import {IComponent} from "../shared/IInstanceLinkedComponent.sol";
6
6
  import {IProductComponent} from "./IProductComponent.sol";
7
7
 
8
8
  import {Authorization} from "../authorization/Authorization.sol";
9
9
  import {BasicProduct} from "./BasicProduct.sol";
10
- import {COMPONENT, ORACLE, PRODUCT, POLICY} from "../type/ObjectType.sol";
10
+ import {COMPONENT, PRODUCT, POLICY} from "../type/ObjectType.sol";
11
11
  import {RoleId, PUBLIC_ROLE} from "../type/RoleId.sol";
12
+ import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
12
13
  import {TokenHandler} from "../shared/TokenHandler.sol";
13
-
14
+ import {VersionPartLib} from "../type/Version.sol";
14
15
 
15
16
  contract BasicProductAuthorization
16
17
  is Authorization
@@ -19,7 +20,7 @@ contract BasicProductAuthorization
19
20
  Authorization(
20
21
  componentName,
21
22
  PRODUCT(),
22
- 3,
23
+ GIF_INITIAL_RELEASE(),
23
24
  COMMIT_HASH,
24
25
  TargetType.Component,
25
26
  true)
@@ -30,8 +31,7 @@ contract BasicProductAuthorization
30
31
  virtual override
31
32
  {
32
33
  _authorizeServiceDomain(COMPONENT(), address(10));
33
- _authorizeServiceDomain(ORACLE(), address(11));
34
- _authorizeServiceDomain(POLICY(), address(12));
34
+ _authorizeServiceDomain(POLICY(), address(11));
35
35
  }
36
36
 
37
37
  function _setupTokenHandlerAuthorizations() internal virtual override {
@@ -58,7 +58,7 @@ contract BasicProductAuthorization
58
58
  functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
59
59
  _authorize(functions, BasicProduct.setFees.selector, "setFees");
60
60
  _authorize(functions, IProductComponent.registerComponent.selector, "registerComponent");
61
- _authorize(functions, IInstanceLinkedComponent.withdrawFees.selector, "withdrawFees");
61
+ _authorize(functions, IComponent.withdrawFees.selector, "withdrawFees");
62
62
  }
63
63
  }
64
64
 
@@ -39,7 +39,7 @@ contract ClaimService is
39
39
  )
40
40
  internal
41
41
  virtual override
42
- initializer()
42
+ onlyInitializing()
43
43
  {
44
44
  (
45
45
  address authority,
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IVersionable} from "../upgradeability/IVersionable.sol";
4
+ import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
5
5
  import {ProxyManager} from "../upgradeability/ProxyManager.sol";
6
6
  import {ClaimService} from "./ClaimService.sol";
7
7
 
@@ -18,13 +18,13 @@ contract ClaimServiceManager is ProxyManager {
18
18
  {
19
19
  ClaimService svc = new ClaimService{salt: salt}();
20
20
  bytes memory data = abi.encode(authority, registry);
21
- IVersionable versionable = initialize(
21
+ IUpgradeable upgradeable = initialize(
22
22
  registry,
23
23
  address(svc),
24
24
  data,
25
25
  salt);
26
26
 
27
- _claimService = ClaimService(address(versionable));
27
+ _claimService = ClaimService(address(upgradeable));
28
28
  }
29
29
 
30
30
  //--- view functions ----------------------------------------------------//
@@ -45,7 +45,7 @@ contract PolicyService is
45
45
  )
46
46
  internal
47
47
  virtual override
48
- initializer
48
+ onlyInitializing()
49
49
  {
50
50
  (
51
51
  address authority,
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IVersionable} from "../upgradeability/IVersionable.sol";
4
+ import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
5
5
  import {ProxyManager} from "../upgradeability/ProxyManager.sol";
6
6
  import {PolicyService} from "./PolicyService.sol";
7
7
 
@@ -18,13 +18,13 @@ contract PolicyServiceManager is ProxyManager {
18
18
  {
19
19
  PolicyService svc = new PolicyService{salt: salt}();
20
20
  bytes memory data = abi.encode(authority, registry);
21
- IVersionable versionable = initialize(
21
+ IUpgradeable upgradeable = initialize(
22
22
  registry,
23
23
  address(svc),
24
24
  data,
25
25
  salt);
26
26
 
27
- _policyService = PolicyService(address(versionable));
27
+ _policyService = PolicyService(address(upgradeable));
28
28
  }
29
29
 
30
30
  //--- view functions ----------------------------------------------------//
@@ -36,7 +36,7 @@ contract PricingService is
36
36
  )
37
37
  internal
38
38
  virtual override
39
- initializer()
39
+ onlyInitializing()
40
40
  {
41
41
  (
42
42
  address authority,
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IVersionable} from "../upgradeability/IVersionable.sol";
4
+ import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
5
5
  import {ProxyManager} from "../upgradeability/ProxyManager.sol";
6
6
  import {PricingService} from "./PricingService.sol";
7
7
 
@@ -18,13 +18,13 @@ contract PricingServiceManager is ProxyManager {
18
18
  {
19
19
  PricingService pricingSrv = new PricingService{salt: salt}();
20
20
  bytes memory data = abi.encode(authority, registry);
21
- IVersionable versionable = initialize(
21
+ IUpgradeable upgradeable = initialize(
22
22
  registry,
23
23
  address(pricingSrv),
24
24
  data,
25
25
  salt);
26
26
 
27
- _pricingService = PricingService(address(versionable));
27
+ _pricingService = PricingService(address(upgradeable));
28
28
  }
29
29
 
30
30
  //--- view functions ----------------------------------------------------//
@@ -26,8 +26,8 @@ contract RiskService is
26
26
  bytes memory data
27
27
  )
28
28
  internal
29
- initializer
30
29
  virtual override
30
+ onlyInitializing()
31
31
  {
32
32
  (
33
33
  address authority,
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IVersionable} from "../upgradeability/IVersionable.sol";
4
+ import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
5
5
  import {ProxyManager} from "../upgradeability/ProxyManager.sol";
6
6
  import {RiskService} from "./RiskService.sol";
7
7
 
@@ -18,13 +18,13 @@ contract RiskServiceManager is ProxyManager {
18
18
  {
19
19
  RiskService svc = new RiskService{salt: salt}();
20
20
  bytes memory data = abi.encode(authority, registry);
21
- IVersionable versionable = initialize(
21
+ IUpgradeable upgradeable = initialize(
22
22
  registry,
23
23
  address(svc),
24
24
  data,
25
25
  salt);
26
26
 
27
- _riskService = RiskService(address(versionable));
27
+ _riskService = RiskService(address(upgradeable));
28
28
  }
29
29
 
30
30
  //--- view functions ----------------------------------------------------//
@@ -19,8 +19,8 @@ interface IRegistry is
19
19
  IERC165
20
20
  {
21
21
 
22
- event LogRegistryObjectRegistered(NftId nftId, NftId parentNftId, ObjectType objectType, bool isInterceptor, address objectAddress, address initialOwner);
23
- event LogRegistryServiceRegistered(VersionPart majorVersion, ObjectType domain);
22
+ event LogRegistryObjectRegistered(NftId nftId, NftId parentNftId, ObjectType objectType, VersionPart objectVersion, bool isInterceptor, address objectAddress, address initialOwner);
23
+ event LogRegistryServiceRegistered(VersionPart release, ObjectType domain);
24
24
  event LogRegistryChainRegistryRegistered(NftId nftId, uint256 chainId, address chainRegistryAddress);
25
25
 
26
26
  // initialize
@@ -49,6 +49,7 @@ interface IRegistry is
49
49
  error ErrorRegistryCoreTypeRegistration();
50
50
 
51
51
  // _register()
52
+ error ErrorRegistryReleaseMismatch(VersionPart objectrelease, VersionPart parentRelease, VersionPart senderRelease);
52
53
  error ErrorRegistryGlobalRegistryAsParent(address objectAddress, ObjectType objectType);
53
54
  error ErrorRegistryTypeCombinationInvalid(address objectAddress, ObjectType objectType, ObjectType parentType);
54
55
  error ErrorRegistryContractAlreadyRegistered(address objectAddress);
@@ -58,13 +59,10 @@ interface IRegistry is
58
59
  NftId nftId;
59
60
  NftId parentNftId;
60
61
  ObjectType objectType;
62
+ VersionPart release;
61
63
  bool isInterceptor;
62
64
  // slot 1
63
65
  address objectAddress;
64
- // slot 2
65
- address initialOwner;
66
- // slot 3
67
- bytes data;
68
66
  }
69
67
 
70
68
  /// @dev Registers a registry contract for a specified chain.
@@ -72,28 +70,30 @@ interface IRegistry is
72
70
  function registerRegistry(
73
71
  NftId nftId,
74
72
  uint256 chainId,
75
- address chainRegistryAddress
73
+ address chainRegistryAddress,
74
+ VersionPart release
76
75
  ) external;
77
76
 
78
77
  /// @dev Register a service with using the provided domain and version.
79
78
  /// The function returns a newly minted service NFT ID.
80
79
  /// May only be used to register services.
81
80
  function registerService(
82
- ObjectInfo memory serviceInfo,
83
- VersionPart serviceVersion,
84
- ObjectType serviceDomain
81
+ ObjectInfo memory info,
82
+ address initialOwner,
83
+ ObjectType domain,
84
+ bytes memory data
85
85
  ) external returns(NftId nftId);
86
86
 
87
87
  /// @dev Register an object with a known core type.
88
88
  /// The function returns a newly minted object NFT ID.
89
89
  /// May not be used to register services.
90
- function register(ObjectInfo memory info) external returns (NftId nftId);
90
+ function register(ObjectInfo memory info, address initialOwner, bytes memory data) external returns (NftId nftId);
91
91
 
92
92
  /// @dev Register an object with a custom type.
93
93
  /// The function returns a newly minted object NFT ID.
94
94
  /// This function is reserved for GIF releases > 3.
95
95
  /// May not be used to register known core types.
96
- function registerWithCustomType(ObjectInfo memory info) external returns (NftId nftId);
96
+ function registerWithCustomType(ObjectInfo memory info, address initialOwner, bytes memory data) external returns (NftId nftId);
97
97
 
98
98
  function getInitialRelease() external view returns (VersionPart);
99
99
 
@@ -126,9 +126,15 @@ interface IRegistry is
126
126
 
127
127
  function getParentNftId(NftId nftId) external view returns (NftId parentNftId);
128
128
 
129
- function isObjectType(NftId nftId, ObjectType expectedObjectType) external view returns (bool);
129
+ function getObjectData(NftId nftId) external view returns (bytes memory data);
130
130
 
131
- function isObjectType(address contractAddress, ObjectType expectedObjectType) external view returns (bool);
131
+ function getObjectData(address objectAddress) external view returns (bytes memory data);
132
+
133
+ function isObjectType(NftId nftId, ObjectType expectedObjectType, VersionPart expectedRelease) external view returns (bool);
134
+
135
+ function isObjectType(address contractAddress, ObjectType expectedObjectType, VersionPart expectedRelease) external view returns (bool);
136
+
137
+ function getObjectRelease(NftId nftId) external view returns (VersionPart release);
132
138
 
133
139
  function getObjectAddress(NftId nftId) external view returns (address objectAddress);
134
140