@etherisc/gif-next 0.0.2-d16f92c-416 → 0.0.2-d1ee1ae-450

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 (592) hide show
  1. package/README.md +120 -8
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1023 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +752 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1494 -0
  10. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
  12. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +673 -0
  14. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1403 -0
  16. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +615 -0
  18. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/IAccess.sol/IAccess.json +10 -0
  20. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  21. package/artifacts/contracts/{shared → authorization}/IAccessAdmin.sol/IAccessAdmin.json +404 -369
  22. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +382 -0
  24. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/{registry → authorization}/IServiceAuthorization.sol/IServiceAuthorization.json +48 -10
  26. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  27. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  28. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1225 -0
  30. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +644 -0
  32. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +119 -605
  34. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +487 -269
  36. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  37. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +169 -119
  38. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  39. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +133 -279
  40. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  41. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +311 -67
  42. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  44. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1461 -0
  46. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +644 -0
  48. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2018 -0
  50. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  51. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +644 -0
  52. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  53. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1404 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +644 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1152 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1628 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +644 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2405 -0
  66. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  67. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +644 -0
  68. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  69. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  70. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  71. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +239 -55
  72. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  73. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +155 -116
  74. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  75. package/artifacts/contracts/instance/Instance.sol/Instance.json +254 -182
  76. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  77. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1581 -253
  78. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  79. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +716 -0
  80. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  81. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1153 -396
  82. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  83. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +175 -341
  84. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  85. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +104 -128
  86. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  87. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +940 -754
  88. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  89. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  90. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  91. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  92. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  94. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  95. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  96. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  97. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  98. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  99. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  100. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  101. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  104. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  105. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  106. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  107. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  108. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  109. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +938 -0
  110. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  111. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +632 -0
  112. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  113. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +43 -1
  114. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  115. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +130 -136
  116. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  117. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
  118. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  119. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +121 -413
  120. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  121. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +169 -190
  122. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  123. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +140 -98
  124. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  125. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1231 -0
  126. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  127. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +644 -0
  128. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  129. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +349 -206
  130. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  131. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +159 -105
  132. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  133. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +212 -35
  134. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  135. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +128 -396
  136. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  137. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +460 -308
  138. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  139. package/artifacts/contracts/pool/Pool.sol/Pool.json +125 -684
  140. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  141. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +472 -0
  142. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  143. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +705 -552
  144. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  145. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +189 -107
  146. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  147. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +208 -176
  148. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  149. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +118 -100
  150. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  151. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1140 -0
  152. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  153. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +644 -0
  154. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  155. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +431 -234
  156. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  157. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +158 -124
  158. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  159. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +136 -9
  160. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  161. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +308 -16
  162. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  163. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +365 -104
  164. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  165. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +157 -83
  166. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  167. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +270 -268
  168. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  169. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +88 -8
  170. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  171. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +465 -307
  172. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  173. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +727 -0
  174. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  175. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +155 -109
  176. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  177. package/artifacts/contracts/product/PricingService.sol/PricingService.json +244 -329
  178. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  179. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +126 -140
  180. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  181. package/artifacts/contracts/product/Product.sol/Product.json +268 -567
  182. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  183. package/artifacts/contracts/product/RiskService.sol/RiskService.json +688 -0
  184. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  185. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +736 -0
  186. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  187. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  188. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  189. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +367 -63
  190. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  191. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +72 -152
  192. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  193. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  194. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  195. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  196. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  197. package/artifacts/contracts/registry/Registry.sol/Registry.json +600 -127
  198. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  199. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +666 -549
  200. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  201. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
  202. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  203. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
  204. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  205. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +104 -90
  206. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  207. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1954 -0
  208. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  209. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  210. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  211. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1337 -0
  212. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  213. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +101 -16
  214. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  215. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +15 -15
  216. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  217. package/artifacts/contracts/shared/Component.sol/Component.json +67 -277
  218. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  219. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +545 -569
  220. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  221. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +152 -132
  222. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  223. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +57 -111
  224. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  225. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +661 -0
  226. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  229. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  230. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  231. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  232. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  233. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +80 -100
  234. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  235. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +499 -252
  236. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  237. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +116 -133
  238. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  239. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +45 -3
  240. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  241. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +34 -3
  242. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  243. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  244. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  245. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  246. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  247. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
  248. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  249. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  250. package/artifacts/contracts/shared/IService.sol/IService.json +55 -2
  251. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  252. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  253. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  254. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +106 -366
  255. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  256. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +55 -88
  257. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  258. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -62
  259. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  260. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  261. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  262. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
  263. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  264. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  265. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  266. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
  267. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  268. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  269. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  270. package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
  271. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  272. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +585 -12
  273. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  274. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  275. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  276. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  277. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  278. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +196 -143
  279. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  280. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +155 -23
  281. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  282. package/artifacts/contracts/staking/Staking.sol/Staking.json +292 -393
  283. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  284. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
  285. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  286. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  287. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  288. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +142 -103
  289. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  290. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +41 -73
  291. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  292. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +224 -171
  293. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  294. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +121 -95
  295. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  296. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +218 -182
  297. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  298. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +94 -48
  299. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  300. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  301. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  302. package/artifacts/contracts/type/Amount.sol/AmountLib.json +63 -10
  303. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  304. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  305. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  306. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  307. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  308. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  309. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  310. package/artifacts/contracts/type/Fee.sol/FeeLib.json +98 -37
  311. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  312. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  313. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  314. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  315. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  316. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  317. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  318. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  319. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  320. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +59 -4
  321. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  323. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  324. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  325. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  326. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +4 -4
  327. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  328. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  329. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  330. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +181 -14
  331. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  332. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +50 -2
  333. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  334. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  335. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  336. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  337. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  338. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  339. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  340. package/artifacts/contracts/type/String.sol/StrLib.json +2 -2
  341. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  342. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
  343. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  344. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +126 -33
  345. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  346. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  347. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  348. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +120 -2
  349. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  350. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  351. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  352. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  353. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  354. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
  355. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  356. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  357. package/contracts/accounting/AccountingService.sol +261 -0
  358. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  359. package/contracts/accounting/IAccountingService.sol +45 -0
  360. package/contracts/authorization/AccessAdmin.sol +704 -0
  361. package/contracts/authorization/AccessAdminLib.sol +183 -0
  362. package/contracts/authorization/AccessManagerCloneable.sol +158 -0
  363. package/contracts/authorization/Authorization.sol +365 -0
  364. package/contracts/authorization/IAccess.sol +57 -0
  365. package/contracts/authorization/IAccessAdmin.sol +170 -0
  366. package/contracts/authorization/IAuthorization.sol +80 -0
  367. package/contracts/{registry → authorization}/IServiceAuthorization.sol +11 -6
  368. package/contracts/{registry → authorization}/ServiceAuthorization.sol +45 -25
  369. package/contracts/distribution/BasicDistribution.sol +141 -0
  370. package/contracts/distribution/BasicDistributionAuthorization.sol +60 -0
  371. package/contracts/distribution/Distribution.sol +124 -139
  372. package/contracts/distribution/DistributionService.sol +220 -126
  373. package/contracts/distribution/DistributionServiceManager.sol +8 -11
  374. package/contracts/distribution/IDistributionComponent.sol +19 -42
  375. package/contracts/distribution/IDistributionService.sol +44 -22
  376. package/contracts/examples/fire/DamageLevel.sol +59 -0
  377. package/contracts/examples/fire/FirePool.sol +86 -0
  378. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  379. package/contracts/examples/fire/FireProduct.sol +433 -0
  380. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  381. package/contracts/examples/fire/FireUSD.sol +26 -0
  382. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  383. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  384. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  385. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  386. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  387. package/contracts/examples/unpermissioned/SimpleProduct.sol +373 -0
  388. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  389. package/contracts/instance/BundleSet.sol +130 -0
  390. package/contracts/instance/IInstance.sol +68 -49
  391. package/contracts/instance/IInstanceService.sol +34 -43
  392. package/contracts/instance/Instance.sol +164 -122
  393. package/contracts/instance/InstanceAdmin.sol +363 -244
  394. package/contracts/instance/InstanceAuthorizationV3.sol +236 -0
  395. package/contracts/instance/InstanceReader.sol +306 -48
  396. package/contracts/instance/InstanceService.sol +223 -200
  397. package/contracts/instance/InstanceServiceManager.sol +8 -13
  398. package/contracts/instance/InstanceStore.sol +35 -6
  399. package/contracts/instance/RiskSet.sol +118 -0
  400. package/contracts/instance/base/BalanceStore.sol +3 -5
  401. package/contracts/instance/base/ObjectCounter.sol +1 -2
  402. package/contracts/instance/base/ObjectLifecycle.sol +113 -0
  403. package/contracts/instance/base/ObjectSet.sol +77 -0
  404. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  405. package/contracts/instance/module/IBundle.sol +6 -5
  406. package/contracts/instance/module/IComponents.sol +30 -20
  407. package/contracts/instance/module/IDistribution.sol +21 -9
  408. package/contracts/instance/module/IPolicy.sol +50 -29
  409. package/contracts/instance/module/IRisk.sol +5 -0
  410. package/contracts/mock/Dip.sol +1 -1
  411. package/contracts/oracle/BasicOracle.sol +45 -0
  412. package/contracts/oracle/BasicOracleAuthorization.sol +37 -0
  413. package/contracts/oracle/IOracle.sol +25 -4
  414. package/contracts/oracle/IOracleComponent.sol +2 -1
  415. package/contracts/oracle/IOracleService.sol +2 -1
  416. package/contracts/oracle/Oracle.sol +62 -53
  417. package/contracts/oracle/OracleService.sol +117 -85
  418. package/contracts/oracle/OracleServiceManager.sol +8 -11
  419. package/contracts/pool/BasicPool.sol +173 -0
  420. package/contracts/pool/BasicPoolAuthorization.sol +76 -0
  421. package/contracts/pool/BundleService.sol +204 -105
  422. package/contracts/pool/BundleServiceManager.sol +8 -11
  423. package/contracts/pool/IBundleService.sol +31 -22
  424. package/contracts/pool/IPoolComponent.sol +20 -70
  425. package/contracts/pool/IPoolService.sol +90 -75
  426. package/contracts/pool/Pool.sol +207 -163
  427. package/contracts/pool/PoolLib.sol +309 -0
  428. package/contracts/pool/PoolService.sol +391 -256
  429. package/contracts/pool/PoolServiceManager.sol +6 -9
  430. package/contracts/product/ApplicationService.sol +102 -78
  431. package/contracts/product/ApplicationServiceManager.sol +6 -6
  432. package/contracts/product/BasicProduct.sol +49 -0
  433. package/contracts/product/BasicProductAuthorization.sol +58 -0
  434. package/contracts/product/ClaimService.sol +373 -175
  435. package/contracts/product/ClaimServiceManager.sol +6 -6
  436. package/contracts/product/IApplicationService.sol +9 -2
  437. package/contracts/product/IClaimService.sol +44 -8
  438. package/contracts/product/IPolicyService.sol +53 -36
  439. package/contracts/product/IPricingService.sol +11 -10
  440. package/contracts/product/IProductComponent.sol +29 -9
  441. package/contracts/product/{IProductService.sol → IRiskService.sol} +8 -8
  442. package/contracts/product/PolicyService.sol +436 -271
  443. package/contracts/product/PolicyServiceLib.sol +119 -0
  444. package/contracts/product/PolicyServiceManager.sol +6 -9
  445. package/contracts/product/PricingService.sol +69 -60
  446. package/contracts/product/PricingServiceManager.sol +6 -9
  447. package/contracts/product/Product.sol +232 -140
  448. package/contracts/product/RiskService.sol +157 -0
  449. package/contracts/product/RiskServiceManager.sol +39 -0
  450. package/contracts/registry/ChainNft.sol +72 -40
  451. package/contracts/registry/IRegistry.sol +78 -32
  452. package/contracts/registry/IRegistryService.sol +3 -10
  453. package/contracts/registry/IRelease.sol +29 -0
  454. package/contracts/registry/ITransferInterceptor.sol +1 -2
  455. package/contracts/registry/Registry.sol +368 -220
  456. package/contracts/registry/RegistryAdmin.sol +174 -249
  457. package/contracts/registry/RegistryAuthorization.sol +271 -0
  458. package/contracts/registry/RegistryService.sol +41 -66
  459. package/contracts/registry/RegistryServiceManager.sol +5 -5
  460. package/contracts/registry/ReleaseAdmin.sol +253 -0
  461. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  462. package/contracts/registry/ReleaseRegistry.sol +517 -0
  463. package/contracts/registry/ServiceAuthorizationV3.sol +192 -60
  464. package/contracts/registry/TokenRegistry.sol +12 -11
  465. package/contracts/shared/Component.sol +65 -136
  466. package/contracts/shared/ComponentService.sol +425 -381
  467. package/contracts/shared/ComponentServiceManager.sol +10 -7
  468. package/contracts/shared/ComponentVerifyingService.sol +29 -18
  469. package/contracts/shared/ContractLib.sol +347 -0
  470. package/contracts/shared/IComponent.sol +5 -17
  471. package/contracts/shared/IComponentService.sol +49 -41
  472. package/contracts/shared/IInstanceLinkedComponent.sol +10 -26
  473. package/contracts/shared/IKeyValueStore.sol +1 -0
  474. package/contracts/shared/ILifecycle.sol +3 -2
  475. package/contracts/shared/INftOwnable.sol +2 -0
  476. package/contracts/shared/IPolicyHolder.sol +12 -22
  477. package/contracts/shared/IRegisterable.sol +23 -1
  478. package/contracts/shared/IService.sol +4 -6
  479. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +11 -3
  480. package/contracts/shared/InstanceLinkedComponent.sol +95 -45
  481. package/contracts/shared/KeyValueStore.sol +7 -3
  482. package/contracts/shared/Lifecycle.sol +30 -72
  483. package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
  484. package/contracts/shared/NftOwnable.sol +31 -11
  485. package/contracts/shared/PolicyHolder.sol +17 -57
  486. package/contracts/shared/Registerable.sol +52 -21
  487. package/contracts/shared/RegistryLinked.sol +9 -14
  488. package/contracts/shared/Service.sol +18 -36
  489. package/contracts/shared/TokenHandler.sol +310 -26
  490. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  491. package/contracts/staking/IStaking.sol +26 -15
  492. package/contracts/staking/IStakingService.sol +31 -9
  493. package/contracts/staking/Staking.sol +125 -88
  494. package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +95 -45
  495. package/contracts/staking/StakingLifecycle.sol +23 -0
  496. package/contracts/staking/StakingManager.sol +10 -12
  497. package/contracts/staking/StakingReader.sol +26 -33
  498. package/contracts/staking/StakingService.sol +93 -37
  499. package/contracts/staking/StakingServiceManager.sol +8 -7
  500. package/contracts/staking/StakingStore.sol +17 -24
  501. package/contracts/staking/TargetManagerLib.sol +7 -3
  502. package/contracts/type/Amount.sol +27 -5
  503. package/contracts/type/Blocknumber.sol +7 -1
  504. package/contracts/type/ClaimId.sol +6 -1
  505. package/contracts/type/Fee.sol +8 -8
  506. package/contracts/type/Key32.sol +2 -2
  507. package/contracts/type/Key32Set.sol +62 -0
  508. package/contracts/type/NftId.sol +7 -0
  509. package/contracts/type/ObjectType.sol +80 -27
  510. package/contracts/type/PayoutId.sol +10 -10
  511. package/contracts/type/Referral.sol +1 -0
  512. package/contracts/type/RiskId.sol +38 -6
  513. package/contracts/type/RoleId.sol +75 -94
  514. package/contracts/type/Seconds.sol +21 -1
  515. package/contracts/type/Selector.sol +5 -0
  516. package/contracts/type/StateId.sol +15 -1
  517. package/contracts/type/Timestamp.sol +10 -5
  518. package/contracts/type/UFixed.sol +61 -125
  519. package/contracts/type/Version.sol +57 -6
  520. package/contracts/{shared → upgradeability}/ProxyManager.sol +82 -47
  521. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +8 -4
  522. package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
  523. package/package.json +9 -6
  524. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  525. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -709
  526. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  527. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
  528. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  529. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -187
  530. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  531. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  532. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  533. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  534. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  535. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  536. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  537. package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +0 -4
  538. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  539. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1218
  540. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +0 -4
  541. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +0 -171
  542. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +0 -4
  543. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +0 -1559
  544. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
  545. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
  546. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
  547. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1747
  548. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
  549. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1760
  550. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
  551. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1838
  552. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
  553. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1856
  554. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  555. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  556. package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +0 -4
  557. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
  558. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
  559. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
  560. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
  561. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  562. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  563. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  564. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
  565. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
  566. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  567. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
  568. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  569. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  570. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  571. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  572. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -460
  573. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  574. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -10
  575. package/contracts/instance/BundleManager.sol +0 -126
  576. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -377
  577. package/contracts/instance/base/ObjectManager.sol +0 -80
  578. package/contracts/instance/module/IAccess.sol +0 -46
  579. package/contracts/product/ProductService.sol +0 -124
  580. package/contracts/product/ProductServiceManager.sol +0 -42
  581. package/contracts/registry/ReleaseManager.sol +0 -527
  582. package/contracts/shared/AccessAdmin.sol +0 -759
  583. package/contracts/shared/AccessManagerCustom.sol +0 -741
  584. package/contracts/shared/AccessManagerExtended.sol +0 -481
  585. package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
  586. package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
  587. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
  588. package/contracts/shared/IAccessAdmin.sol +0 -168
  589. package/contracts/shared/IAccessManagerExtended.sol +0 -74
  590. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
  591. package/contracts/shared/InitializableCustom.sol +0 -177
  592. /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
