@etherisc/gif-next 0.0.2-f63e99e-607 → 0.0.2-f689687-279

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 (739) hide show
  1. package/README.md +146 -22
  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 +1379 -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/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1434 -0
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +542 -0
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  17. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  19. package/artifacts/contracts/{instance/IAccessManagerSimple.sol/IAccessManagerSimple.json → authorization/IAccessAdmin.sol/IAccessAdmin.json} +571 -523
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +350 -0
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1322 -0
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +589 -0
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1016 -0
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1501 -0
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +860 -0
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  37. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +915 -0
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  39. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +1008 -0
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1475 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +589 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2040 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +589 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  51. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1479 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +589 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1195 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1655 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +589 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2408 -0
  64. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  65. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  66. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  67. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +559 -559
  68. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  69. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +440 -161
  70. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  71. package/artifacts/contracts/instance/Instance.sol/Instance.json +409 -3004
  72. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  73. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1916 -0
  74. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  75. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +661 -0
  76. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  77. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1565 -569
  78. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  79. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +495 -361
  80. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  81. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +355 -103
  82. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  83. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3718 -0
  84. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  85. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  86. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  87. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  88. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  89. package/artifacts/contracts/instance/{AccessManagedSimple.sol/AccessManagedSimple.json → base/Cloneable.sol/Cloneable.json} +38 -2
  90. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  91. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  92. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  93. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  94. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  95. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  96. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  98. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  99. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  100. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  101. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  104. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  105. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  106. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  107. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +959 -0
  108. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  109. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +569 -0
  110. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  111. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  112. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  113. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +774 -0
  114. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  115. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +733 -0
  116. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  117. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +875 -0
  118. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  119. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +997 -0
  120. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  121. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +764 -0
  122. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  123. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1252 -0
  124. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  125. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +589 -0
  126. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  127. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1261 -0
  128. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  129. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +800 -0
  130. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  131. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → pool/IBundleService.sol/IBundleService.json} +451 -322
  132. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  133. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +907 -0
  134. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  135. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1230 -0
  136. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  137. package/artifacts/contracts/pool/Pool.sol/Pool.json +1027 -0
  138. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  139. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
  140. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  141. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1574 -0
  142. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  143. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +808 -0
  144. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  145. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +813 -0
  146. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  147. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +728 -0
  148. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  149. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1161 -0
  150. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  151. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +589 -0
  152. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  153. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1496 -0
  154. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  155. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +848 -0
  156. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  157. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IApplicationService.sol/IApplicationService.json} +287 -251
  158. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  159. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +1064 -0
  160. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  161. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +921 -0
  162. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  163. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +602 -0
  164. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  165. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +1018 -0
  166. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  167. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IRiskService.sol/IRiskService.json} +172 -185
  168. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  169. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1281 -0
  170. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  171. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +812 -0
  172. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  173. package/artifacts/contracts/product/PricingService.sol/PricingService.json +930 -0
  174. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  175. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +784 -0
  176. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  177. package/artifacts/contracts/product/Product.sol/Product.json +1119 -0
  178. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  179. package/artifacts/contracts/product/RiskService.sol/RiskService.json +637 -0
  180. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  181. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +724 -0
  182. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  183. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +72 -16
  184. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  185. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +628 -171
  186. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  187. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +391 -201
  188. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  189. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  190. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  191. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -0
  192. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  193. package/artifacts/contracts/registry/Registry.sol/Registry.json +958 -202
  194. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  195. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1928 -0
  196. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  197. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +355 -323
  198. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  199. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +340 -130
  200. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  201. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1849 -0
  202. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  203. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  204. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  205. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1333 -0
  206. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  207. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
  208. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  209. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +352 -101
  210. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  211. package/artifacts/contracts/shared/Component.sol/Component.json +707 -0
  212. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  213. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1571 -0
  214. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  215. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +820 -0
  216. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  217. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +182 -207
  218. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  219. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +541 -0
  220. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  221. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  225. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  226. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  227. package/artifacts/contracts/{instance/service/IDistributionService.sol/IDistributionService.json → shared/IComponent.sol/IComponent.json} +353 -167
  228. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  229. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1203 -0
  230. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  231. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +709 -0
  232. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  233. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +95 -14
  234. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  235. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  236. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  237. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +46 -26
  238. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  239. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  240. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  241. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +143 -15
  242. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  243. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  244. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  245. package/artifacts/contracts/shared/IService.sol/IService.json +137 -159
  246. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  247. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  248. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  249. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +797 -0
  250. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  251. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +538 -0
  252. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  253. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  254. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  255. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  256. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  257. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +81 -30
  258. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  259. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
  260. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  261. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +159 -55
  262. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  263. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  264. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  265. package/artifacts/contracts/shared/Service.sol/Service.json +156 -171
  266. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  267. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +635 -8
  268. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  269. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  270. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  271. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  272. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  273. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1447 -0
  274. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  275. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1096 -0
  276. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  277. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  278. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  279. package/artifacts/contracts/staking/Staking.sol/Staking.json +1849 -0
  280. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  281. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  282. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  283. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +788 -0
  284. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  285. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +587 -0
  286. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  287. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1301 -0
  288. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  289. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +732 -0
  290. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  291. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2283 -0
  292. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  293. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  294. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  295. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  296. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  298. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  300. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  302. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  304. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  306. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  307. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  308. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  309. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  310. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  311. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
  312. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  313. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  314. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  315. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  316. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  317. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  318. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  319. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  320. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  321. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  322. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  323. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +199 -0
  324. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  325. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +433 -0
  326. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  327. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  328. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  329. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
  330. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  331. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  332. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  333. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  334. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  335. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  336. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  337. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  338. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  339. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +548 -0
  340. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  341. package/artifacts/contracts/type/Version.sol/VersionLib.json +158 -0
  342. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  343. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +113 -0
  344. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  345. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  346. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  347. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  348. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  349. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  350. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  351. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  352. package/contracts/accounting/AccountingService.sol +262 -0
  353. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  354. package/contracts/accounting/IAccountingService.sol +45 -0
  355. package/contracts/authorization/AccessAdmin.sol +689 -0
  356. package/contracts/authorization/AccessManagerCloneable.sol +149 -0
  357. package/contracts/authorization/Authorization.sol +337 -0
  358. package/contracts/authorization/IAccess.sol +49 -0
  359. package/contracts/authorization/IAccessAdmin.sol +143 -0
  360. package/contracts/authorization/IAuthorization.sol +74 -0
  361. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  362. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  363. package/contracts/distribution/BasicDistribution.sol +139 -0
  364. package/contracts/distribution/BasicDistributionAuthorization.sol +60 -0
  365. package/contracts/distribution/Distribution.sol +287 -0
  366. package/contracts/distribution/DistributionService.sol +357 -0
  367. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  368. package/contracts/distribution/IDistributionComponent.sol +52 -0
  369. package/contracts/distribution/IDistributionService.sol +100 -0
  370. package/contracts/examples/fire/DamageLevel.sol +59 -0
  371. package/contracts/examples/fire/FirePool.sol +90 -0
  372. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  373. package/contracts/examples/fire/FireProduct.sol +438 -0
  374. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  375. package/contracts/examples/fire/FireUSD.sol +26 -0
  376. package/contracts/examples/unpermissioned/SimpleDistribution.sol +57 -0
  377. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  378. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  379. package/contracts/examples/unpermissioned/SimplePool.sol +106 -0
  380. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  381. package/contracts/examples/unpermissioned/SimpleProduct.sol +370 -0
  382. package/contracts/instance/BundleSet.sol +130 -0
  383. package/contracts/instance/IInstance.sol +56 -25
  384. package/contracts/instance/IInstanceService.sol +59 -17
  385. package/contracts/instance/Instance.sol +172 -368
  386. package/contracts/instance/InstanceAdmin.sol +442 -0
  387. package/contracts/instance/InstanceAuthorizationV3.sol +213 -0
  388. package/contracts/instance/InstanceReader.sol +398 -79
  389. package/contracts/instance/InstanceService.sol +348 -126
  390. package/contracts/instance/InstanceServiceManager.sol +14 -31
  391. package/contracts/instance/InstanceStore.sol +298 -0
  392. package/contracts/instance/RiskSet.sol +118 -0
  393. package/contracts/instance/base/BalanceStore.sol +123 -0
  394. package/contracts/instance/base/Cloneable.sol +28 -0
  395. package/contracts/instance/base/ObjectCounter.sol +20 -0
  396. package/contracts/instance/base/ObjectLifecycle.sol +113 -0
  397. package/contracts/instance/base/ObjectSet.sol +77 -0
  398. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  399. package/contracts/instance/module/IBundle.sol +8 -8
  400. package/contracts/instance/module/IComponents.sol +51 -0
  401. package/contracts/instance/module/IDistribution.sol +6 -4
  402. package/contracts/instance/module/IPolicy.sol +59 -19
  403. package/contracts/instance/module/IRisk.sol +4 -1
  404. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  405. package/contracts/oracle/BasicOracle.sol +47 -0
  406. package/contracts/oracle/BasicOracleAuthorization.sol +37 -0
  407. package/contracts/oracle/IOracle.sol +36 -0
  408. package/contracts/oracle/IOracleComponent.sol +33 -0
  409. package/contracts/oracle/IOracleService.sol +66 -0
  410. package/contracts/oracle/Oracle.sol +156 -0
  411. package/contracts/oracle/OracleService.sol +310 -0
  412. package/contracts/oracle/OracleServiceManager.sol +39 -0
  413. package/contracts/pool/BasicPool.sol +175 -0
  414. package/contracts/pool/BasicPoolAuthorization.sol +76 -0
  415. package/contracts/pool/BundleService.sol +395 -0
  416. package/contracts/pool/BundleServiceManager.sol +39 -0
  417. package/contracts/pool/IBundleService.sol +115 -0
  418. package/contracts/pool/IPoolComponent.sol +62 -0
  419. package/contracts/pool/IPoolService.sol +165 -0
  420. package/contracts/pool/Pool.sol +345 -0
  421. package/contracts/pool/PoolLib.sol +216 -0
  422. package/contracts/pool/PoolService.sol +757 -0
  423. package/contracts/pool/PoolServiceManager.sol +39 -0
  424. package/contracts/product/ApplicationService.sol +259 -0
  425. package/contracts/product/ApplicationServiceManager.sol +38 -0
  426. package/contracts/product/BasicProduct.sol +51 -0
  427. package/contracts/product/BasicProductAuthorization.sol +56 -0
  428. package/contracts/product/ClaimService.sol +632 -0
  429. package/contracts/product/ClaimServiceManager.sol +38 -0
  430. package/contracts/product/IApplicationService.sol +66 -0
  431. package/contracts/product/IClaimService.sol +135 -0
  432. package/contracts/product/IPolicyService.sol +91 -0
  433. package/contracts/product/IPricingService.sol +39 -0
  434. package/contracts/product/IProductComponent.sol +62 -0
  435. package/contracts/product/IRiskService.sol +33 -0
  436. package/contracts/product/PolicyService.sol +725 -0
  437. package/contracts/product/PolicyServiceManager.sol +39 -0
  438. package/contracts/product/PricingService.sol +304 -0
  439. package/contracts/product/PricingServiceManager.sol +39 -0
  440. package/contracts/product/Product.sol +463 -0
  441. package/contracts/product/RiskService.sol +145 -0
  442. package/contracts/product/RiskServiceManager.sol +39 -0
  443. package/contracts/registry/ChainNft.sol +82 -35
  444. package/contracts/registry/IRegistry.sol +122 -50
  445. package/contracts/registry/IRegistryService.sol +45 -16
  446. package/contracts/registry/IRelease.sol +26 -0
  447. package/contracts/registry/ITransferInterceptor.sol +1 -1
  448. package/contracts/registry/Registry.sol +545 -304
  449. package/contracts/registry/RegistryAdmin.sol +354 -0
  450. package/contracts/registry/RegistryService.sol +126 -284
  451. package/contracts/registry/RegistryServiceManager.sol +26 -53
  452. package/contracts/registry/ReleaseAdmin.sol +245 -0
  453. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  454. package/contracts/registry/ReleaseRegistry.sol +511 -0
  455. package/contracts/registry/ServiceAuthorizationV3.sol +247 -0
  456. package/contracts/registry/TokenRegistry.sol +261 -59
  457. package/contracts/shared/Component.sol +227 -0
  458. package/contracts/shared/ComponentService.sol +692 -0
  459. package/contracts/shared/ComponentServiceManager.sol +38 -0
  460. package/contracts/shared/ComponentVerifyingService.sol +128 -0
  461. package/contracts/shared/ContractLib.sol +253 -0
  462. package/contracts/shared/IComponent.sol +61 -0
  463. package/contracts/shared/IComponentService.sol +112 -0
  464. package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
  465. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  466. package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
  467. package/contracts/shared/INftOwnable.sol +15 -12
  468. package/contracts/shared/IPolicyHolder.sol +35 -0
  469. package/contracts/shared/IRegisterable.sol +25 -5
  470. package/contracts/shared/IRegistryLinked.sol +11 -0
  471. package/contracts/shared/IService.sol +13 -5
  472. package/contracts/shared/InitializableERC165.sol +27 -0
  473. package/contracts/shared/InstanceLinkedComponent.sol +197 -0
  474. package/contracts/shared/KeyValueStore.sol +131 -0
  475. package/contracts/shared/Lifecycle.sol +88 -0
  476. package/contracts/shared/NftIdSet.sol +65 -0
  477. package/contracts/shared/NftOwnable.sol +75 -84
  478. package/contracts/shared/PolicyHolder.sol +62 -0
  479. package/contracts/shared/Registerable.sol +57 -38
  480. package/contracts/shared/RegistryLinked.sol +38 -0
  481. package/contracts/shared/Service.sol +44 -33
  482. package/contracts/shared/TokenHandler.sol +326 -12
  483. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  484. package/contracts/staking/IStaking.sol +165 -0
  485. package/contracts/staking/IStakingService.sol +165 -0
  486. package/contracts/staking/StakeManagerLib.sol +224 -0
  487. package/contracts/staking/Staking.sol +526 -0
  488. package/contracts/staking/StakingLifecycle.sol +23 -0
  489. package/contracts/staking/StakingManager.sol +52 -0
  490. package/contracts/staking/StakingReader.sol +190 -0
  491. package/contracts/staking/StakingService.sol +430 -0
  492. package/contracts/staking/StakingServiceManager.sol +45 -0
  493. package/contracts/staking/StakingStore.sol +605 -0
  494. package/contracts/staking/TargetManagerLib.sol +211 -0
  495. package/contracts/{types → type}/AddressSet.sol +1 -1
  496. package/contracts/type/Amount.sol +150 -0
  497. package/contracts/{types → type}/Blocknumber.sol +27 -3
  498. package/contracts/type/ClaimId.sol +80 -0
  499. package/contracts/{types → type}/DistributorType.sol +2 -2
  500. package/contracts/{types → type}/Fee.sol +33 -23
  501. package/contracts/{types → type}/Key32.sol +2 -2
  502. package/contracts/type/Key32Set.sol +62 -0
  503. package/contracts/{types → type}/NftId.sol +28 -15
  504. package/contracts/type/NftIdSet.sol +62 -0
  505. package/contracts/type/ObjectType.sol +303 -0
  506. package/contracts/type/PayoutId.sol +82 -0
  507. package/contracts/{types → type}/Referral.sol +6 -1
  508. package/contracts/type/RequestId.sol +75 -0
  509. package/contracts/type/RiskId.sol +74 -0
  510. package/contracts/type/RoleId.sol +182 -0
  511. package/contracts/type/Seconds.sol +101 -0
  512. package/contracts/type/Selector.sol +107 -0
  513. package/contracts/{types → type}/StateId.sol +48 -4
  514. package/contracts/type/String.sol +53 -0
  515. package/contracts/{types → type}/Timestamp.sol +33 -19
  516. package/contracts/{types → type}/UFixed.sol +41 -121
  517. package/contracts/{types → type}/Version.sol +20 -7
  518. package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
  519. package/contracts/upgradeability/ProxyManager.sol +232 -0
  520. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  521. package/contracts/upgradeability/Versionable.sol +59 -0
  522. package/package.json +11 -7
  523. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  524. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -327
  525. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  526. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -618
  527. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  528. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -280
  529. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  530. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  531. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  532. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -249
  533. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  534. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  535. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  536. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -782
  537. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  538. package/artifacts/contracts/components/Product.sol/Product.json +0 -775
  539. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  540. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  541. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  542. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  543. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  544. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  545. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  546. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  547. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  548. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  549. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  550. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  551. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  552. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  553. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  554. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  555. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  556. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  557. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  558. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  559. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  560. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  561. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  562. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  563. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  564. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  565. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  566. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  567. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  568. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  569. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  570. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  571. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  572. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  573. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  574. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  575. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  576. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  577. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  578. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +0 -4
  579. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +0 -4
  580. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +0 -1132
  581. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
  582. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  583. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -917
  584. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  585. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  586. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  587. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  588. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  589. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  590. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  591. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  592. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  593. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  594. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -211
  595. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  596. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  597. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  598. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  599. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  600. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -681
  601. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  602. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -436
  603. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  604. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  605. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  606. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  607. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  608. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -820
  609. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  610. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -448
  611. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  612. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  613. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  614. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  615. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  616. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  617. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  618. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -349
  619. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  620. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
  621. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  622. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  623. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  624. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  625. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  626. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  627. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  628. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  629. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  630. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  631. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  632. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  633. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  634. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  635. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  636. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  637. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  638. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  639. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  640. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  641. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  642. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  643. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  644. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  645. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  646. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  647. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  648. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  649. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  650. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  651. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  652. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  653. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  654. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  655. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  656. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  657. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  658. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  659. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  660. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  661. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  662. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  663. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  664. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  665. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  666. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  667. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  668. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  669. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  670. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  671. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  672. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  673. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  674. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  675. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  676. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  677. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  678. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  679. package/contracts/components/BaseComponent.sol +0 -91
  680. package/contracts/components/Distribution.sol +0 -160
  681. package/contracts/components/IBaseComponent.sol +0 -25
  682. package/contracts/components/IDistributionComponent.sol +0 -44
  683. package/contracts/components/IPoolComponent.sol +0 -62
  684. package/contracts/components/IProductComponent.sol +0 -35
  685. package/contracts/components/Pool.sol +0 -243
  686. package/contracts/components/Product.sol +0 -297
  687. package/contracts/experiment/cloning/Cloner.sol +0 -47
  688. package/contracts/experiment/errors/Require.sol +0 -38
  689. package/contracts/experiment/errors/Revert.sol +0 -44
  690. package/contracts/experiment/inheritance/A.sol +0 -53
  691. package/contracts/experiment/inheritance/B.sol +0 -28
  692. package/contracts/experiment/inheritance/C.sol +0 -34
  693. package/contracts/experiment/inheritance/IA.sol +0 -13
  694. package/contracts/experiment/inheritance/IB.sol +0 -10
  695. package/contracts/experiment/inheritance/IC.sol +0 -12
  696. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  697. package/contracts/experiment/statemachine/ISM.sol +0 -25
  698. package/contracts/experiment/statemachine/SM.sol +0 -57
  699. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  700. package/contracts/experiment/types/TypeA.sol +0 -47
  701. package/contracts/experiment/types/TypeB.sol +0 -29
  702. package/contracts/instance/AccessManagedSimple.sol +0 -115
  703. package/contracts/instance/AccessManagerSimple.sol +0 -692
  704. package/contracts/instance/IAccessManagerSimple.sol +0 -391
  705. package/contracts/instance/InstanceAccessManager.sol +0 -288
  706. package/contracts/instance/base/ComponentServiceBase.sol +0 -60
  707. package/contracts/instance/base/IInstanceBase.sol +0 -23
  708. package/contracts/instance/base/KeyValueStore.sol +0 -172
  709. package/contracts/instance/base/Lifecycle.sol +0 -100
  710. package/contracts/instance/module/IAccess.sol +0 -38
  711. package/contracts/instance/module/ISetup.sol +0 -44
  712. package/contracts/instance/module/ITreasury.sol +0 -23
  713. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  714. package/contracts/instance/service/DistributionService.sol +0 -102
  715. package/contracts/instance/service/DistributionServiceManager.sol +0 -53
  716. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  717. package/contracts/instance/service/IDistributionService.sol +0 -12
  718. package/contracts/instance/service/IPoolService.sol +0 -37
  719. package/contracts/instance/service/IProductService.sol +0 -107
  720. package/contracts/instance/service/PoolService.sol +0 -208
  721. package/contracts/instance/service/PoolServiceManager.sol +0 -53
  722. package/contracts/shared/ContractDeployerLib.sol +0 -72
  723. package/contracts/shared/ERC165.sol +0 -25
  724. package/contracts/shared/ProxyManager.sol +0 -94
  725. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  726. package/contracts/shared/Versionable.sol +0 -147
  727. package/contracts/test/TestFee.sol +0 -25
  728. package/contracts/test/TestRegisterable.sol +0 -18
  729. package/contracts/test/TestRoleId.sol +0 -14
  730. package/contracts/test/TestService.sol +0 -24
  731. package/contracts/test/TestToken.sol +0 -26
  732. package/contracts/test/TestVersion.sol +0 -44
  733. package/contracts/test/TestVersionable.sol +0 -17
  734. package/contracts/types/ChainId.sol +0 -38
  735. package/contracts/types/NftIdSet.sol +0 -60
  736. package/contracts/types/NumberId.sol +0 -52
  737. package/contracts/types/ObjectType.sol +0 -152
  738. package/contracts/types/RiskId.sol +0 -43
  739. package/contracts/types/RoleId.sol +0 -89
