@etherisc/gif-next 0.0.2-8b116c2-371 → 0.0.2-8c1d8cd-727

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 (526) hide show
  1. package/README.md +49 -4
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1293 -0
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  7. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +414 -0
  8. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/IAccess.sol/IAccess.json +10 -0
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1060 -0
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +295 -0
  14. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
  16. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +4 -0
  17. package/artifacts/contracts/{shared/AccessManagerCustom.sol/AccessManagerCustom.json → authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json} +28 -25
  18. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  20. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  21. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1402 -0
  22. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +470 -0
  24. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  25. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +133 -501
  26. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  27. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +319 -229
  28. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +115 -103
  30. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +164 -210
  32. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +194 -47
  34. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  35. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  36. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  37. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1538 -0
  38. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  39. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +470 -0
  40. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2077 -0
  42. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
  44. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  46. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  47. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1471 -0
  48. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  49. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1231 -0
  50. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1592 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2095 -0
  54. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  55. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  56. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  57. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +105 -103
  58. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  59. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +163 -111
  60. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  61. package/artifacts/contracts/instance/Instance.sol/Instance.json +108 -243
  62. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  63. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1210 -265
  64. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  65. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +561 -0
  66. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  67. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +511 -154
  68. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  69. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +210 -268
  70. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  71. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +83 -95
  72. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  73. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +324 -288
  74. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  75. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  76. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  77. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +0 -53
  78. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  79. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  80. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  81. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  82. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  83. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  84. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  85. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  86. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  87. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  88. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  89. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  90. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  91. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  92. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  93. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1039 -0
  94. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  95. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +478 -0
  96. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  97. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +43 -1
  98. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  99. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +109 -80
  100. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  101. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +56 -9
  102. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  103. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +119 -358
  104. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  105. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +110 -141
  106. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  107. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +82 -78
  108. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  109. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1299 -0
  110. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  111. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +470 -0
  112. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  113. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +517 -157
  114. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  115. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +176 -88
  116. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  117. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +271 -1
  118. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  119. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +125 -319
  120. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  121. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +410 -192
  122. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  123. package/artifacts/contracts/pool/Pool.sol/Pool.json +165 -632
  124. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  125. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +524 -331
  126. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  127. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +111 -83
  128. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  129. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +95 -158
  130. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  131. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +79 -91
  132. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  133. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1173 -0
  134. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  135. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +470 -0
  136. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  137. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +322 -169
  138. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  139. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +126 -98
  140. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  141. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +47 -0
  142. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  143. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +189 -6
  144. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  145. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +336 -118
  146. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  147. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +127 -85
  148. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  149. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +154 -137
  150. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  151. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +44 -2
  152. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  153. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +451 -295
  154. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  155. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +123 -95
  156. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  157. package/artifacts/contracts/product/PricingService.sol/PricingService.json +207 -283
  158. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  159. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +96 -112
  160. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  161. package/artifacts/contracts/product/Product.sol/Product.json +168 -434
  162. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  163. package/artifacts/contracts/product/RiskService.sol/RiskService.json +622 -0
  164. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  165. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +694 -0
  166. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  167. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  168. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  169. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +311 -55
  170. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  171. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +55 -146
  172. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  173. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  174. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  175. package/artifacts/contracts/registry/Registry.sol/Registry.json +533 -113
  176. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  177. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1635 -162
  178. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  179. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +96 -265
  180. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  181. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +74 -70
  182. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  183. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  184. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  185. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1067 -0
  186. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  187. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
  188. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  189. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
  190. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  191. package/artifacts/contracts/shared/Component.sol/Component.json +65 -236
  192. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  193. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +541 -263
  194. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  195. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +136 -114
  196. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  197. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +51 -103
  198. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  199. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +92 -0
  200. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  201. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +55 -54
  202. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  203. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +487 -19
  204. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  205. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +98 -80
  206. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  207. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +45 -3
  208. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  209. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +34 -3
  210. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  211. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  212. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  213. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  214. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  215. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +29 -0
  216. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  217. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  218. package/artifacts/contracts/shared/IService.sol/IService.json +42 -0
  219. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  220. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  221. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  222. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +111 -318
  223. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  224. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +55 -88
  225. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  226. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -62
  227. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  228. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  229. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  230. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
  231. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  232. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  233. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  234. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +58 -89
  235. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  236. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  237. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  238. package/artifacts/contracts/shared/Service.sol/Service.json +51 -103
  239. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  240. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +330 -11
  241. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  242. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
  243. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  244. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +82 -55
  245. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  246. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +78 -28
  247. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  248. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +97 -101
  249. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  250. package/artifacts/contracts/staking/Staking.sol/Staking.json +168 -325
  251. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  252. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  253. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  254. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +103 -104
  255. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  256. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +7 -17
  257. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  258. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +123 -198
  259. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  260. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +76 -92
  261. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  262. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +241 -147
  263. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  264. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +59 -23
  265. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  266. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  267. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  268. package/artifacts/contracts/type/Amount.sol/AmountLib.json +61 -8
  269. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  270. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  271. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  272. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  273. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  274. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  275. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  276. package/artifacts/contracts/type/Fee.sol/FeeLib.json +17 -12
  277. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  278. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  279. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  280. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +4 -4
  281. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  282. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  283. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  284. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +136 -2
  285. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  286. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  287. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  288. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  289. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  290. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +4 -4
  291. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  292. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +60 -4
  293. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  294. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +219 -6
  295. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  296. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +50 -2
  297. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  298. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  299. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  300. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  301. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  302. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  303. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  304. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  305. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  306. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
  307. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  308. package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
  309. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  310. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +71 -2
  311. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  312. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
  313. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  314. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
  315. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  316. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  317. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  318. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +602 -0
  319. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  320. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  321. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  322. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  323. package/contracts/authorization/AccessAdmin.sol +596 -0
  324. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  325. package/contracts/authorization/Authorization.sol +289 -0
  326. package/contracts/authorization/IAccess.sol +49 -0
  327. package/contracts/authorization/IAccessAdmin.sol +137 -0
  328. package/contracts/authorization/IAuthorization.sol +60 -0
  329. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  330. package/contracts/authorization/ReleaseAccessManager.sol +38 -0
  331. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  332. package/contracts/distribution/BasicDistribution.sol +139 -0
  333. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  334. package/contracts/distribution/Distribution.sol +140 -116
  335. package/contracts/distribution/DistributionService.sol +140 -83
  336. package/contracts/distribution/DistributionServiceManager.sol +8 -11
  337. package/contracts/distribution/IDistributionComponent.sol +26 -40
  338. package/contracts/distribution/IDistributionService.sol +23 -3
  339. package/contracts/examples/fire/DamageLevel.sol +59 -0
  340. package/contracts/examples/fire/FirePool.sol +75 -0
  341. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  342. package/contracts/examples/fire/FireProduct.sol +418 -0
  343. package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
  344. package/contracts/examples/fire/FireUSD.sol +26 -0
  345. package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
  346. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  347. package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
  348. package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
  349. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
  350. package/contracts/instance/IInstance.sol +24 -40
  351. package/contracts/instance/IInstanceService.sol +27 -36
  352. package/contracts/instance/Instance.sol +123 -127
  353. package/contracts/instance/InstanceAdmin.sol +216 -270
  354. package/contracts/instance/InstanceAuthorizationV3.sol +194 -0
  355. package/contracts/instance/InstanceReader.sol +139 -34
  356. package/contracts/instance/InstanceService.sol +177 -128
  357. package/contracts/instance/InstanceServiceManager.sol +8 -13
  358. package/contracts/instance/InstanceStore.sol +26 -20
  359. package/contracts/instance/base/BalanceStore.sol +11 -6
  360. package/contracts/instance/base/Cloneable.sol +2 -25
  361. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  362. package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +11 -14
  363. package/contracts/instance/module/IBundle.sol +1 -1
  364. package/contracts/instance/module/IComponents.sol +10 -11
  365. package/contracts/instance/module/IDistribution.sol +0 -1
  366. package/contracts/instance/module/IPolicy.sol +24 -24
  367. package/contracts/mock/Dip.sol +1 -1
  368. package/contracts/oracle/BasicOracle.sol +47 -0
  369. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  370. package/contracts/oracle/IOracle.sol +16 -0
  371. package/contracts/oracle/IOracleComponent.sol +2 -1
  372. package/contracts/oracle/IOracleService.sol +2 -1
  373. package/contracts/oracle/Oracle.sol +64 -53
  374. package/contracts/oracle/OracleService.sol +51 -37
  375. package/contracts/oracle/OracleServiceManager.sol +8 -11
  376. package/contracts/pool/BasicPool.sol +154 -0
  377. package/contracts/pool/BasicPoolAuthorization.sol +57 -0
  378. package/contracts/pool/BundleService.sol +284 -87
  379. package/contracts/pool/BundleServiceManager.sol +8 -11
  380. package/contracts/pool/IBundleService.sol +42 -5
  381. package/contracts/pool/IPoolComponent.sol +24 -68
  382. package/contracts/pool/IPoolService.sol +56 -39
  383. package/contracts/pool/Pool.sol +184 -148
  384. package/contracts/pool/PoolService.sol +262 -171
  385. package/contracts/pool/PoolServiceManager.sol +6 -9
  386. package/contracts/product/ApplicationService.sol +75 -70
  387. package/contracts/product/ApplicationServiceManager.sol +6 -6
  388. package/contracts/product/BasicProduct.sol +53 -0
  389. package/contracts/product/BasicProductAuthorization.sol +42 -0
  390. package/contracts/product/ClaimService.sol +321 -151
  391. package/contracts/product/ClaimServiceManager.sol +6 -6
  392. package/contracts/product/IApplicationService.sol +1 -0
  393. package/contracts/product/IClaimService.sol +31 -7
  394. package/contracts/product/IPolicyService.sol +34 -32
  395. package/contracts/product/IPricingService.sol +10 -10
  396. package/contracts/product/IProductComponent.sol +26 -9
  397. package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
  398. package/contracts/product/PolicyService.sol +424 -202
  399. package/contracts/product/PolicyServiceManager.sol +6 -9
  400. package/contracts/product/PricingService.sol +58 -59
  401. package/contracts/product/PricingServiceManager.sol +5 -8
  402. package/contracts/product/Product.sol +211 -133
  403. package/contracts/product/{ProductService.sol → RiskService.sol} +18 -46
  404. package/contracts/product/RiskServiceManager.sol +39 -0
  405. package/contracts/registry/ChainNft.sol +68 -38
  406. package/contracts/registry/IRegistry.sol +69 -22
  407. package/contracts/registry/IRegistryService.sol +3 -10
  408. package/contracts/registry/ITransferInterceptor.sol +1 -2
  409. package/contracts/registry/Registry.sol +354 -213
  410. package/contracts/registry/RegistryAdmin.sol +360 -149
  411. package/contracts/registry/RegistryService.sol +44 -69
  412. package/contracts/registry/RegistryServiceManager.sol +4 -9
  413. package/contracts/registry/ReleaseLifecycle.sol +30 -0
  414. package/contracts/registry/ReleaseRegistry.sol +501 -0
  415. package/contracts/registry/ServiceAuthorizationV3.sol +194 -0
  416. package/contracts/registry/TokenRegistry.sol +2 -2
  417. package/contracts/shared/Component.sol +47 -63
  418. package/contracts/shared/ComponentService.sol +316 -189
  419. package/contracts/shared/ComponentServiceManager.sol +10 -7
  420. package/contracts/shared/ComponentVerifyingService.sol +24 -15
  421. package/contracts/shared/ContractLib.sol +38 -0
  422. package/contracts/shared/IComponent.sol +10 -6
  423. package/contracts/shared/IComponentService.sol +38 -20
  424. package/contracts/shared/IInstanceLinkedComponent.sol +11 -16
  425. package/contracts/shared/IKeyValueStore.sol +1 -0
  426. package/contracts/shared/ILifecycle.sol +3 -2
  427. package/contracts/shared/INftOwnable.sol +2 -0
  428. package/contracts/shared/IPolicyHolder.sol +12 -22
  429. package/contracts/shared/IRegisterable.sol +11 -0
  430. package/contracts/shared/IService.sol +8 -1
  431. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +3 -3
  432. package/contracts/shared/InstanceLinkedComponent.sol +106 -37
  433. package/contracts/shared/KeyValueStore.sol +7 -3
  434. package/contracts/shared/Lifecycle.sol +30 -72
  435. package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
  436. package/contracts/shared/NftOwnable.sol +29 -9
  437. package/contracts/shared/PolicyHolder.sol +17 -57
  438. package/contracts/shared/Registerable.sol +19 -9
  439. package/contracts/shared/RegistryLinked.sol +3 -2
  440. package/contracts/shared/Service.sol +43 -36
  441. package/contracts/shared/TokenHandler.sol +100 -19
  442. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  443. package/contracts/staking/IStaking.sol +3 -3
  444. package/contracts/staking/IStakingService.sol +22 -14
  445. package/contracts/staking/StakeManagerLib.sol +70 -25
  446. package/contracts/staking/Staking.sol +86 -140
  447. package/contracts/staking/StakingLifecycle.sol +23 -0
  448. package/contracts/staking/StakingManager.sol +10 -12
  449. package/contracts/staking/StakingReader.sol +23 -20
  450. package/contracts/staking/StakingService.sol +69 -82
  451. package/contracts/staking/StakingServiceManager.sol +4 -5
  452. package/contracts/staking/StakingStore.sol +93 -60
  453. package/contracts/staking/TargetManagerLib.sol +7 -3
  454. package/contracts/type/Amount.sol +27 -5
  455. package/contracts/type/Blocknumber.sol +7 -1
  456. package/contracts/type/ClaimId.sol +6 -1
  457. package/contracts/type/NftId.sol +1 -0
  458. package/contracts/type/ObjectType.sol +172 -64
  459. package/contracts/type/PayoutId.sol +10 -10
  460. package/contracts/type/Referral.sol +1 -0
  461. package/contracts/type/RiskId.sol +15 -1
  462. package/contracts/type/RoleId.sol +97 -81
  463. package/contracts/type/Seconds.sol +21 -1
  464. package/contracts/type/Selector.sol +102 -0
  465. package/contracts/type/StateId.sol +15 -1
  466. package/contracts/type/String.sol +53 -0
  467. package/contracts/type/Timestamp.sol +11 -1
  468. package/contracts/type/UFixed.sol +38 -9
  469. package/contracts/type/Version.sol +3 -1
  470. package/contracts/{shared → upgradeability}/ProxyManager.sol +71 -38
  471. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  472. package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
  473. package/package.json +7 -4
  474. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  475. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
  476. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  477. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
  478. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  479. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
  480. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  481. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  482. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -679
  483. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  484. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -694
  485. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  486. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1292
  487. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +0 -4
  488. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +0 -137
  489. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
  490. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
  491. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1715
  492. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
  493. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1728
  494. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
  495. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1806
  496. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
  497. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1824
  498. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  499. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  500. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
  501. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
  502. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
  503. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
  504. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  505. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  506. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  507. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
  508. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
  509. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  510. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
  511. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  512. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  513. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  514. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -377
  515. package/contracts/product/ProductServiceManager.sol +0 -42
  516. package/contracts/registry/ReleaseManager.sol +0 -600
  517. package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
  518. package/contracts/shared/AccessManagerCustom.sol +0 -736
  519. package/contracts/shared/AccessManagerExtended.sol +0 -470
  520. package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
  521. package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
  522. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
  523. package/contracts/shared/IAccessManagerExtended.sol +0 -74
  524. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
  525. package/contracts/shared/InitializableCustom.sol +0 -177
  526. /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