@@ -0,0 +1,130 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {LibNftIdSet} from "../type/NftIdSet.sol";
5
+ import {NftId, NftIdLib} from "../type/NftId.sol";
6
+ import {Key32} from "../type/Key32.sol";
7
+ import {BUNDLE} from "../type/ObjectType.sol";
8
+
9
+ import {ObjectSet} from "./base/ObjectSet.sol";
10
+ import {ObjectSetHelperLib} from "./base/ObjectSetHelperLib.sol";
11
+
12
+ contract BundleSet is
13
+ ObjectSet
14
+ {
15
+ using LibNftIdSet for LibNftIdSet.Set;
16
+
17
+ event LogBundleSetPolicyLinked(NftId bundleNftId, NftId policyNftId);
18
+ event LogBundleSetPolicyUnlinked(NftId bundleNftId, NftId policyNftId);
19
+
20
+ event LogBundleSetBundleAdded(NftId poolNftId, NftId bundleNftId);
21
+ event LogBundleSetBundleUnlocked(NftId poolNftId, NftId bundleNftId);
22
+ event LogBundleSetBundleLocked(NftId poolNftId, NftId bundleNftId);
23
+ event LogBundleSetBundleClosed(NftId poolNftId, NftId bundleNftId);
24
+
25
+ error ErrorBundleSetPolicyAlreadyActivated(NftId policyNftId);
26
+ error ErrorBundleSetBundleLocked(NftId bundleNftId, NftId policyNftId);
27
+ error ErrorBundleSetPolicyWithOpenClaims(NftId policyNftId, uint256 openClaimsCount);
28
+ error ErrorBundleSetPolicyNotCloseable(NftId policyNftId);
29
+ error ErrorBundleSetBundleUnknown(NftId bundleNftId);
30
+ error ErrorBundleSetBundleNotRegistered(NftId bundleNftId);
31
+
32
+ mapping(NftId bundleNftId => LibNftIdSet.Set policies) internal _activePolicies;
33
+
34
+ /// @dev links a policy to its bundle
35
+ function linkPolicy(NftId poolNftId, NftId bundleNftId, NftId policyNftId) external restricted() {
36
+
37
+ // ensure bundle is unlocked (in active set) and registered with this instance
38
+ if (!_isActive(poolNftId, _toBundleKey32(bundleNftId))) {
39
+ revert ErrorBundleSetBundleLocked(bundleNftId, policyNftId);
40
+ }
41
+
42
+ _activePolicies[bundleNftId].add(policyNftId);
43
+ emit LogBundleSetPolicyLinked(bundleNftId, policyNftId);
44
+ }
45
+
46
+
47
+ /// @dev unlinks a policy from its bundle
48
+ function unlinkPolicy(NftId poolNftId, NftId bundleNftId, NftId policyNftId) external restricted() {
49
+
50
+ // ensure bundle is registered with this instance
51
+ if (!_contains(poolNftId, _toBundleKey32(bundleNftId))) {
52
+ revert ErrorBundleSetBundleUnknown(bundleNftId);
53
+ }
54
+
55
+ _activePolicies[bundleNftId].remove(policyNftId);
56
+ emit LogBundleSetPolicyUnlinked(bundleNftId, policyNftId);
57
+ }
58
+
59
+
60
+ /// @dev add a new bundle to a pool registerd with this instance
61
+ // the corresponding pool is fetched via instance reader
62
+ function add(NftId bundleNftId) external restricted() {
63
+ NftId poolNftId = ObjectSetHelperLib.getPoolNftId(_instanceAddress, bundleNftId);
64
+
65
+ // ensure pool is registered with instance
66
+ if(poolNftId.eqz()) {
67
+ revert ErrorBundleSetBundleNotRegistered(bundleNftId);
68
+ }
69
+
70
+ _add(poolNftId, _toBundleKey32(bundleNftId));
71
+ emit LogBundleSetBundleAdded(poolNftId, bundleNftId);
72
+ }
73
+
74
+
75
+ /// @dev unlocked (active) bundles are available to collateralize new policies
76
+ function unlock(NftId bundleNftId) external restricted() {
77
+ NftId poolNftId = ObjectSetHelperLib.getPoolNftId(_instanceAddress, bundleNftId);
78
+ _activate(poolNftId, _toBundleKey32(bundleNftId));
79
+ emit LogBundleSetBundleUnlocked(poolNftId, bundleNftId);
80
+ }
81
+
82
+ /// @dev locked (deactivated) bundles may not collateralize any new policies
83
+ function lock(NftId bundleNftId) external restricted() {
84
+ NftId poolNftId = ObjectSetHelperLib.getPoolNftId(_instanceAddress, bundleNftId);
85
+ _deactivate(poolNftId, _toBundleKey32(bundleNftId));
86
+ emit LogBundleSetBundleLocked(poolNftId, bundleNftId);
87
+ }
88
+
89
+
90
+ function checkBundle(NftId productNftId, NftId bundleId)
91
+ public
92
+ view
93
+ returns (bool exists, bool active)
94
+ {
95
+ Key32 bundleKey32 = bundleId.toKey32(BUNDLE());
96
+ exists = _contains(productNftId, bundleKey32);
97
+
98
+ if (exists) {
99
+ active = _isActive(productNftId, bundleKey32);
100
+ }
101
+ }
102
+
103
+ function bundles(NftId poolNftId) external view returns(uint256) {
104
+ return _objects(poolNftId);
105
+ }
106
+
107
+ function getBundleNftId(NftId poolNftId, uint256 idx) external view returns(NftId) {
108
+ return NftIdLib.toNftId(_getObject(poolNftId, idx).toKeyId());
109
+ }
110
+
111
+ function activeBundles(NftId poolNftId) external view returns(uint256) {
112
+ return _activeObjs(poolNftId);
113
+ }
114
+
115
+ function getActiveBundleNftId(NftId poolNftId, uint256 idx) external view returns(NftId) {
116
+ return NftIdLib.toNftId(_getActiveObject(poolNftId, idx).toKeyId());
117
+ }
118
+
119
+ function activePolicies(NftId bundleNftId) external view returns(uint256) {
120
+ return _activePolicies[bundleNftId].size();
121
+ }
122
+
123
+ function getActivePolicy(NftId bundleNftId, uint256 idx) external view returns(NftId policyNftId) {
124
+ return _activePolicies[bundleNftId].getElementAt(idx);
125
+ }
126
+
127
+ function _toBundleKey32(NftId nftId) private pure returns (Key32) {
128
+ return nftId.toKey32(BUNDLE());
129
+ }
130
+ }
@@ -1,57 +1,33 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
5
-
6
4
  import {Amount} from "../type/Amount.sol";