@@ -3,70 +3,90 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
5
 
6
- import {DistributorType} from "../types/DistributorType.sol";
7
- import {Fee, FeeLib} from "../types/Fee.sol";
8
- import {Key32} from "../types/Key32.sol";
9
- import {NftId} from "../types/NftId.sol";
10
- import {ObjectType, DISTRIBUTOR, DISTRIBUTION, INSTANCE, PRODUCT, POLICY, POOL, TREASURY, BUNDLE} from "../types/ObjectType.sol";
11
- import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../types/Referral.sol";
12
- import {Registerable} from "../shared/Registerable.sol";
13
- import {RiskId} from "../types/RiskId.sol";
14
- import {UFixed, MathLib, UFixedLib} from "../types/UFixed.sol";
15
- import {Version} from "../types/Version.sol";
16
-
17
- import {IRegistry} from "../registry/IRegistry.sol";
18
6
  import {IBundle} from "../instance/module/IBundle.sol";
7
+ import {IComponents} from "../instance/module/IComponents.sol";
19
8
  import {IDistribution} from "../instance/module/IDistribution.sol";
20
9
  import {IInstance} from "./IInstance.sol";
21
- import {IKeyValueStore} from "../instance/base/IKeyValueStore.sol";
10
+ import {IKeyValueStore} from "../shared/IKeyValueStore.sol";
11
+ import {IOracle} from "../oracle/IOracle.sol";
22
12
  import {IPolicy} from "../instance/module/IPolicy.sol";