@@ -1,25 +1,30 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
+ import {Amount} from "../type/Amount.sol";
5
+ import {BundleSet} from "./BundleSet.sol";
6
+ import {Instance} from "./Instance.sol";
7
+ import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
8
+ import {IService} from "../shared/IService.sol";
4
9
  import {NftId} from "../type/NftId.sol";
5
10
  import {ObjectType} from "../type/ObjectType.sol";
6
11
  import {RoleId} from "../type/RoleId.sol";
7
- import {IService} from "../shared/IService.sol";
8
-
9
- import {InstanceAdmin} from "./InstanceAdmin.sol";
10
- import {Instance} from "./Instance.sol";
11
- import {InstanceReader} from "./InstanceReader.sol";
12
- import {BundleManager} from "./BundleManager.sol";
13
- import {InstanceStore} from "./InstanceStore.sol";
12
+ import {Seconds} from "../type/Seconds.sol";
13
+ import {UFixed} from "../type/UFixed.sol";
14
+ import {VersionPart} from "../type/Version.sol";
14
15
 
15
16
  interface IInstanceService is IService {
16
17
 
18
+ // onlyInstance
19
+ error ErrorInstanceServiceNotRegistered(address instance);
20
+ error ErrorInstanceServiceNotInstance(address instance, ObjectType objectType);
21
+ error ErrorInstanceServiceInstanceVersionMismatch(address instance, VersionPart instanceVersion);
22
+
17
23
  error ErrorInstanceServiceComponentNotInstanceLinked(address component);
18
24
 
19
25
  error ErrorInstanceServiceMasterInstanceAlreadySet();
20
- error ErrorInstanceServiceMasterInstanceAccessManagerAlreadySet();
21
26
  error ErrorInstanceServiceMasterInstanceAdminAlreadySet();
22
- error ErrorInstanceServiceMasterBundleManagerAlreadySet();
27
+ error ErrorInstanceServiceMasterBundleSetAlreadySet();
23
28
  error ErrorInstanceServiceInstanceAddressZero();
24
29
 
25
30
  error ErrorInstanceServiceMasterInstanceReaderNotSet();
@@ -27,55 +32,41 @@ interface IInstanceService is IService {
27
32
  error ErrorInstanceServiceInstanceReaderSameAsMasterInstanceReader();
28
33
  error ErrorInstanceServiceInstanceReaderInstanceMismatch();
29
34
 
35
+ error ErrorInstanceServiceAccessManagerZero();
30
36
  error ErrorInstanceServiceInstanceAdminZero();
31
37
  error ErrorInstanceServiceInstanceReaderZero();
32
- error ErrorInstanceServiceBundleManagerZero();
38
+ error ErrorInstanceServiceBundleSetZero();
33
39
  error ErrorInstanceServiceInstanceStoreZero();
34
40
 
35
41
  error ErrorInstanceServiceInstanceAuthorityMismatch();
36
- error ErrorInstanceServiceBundleManagerAuthorityMismatch();
42
+ error ErrorInstanceServiceBundleSetAuthorityMismatch();
37
43
  error ErrorInstanceServiceInstanceReaderInstanceMismatch2();
38
44
  error ErrorInstanceServiceBundleMangerInstanceMismatch();
39
45
  error ErrorInstanceServiceInstanceStoreAuthorityMismatch();
40
46
 
41
47
  error ErrorInstanceServiceRequestUnauhorized(address caller);
42
- error ErrorInstanceServiceNotInstance(NftId nftId);
48
+ error ErrorInstanceServiceNotInstanceNftId(NftId nftId);
43
49
  error ErrorInstanceServiceComponentNotRegistered(address componentAddress);
44
50
  error ErrorInstanceServiceInstanceComponentMismatch(NftId instanceNftId, NftId componentNftId);
45
51
  error ErrorInstanceServiceInvalidComponentType(address componentAddress, ObjectType expectedType, ObjectType componentType);
46
52
 
47
- event LogInstanceCloned(
48
- address clonedOzAccessManager,
49
- address clonedInstanceAccessManager,
50
- address clonedInstance,
51
- address clonedInstanceStore,
52
- address clonedBundleManager,
53
- address clonedInstanceReader,
54
- NftId clonedInstanceNftId
55
- );
53
+ event LogInstanceCloned(NftId instanceNftId, address instance);
56
54
 
57
- function createInstanceClone()
55
+ function createInstance()
58
56
  external
59
57
  returns (
58
+ // TODO check if Instance can be changed to IInstance
60
59
  Instance clonedInstance,
61
60
  NftId instanceNftId
62
61
  );
63
62
 
64
- function createComponentTarget(
65
- NftId instanceNftId,
66
- address targetAddress,
67
- string memory targetName,
68
- bytes4[][] memory selectors,
69
- RoleId[] memory roles
70
- ) external;
71
63
 
72
- function createGifTarget(
73
- NftId instanceNftId,
74
- address targetAddress,
75
- string memory targetName,
76
- bytes4[][] memory selectors,
77
- RoleId[] memory roles
78
- ) external;
64
+ function setStakingLockingPeriod(Seconds stakeLockingPeriod) external;
65
+ function setStakingRewardRate(UFixed rewardRate) external;
66
+ function refillStakingRewardReserves(address rewardProvider, Amount dipAmount) external;
67
+
68
+ /// @dev Defunds the staking reward reserves for the specified target.
69
+ function withdrawStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
79
70
 
80
71
  function setComponentLocked(bool locked) external;
81
72
  }
@@ -3,55 +3,35 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
5
5
 
6
- import {Key32} from "../type/Key32.sol";
7
- import {NftId} from "../type/NftId.sol";
8
- import {RiskId} from "../type/RiskId.sol";
9
- import {ObjectType, BUNDLE, DISTRIBUTION, INSTANCE, POLICY, POOL, ROLE, PRODUCT, TARGET, COMPONENT, DISTRIBUTOR, DISTRIBUTOR_TYPE} from "../type/ObjectType.sol";
10
- import {RoleId, RoleIdLib, eqRoleId, ADMIN_ROLE, INSTANCE_ROLE, INSTANCE_OWNER_ROLE} from "../type/RoleId.sol";
11
- import {VersionPart, VersionPartLib} from "../type/Version.sol";
12
- import {ClaimId} from "../type/ClaimId.sol";
13
- import {ReferralId} from "../type/Referral.sol";
14
- import {PayoutId} from "../type/PayoutId.sol";
15
- import {DistributorType} from "../type/DistributorType.sol";
16
-
17
- import {Registerable} from "../shared/Registerable.sol";
18
- import {TokenHandler} from "../shared/TokenHandler.sol";
19
- import {AccessManagerExtendedInitializeable} from "../shared/AccessManagerExtendedInitializeable.sol";
20
-
21
- import {IRegistry} from "../registry/IRegistry.sol";
22
-
6
+ import {Amount} from "../type/Amount.sol";
7
+ import {BundleSet} from "./BundleSet.sol";
8
+ import {COMPONENT, INSTANCE} from "../type/ObjectType.sol";
23
9
  import {IInstance} from "./IInstance.sol";
10
+ import {IComponentService} from "../shared/IComponentService.sol";
11
+ import {IInstanceService} from "./IInstanceService.sol";
24
12
  import {InstanceReader} from "./InstanceReader.sol";
25
13
  import {InstanceAdmin} from "./InstanceAdmin.sol";
26
- import {BundleManager} from "./BundleManager.sol";
27
14
  import {InstanceStore} from "./InstanceStore.sol";
28
-
29
- import {KeyValueStore} from "../shared/KeyValueStore.sol";
30
-
31
- import {IBundle} from "./module/IBundle.sol";
32
- import {IComponents} from "./module/IComponents.sol";
33
- import {IDistribution} from "./module/IDistribution.sol";
34
- import {IPolicy} from "./module/IPolicy.sol";
35
- import {IRisk} from "./module/IRisk.sol";
36
-
37
- import {IDistributionService} from "../distribution/IDistributionService.sol";
38
- import {IPoolService} from "../pool/IPoolService.sol";
39
- import {IProductService} from "../product/IProductService.sol";
40
- import {IPolicyService} from "../product/IPolicyService.sol";
41
- import {IBundleService} from "../pool/IBundleService.sol";
15
+ import {IRegistry} from "../registry/IRegistry.sol";
16
+ import {NftId} from "../type/NftId.sol";
17
+ import {Registerable} from "../shared/Registerable.sol";
18
+ import {RoleId} from "../type/RoleId.sol";
19
+ import {Seconds} from "../type/Seconds.sol";
20
+ import {UFixed} from "../type/UFixed.sol";
21
+ import {VersionPart, VersionPartLib} from "../type/Version.sol";
42
22
 
43
23
  contract Instance is
44
24
  IInstance,
45
25
  AccessManagedUpgradeable,
46
26
  Registerable
47
27
  {
48
- uint256 public constant GIF_MAJOR_VERSION = 3;
49
-
50
28
  bool private _initialized;
51
29
 
30
+ IComponentService internal _componentService;
31
+ IInstanceService internal _instanceService;
52
32
  InstanceAdmin internal _instanceAdmin;
53
33
  InstanceReader internal _instanceReader;
54
- BundleManager internal _bundleManager;
34
+ BundleSet internal _bundleManager;
55
35
  InstanceStore internal _instanceStore;
56
36
 
57
37
  modifier onlyChainNft() {
@@ -61,53 +41,132 @@ contract Instance is
61
41
  _;
62
42
  }
63
43
 
64
- function initialize(address authority, address registryAddress, address initialOwner)
44
+ function initialize(
45
+ InstanceAdmin instanceAdmin,
46
+ InstanceStore instanceStore,
47
+ BundleSet bundleManager,
48
+ InstanceReader instanceReader,
49
+ IRegistry registry,
50
+ address initialOwner
51
+ )
65
52
  external
66
53
  initializer()
67
54
  {
68
- if(authority == address(0)) {
55
+ _instanceAdmin = instanceAdmin;
56
+ if(_instanceAdmin.authority() == address(0)) {
69
57
  revert ErrorInstanceInstanceAdminZero();
70
58
  }
71
59
 
72
- __AccessManaged_init(authority);
73
-
74
- IRegistry registry = IRegistry(registryAddress);
75
- initializeRegisterable(registryAddress, registry.getNftId(), INSTANCE(), true, initialOwner, "");
60
+ // set authority to instance admin authority
61
+ __AccessManaged_init(_instanceAdmin.authority());
62
+
63
+ // setup instance object info
64
+ _initializeRegisterable(
65
+ address(registry),
66
+ registry.getNftId(),
67
+ INSTANCE(),
68
+ true,
69
+ initialOwner,
70
+ "");
76
71
 
77
- registerInterface(type(IInstance).interfaceId);
72
+ // store instance supporting contracts
73
+ _instanceStore = instanceStore;
74
+ _bundleManager = bundleManager;
75
+ _instanceReader = instanceReader;
76
+
77
+ // initialize instance supporting contracts
78
+ _instanceStore.initialize();
79
+ _bundleManager.initialize();
80
+ _instanceReader.initialize();
81
+
82
+ _componentService = IComponentService(
83
+ getRegistry().getServiceAddress(
84
+ COMPONENT(),
85
+ getRelease()));
86
+
87
+ _instanceService = IInstanceService(
88
+ getRegistry().getServiceAddress(
89
+ INSTANCE(),
90
+ getRelease()));
91
+
92
+ _registerInterface(type(IInstance).interfaceId);
93
+ }
94
+
95
+ //--- ProductRegistration ----------------------------------------------//
96
+ function registerProduct(address product)
97
+ external
98
+ onlyOwner()
99
+ returns (NftId productNftId)
100
+ {
101
+ return _componentService.registerProduct(product);
102
+ }
103
+
104
+ //--- Staking ----------------------------------------------------------//
105
+
106
+ function setStakingLockingPeriod(Seconds stakeLockingPeriod)
107
+ external
108
+ onlyOwner()
109
+ {
110
+ _instanceService.setStakingLockingPeriod(stakeLockingPeriod);
111
+ }
112
+
113
+ function setStakingRewardRate(UFixed rewardRate)
114
+ external
115
+ onlyOwner()
116
+ {
117
+ _instanceService.setStakingRewardRate(rewardRate);
118
+ }
119
+
120
+ function refillStakingRewardReserves(Amount dipAmount)
121
+ external
122
+ onlyOwner()
123
+ {
124
+ address instanceOwner = msg.sender;
125
+ _instanceService.refillStakingRewardReserves(instanceOwner, dipAmount);
126
+ }
127
+
128
+ function withdrawStakingRewardReserves(Amount dipAmount)
129
+ external
130
+ onlyOwner()
131
+ returns (Amount newBalance)
132
+ {
133
+ return _instanceService.withdrawStakingRewardReserves(dipAmount);
78
134
  }
79
135
 
80
136
  //--- Roles ------------------------------------------------------------//
81
137
 
82
138
  function createRole(string memory roleName, string memory adminName)
83
139
  external
84
- restricted // INSTANCE_OWNER_ROLE
140
+ onlyOwner()
85
141
  returns (RoleId roleId, RoleId admin)
86
142
  {
87
- (roleId, admin) = _instanceAdmin.createRole(roleName, adminName);
143
+ // TODO refactor
144
+ // (roleId, admin) = _instanceAdmin.createRole(roleName, adminName);
88
145
  }
89
146
 
90
147
  function grantRole(RoleId roleId, address account)
91
148
  external
92
- restricted // INSTANCE_OWNER_ROLE
149
+ onlyOwner()
93
150
  {
94
- AccessManagerExtendedInitializeable(authority()).grantRole(roleId.toInt(), account, 0);
151
+ _instanceAdmin.grantRole(roleId, account);
95
152
  }
96
153
 
97
154
  function revokeRole(RoleId roleId, address account)
98
155
  external
99
- restricted // INSTANCE_OWNER_ROLE
156
+ onlyOwner()
100
157
  {
101
- AccessManagerExtendedInitializeable(authority()).revokeRole(roleId.toInt(), account);
158
+ // TODO refactor
159
+ // AccessManagerExtendedInitializeable(authority()).revokeRole(roleId.toInt(), account);
102
160
  }
103
161
 
104
162
  //--- Targets ------------------------------------------------------------//
105
163
 
106
164
  function createTarget(address target, string memory name)
107
165
  external
108
- restricted // INSTANCE_OWNER_ROLE
166
+ onlyOwner()
109
167
  {
110
- _instanceAdmin.createTarget(target, name);
168
+ // TODO refactor
169
+ // _instanceAdmin.createTarget(target, name);
111
170
  }
112
171
 
113
172
  function setTargetFunctionRole(
@@ -116,59 +175,34 @@ contract Instance is
116
175
  RoleId roleId
117
176
  )
118
177
  external
119
- restricted // INSTANCE_OWNER_ROLE
178
+ onlyOwner()
120
179
  {
121
- _instanceAdmin.setTargetFunctionRoleByInstance(targetName, selectors, roleId);
180
+ // TODO refactor
181
+ // _instanceAdmin.setTargetFunctionRoleByInstance(targetName, selectors, roleId);
122
182
  }
123
183
 
124
184
  function setTargetLocked(address target, bool locked)
125
185
  external
126
- restricted // INSTANCE_OWNER_ROLE
186
+ onlyOwner()
127
187
  {
128
- _instanceAdmin.setTargetLockedByInstance(target, locked);
188
+ // TODO refactor
189
+ // _instanceAdmin.setTargetLockedByInstance(target, locked);
129
190
  }
130
191
 
131
192
  //--- ITransferInterceptor ----------------------------------------------//
132
193
 
133
- // TODO interception of child components nfts
134
- function nftMint(address to, uint256 tokenId) external onlyChainNft {
135
- _instanceAdmin.transferInstanceOwnerRole(address(0), to);
136
- }
137
-
138
- function nftTransferFrom(address from, address to, uint256 tokenId) external onlyChainNft {
139
- _instanceAdmin.transferInstanceOwnerRole(from, to);
194
+ function nftTransferFrom(address from, address to, uint256 tokenId, address operator) external onlyChainNft {
195
+ // TODO refactor
196
+ // _instanceAdmin.transferInstanceOwnerRole(from, to);
140
197
  }
141
198
 
142
- //function nftBurn(address from, uint256 tokenId) external onlyChainNft {
143
- //_instanceAdmin.transferInstanceOwnerRole(from, address(0));
144
- //}
145
-
146
199
  //--- initial setup functions -------------------------------------------//
147
200
 
148
- function setInstanceAdmin(InstanceAdmin accessManager) external restricted {
149
- if(address(_instanceAdmin) != address(0)) {
150
- revert ErrorInstanceInstanceAdminAlreadySet(address(_instanceAdmin));
151
- }
152
- if(accessManager.authority() != authority()) {
153
- revert ErrorInstanceInstanceAdminAuthorityMismatch(authority());
154
- }
155
- _instanceAdmin = accessManager;
156
- }
157
-
158
- function setBundleManager(BundleManager bundleManager) external restricted() {
159
- if(address(_bundleManager) != address(0)) {
160
- revert ErrorInstanceBundleManagerAlreadySet(address(_bundleManager));
161
- }
162
- if(bundleManager.getInstance() != Instance(this)) {
163
- revert ErrorInstanceBundleManagerInstanceMismatch(address(this));
164
- }
165
- if(bundleManager.authority() != authority()) {
166
- revert ErrorInstanceBundleManagerAuthorityMismatch(authority());
167
- }
168
- _bundleManager = bundleManager;
169
- }
170
201
 
171
- function setInstanceReader(InstanceReader instanceReader) external restricted() {
202
+ function setInstanceReader(InstanceReader instanceReader)
203
+ external
204
+ restricted()
205
+ {
172
206
  if(instanceReader.getInstance() != Instance(this)) {
173
207
  revert ErrorInstanceInstanceReaderInstanceMismatch(address(this));
174
208
  }
@@ -182,7 +216,7 @@ contract Instance is
182
216
  return _instanceReader;
183
217
  }
184
218
 
185
- function getBundleManager() external view returns (BundleManager) {
219
+ function getBundleSet() external view returns (BundleSet) {
186
220
  return _bundleManager;
187
221
  }
188
222
 
@@ -190,47 +224,9 @@ contract Instance is
190
224
  return _instanceAdmin;
191
225
  }
192
226
 
193
- function getInstanceAccessManager() external view returns (AccessManagerExtendedInitializeable) {
194
- return AccessManagerExtendedInitializeable(authority());
195
- }
196
-
197
- function setInstanceStore(InstanceStore instanceStore) external restricted {
198
- if(address(_instanceStore) != address(0)) {
199
- revert ErrorInstanceInstanceStoreAlreadySet(address(_instanceStore));
200
- }
201
- if(instanceStore.authority() != authority()) {
202
- revert ErrorInstanceInstanceStoreAuthorityMismatch(authority());
203
- }
204
- _instanceStore = instanceStore;
205
- }
206
-
207
227
  function getInstanceStore() external view returns (InstanceStore) {
208
228
  return _instanceStore;
209
229
  }
210
230
 
211
- function getMajorVersion() external pure returns (VersionPart majorVersion) {
212
- return VersionPartLib.toVersionPart(GIF_MAJOR_VERSION);
213
- }
214
-
215
- function getDistributionService() external view returns (IDistributionService) {
216
- return IDistributionService(getRegistry().getServiceAddress(DISTRIBUTION(), VersionPart.wrap(3)));
217
- }
218
-
219
- function getProductService() external view returns (IProductService) {
220
- return IProductService(getRegistry().getServiceAddress(PRODUCT(), VersionPart.wrap(3)));
221
- }
222
-
223
- function getPoolService() external view returns (IPoolService) {
224
- return IPoolService(getRegistry().getServiceAddress(POOL(), VersionPart.wrap(3)));
225
- }
226
-
227
- function getPolicyService() external view returns (IPolicyService) {
228
- return IPolicyService(getRegistry().getServiceAddress(POLICY(), VersionPart.wrap(3)));
229
- }
230
-
231
- function getBundleService() external view returns (IBundleService) {
232
- return IBundleService(getRegistry().getServiceAddress(BUNDLE(), VersionPart.wrap(3)));
233
- }
234
-
235
231
  //--- internal view/pure functions --------------------------------------//
236
232
  }