7
- import {ClaimId} from "../type/ClaimId.sol";
8
- import {DistributorType} from "../type/DistributorType.sol";
9
- import {PayoutId} from "../type/PayoutId.sol";
5
+ import {BundleSet} from "./BundleSet.sol";
6
+ import {RiskSet} from "./RiskSet.sol";
7
+ import {InstanceAdmin} from "./InstanceAdmin.sol";
8
+ import {InstanceReader} from "./InstanceReader.sol";
9
+ import {InstanceStore} from "./InstanceStore.sol";
10
+ import {IRegisterable} from "../shared/IRegisterable.sol";
10
11
  import {NftId} from "../type/NftId.sol";
11
- import {StateId} from "../type/StateId.sol";
12
- import {ReferralId} from "../type/Referral.sol";
13
- import {RiskId} from "../type/RiskId.sol";
14
- import {VersionPart} from "../type/Version.sol";
15
- import {Key32} from "../type/Key32.sol";
16
12
  import {RoleId} from "../type/RoleId.sol";
17
13
  import {Seconds} from "../type/Seconds.sol";
18
14
  import {UFixed} from "../type/UFixed.sol";
19
15
 
20
- import {AccessManagerExtendedInitializeable} from "../shared/AccessManagerExtendedInitializeable.sol";
21
- import {IRegisterable} from "../shared/IRegisterable.sol";
22
-
23
- import {ITransferInterceptor} from "../registry/ITransferInterceptor.sol";
24
-
25
- import {InstanceAdmin} from "./InstanceAdmin.sol";
26
- import {BundleManager} from "./BundleManager.sol";
27
- import {InstanceReader} from "./InstanceReader.sol";
28
- import {InstanceStore} from "./InstanceStore.sol";
29
-
30
- import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
31
-
32
- import {IAccess} from "./module/IAccess.sol";
33
-
34
- import {IBundleService} from "../pool/IBundleService.sol";
35
- import {IDistributionService} from "../distribution/IDistributionService.sol";
36
- import {IPolicyService} from "../product/IPolicyService.sol";
37
- import {IPoolService} from "../pool/IPoolService.sol";
38
- import {IProductService} from "../product/IProductService.sol";
39
- import {IPolicyService} from "../product/IPolicyService.sol";
40
- import {IBundleService} from "../pool/IBundleService.sol";
41
-
42
16
 
