@etherisc/gif-next 0.0.2-b147315-239 → 0.0.2-b1a32e7-488

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 (589) hide show
  1. package/README.md +67 -8
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1007 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +744 -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 +29 -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 +1230 -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 +124 -589
  34. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +467 -265
  36. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  37. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +151 -109
  38. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  39. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +143 -268
  40. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  41. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +307 -63
  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 +1475 -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 +2032 -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 +1431 -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 +1195 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1655 -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 +2432 -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 +221 -55
  72. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  73. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +151 -118
  74. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  75. package/artifacts/contracts/instance/Instance.sol/Instance.json +232 -183
  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 +1100 -338
  82. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  83. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +171 -343
  84. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  85. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +94 -118
  86. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  87. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +666 -525
  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 +1 -1
  96. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +48 -7
  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 +959 -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 +141 -126
  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 +127 -398
  120. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  121. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +153 -190
  122. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  123. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +122 -88
  124. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  125. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1252 -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 +331 -204
  130. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  131. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +143 -97
  132. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  133. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +206 -29
  134. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  135. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +132 -379
  136. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  137. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +464 -312
  138. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  139. package/artifacts/contracts/pool/Pool.sol/Pool.json +124 -662
  140. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  141. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
  142. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  143. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +653 -532
  144. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  145. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +163 -97
  146. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  147. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +194 -178
  148. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  149. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +100 -90
  150. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  151. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1161 -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 +415 -234
  156. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  157. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +140 -114
  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 +260 -237
  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 +458 -308
  172. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  173. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
  174. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  175. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +141 -99
  176. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  177. package/artifacts/contracts/product/PricingService.sol/PricingService.json +249 -310
  178. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  179. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +120 -122
  180. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  181. package/artifacts/contracts/product/Product.sol/Product.json +258 -536
  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 +359 -55
  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 +585 -112
  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 +94 -80
  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 +1 -1
  209. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +46 -28
  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 +82 -16
  214. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  215. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +5 -5
  216. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  217. package/artifacts/contracts/shared/Component.sol/Component.json +76 -265
  218. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  219. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +449 -555
  220. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  221. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +134 -122
  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 +597 -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 +89 -88
  234. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  235. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +414 -233
  236. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  237. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +127 -123
  238. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  239. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
  240. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  241. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  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 +112 -351
  255. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  256. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +46 -78
  257. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  258. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +40 -22
  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 -122
  279. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  280. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +148 -16
  281. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  282. package/artifacts/contracts/staking/Staking.sol/Staking.json +281 -369
  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 +1 -1
  286. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -28
  287. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  288. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +129 -94
  289. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  290. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +31 -63
  291. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  292. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +201 -164
  293. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  294. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +103 -85
  295. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  296. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +191 -154
  297. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  298. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +69 -23
  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 +61 -8
  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 +17 -12
  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 +71 -2
  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 +129 -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 +262 -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 +49 -0
  365. package/contracts/authorization/IAccessAdmin.sol +170 -0
  366. package/contracts/authorization/IAuthorization.sol +80 -0
  367. package/contracts/{registry → authorization}/IServiceAuthorization.sol +8 -6
  368. package/contracts/{registry → authorization}/ServiceAuthorization.sol +41 -25
  369. package/contracts/distribution/BasicDistribution.sol +143 -0
  370. package/contracts/distribution/BasicDistributionAuthorization.sol +60 -0
  371. package/contracts/distribution/Distribution.sol +123 -138
  372. package/contracts/distribution/DistributionService.sol +199 -111
  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 +90 -0
  378. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  379. package/contracts/examples/fire/FireProduct.sol +437 -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 +85 -0
  383. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  384. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  385. package/contracts/examples/unpermissioned/SimplePool.sol +106 -0
  386. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  387. package/contracts/examples/unpermissioned/SimpleProduct.sol +377 -0
  388. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  389. package/contracts/instance/BundleSet.sol +130 -0
  390. package/contracts/instance/IInstance.sol +67 -49
  391. package/contracts/instance/IInstanceService.sol +29 -42
  392. package/contracts/instance/Instance.sol +157 -124
  393. package/contracts/instance/InstanceAdmin.sol +363 -244
  394. package/contracts/instance/InstanceAuthorizationV3.sol +235 -0
  395. package/contracts/instance/InstanceReader.sol +306 -48
  396. package/contracts/instance/InstanceService.sol +224 -201
  397. package/contracts/instance/InstanceServiceManager.sol +8 -13
  398. package/contracts/instance/InstanceStore.sol +29 -3
  399. package/contracts/instance/RiskSet.sol +118 -0
  400. package/contracts/instance/base/ObjectCounter.sol +1 -2
  401. package/contracts/instance/base/ObjectLifecycle.sol +62 -45
  402. package/contracts/instance/base/ObjectSet.sol +77 -0
  403. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  404. package/contracts/instance/module/IBundle.sol +1 -1
  405. package/contracts/instance/module/IComponents.sol +14 -15
  406. package/contracts/instance/module/IDistribution.sol +5 -3
  407. package/contracts/instance/module/IPolicy.sol +26 -25
  408. package/contracts/instance/module/IRisk.sol +3 -0
  409. package/contracts/mock/Dip.sol +1 -1
  410. package/contracts/oracle/BasicOracle.sol +47 -0
  411. package/contracts/oracle/BasicOracleAuthorization.sol +37 -0
  412. package/contracts/oracle/IOracle.sol +16 -0
  413. package/contracts/oracle/IOracleComponent.sol +2 -1
  414. package/contracts/oracle/IOracleService.sol +2 -1
  415. package/contracts/oracle/Oracle.sol +64 -53
  416. package/contracts/oracle/OracleService.sol +113 -81
  417. package/contracts/oracle/OracleServiceManager.sol +8 -11
  418. package/contracts/pool/BasicPool.sol +175 -0
  419. package/contracts/pool/BasicPoolAuthorization.sol +76 -0
  420. package/contracts/pool/BundleService.sol +204 -105
  421. package/contracts/pool/BundleServiceManager.sol +8 -11
  422. package/contracts/pool/IBundleService.sol +31 -22
  423. package/contracts/pool/IPoolComponent.sol +20 -70
  424. package/contracts/pool/IPoolService.sol +90 -75
  425. package/contracts/pool/Pool.sol +209 -163
  426. package/contracts/pool/PoolLib.sol +216 -0
  427. package/contracts/pool/PoolService.sol +546 -241
  428. package/contracts/pool/PoolServiceManager.sol +6 -9
  429. package/contracts/product/ApplicationService.sol +98 -78
  430. package/contracts/product/ApplicationServiceManager.sol +6 -6
  431. package/contracts/product/BasicProduct.sol +51 -0
  432. package/contracts/product/BasicProductAuthorization.sol +56 -0
  433. package/contracts/product/ClaimService.sol +365 -175
  434. package/contracts/product/ClaimServiceManager.sol +6 -6
  435. package/contracts/product/IApplicationService.sol +9 -2
  436. package/contracts/product/IClaimService.sol +44 -8
  437. package/contracts/product/IPolicyService.sol +53 -36
  438. package/contracts/product/IPricingService.sol +11 -10
  439. package/contracts/product/IProductComponent.sol +29 -9
  440. package/contracts/product/{IProductService.sol → IRiskService.sol} +8 -8
  441. package/contracts/product/PolicyService.sol +458 -269
  442. package/contracts/product/PolicyServiceLib.sol +65 -0
  443. package/contracts/product/PolicyServiceManager.sol +6 -9
  444. package/contracts/product/PricingService.sol +71 -62
  445. package/contracts/product/PricingServiceManager.sol +6 -9
  446. package/contracts/product/Product.sol +231 -139
  447. package/contracts/product/RiskService.sol +154 -0
  448. package/contracts/product/RiskServiceManager.sol +39 -0
  449. package/contracts/registry/ChainNft.sol +72 -40
  450. package/contracts/registry/IRegistry.sol +74 -32
  451. package/contracts/registry/IRegistryService.sol +3 -10
  452. package/contracts/registry/IRelease.sol +26 -0
  453. package/contracts/registry/ITransferInterceptor.sol +1 -2
  454. package/contracts/registry/Registry.sol +368 -220
  455. package/contracts/registry/RegistryAdmin.sol +174 -249
  456. package/contracts/registry/RegistryAuthorization.sol +267 -0
  457. package/contracts/registry/RegistryService.sol +41 -66
  458. package/contracts/registry/RegistryServiceManager.sol +5 -5
  459. package/contracts/registry/ReleaseAdmin.sol +253 -0
  460. package/contracts/registry/ReleaseLifecycle.sol +14 -10
  461. package/contracts/registry/ReleaseRegistry.sol +517 -0
  462. package/contracts/registry/ServiceAuthorizationV3.sol +191 -60
  463. package/contracts/registry/TokenRegistry.sol +8 -10
  464. package/contracts/shared/Component.sol +73 -127
  465. package/contracts/shared/ComponentService.sol +398 -395
  466. package/contracts/shared/ComponentServiceManager.sol +10 -7
  467. package/contracts/shared/ComponentVerifyingService.sol +29 -18
  468. package/contracts/shared/ContractLib.sol +281 -0
  469. package/contracts/shared/IComponent.sol +8 -17
  470. package/contracts/shared/IComponentService.sol +38 -39
  471. package/contracts/shared/IInstanceLinkedComponent.sol +10 -26
  472. package/contracts/shared/ILifecycle.sol +3 -1
  473. package/contracts/shared/INftOwnable.sol +2 -0
  474. package/contracts/shared/IPolicyHolder.sol +12 -22
  475. package/contracts/shared/IRegisterable.sol +23 -1
  476. package/contracts/shared/IService.sol +4 -6
  477. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +11 -3
  478. package/contracts/shared/InstanceLinkedComponent.sol +96 -43
  479. package/contracts/shared/KeyValueStore.sol +2 -2
  480. package/contracts/shared/Lifecycle.sol +31 -14
  481. package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
  482. package/contracts/shared/NftOwnable.sol +31 -11
  483. package/contracts/shared/PolicyHolder.sol +17 -57
  484. package/contracts/shared/Registerable.sol +52 -21
  485. package/contracts/shared/RegistryLinked.sol +9 -14
  486. package/contracts/shared/Service.sol +18 -36
  487. package/contracts/shared/TokenHandler.sol +310 -26
  488. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  489. package/contracts/staking/IStaking.sol +20 -13
  490. package/contracts/staking/IStakingService.sol +28 -9
  491. package/contracts/staking/Staking.sol +117 -84
  492. package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +95 -45
  493. package/contracts/staking/StakingLifecycle.sol +5 -6
  494. package/contracts/staking/StakingManager.sol +10 -12
  495. package/contracts/staking/StakingReader.sol +26 -33
  496. package/contracts/staking/StakingService.sol +90 -37
  497. package/contracts/staking/StakingServiceManager.sol +8 -7
  498. package/contracts/staking/StakingStore.sol +14 -23
  499. package/contracts/staking/TargetManagerLib.sol +7 -3
  500. package/contracts/type/Amount.sol +27 -5
  501. package/contracts/type/Blocknumber.sol +7 -1
  502. package/contracts/type/ClaimId.sol +6 -1
  503. package/contracts/type/Key32.sol +2 -2
  504. package/contracts/type/Key32Set.sol +62 -0
  505. package/contracts/type/NftId.sol +7 -0
  506. package/contracts/type/ObjectType.sol +80 -27
  507. package/contracts/type/PayoutId.sol +10 -10
  508. package/contracts/type/Referral.sol +1 -0
  509. package/contracts/type/RiskId.sol +38 -6
  510. package/contracts/type/RoleId.sol +75 -94
  511. package/contracts/type/Seconds.sol +21 -1
  512. package/contracts/type/Selector.sol +5 -0
  513. package/contracts/type/StateId.sol +15 -1
  514. package/contracts/type/Timestamp.sol +10 -5
  515. package/contracts/type/UFixed.sol +40 -121
  516. package/contracts/type/Version.sol +57 -6
  517. package/contracts/{shared → upgradeability}/ProxyManager.sol +71 -38
  518. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  519. package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
  520. package/package.json +9 -6
  521. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  522. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -709
  523. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  524. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
  525. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  526. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -187
  527. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  528. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  529. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  530. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  531. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  532. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  533. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  534. package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +0 -4
  535. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  536. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1235
  537. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +0 -4
  538. package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +0 -190
  539. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +0 -4
  540. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +0 -1559
  541. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
  542. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +0 -1193
  543. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
  544. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1747
  545. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
  546. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1760
  547. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
  548. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1838
  549. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
  550. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1856
  551. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  552. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  553. package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +0 -4
  554. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
  555. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
  556. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
  557. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
  558. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  559. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  560. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  561. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
  562. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
  563. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  564. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
  565. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  566. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  567. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  568. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  569. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -460
  570. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  571. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -10
  572. package/contracts/instance/BundleManager.sol +0 -126
  573. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -377
  574. package/contracts/instance/base/ObjectManager.sol +0 -80
  575. package/contracts/instance/module/IAccess.sol +0 -46
  576. package/contracts/product/ProductService.sol +0 -124
  577. package/contracts/product/ProductServiceManager.sol +0 -42
  578. package/contracts/registry/ReleaseManager.sol +0 -501
  579. package/contracts/shared/AccessAdmin.sol +0 -759
  580. package/contracts/shared/AccessManagerCustom.sol +0 -741
  581. package/contracts/shared/AccessManagerExtended.sol +0 -481
  582. package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
  583. package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
  584. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
  585. package/contracts/shared/IAccessAdmin.sol +0 -168
  586. package/contracts/shared/IAccessManagerExtended.sol +0 -74
  587. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
  588. package/contracts/shared/InitializableCustom.sol +0 -177
  589. /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