13
+ import {IRegistry} from "../registry/IRegistry.sol";
23
14
  import {IRisk} from "../instance/module/IRisk.sol";
24
- import {ISetup} from "../instance/module/ISetup.sol";
25
- import {ITreasury} from "../instance/module/ITreasury.sol";
26
- import {TimestampLib} from "../types/Timestamp.sol";
15
+ import {TimestampLib} from "../type/Timestamp.sol";
16
+
17
+ import {Amount} from "../type/Amount.sol";
18
+ import {BundleSet} from "./BundleSet.sol";
19
+ import {BUNDLE, COMPONENT, DISTRIBUTOR, DISTRIBUTION, FEE, PREMIUM, POLICY, POOL, PRODUCT} from "../type/ObjectType.sol";
20
+ import {ClaimId, ClaimIdLib} from "../type/ClaimId.sol";
21
+ import {DistributorType} from "../type/DistributorType.sol";
22
+ import {InstanceStore} from "./InstanceStore.sol";
23
+ import {Key32} from "../type/Key32.sol";
24
+ import {NftId} from "../type/NftId.sol";
25
+ import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
26
+ import {ReferralId, ReferralStatus, ReferralLib, REFERRAL_OK, REFERRAL_ERROR_UNKNOWN, REFERRAL_ERROR_EXPIRED, REFERRAL_ERROR_EXHAUSTED} from "../type/Referral.sol";
27
+ import {RequestId} from "../type/RequestId.sol";
28
+ import {RiskId} from "../type/RiskId.sol";
29
+ import {RiskSet} from "./RiskSet.sol";
30
+ import {RoleId} from "../type/RoleId.sol";
31
+ import {StateId} from "../type/StateId.sol";
32
+ import {TokenHandler} from "../shared/TokenHandler.sol";
33
+ import {UFixed, UFixedLib} from "../type/UFixed.sol";
34
+
27
35
 