43
17
  interface IInstance is
44
- IRegisterable,
45
- ITransferInterceptor,
46
- IAccessManaged
18
+ IRegisterable
47
19
  {
48
20
  error ErrorInstanceInstanceAdminZero();
49
- error ErrorInstanceInstanceAdminAlreadySet(address InstanceAdmin);
21
+ error ErrorInstanceInstanceAdminAlreadySet(address instanceAdmin);
50
22
  error ErrorInstanceInstanceAdminAuthorityMismatch(address instanceAuthority);
51
23
 
52
- error ErrorInstanceBundleManagerAlreadySet(address instanceBundleManager);
53
- error ErrorInstanceBundleManagerInstanceMismatch(address instance);
54
- error ErrorInstanceBundleManagerAuthorityMismatch(address instanceAuthority);
24
+ error ErrorInstanceBundleSetAlreadySet(address instanceBundleSet);
25
+ error ErrorInstanceBundleSetInstanceMismatch(address instance);
26
+ error ErrorInstanceBundleSetAuthorityMismatch(address instanceAuthority);
27
+
28
+ error ErrorInstanceRiskSetAlreadySet(address instanceRiskSet);
29
+ error ErrorInstanceRiskSetInstanceMismatch(address instance);
30
+ error ErrorInstanceRiskSetAuthorityMismatch(address instanceAuthority);
55
31
 
56
32
  error ErrorInstanceInstanceReaderInstanceMismatch(address instanceAuthority);
57
33
 
@@ -62,26 +38,69 @@ interface IInstance is
62
38
  uint64 requestsCount;
63
39
  }