@@ -1,63 +1,40 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
5
-
6
- import {Amount} from "../type/Amount.sol";
7
- import {Key32} from "../type/Key32.sol";
8
- import {NftId} from "../type/NftId.sol";
9
- import {RiskId} from "../type/RiskId.sol";
10
- import {ObjectType, BUNDLE, DISTRIBUTION, INSTANCE, POLICY, POOL, ROLE, PRODUCT, TARGET, COMPONENT, DISTRIBUTOR, DISTRIBUTOR_TYPE} from "../type/ObjectType.sol";
11
- import {RoleId, RoleIdLib, eqRoleId, ADMIN_ROLE, INSTANCE_ROLE, INSTANCE_OWNER_ROLE} from "../type/RoleId.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
- import {Seconds} from "../type/Seconds.sol";
17
- import {UFixed} from "../type/UFixed.sol";
18
- import {VersionPart, VersionPartLib} from "../type/Version.sol";
19
-
20
- import {Registerable} from "../shared/Registerable.sol";
21
- import {TokenHandler} from "../shared/TokenHandler.sol";
22
- import {AccessManagerExtendedInitializeable} from "../shared/AccessManagerExtendedInitializeable.sol";
23
-
24
- import {IRegistry} from "../registry/IRegistry.sol";
25
-
26
4
  import {IInstance} from "./IInstance.sol";