28
36
 
29
37
  contract InstanceReader {
30
- bool private _initialized;
38
+
39
+ error ErrorInstanceReaderAlreadyInitialized();
40
+ error ErrorInstanceReaderInstanceAddressZero();
41
+
42
+ bool private _initialized = false;
31
43
 
32
44
  IRegistry internal _registry;
33
- NftId internal _instanceNftId;
34
45
  IInstance internal _instance;
35
- IKeyValueStore internal _store;
36
46
 
37
- constructor(
38
- address registry,
39
- NftId instanceNftId
40
- )
41
- {
42
- initialize(registry, instanceNftId);
47
+ InstanceStore internal _store;
48
+ BundleSet internal _bundleSet;
49
+ RiskSet internal _riskSet;
50
+
51
+ /// @dev This initializer needs to be called from the instance itself.
52
+ function initialize() public {
53
+ if(_initialized) {
54
+ revert ErrorInstanceReaderAlreadyInitialized();
55
+ }
56
+
57
+ initializeWithInstance(msg.sender);
43
58
  }
44
59
 
45
- function initialize(address registry, NftId instanceNftId) public {
46
- require(!_initialized, "ERROR:CRD-000:ALREADY_INITIALIZED");
60
+ function initializeWithInstance(address instanceAddress)
61
+ public
62
+ {
63
+ if(_initialized) {
64
+ revert ErrorInstanceReaderAlreadyInitialized();
65
+ }
47
66
 
48
- require(
49
- address(registry) != address(0),
50
- "ERROR:CRD-001:REGISTRY_ZERO");
67
+ _initialized = true;
68
+ _instance = IInstance(instanceAddress);
69
+ _registry = _instance.getRegistry();
51
70
 
52
- require(
53
- instanceNftId.gtz(),
54
- "ERROR:CRD-002:NFT_ID_ZERO");
71
+ _store = _instance.getInstanceStore();
72
+ _bundleSet = _instance.getBundleSet();
73
+ _riskSet = _instance.getRiskSet();
74
+ }
55
75
 
56
- _registry = IRegistry(registry);
57
- _instanceNftId = instanceNftId;
58
- IRegistry.ObjectInfo memory instanceInfo = _registry.getObjectInfo(_instanceNftId);
59
76
 
60
- require(
61
- instanceInfo.objectType == INSTANCE(),
62
- "ERROR:CRD-003:PARENT_NOT_INSTANCE");
77
+ // instance level functions
63
78
 
64
- _instance = IInstance(instanceInfo.objectAddress);
65
- _store = IKeyValueStore(instanceInfo.objectAddress);
79
+ function getRegistry() public view returns (IRegistry registry) {
80
+ return _registry;
81
+ }
66
82
 
67
- _initialized = true;
83
+ function getInstanceNftId() public view returns (NftId instanceNftid) {
84
+ return _registry.getNftIdForAddress(address(_instance));
68
85
  }
69
86
 
87
+ function getInstance() public view returns (IInstance instance) {
88
+ return _instance;
89
+ }
70
90
 
71
91
  // module specific functions
72
92
 
@@ -81,6 +101,205 @@ contract InstanceReader {
81
101
  }
82
102
  }
83
103
 
104
+ function getPolicyState(NftId policyNftId)
105
+ public
106
+ view
107
+ returns (StateId state)
108
+ {
109
+ return _store.getState(toPolicyKey(policyNftId));
110
+ }
111
+
112
+ function getPremiumInfo(NftId policyNftId)
113
+ public
114
+ view
115
+ returns (IPolicy.PremiumInfo memory info)
116
+ {
117
+ bytes memory data = _store.getData(toPremiumKey(policyNftId));
118
+ if (data.length > 0) {
119
+ return abi.decode(data, (IPolicy.PremiumInfo));
120
+ }
121
+ }
122
+
123
+ function getPremiumInfoState(NftId policyNftId)
124
+ public
125
+ view
126
+ returns (StateId state)
127
+ {
128
+ return _store.getState(toPremiumKey(policyNftId));
129
+ }
130
+
131
+ function bundles(NftId poolNftId)
132
+ public
133
+ view
134
+ returns (uint256 bundleCount)
135
+ {
136
+ return _bundleSet.bundles(poolNftId);
137
+ }
138
+
139
+ function activeBundles(NftId poolNftId)
140
+ public
141
+ view
142
+ returns (uint256 bundleCount)
143
+ {
144
+ return _bundleSet.activeBundles(poolNftId);
145
+ }
146
+
147
+ function getActiveBundleNftId(NftId poolNftId, uint256 idx)
148
+ public
149
+ view
150
+ returns (NftId bundleNftId)
151
+ {
152
+ return _bundleSet.getActiveBundleNftId(poolNftId, idx);
153
+ }
154
+
155
+ function getBundleNftId(NftId poolNftId, uint256 idx)
156
+ public
157
+ view
158
+ returns (NftId bundleNftId)
159
+ {
160
+ return _bundleSet.getBundleNftId(poolNftId, idx);
161
+ }
162
+
163
+ function getBundleState(NftId bundleNftId)
164
+ public
165
+ view
166
+ returns (StateId state)
167
+ {
168
+ return _store.getState(toBundleKey(bundleNftId));
169
+ }
170
+
171
+ /// @dev Returns true iff policy is active.
172
+ function policyIsActive(NftId policyNftId)
173
+ public
174
+ view
175
+ returns (bool isCloseable)
176
+ {
177
+ IPolicy.PolicyInfo memory info = getPolicyInfo(policyNftId);
178
+
179
+ if (info.productNftId.eqz()) { return false; } // not closeable: policy does not exist (or does not belong to this instance)
180
+ if (info.activatedAt.eqz()) { return false; } // not closeable: not yet activated
181
+ if (info.activatedAt > TimestampLib.blockTimestamp()) { return false; } // not yet active
182
+ if (info.expiredAt <= TimestampLib.blockTimestamp()) { return false; } // already expired
183
+
184
+ return true;
185
+ }
186
+
187
+ function claims(NftId policyNftId)
188
+ public
189
+ view
190
+ returns (uint16 claimCount)
191
+ {
192
+ return getPolicyInfo(policyNftId).claimsCount;
193
+ }
194
+
195
+
196
+ function getClaimId(uint idx)
197
+ public
198
+ view
199
+ returns (ClaimId claimId)
200
+ {
201
+ return ClaimIdLib.toClaimId(idx + 1);
202
+ }
203
+
204
+ function getClaimInfo(NftId policyNftId, ClaimId claimId)
205
+ public
206
+ view
207
+ returns (IPolicy.ClaimInfo memory info)
208
+ {
209
+ bytes memory data = _store.getData(claimId.toKey32(policyNftId));
210
+ if (data.length > 0) {
211
+ return abi.decode(data, (IPolicy.ClaimInfo));
212
+ }
213
+ }
214
+
215
+
216
+ function getClaimState(NftId policyNftId, ClaimId claimId)
217
+ public
218
+ view
219
+ returns (StateId state)
220
+ {
221
+ return _store.getState(claimId.toKey32(policyNftId));
222
+ }
223
+
224
+
225
+ function payouts(NftId policyNftId, ClaimId claimId)
226
+ public
227
+ view
228
+ returns (uint24 payoutCount)
229
+ {
230
+ return getClaimInfo(policyNftId, claimId).payoutsCount;
231
+ }
232
+
233
+
234
+ function getPayoutId(ClaimId claimId, uint24 idx)
235
+ public
236
+ view
237
+ returns (PayoutId payoutId)
238
+ {
239
+ return PayoutIdLib.toPayoutId(claimId, idx + 1);
240
+ }
241
+
242
+
243
+ function getRemainingClaimableAmount(NftId policyNftId)
244
+ public
245
+ view
246
+ returns (Amount remainingClaimableAmount)
247
+ {
248
+ IPolicy.PolicyInfo memory info = getPolicyInfo(policyNftId);
249
+ return info.sumInsuredAmount - info.claimAmount;
250
+ }
251
+
252
+ function getPayoutInfo(NftId policyNftId, PayoutId payoutId)
253
+ public
254
+ view
255
+ returns (IPolicy.PayoutInfo memory info)
256
+ {
257
+ bytes memory data = _store.getData(payoutId.toKey32(policyNftId));
258
+ if (data.length > 0) {
259
+ return abi.decode(data, (IPolicy.PayoutInfo));
260
+ }
261
+ }
262
+
263
+ function getPayoutState(NftId policyNftId, PayoutId payoutId)
264
+ public
265
+ view
266
+ returns (StateId state)
267
+ {
268
+ return _store.getState(payoutId.toKey32(policyNftId));
269
+ }
270
+
271
+ function risks(NftId productNftId)
272
+ public
273
+ view
274
+ returns (uint256 riskCount)
275
+ {
276
+ return _riskSet.risks(productNftId);
277
+ }
278
+
279
+ function getRiskId(NftId productNftId, uint256 idx)
280
+ public
281
+ view
282
+ returns (RiskId riskId)
283
+ {
284
+ return _riskSet.getRiskId(productNftId, idx);
285
+ }
286
+
287
+ function activeRisks(NftId productNftId)
288
+ public
289
+ view
290
+ returns (uint256 activeRiskCount)
291
+ {
292
+ return _riskSet.activeRisks(productNftId);
293
+ }
294
+
295
+ function getActiveRiskId(NftId productNftId, uint256 idx)
296
+ public
297
+ view
298
+ returns (RiskId riskId)
299
+ {
300
+ return _riskSet.getActiveRiskId(productNftId, idx);
301
+ }
302
+
84
303
  function getRiskInfo(RiskId riskId)
85
304
  public
86
305
  view
@@ -92,30 +311,68 @@ contract InstanceReader {
92
311
  }
93
312
  }
94
313
 
95
- function getTokenHandler(NftId productNftId)
314
+ function getRiskState(RiskId riskId)
315
+ public
316
+ view
317
+ returns (StateId stateId)
318
+ {
319
+ bytes memory data = _store.getData(riskId.toKey32());
320
+ return _store.getState(riskId.toKey32());
321
+ }
322
+
323
+ function policiesForRisk(RiskId riskId)
96
324
  public
97
325
  view
98
- returns (address tokenHandler)
326
+ returns (uint256 linkedPolicies)
99
327
  {
100
- bytes memory data = _store.getData(toTreasuryKey(productNftId));
328
+ return _riskSet.linkedPolicies(riskId);
329
+ }
101
330
 
102
- if (data.length > 0) {
103
- ITreasury.TreasuryInfo memory info = abi.decode(data, (ITreasury.TreasuryInfo));
104
- return address(info.tokenHandler);
331
+ function getPolicyNftIdForRisk(RiskId riskId, uint256 idx)
332
+ public
333
+ view
334
+ returns (NftId linkedPolicyNftId)
335
+ {
336
+ return _riskSet.getLinkedPolicyNftId(riskId, idx);
337
+ }
338
+
339
+
340
+ function getToken(NftId componentNftId)
341
+ public
342
+ view
343
+ returns (IERC20Metadata token)
344
+ {
345
+ TokenHandler tokenHandler = getTokenHandler(componentNftId);
346
+ if (address(tokenHandler) != address(0)) {
347
+ return tokenHandler.TOKEN();
105
348
  }
106
349
  }
107
350
 
108
- function getTreasuryInfo(NftId productNftId)
109
- public
110
- view
111
- returns (ITreasury.TreasuryInfo memory info)
351
+
352
+ function getWallet(NftId componentNftId)
353
+ public
354
+ view
355
+ returns (address wallet)
356
+ {
357
+ TokenHandler tokenHandler = getTokenHandler(componentNftId);
358
+ if (address(tokenHandler) != address(0)) {
359
+ return tokenHandler.getWallet();
360
+ }
361
+ }
362
+
363
+
364
+ function getTokenHandler(NftId componentNftId)
365
+ public
366
+ view
367
+ returns (TokenHandler tokenHandler)
112
368
  {
113
- bytes memory data = _store.getData(toTreasuryKey(productNftId));
369
+ bytes memory data = _store.getData(toComponentKey(componentNftId));
114
370
  if (data.length > 0) {
115
- return abi.decode(data, (ITreasury.TreasuryInfo));
371
+ return abi.decode(data, (IComponents.ComponentInfo)).tokenHandler;
116
372
  }
117
373
  }
118
-
374
+
375
+
119
376
  function getBundleInfo(NftId bundleNftId)
120
377
  public
121
378
  view
@@ -149,36 +406,59 @@ contract InstanceReader {
149
406
  }
150
407
  }
151
408
 
152
- function getDistributionSetupInfo(NftId distributionNftId)
409
+ function getBalanceAmount(NftId targetNftId) external view returns (Amount) {
410
+ return _store.getBalanceAmount(targetNftId);
411
+ }
412
+
413
+ function getLockedAmount(NftId targetNftId) external view returns (Amount) {
414
+ return _store.getLockedAmount(targetNftId);
415
+ }
416
+
417
+ function getFeeAmount(NftId targetNftId) external view returns (Amount) {
418
+ return _store.getFeeAmount(targetNftId);
419
+ }
420
+
421
+ function getComponentInfo(NftId componentNftId)
153
422
  public
154
423
  view
155
- returns (ISetup.DistributionSetupInfo memory info)
424
+ returns (IComponents.ComponentInfo memory info)
156
425
  {
157
- bytes memory data = _store.getData(toDistributionKey(distributionNftId));
426
+ bytes memory data = _store.getData(toComponentKey(componentNftId));
158
427
  if (data.length > 0) {
159
- return abi.decode(data, (ISetup.DistributionSetupInfo));
428
+ return abi.decode(data, (IComponents.ComponentInfo));
160
429
  }
161
430
  }
162
431
 
163
- function getPoolSetupInfo(NftId poolNftId)
432
+ function getProductInfo(NftId productNftId)
164
433
  public
165
434
  view
166
- returns (ISetup.PoolSetupInfo memory info)
435
+ returns (IComponents.ProductInfo memory info)
167
436
  {
168
- bytes memory data = _store.getData(toPoolKey(poolNftId));
437
+ bytes memory data = _store.getData(toProductKey(productNftId));
169
438
  if (data.length > 0) {
170
- return abi.decode(data, (ISetup.PoolSetupInfo));
439
+ return abi.decode(data, (IComponents.ProductInfo));
171
440
  }
172
441
  }
173
442
 
174
- function getProductSetupInfo(NftId productNftId)
443
+ function getFeeInfo(NftId productNftId)
175
444
  public
176
445
  view
177
- returns (ISetup.ProductSetupInfo memory info)
446
+ returns (IComponents.FeeInfo memory feeInfo)
178
447
  {
179
- bytes memory data = _store.getData(toProductKey(productNftId));
448
+ bytes memory data = _store.getData(toFeeKey(productNftId));
449
+ if (data.length > 0) {
450
+ return abi.decode(data, (IComponents.FeeInfo));
451
+ }
452
+ }
453
+
454
+ function getPoolInfo(NftId poolNftId)
455
+ public
456
+ view
457
+ returns (IComponents.PoolInfo memory info)
458
+ {
459
+ bytes memory data = _store.getData(toPoolKey(poolNftId));
180
460
  if (data.length > 0) {
181
- return abi.decode(data, (ISetup.ProductSetupInfo));
461
+ return abi.decode(data, (IComponents.PoolInfo));
182
462
  }
183
463
  }
184
464
 
@@ -193,6 +473,16 @@ contract InstanceReader {
193
473
  }
194
474
  }