64
40
 
41
+ ///--- instance ---------------------------------------------------------//
42
+
43
+ /// @dev Locks/unlocks the complete instance, including all its components.
44
+ function setInstanceLocked(bool locked) external;
45
+
46
+ /// @dev Upgrades the instance reader to the specified target.
47
+ function upgradeInstanceReader() external;
48
+
49
+ /// @dev Sets the instance reader for the instance.
50
+ /// Permissioned: only the instance service may call this function.
51
+ function setInstanceReader(InstanceReader instanceReader) external;
52
+
53
+ ///--- staking ----------------------------------------------------------//
54
+
55
+ /// @dev Sets the duration for locking new stakes on this instance..
56
+ function setStakingLockingPeriod(Seconds stakeLockingPeriod) external;
57
+
58
+ /// @dev Sets the staking reward rate [apr] for this instance.
59
+ function setStakingRewardRate(UFixed rewardRate) external;
60
+
61
+ /// @dev Sets the maximum staked amount for this instance.
62
+ function setStakingMaxAmount(Amount maxStakedAmount) external;
63
+
64
+ /// @dev Refills the staking reward reserves for the specified target.
65
+ function refillStakingRewardReserves(Amount dipAmount) external;
66
+
67
+ /// @dev Defunds the staking reward reserves for the specified target.
68
+ function withdrawStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
69
+
70
+ ///--- product/component ------------------------------------------------//
71
+
72
+ /// @dev Locks/unlocks the specified target.
73
+ function setTargetLocked(address target, bool locked) external;
74
+
75
+ /// @dev Register a product with the instance.
76
+ function registerProduct(address product, address token) external returns (NftId productNftId);
77
+
78
+ ///--- authz ------------------------------------------------------------//
79
+
65
80
  function createRole(string memory roleName, string memory adminName) external returns (RoleId roleId, RoleId admin);