5
+ import {IComponentService} from "../shared/IComponentService.sol";
27
6
  import {IInstanceService} from "./IInstanceService.sol";
7
+ import {IRegistry} from "../registry/IRegistry.sol";
8
+
9
+ import {Amount} from "../type/Amount.sol";
10
+ import {BundleSet} from "./BundleSet.sol";
11
+ import {RiskSet} from "./RiskSet.sol";
12
+ import {COMPONENT, INSTANCE} from "../type/ObjectType.sol";
28
13
  import {InstanceReader} from "./InstanceReader.sol";
29
14
  import {InstanceAdmin} from "./InstanceAdmin.sol";
30
- import {BundleManager} from "./BundleManager.sol";
31
15
  import {InstanceStore} from "./InstanceStore.sol";
32
-
33
- import {KeyValueStore} from "../shared/KeyValueStore.sol";
34
-
35
- import {IBundle} from "./module/IBundle.sol";
36
- import {IComponents} from "./module/IComponents.sol";
37
- import {IDistribution} from "./module/IDistribution.sol";
38
- import {IPolicy} from "./module/IPolicy.sol";
39
- import {IRisk} from "./module/IRisk.sol";
40
-
41
- import {IDistributionService} from "../distribution/IDistributionService.sol";
42
- import {IPoolService} from "../pool/IPoolService.sol";
43
- import {IProductService} from "../product/IProductService.sol";
44
- import {IPolicyService} from "../product/IPolicyService.sol";
45
- import {IBundleService} from "../pool/IBundleService.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} from "../type/Version.sol";
46
22
 