195
475
 
476
+ function getRequestInfo(RequestId requestId)
477
+ public
478
+ view
479
+ returns (IOracle.RequestInfo memory requestInfo)
480
+ {
481
+ bytes memory data = _store.getData(requestId.toKey32());
482
+ if (data.length > 0) {
483
+ return abi.decode(data, (IOracle.RequestInfo));
484
+ }
485
+ }
196
486
 
197
487
  function getMetadata(Key32 key)
198
488
  public
@@ -202,6 +492,14 @@ contract InstanceReader {
202
492
  return _store.getMetadata(key);
203
493
  }
204
494
 
495
+ function getState(Key32 key)
496
+ public
497
+ view
498
+ returns (StateId state)
499
+ {
500
+ return _store.getMetadata(key).state;
501
+ }
502
+
205
503
 
206
504
  function toReferralId(
207
505
  NftId distributionNftId,
@@ -253,28 +551,44 @@ contract InstanceReader {
253
551
  }
254
552
 
255
553
 
256
- function toTreasuryKey(NftId productNftId) public pure returns (Key32) {
257
- return productNftId.toKey32(TREASURY());
554
+ function hasRole(address account, RoleId roleId) public view returns (bool isMember) {
555
+ return _instance.getInstanceAdmin().hasRole(account, roleId);
556
+ }
557
+
558
+
559
+ function hasAdminRole(address account, RoleId roleId) public view returns (bool isMember) {
560
+ return _instance.getInstanceAdmin().hasAdminRole(account, roleId);
258
561
  }
259
562
 
260
563
 
564
+ function isLocked(address target) public view returns (bool) {
565
+ return _instance.getInstanceAdmin().isTargetLocked(target);
566
+ }
567
+
261
568
  function toPolicyKey(NftId policyNftId) public pure returns (Key32) {
262
569
  return policyNftId.toKey32(POLICY());
263
570
  }
264
571
 
572
+ function toPremiumKey(NftId policyNftId) public pure returns (Key32) {
573
+ return policyNftId.toKey32(PREMIUM());
574
+ }
265
575
 
266
576
  function toDistributorKey(NftId distributorNftId) public pure returns (Key32) {
267
577
  return distributorNftId.toKey32(DISTRIBUTOR());
268
578
  }
269
579
 
270
- function toDistributionKey(NftId distributionNftId) public pure returns (Key32) {
271
- return distributionNftId.toKey32(DISTRIBUTION());
272
- }
273
-
274
580
  function toBundleKey(NftId poolNftId) public pure returns (Key32) {
275
581
  return poolNftId.toKey32(BUNDLE());
276
582
  }
277
583
 
584
+ function toComponentKey(NftId componentNftId) public pure returns (Key32) {
585
+ return componentNftId.toKey32(COMPONENT());
586
+ }
587
+
588
+ function toDistributionKey(NftId distributionNftId) public pure returns (Key32) {
589
+ return distributionNftId.toKey32(DISTRIBUTION());
590
+ }
591
+
278
592
  function toPoolKey(NftId poolNftId) public pure returns (Key32) {
279
593
  return poolNftId.toKey32(POOL());
280
594
  }
@@ -283,17 +597,22 @@ contract InstanceReader {
283
597
  return productNftId.toKey32(PRODUCT());
284
598
  }
285
599
 
286
- // low level function
287
- function getInstance() external view returns (IInstance instance) {
288
- return _instance;
600
+ function toFeeKey(NftId productNftId) public pure returns (Key32) {
601
+ return productNftId.toKey32(FEE());
289
602
  }
290
603
 
604
+ // low level function
605
+
291
606
  function getInstanceStore() external view returns (IKeyValueStore store) {
292
607
  return _store;
293
608
  }
294
609
 
295
- function getInstanceNftId() external view returns (NftId nftId) {
296
- return _instanceNftId;
610
+ function getBundleSet() external view returns (BundleSet bundleSet) {
611
+ return _bundleSet;
612
+ }
613
+
614
+ function getRiskSet() external view returns (RiskSet riskSet) {
615
+ return _riskSet;
297
616
  }
298
617
 
299
618
  function toUFixed(uint256 value, int8 exp) public pure returns (UFixed) {
@@ -303,4 +622,4 @@ contract InstanceReader {
303
622
  function toInt(UFixed value) public pure returns (uint256) {
304
623
  return UFixedLib.toInt(value);
305
624
  }
306
- }
625
+ }