66
81
  function grantRole(RoleId roleId, address account) external;
67
82
  function revokeRole(RoleId roleId, address account) external;
68
83
 
69
84
  function createTarget(address target, string memory name) external;
70
85
  function setTargetFunctionRole(string memory targetName, bytes4[] calldata selectors, RoleId roleId) external;
71
- function setTargetLocked(address target, bool locked) external;
72
86
 
73
- function setStakingLockingPeriod(Seconds stakeLockingPeriod) external;
74
- function setStakingRewardRate(UFixed rewardRate) external;
75
- function refillStakingRewardReserves(Amount dipAmount) external;
87
+ //--- getters -----------------------------------------------------------//
76
88
 
77
- /// @dev defunds the staking reward reserves for the specified target
78
- /// permissioned: only the target owner may call this function
79
- function withdrawStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
89
+ /// @dev returns the overall locking state of the instance (including all components)
90
+ function isInstanceLocked() external view returns (bool isLocked);
91
+
92
+ /// @dev returns the locking state of the specified target
93
+ function isTargetLocked(address target) external view returns (bool isLocked);
94
+
95
+ // get products
96
+ function products() external view returns (uint256 productCount);
97
+ function getProductNftId(uint256 idx) external view returns (NftId productNftId);
80
98
 
81
- function getMajorVersion() external pure returns (VersionPart majorVersion);
99
+ // get supporting contracts
82
100
  function getInstanceReader() external view returns (InstanceReader);