47
23
  contract Instance is
48
24
  IInstance,
49
- AccessManagedUpgradeable,
50
25
  Registerable
51
26
  {
52
- uint256 public constant GIF_MAJOR_VERSION = 3;
53
-
54
27
  bool private _initialized;
55
28
 
29
+ IComponentService internal _componentService;
56
30
  IInstanceService internal _instanceService;
31
+
57
32
  InstanceAdmin internal _instanceAdmin;
58
33
  InstanceReader internal _instanceReader;
59
- BundleManager internal _bundleManager;
34
+ BundleSet internal _bundleSet;
35
+ RiskSet internal _riskSet;
60
36
  InstanceStore internal _instanceStore;
37
+ NftId [] internal _products;
61
38
 
62
39
  modifier onlyChainNft() {
63
40
  if(msg.sender != getRegistry().getChainNftAddress()) {
@@ -66,32 +43,96 @@ contract Instance is
66
43
  _;
67
44
  }
68
45
 
69
- function initialize(address authority, address registryAddress, address initialOwner)
46
+ function initialize(
47
+ InstanceAdmin instanceAdmin,
48
+ InstanceStore instanceStore,
49
+ BundleSet bundleSet,
50
+ RiskSet riskSet,
51
+ InstanceReader instanceReader,
52
+ IRegistry registry,
53
+ VersionPart release,
54
+ address initialOwner
55
+ )
70
56
  external
71
57
  initializer()
72
58
  {
73
- if(authority == address(0)) {
59
+ if(address(instanceAdmin) == address(0)) {
74
60
  revert ErrorInstanceInstanceAdminZero();
75
61
  }
76
62
 
77
- __AccessManaged_init(authority);
78
-
79
- IRegistry registry = IRegistry(registryAddress);
80
- initializeRegisterable(registryAddress, registry.getNftId(), INSTANCE(), true, initialOwner, "");
63
+ _instanceAdmin = instanceAdmin;
64
+
65
+ // setup instance object info
66
+ __Registerable_init(
67
+ instanceAdmin.authority(),
68
+ address(registry),
69
+ registry.getNftId(),
70
+ INSTANCE(),
71
+ true,
72
+ initialOwner,
73
+ "");
74
+
75
+ // store instance supporting contracts
76
+ _instanceStore = instanceStore;
77
+ _bundleSet = bundleSet;
78
+ _riskSet = riskSet;
79
+ _instanceReader = instanceReader;
80
+
81
+ // initialize instance supporting contracts
82
+ _instanceStore.initialize();
83
+ _bundleSet.initialize(instanceAdmin.authority(), address(registry));
84
+ _riskSet.initialize(instanceAdmin.authority(), address(registry));
85
+ _instanceReader.initialize();
86
+
87
+ _componentService = IComponentService(
88
+ getRegistry().getServiceAddress(
89
+ COMPONENT(),
90
+ release));
81
91
 
82
92
  _instanceService = IInstanceService(
83
93
  getRegistry().getServiceAddress(
84
94
  INSTANCE(),
85
- getMajorVersion()));
95
+ release));
86
96
 
87
- registerInterface(type(IInstance).interfaceId);
97
+ _registerInterface(type(IInstance).interfaceId);
98
+ }
99
+
100
+
101
+ function setInstanceLocked(bool locked)
102
+ external
103
+ // not restricted(): need to be able to unlock a locked instance
104
+ onlyOwner()
105
+ {
106
+ _instanceService.setInstanceLocked(locked);
107
+ }
108
+
109
+
110
+ function upgradeInstanceReader()
111
+ external
112
+ restricted()
113
+ onlyOwner()
114
+ {
115
+ _instanceService.upgradeInstanceReader();
116
+ }
117
+
118
+
119
+ //--- ProductRegistration ----------------------------------------------//
120
+
121
+ function registerProduct(address product)
122
+ external
123
+ restricted()
124
+ onlyOwner()
125
+ returns (NftId productNftId)
126
+ {
127
+ productNftId = _componentService.registerProduct(product);
128
+ _products.push(productNftId);
88
129
  }
89
130
 
90
131
  //--- Staking ----------------------------------------------------------//
91
132
 
92
133
  function setStakingLockingPeriod(Seconds stakeLockingPeriod)
93
134
  external
94
- // TODO decide if onlyOwner or restricted to instance owner role is better
135
+ restricted()
95
136
  onlyOwner()
96
137
  {
97
138
  _instanceService.setStakingLockingPeriod(stakeLockingPeriod);
@@ -99,13 +140,22 @@ contract Instance is
99
140
 
100
141
  function setStakingRewardRate(UFixed rewardRate)
101
142
  external
143
+ restricted()
102
144
  onlyOwner()
103
145
  {
104
146
  _instanceService.setStakingRewardRate(rewardRate);
105
147
  }
106
148
 
149
+ function setStakingMaxAmount(Amount maxStakedAmount)
150
+ external
151
+ onlyOwner()
152
+ {
153
+ _instanceService.setStakingMaxAmount(maxStakedAmount);
154
+ }
155
+
107
156
  function refillStakingRewardReserves(Amount dipAmount)
108
157
  external
158
+ restricted()
109
159
  onlyOwner()
110
160
  {
111
161
  address instanceOwner = msg.sender;
@@ -114,6 +164,7 @@ contract Instance is
114
164
 
115
165
  function withdrawStakingRewardReserves(Amount dipAmount)
116
166
  external
167
+ restricted()
117
168
  onlyOwner()
118
169
  returns (Amount newBalance)
119
170
  {
@@ -124,37 +175,49 @@ contract Instance is
124
175
 
125
176
  function createRole(string memory roleName, string memory adminName)
126
177
  external
127
- // TODO decide if onlyOwner or restricted to instance owner role is better
128
- restricted // INSTANCE_OWNER_ROLE
178
+ restricted()
179
+ onlyOwner()
129
180
  returns (RoleId roleId, RoleId admin)
130
181
  {
131
- (roleId, admin) = _instanceAdmin.createRole(roleName, adminName);
182
+ // TODO refactor
183
+ // (roleId, admin) = _instanceAdmin.createRole(roleName, adminName);
132
184
  }
133
185
 
134
186
  function grantRole(RoleId roleId, address account)
135
187
  external
136
- // TODO decide if onlyOwner or restricted to instance owner role is better
137
- restricted // INSTANCE_OWNER_ROLE
188
+ restricted()
189
+ onlyOwner()
138
190
  {
139
- AccessManagerExtendedInitializeable(authority()).grantRole(roleId.toInt(), account, 0);
191
+ _instanceAdmin.grantRole(roleId, account);
140
192
  }
141
193
 
142
194
  function revokeRole(RoleId roleId, address account)
143
195
  external
144
- // TODO decide if onlyOwner or restricted to instance owner role is better
145
- restricted // INSTANCE_OWNER_ROLE
196
+ restricted()
197
+ onlyOwner()
146
198
  {
147
- AccessManagerExtendedInitializeable(authority()).revokeRole(roleId.toInt(), account);
199
+ // TODO refactor
200
+ // AccessManagerExtendedInitializeable(authority()).revokeRole(roleId.toInt(), account);
148
201
  }
149
202
 
150
203
  //--- Targets ------------------------------------------------------------//
151
204
 
205
+
206
+ function setTargetLocked(address target, bool locked)
207
+ external
208
+ // not restricted(): instance owner may need to be able to unlock targets on an locked instance
209
+ onlyOwner()
210
+ {
211
+ _instanceService.setTargetLocked(target, locked);
212
+ }
213
+
152
214
  function createTarget(address target, string memory name)
153
215
  external
154
- // TODO decide if onlyOwner or restricted to instance owner role is better
155
- restricted // INSTANCE_OWNER_ROLE
216
+ restricted()
217
+ onlyOwner()
156
218
  {
157
- _instanceAdmin.createTarget(target, name);
219
+ // TODO refactor
220
+ // _instanceAdmin.createTarget(target, name);
158
221
  }
159
222
 
160
223
  function setTargetFunctionRole(
@@ -163,59 +226,27 @@ contract Instance is
163
226
  RoleId roleId
164
227
  )
165
228
  external
166
- restricted // INSTANCE_OWNER_ROLE
167
- {
168
- _instanceAdmin.setTargetFunctionRoleByInstance(targetName, selectors, roleId);
169
- }
170
-
171
- function setTargetLocked(address target, bool locked)
172
- external
173
- restricted // INSTANCE_OWNER_ROLE
229
+ restricted()
230
+ onlyOwner()
174
231
  {
175
- _instanceAdmin.setTargetLockedByInstance(target, locked);
232
+ // TODO refactor
233
+ // _instanceAdmin.setTargetFunctionRoleByInstance(targetName, selectors, roleId);
176
234
  }
177
235
 
178
236
  //--- ITransferInterceptor ----------------------------------------------//
179
237
 
180
- // TODO interception of child components nfts
181
- function nftMint(address to, uint256 tokenId) external onlyChainNft {
182
- _instanceAdmin.transferInstanceOwnerRole(address(0), to);
183
- }
184
-
185
- function nftTransferFrom(address from, address to, uint256 tokenId) external onlyChainNft {
186
- _instanceAdmin.transferInstanceOwnerRole(from, to);
238
+ function nftTransferFrom(address from, address to, uint256 tokenId, address operator) external onlyChainNft {
239
+ // TODO refactor
240
+ // _instanceAdmin.transferInstanceOwnerRole(from, to);
187
241
  }
188
242
 
189
- //function nftBurn(address from, uint256 tokenId) external onlyChainNft {
190
- //_instanceAdmin.transferInstanceOwnerRole(from, address(0));
191
- //}
192
-
193
243
  //--- initial setup functions -------------------------------------------//
194
244
 
195
- function setInstanceAdmin(InstanceAdmin accessManager) external restricted {
196
- if(address(_instanceAdmin) != address(0)) {
197
- revert ErrorInstanceInstanceAdminAlreadySet(address(_instanceAdmin));
198
- }
199
- if(accessManager.authority() != authority()) {
200
- revert ErrorInstanceInstanceAdminAuthorityMismatch(authority());
201
- }
202
- _instanceAdmin = accessManager;
203
- }
204
-
205
- function setBundleManager(BundleManager bundleManager) external restricted() {
206
- if(address(_bundleManager) != address(0)) {
207
- revert ErrorInstanceBundleManagerAlreadySet(address(_bundleManager));
208
- }
209
- if(bundleManager.getInstance() != Instance(this)) {
210
- revert ErrorInstanceBundleManagerInstanceMismatch(address(this));
211
- }
212
- if(bundleManager.authority() != authority()) {
213
- revert ErrorInstanceBundleManagerAuthorityMismatch(authority());
214
- }
215
- _bundleManager = bundleManager;
216
- }
217
245
 
218
- function setInstanceReader(InstanceReader instanceReader) external restricted() {
246
+ function setInstanceReader(InstanceReader instanceReader)
247
+ external
248
+ restricted()
249
+ {
219
250
  if(instanceReader.getInstance() != Instance(this)) {
220
251
  revert ErrorInstanceInstanceReaderInstanceMismatch(address(this));
221
252
  }
@@ -223,41 +254,43 @@ contract Instance is
223
254
  _instanceReader = instanceReader;
224
255
  }
225
256
 
226
- function setInstanceStore(InstanceStore instanceStore) external restricted {
227
- if(address(_instanceStore) != address(0)) {
228
- revert ErrorInstanceInstanceStoreAlreadySet(address(_instanceStore));
229
- }
230
- if(instanceStore.authority() != authority()) {
231
- revert ErrorInstanceInstanceStoreAuthorityMismatch(authority());
232
- }
233
- _instanceStore = instanceStore;
257
+ //--- external view functions -------------------------------------------//
258
+
259
+ function isInstanceLocked() external view returns (bool) {
260
+ return _instanceAdmin.isLocked();
234
261
  }
235
262
 
236
- //--- external view functions -------------------------------------------//
263
+ function isTargetLocked(address target) external view returns (bool) {
264
+ return _instanceAdmin.isTargetLocked(target);
265
+ }
266
+
267
+ function products() external view returns (uint256 productCount) {
268
+ return _products.length;
269
+ }
270
+
271
+ function getProductNftId(uint256 idx) external view returns (NftId productNftId) {
272
+ return _products[idx];
273
+ }
237
274
 
238
275
  function getInstanceReader() external view returns (InstanceReader) {
239
276
  return _instanceReader;
240
277
  }
241
278
 
242
- function getBundleManager() external view returns (BundleManager) {
243
- return _bundleManager;
279
+ function getBundleSet() external view returns (BundleSet) {
280
+ return _bundleSet;
244
281
  }
245
282
 
246
- function getInstanceAdmin() external view returns (InstanceAdmin) {
247
- return _instanceAdmin;
283
+ function getRiskSet() external view returns (RiskSet) {
284
+ return _riskSet;
248
285
  }
249
286
 
250
- function getInstanceAccessManager() external view returns (AccessManagerExtendedInitializeable) {
251
- return AccessManagerExtendedInitializeable(authority());
287
+ function getInstanceAdmin() external view returns (InstanceAdmin) {
288
+ return _instanceAdmin;
252
289
  }
253
290
 
254
291
  function getInstanceStore() external view returns (InstanceStore) {
255
292
  return _instanceStore;
256
293
  }
257
294
 
258
- function getMajorVersion() public pure returns (VersionPart majorVersion) {
259
- return VersionPartLib.toVersionPart(GIF_MAJOR_VERSION);
260
- }
261
-
262
295
  //--- internal view/pure functions --------------------------------------//
263
296
  }