83
- function getBundleManager() external view returns (BundleManager);
101
+ function getBundleSet() external view returns (BundleSet);
102
+ function getRiskSet() external view returns (RiskSet);
84
103
  function getInstanceAdmin() external view returns (InstanceAdmin);
85
104
  function getInstanceStore() external view returns (InstanceStore);
86
- function getInstanceAccessManager() external view returns (AccessManagerExtendedInitializeable);
105
+ function isTokenRegistryDisabled() external view returns (bool);
87
106
  }
@@ -2,12 +2,10 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {Amount} from "../type/Amount.sol";
5
- import {BundleManager} from "./BundleManager.sol";
6
- import {Instance} from "./Instance.sol";
5
+ import {IInstance} from "./IInstance.sol";
7
6
  import {IService} from "../shared/IService.sol";
8
7
  import {NftId} from "../type/NftId.sol";
9
8
  import {ObjectType} from "../type/ObjectType.sol";
10
- import {RoleId} from "../type/RoleId.sol";
11
9
  import {Seconds} from "../type/Seconds.sol";
12
10
  import {UFixed} from "../type/UFixed.sol";
13
11
  import {VersionPart} from "../type/Version.sol";
@@ -17,14 +15,14 @@ interface IInstanceService is IService {
17
15
  // onlyInstance
18
16
  error ErrorInstanceServiceNotRegistered(address instance);
19
17
  error ErrorInstanceServiceNotInstance(address instance, ObjectType objectType);
20
- error ErrorInstanceServiceInstanceVersionMismatch(address instance, VersionPart instanceVersion);
18
+ error ErrorInstanceServiceInstanceVersionMismatch(NftId instanceNftId, VersionPart expectedRelease, VersionPart instanceRelease);
21
19
 
22
20
  error ErrorInstanceServiceComponentNotInstanceLinked(address component);
23
21
 
24
22
  error ErrorInstanceServiceMasterInstanceAlreadySet();
25
- error ErrorInstanceServiceMasterInstanceAccessManagerAlreadySet();
26
23
  error ErrorInstanceServiceMasterInstanceAdminAlreadySet();
27
- error ErrorInstanceServiceMasterBundleManagerAlreadySet();
24
+ error ErrorInstanceServiceMasterBundleSetAlreadySet();
25
+ error ErrorInstanceServiceMasterRiskSetAlreadySet();
28
26
  error ErrorInstanceServiceInstanceAddressZero();
29
27
 
30
28
  error ErrorInstanceServiceMasterInstanceReaderNotSet();
@@ -32,15 +30,19 @@ interface IInstanceService is IService {
32
30
  error ErrorInstanceServiceInstanceReaderSameAsMasterInstanceReader();
33
31
  error ErrorInstanceServiceInstanceReaderInstanceMismatch();
34
32
 
33
+ error ErrorInstanceServiceAccessManagerZero();
35
34
  error ErrorInstanceServiceInstanceAdminZero();
36
35
  error ErrorInstanceServiceInstanceReaderZero();
37
- error ErrorInstanceServiceBundleManagerZero();
36
+ error ErrorInstanceServiceBundleSetZero();
37
+ error ErrorInstanceServiceRiskSetZero();
38
38
  error ErrorInstanceServiceInstanceStoreZero();
39
39
 
40
40
  error ErrorInstanceServiceInstanceAuthorityMismatch();
41
- error ErrorInstanceServiceBundleManagerAuthorityMismatch();
41
+ error ErrorInstanceServiceBundleSetAuthorityMismatch();
42
+ error ErrorInstanceServiceRiskSetAuthorityMismatch();
42
43
  error ErrorInstanceServiceInstanceReaderInstanceMismatch2();
43
- error ErrorInstanceServiceBundleMangerInstanceMismatch();
44
+ error ErrorInstanceServiceBundleSetInstanceMismatch();
45
+ error ErrorInstanceServiceRiskSetInstanceMismatch();
44
46
  error ErrorInstanceServiceInstanceStoreAuthorityMismatch();
45
47
 
46
48
  error ErrorInstanceServiceRequestUnauhorized(address caller);
@@ -49,49 +51,38 @@ interface IInstanceService is IService {
49
51
  error ErrorInstanceServiceInstanceComponentMismatch(NftId instanceNftId, NftId componentNftId);
50
52
  error ErrorInstanceServiceInvalidComponentType(address componentAddress, ObjectType expectedType, ObjectType componentType);
51
53
 
52
- event LogInstanceCloned(
53
- address clonedOzAccessManager,
54
- address clonedInstanceAccessManager,
55
- address clonedInstance,
56
- address clonedInstanceStore,
57
- address clonedBundleManager,
58
- address clonedInstanceReader,
59
- NftId clonedInstanceNftId
60
- );
61
-
62
- function createInstanceClone()
54
+ event LogInstanceCloned(NftId instanceNftId, address instance);
55
+
56
+ /// @dev Locks the complete instance, including all its components.
57
+ function setInstanceLocked(bool locked) external;
58
+
59
+ /// @dev Locks/unlocks the specified target constrolled by the corresponding instance admin.
60
+ function setTargetLocked(address target, bool locked) external;
61
+
62
+ /// @dev Creates a new instance.
63
+ /// The caller becomes the owner of the new instance.
64
+ /// Creation of a new instance is achieved by this service through the creation and registration
65
+ /// of a new clone of the master instance and then setting up the initial wiring and authorization
66
+ /// of the necessary components.
67
+ /// @param allowAnyToken specifies whether the new instance is allowed to use any token or
68
+ /// only tokens that are registered in the `TokenRegistry`. Use of tokens **not** registered in the
69
+ /// `TokenRegistry` may result in problems with token handline and is therefor not recommended. The
70
+ /// use of such instances **is not supported** by Etherisc.
71
+ function createInstance(bool allowAnyToken)
63
72
  external
64
73
  returns (
65
- // TODO check if Instance can be changed to IInstance
66
- Instance clonedInstance,
74
+ IInstance instance,
67
75
  NftId instanceNftId
68
76
  );
69
77
 
78
+ function upgradeInstanceReader() external;
79
+ function upgradeMasterInstanceReader(address instanceReaderAddress) external;
70
80
 
71
81
  function setStakingLockingPeriod(Seconds stakeLockingPeriod) external;
72
82
  function setStakingRewardRate(UFixed rewardRate) external;
83
+ function setStakingMaxAmount(Amount maxStakedAmount) external;
73
84
  function refillStakingRewardReserves(address rewardProvider, Amount dipAmount) external;
74
85
 
75
- /// @dev defunds the staking reward reserves for the specified target
76
- /// permissioned: only the target owner may call this function
86
+ /// @dev Defunds the staking reward reserves for the specified target.
77
87
  function withdrawStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
78
-
79
-
80
- function createComponentTarget(
81
- NftId instanceNftId,
82
- address targetAddress,
83
- string memory targetName,
84
- bytes4[][] memory selectors,
85
- RoleId[] memory roles
86
- ) external;
87
-
88
- function createGifTarget(
89
- NftId instanceNftId,
90
- address targetAddress,
91
- string memory targetName,
92
- bytes4[][] memory selectors,
93
- RoleId[] memory roles
94
- ) external;
95
-
96
- function setComponentLocked(bool locked) external;
97
88
  }