@etherisc/gif-next 0.0.2-ff282a4-523 → 0.0.2-ffa91a6-022

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 (584) hide show
  1. package/README.md +77 -10
  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/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  20. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1224 -0
  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/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
  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 +1209 -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 +152 -598
  34. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +470 -446
  36. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  37. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +200 -112
  38. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  39. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +164 -335
  40. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  41. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +340 -109
  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 +1445 -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 +2002 -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 +1388 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +644 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1152 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1612 -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 +2389 -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 +262 -79
  72. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  73. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +274 -88
  74. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  75. package/artifacts/contracts/instance/Instance.sol/Instance.json +278 -196
  76. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  77. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2036 -0
  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 +1386 -502
  82. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  83. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +308 -239
  84. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  85. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +161 -83
  86. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  87. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1417 -536
  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 +4 -0
  91. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  92. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +0 -53
  94. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  95. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  96. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  98. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  99. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  100. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  101. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  102. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  104. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  105. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  106. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  107. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  108. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  109. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  110. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +938 -0
  111. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  112. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +632 -0
  113. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  114. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  115. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  116. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +753 -0
  117. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  118. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +733 -0
  119. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  120. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +854 -0
  121. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  122. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +997 -0
  123. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  124. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +764 -0
  125. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  126. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1231 -0
  127. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  128. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +644 -0
  129. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  130. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +333 -360
  131. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  132. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +196 -92
  133. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  134. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +215 -70
  135. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  136. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +214 -423
  137. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  138. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +509 -356
  139. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  140. package/artifacts/contracts/pool/Pool.sol/Pool.json +223 -624
  141. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  142. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
  143. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  144. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +641 -689
  145. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  146. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +202 -102
  147. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  148. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +205 -244
  149. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  150. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +170 -78
  151. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  152. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1140 -0
  153. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  154. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +644 -0
  155. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  156. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +442 -332
  157. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  158. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +204 -104
  159. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +155 -9
  161. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  162. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +327 -16
  163. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  164. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +399 -69
  165. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  166. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +195 -82
  167. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  168. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +367 -231
  169. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  170. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +100 -62
  171. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  172. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +446 -394
  173. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  174. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
  175. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  176. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +183 -115
  177. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  178. package/artifacts/contracts/product/PricingService.sol/PricingService.json +265 -318
  179. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  180. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +193 -97
  181. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  182. package/artifacts/contracts/product/Product.sol/Product.json +403 -503
  183. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  184. package/artifacts/contracts/product/RiskService.sol/RiskService.json +688 -0
  185. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  186. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +736 -0
  187. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  188. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  189. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  190. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +462 -56
  191. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  192. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +251 -127
  193. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  194. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  195. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  196. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  197. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  198. package/artifacts/contracts/registry/Registry.sol/Registry.json +905 -121
  199. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  200. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2018 -0
  201. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  202. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
  203. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  204. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +303 -245
  205. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  206. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +159 -81
  207. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  208. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1954 -0
  209. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  210. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  211. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  212. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1337 -0
  213. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  214. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
  215. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  216. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +315 -139
  217. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  218. package/artifacts/contracts/shared/Component.sol/Component.json +109 -296
  219. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  220. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1172 -247
  221. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  222. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +816 -0
  223. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  224. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +485 -0
  225. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  226. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +597 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  229. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  230. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  231. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  232. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  233. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  234. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +116 -141
  235. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  236. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1196 -0
  237. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  238. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +688 -0
  239. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  240. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +46 -14
  241. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  242. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  243. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  244. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +23 -1
  245. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  246. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +16 -30
  247. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  248. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +154 -0
  249. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  250. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  251. package/artifacts/contracts/shared/IService.sol/IService.json +74 -2
  252. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  253. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  254. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  255. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +776 -0
  256. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  257. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +538 -0
  258. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  259. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  260. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  261. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  262. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  263. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +26 -55
  264. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  265. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +20 -124
  266. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  267. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +129 -90
  268. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  269. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  270. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  271. package/artifacts/contracts/shared/Service.sol/Service.json +67 -102
  272. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  273. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +615 -6
  274. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  275. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  276. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  277. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  278. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  279. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1301 -119
  280. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  281. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +684 -62
  282. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  283. package/artifacts/contracts/staking/Staking.sol/Staking.json +1567 -176
  284. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  285. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
  286. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  287. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  288. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  289. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +232 -63
  290. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  291. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +560 -0
  292. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  293. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +762 -179
  294. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  295. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +177 -73
  296. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  297. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2297 -0
  298. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  299. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +617 -0
  300. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  301. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  302. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  303. package/artifacts/contracts/type/Amount.sol/AmountLib.json +121 -4
  304. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  305. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +53 -2
  306. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  308. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  309. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  310. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  311. package/artifacts/contracts/type/Fee.sol/FeeLib.json +39 -34
  312. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  313. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  314. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  315. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  316. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +66 -4
  318. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  319. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  320. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +153 -4
  322. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  324. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  326. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  327. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  328. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  330. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +283 -6
  332. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +124 -2
  334. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  335. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
  336. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  337. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  338. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  340. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  341. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  342. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  343. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
  344. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +71 -2
  346. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  347. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  348. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  349. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +120 -2
  350. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  351. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  352. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  353. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  354. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  355. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  356. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  357. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  358. package/contracts/accounting/AccountingService.sol +262 -0
  359. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  360. package/contracts/accounting/IAccountingService.sol +45 -0
  361. package/contracts/authorization/AccessAdmin.sol +704 -0
  362. package/contracts/authorization/AccessAdminLib.sol +183 -0
  363. package/contracts/authorization/AccessManagerCloneable.sol +158 -0
  364. package/contracts/authorization/Authorization.sol +365 -0
  365. package/contracts/authorization/IAccess.sol +49 -0
  366. package/contracts/authorization/IAccessAdmin.sol +170 -0
  367. package/contracts/authorization/IAuthorization.sol +80 -0
  368. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  369. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  370. package/contracts/distribution/BasicDistribution.sol +141 -0
  371. package/contracts/distribution/BasicDistributionAuthorization.sol +60 -0
  372. package/contracts/distribution/Distribution.sol +134 -175
  373. package/contracts/distribution/DistributionService.sol +233 -197
  374. package/contracts/distribution/DistributionServiceManager.sol +13 -25
  375. package/contracts/distribution/IDistributionComponent.sol +22 -50
  376. package/contracts/distribution/IDistributionService.sol +45 -29
  377. package/contracts/examples/fire/DamageLevel.sol +59 -0
  378. package/contracts/examples/fire/FirePool.sol +86 -0
  379. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  380. package/contracts/examples/fire/FireProduct.sol +433 -0
  381. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  382. package/contracts/examples/fire/FireUSD.sol +26 -0
  383. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  384. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  385. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  386. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  387. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  388. package/contracts/examples/unpermissioned/SimpleProduct.sol +373 -0
  389. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  390. package/contracts/instance/BundleSet.sol +130 -0
  391. package/contracts/instance/IInstance.sol +76 -48
  392. package/contracts/instance/IInstanceService.sol +48 -37
  393. package/contracts/instance/Instance.sol +195 -128
  394. package/contracts/instance/InstanceAdmin.sol +450 -0
  395. package/contracts/instance/InstanceAuthorizationV3.sol +235 -0
  396. package/contracts/instance/InstanceReader.sol +358 -76
  397. package/contracts/instance/InstanceService.sol +327 -173
  398. package/contracts/instance/InstanceServiceManager.sol +14 -29
  399. package/contracts/instance/InstanceStore.sol +151 -64
  400. package/contracts/instance/RiskSet.sol +118 -0
  401. package/contracts/instance/base/BalanceStore.sol +123 -0
  402. package/contracts/instance/base/Cloneable.sol +2 -25
  403. package/contracts/instance/base/ObjectCounter.sol +20 -0
  404. package/contracts/instance/base/ObjectLifecycle.sol +113 -0
  405. package/contracts/instance/base/ObjectSet.sol +77 -0
  406. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  407. package/contracts/instance/module/IBundle.sol +1 -4
  408. package/contracts/instance/module/IComponents.sol +24 -15
  409. package/contracts/instance/module/IDistribution.sol +5 -3
  410. package/contracts/instance/module/IPolicy.sol +33 -26
  411. package/contracts/instance/module/IRisk.sol +3 -0
  412. package/contracts/mock/Dip.sol +26 -0
  413. package/contracts/oracle/BasicOracle.sol +45 -0
  414. package/contracts/oracle/BasicOracleAuthorization.sol +37 -0
  415. package/contracts/oracle/IOracle.sol +36 -0
  416. package/contracts/oracle/IOracleComponent.sol +33 -0
  417. package/contracts/oracle/IOracleService.sol +66 -0
  418. package/contracts/oracle/Oracle.sol +154 -0
  419. package/contracts/oracle/OracleService.sol +310 -0
  420. package/contracts/oracle/OracleServiceManager.sol +39 -0
  421. package/contracts/pool/BasicPool.sol +173 -0
  422. package/contracts/pool/BasicPoolAuthorization.sol +76 -0
  423. package/contracts/pool/BundleService.sol +237 -224
  424. package/contracts/pool/BundleServiceManager.sol +13 -25
  425. package/contracts/pool/IBundleService.sol +35 -38
  426. package/contracts/pool/IPoolComponent.sol +23 -75
  427. package/contracts/pool/IPoolService.sol +107 -56
  428. package/contracts/pool/Pool.sol +209 -168
  429. package/contracts/pool/PoolLib.sol +216 -0
  430. package/contracts/pool/PoolService.sol +608 -256
  431. package/contracts/pool/PoolServiceManager.sol +12 -24
  432. package/contracts/product/ApplicationService.sol +173 -85
  433. package/contracts/product/ApplicationServiceManager.sol +12 -9
  434. package/contracts/product/BasicProduct.sol +49 -0
  435. package/contracts/product/BasicProductAuthorization.sol +56 -0
  436. package/contracts/product/ClaimService.sol +373 -183
  437. package/contracts/product/ClaimServiceManager.sol +12 -9
  438. package/contracts/product/IApplicationService.sol +10 -3
  439. package/contracts/product/IClaimService.sol +48 -6
  440. package/contracts/product/IPolicyService.sol +54 -39
  441. package/contracts/product/IPricingService.sol +14 -11
  442. package/contracts/product/IProductComponent.sol +31 -10
  443. package/contracts/product/IRiskService.sol +33 -0
  444. package/contracts/product/PolicyService.sol +522 -234
  445. package/contracts/product/PolicyServiceLib.sol +65 -0
  446. package/contracts/product/PolicyServiceManager.sol +12 -27
  447. package/contracts/product/PricingService.sol +117 -83
  448. package/contracts/product/PricingServiceManager.sol +12 -24
  449. package/contracts/product/Product.sol +236 -148
  450. package/contracts/product/RiskService.sol +154 -0
  451. package/contracts/product/RiskServiceManager.sol +39 -0
  452. package/contracts/registry/ChainNft.sol +72 -39
  453. package/contracts/registry/IRegistry.sol +90 -34
  454. package/contracts/registry/IRegistryService.sol +28 -35
  455. package/contracts/registry/IRelease.sol +26 -0
  456. package/contracts/registry/ITransferInterceptor.sol +1 -2
  457. package/contracts/registry/Registry.sol +444 -219
  458. package/contracts/registry/RegistryAdmin.sol +258 -0
  459. package/contracts/registry/RegistryAuthorization.sol +267 -0
  460. package/contracts/registry/RegistryService.sol +74 -137
  461. package/contracts/registry/RegistryServiceManager.sol +23 -30
  462. package/contracts/registry/ReleaseAdmin.sol +253 -0
  463. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  464. package/contracts/registry/ReleaseRegistry.sol +517 -0
  465. package/contracts/registry/ServiceAuthorizationV3.sol +331 -0
  466. package/contracts/registry/TokenRegistry.sol +261 -64
  467. package/contracts/shared/Component.sol +122 -183
  468. package/contracts/shared/ComponentService.sol +655 -97
  469. package/contracts/shared/ComponentServiceManager.sol +38 -0
  470. package/contracts/shared/ComponentVerifyingService.sol +128 -0
  471. package/contracts/shared/ContractLib.sol +281 -0
  472. package/contracts/shared/IComponent.sol +17 -49
  473. package/contracts/shared/IComponentService.sol +112 -0
  474. package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
  475. package/contracts/{instance/base → shared}/IKeyValueStore.sol +7 -6
  476. package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
  477. package/contracts/shared/INftOwnable.sol +3 -1
  478. package/contracts/shared/IPolicyHolder.sol +12 -17
  479. package/contracts/shared/IRegisterable.sol +23 -1
  480. package/contracts/shared/IService.sol +11 -6
  481. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +12 -4
  482. package/contracts/shared/InstanceLinkedComponent.sol +195 -0
  483. package/contracts/{instance/base → shared}/KeyValueStore.sol +36 -74
  484. package/contracts/shared/Lifecycle.sol +88 -0
  485. package/contracts/shared/NftIdSet.sol +65 -0
  486. package/contracts/shared/NftOwnable.sol +33 -24
  487. package/contracts/shared/PolicyHolder.sol +18 -50
  488. package/contracts/shared/Registerable.sol +54 -23
  489. package/contracts/shared/RegistryLinked.sol +9 -14
  490. package/contracts/shared/Service.sol +33 -40
  491. package/contracts/shared/TokenHandler.sol +320 -13
  492. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  493. package/contracts/staking/IStaking.sol +166 -6
  494. package/contracts/staking/IStakingService.sol +107 -40
  495. package/contracts/staking/Staking.sol +509 -27
  496. package/contracts/staking/StakingLib.sol +281 -0
  497. package/contracts/staking/StakingLifecycle.sol +23 -0
  498. package/contracts/staking/StakingManager.sol +24 -16
  499. package/contracts/staking/StakingReader.sol +180 -0
  500. package/contracts/staking/StakingService.sol +308 -48
  501. package/contracts/staking/StakingServiceManager.sol +12 -8
  502. package/contracts/staking/StakingStore.sol +606 -0
  503. package/contracts/staking/TargetManagerLib.sol +211 -0
  504. package/contracts/type/AddressSet.sol +1 -1
  505. package/contracts/type/Amount.sol +44 -3
  506. package/contracts/type/Blocknumber.sol +26 -3
  507. package/contracts/type/ClaimId.sol +6 -1
  508. package/contracts/type/Fee.sol +17 -16
  509. package/contracts/type/Key32.sol +2 -2
  510. package/contracts/type/Key32Set.sol +62 -0
  511. package/contracts/type/NftId.sol +21 -16
  512. package/contracts/type/NftIdSet.sol +1 -1
  513. package/contracts/type/ObjectType.sol +191 -63
  514. package/contracts/type/PayoutId.sol +10 -10
  515. package/contracts/type/Referral.sol +2 -1
  516. package/contracts/type/RequestId.sol +75 -0
  517. package/contracts/type/RiskId.sol +39 -7
  518. package/contracts/type/RoleId.sol +118 -68
  519. package/contracts/type/Seconds.sol +48 -1
  520. package/contracts/type/Selector.sol +107 -0
  521. package/contracts/type/StateId.sol +41 -2
  522. package/contracts/type/String.sol +53 -0
  523. package/contracts/type/Timestamp.sol +16 -7
  524. package/contracts/type/UFixed.sol +40 -121
  525. package/contracts/type/Version.sol +58 -7
  526. package/contracts/{shared → upgradeability}/ProxyManager.sol +90 -27
  527. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  528. package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
  529. package/package.json +12 -8
  530. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  531. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
  532. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  533. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1348
  534. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  535. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -124
  536. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  537. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  538. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  539. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -581
  540. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  541. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
  542. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  543. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
  544. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  545. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -237
  546. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  547. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  548. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  549. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  550. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  551. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -864
  552. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  553. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -640
  554. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  555. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  556. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  557. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -620
  558. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  559. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  560. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  561. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  562. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  563. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  564. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -569
  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/type/UFixed.sol/MathLib.dbg.json +0 -4
  569. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -10
  570. package/contracts/instance/BundleManager.sol +0 -126
  571. package/contracts/instance/InstanceAccessManager.sol +0 -543
  572. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -308
  573. package/contracts/instance/base/Lifecycle.sol +0 -121
  574. package/contracts/instance/base/ObjectManager.sol +0 -82
  575. package/contracts/instance/module/IAccess.sol +0 -54
  576. package/contracts/instance/module/ISetup.sol +0 -33
  577. package/contracts/instance/module/ITreasury.sol +0 -23
  578. package/contracts/product/IProductService.sol +0 -40
  579. package/contracts/product/ProductService.sol +0 -210
  580. package/contracts/product/ProductServiceManager.sol +0 -54
  581. package/contracts/registry/RegistryAccessManager.sol +0 -207
  582. package/contracts/registry/ReleaseManager.sol +0 -360
  583. package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +0 -13
  584. /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
@@ -1,58 +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 {Key32} from "../type/Key32.sol";
7
- import {NftId} from "../type/NftId.sol";
8
- import {RiskId} from "../type/RiskId.sol";
9
- import {ObjectType, BUNDLE, DISTRIBUTION, INSTANCE, POLICY, POOL, ROLE, PRODUCT, TARGET, COMPONENT, DISTRIBUTOR, DISTRIBUTOR_TYPE} from "../type/ObjectType.sol";
10
- import {RoleId, RoleIdLib, eqRoleId, ADMIN_ROLE, INSTANCE_ROLE, INSTANCE_OWNER_ROLE} from "../type/RoleId.sol";
11
- import {VersionPart, VersionPartLib} from "../type/Version.sol";
12
- import {ClaimId} from "../type/ClaimId.sol";
13
- import {ReferralId} from "../type/Referral.sol";
14
- import {PayoutId} from "../type/PayoutId.sol";
15
- import {DistributorType} from "../type/DistributorType.sol";
16
-
17
- import {Registerable} from "../shared/Registerable.sol";
18
- import {TokenHandler} from "../shared/TokenHandler.sol";
19
-
4
+ import {IInstance} from "./IInstance.sol";
5
+ import {IComponentService} from "../shared/IComponentService.sol";
6
+ import {IInstanceService} from "./IInstanceService.sol";
20
7
  import {IRegistry} from "../registry/IRegistry.sol";
21
8
 
22
- import {IInstance} from "./IInstance.sol";
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";
23
13
  import {InstanceReader} from "./InstanceReader.sol";
24
- import {InstanceAccessManager} from "./InstanceAccessManager.sol";
25
- import {BundleManager} from "./BundleManager.sol";
14
+ import {InstanceAdmin} from "./InstanceAdmin.sol";
26
15
  import {InstanceStore} from "./InstanceStore.sol";
27
-
28
- import {KeyValueStore} from "./base/KeyValueStore.sol";
29
-
30
- import {IBundle} from "./module/IBundle.sol";
31
- import {IComponents} from "./module/IComponents.sol";
32
- import {IDistribution} from "./module/IDistribution.sol";
33
- import {IPolicy} from "./module/IPolicy.sol";
34
- import {IRisk} from "./module/IRisk.sol";
35
- import {ISetup} from "./module/ISetup.sol";
36
-
37
- import {IDistributionService} from "../distribution/IDistributionService.sol";
38
- import {IPoolService} from "../pool/IPoolService.sol";
39
- import {IProductService} from "../product/IProductService.sol";
40
- import {IPolicyService} from "../product/IPolicyService.sol";
41
- import {IBundleService} from "../pool/IBundleService.sol";
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";
42
22
 
43
23
  contract Instance is
44
24
  IInstance,
45
- AccessManagedUpgradeable,
46
25
  Registerable
47
26
  {
48
- uint256 public constant GIF_MAJOR_VERSION = 3;
49
-
50
27
  bool private _initialized;
51
28
 
52
- InstanceAccessManager internal _accessManager;
29
+ IComponentService internal _componentService;
30
+ IInstanceService internal _instanceService;
31
+
32
+ InstanceAdmin internal _instanceAdmin;
53
33
  InstanceReader internal _instanceReader;
54
- BundleManager internal _bundleManager;
34
+ BundleSet internal _bundleSet;
35
+ RiskSet internal _riskSet;
55
36
  InstanceStore internal _instanceStore;
37
+ NftId [] internal _products;
56
38
 
57
39
  modifier onlyChainNft() {
58
40
  if(msg.sender != getRegistry().getChainNftAddress()) {
@@ -61,53 +43,181 @@ contract Instance is
61
43
  _;
62
44
  }
63
45
 
64
- 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
+ )
65
56
  external
66
57
  initializer()
67
58
  {
68
- if(authority == address(0)) {
69
- revert ErrorInstanceInstanceAccessManagerZero();
59
+ if(address(instanceAdmin) == address(0)) {
60
+ revert ErrorInstanceInstanceAdminZero();
70
61
  }
71
62
 
72
- __AccessManaged_init(authority);
73
-
74
- IRegistry registry = IRegistry(registryAddress);
75
- 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));
91
+
92
+ _instanceService = IInstanceService(
93
+ getRegistry().getServiceAddress(
94
+ INSTANCE(),
95
+ release));
96
+
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, address token)
122
+ external
123
+ restricted()
124
+ onlyOwner()
125
+ returns (NftId productNftId)
126
+ {
127
+ productNftId = _componentService.registerProduct(product, token);
128
+ _products.push(productNftId);
129
+ }
130
+
131
+ //--- Staking ----------------------------------------------------------//
132
+
133
+ function setStakingLockingPeriod(Seconds stakeLockingPeriod)
134
+ external
135
+ restricted()
136
+ onlyOwner()
137
+ {
138
+ _instanceService.setStakingLockingPeriod(stakeLockingPeriod);
139
+ }
140
+
141
+ function setStakingRewardRate(UFixed rewardRate)
142
+ external
143
+ restricted()
144
+ onlyOwner()
145
+ {
146
+ _instanceService.setStakingRewardRate(rewardRate);
147
+ }
148
+
149
+ function setStakingMaxAmount(Amount maxStakedAmount)
150
+ external
151
+ onlyOwner()
152
+ {
153
+ _instanceService.setStakingMaxAmount(maxStakedAmount);
154
+ }
155
+
156
+ function refillStakingRewardReserves(Amount dipAmount)
157
+ external
158
+ restricted()
159
+ onlyOwner()
160
+ {
161
+ address instanceOwner = msg.sender;
162
+ _instanceService.refillStakingRewardReserves(instanceOwner, dipAmount);
163
+ }
76
164
 
77
- registerInterface(type(IInstance).interfaceId);
165
+ function withdrawStakingRewardReserves(Amount dipAmount)
166
+ external
167
+ restricted()
168
+ onlyOwner()
169
+ returns (Amount newBalance)
170
+ {
171
+ return _instanceService.withdrawStakingRewardReserves(dipAmount);
78
172
  }
79
173
 
80
174
  //--- Roles ------------------------------------------------------------//
81
175
 
82
176
  function createRole(string memory roleName, string memory adminName)
83
177
  external
84
- restricted // INSTANCE_OWNER_ROLE
178
+ restricted()
179
+ onlyOwner()
85
180
  returns (RoleId roleId, RoleId admin)
86
181
  {
87
- (roleId, admin) = _accessManager.createRole(roleName, adminName);
182
+ // TODO refactor
183
+ // (roleId, admin) = _instanceAdmin.createRole(roleName, adminName);
88
184
  }
89
185
 
90
186
  function grantRole(RoleId roleId, address account)
91
187
  external
92
- restricted // INSTANCE_OWNER_ROLE
188
+ restricted()
189
+ onlyOwner()
93
190
  {
94
- _accessManager.grantRole(roleId, account);
191
+ _instanceAdmin.grantRole(roleId, account);
95
192
  }
96
193
 
97
194
  function revokeRole(RoleId roleId, address account)
98
195
  external
99
- restricted // INSTANCE_OWNER_ROLE
196
+ restricted()
197
+ onlyOwner()
100
198
  {
101
- _accessManager.revokeRole(roleId, account);
199
+ // TODO refactor
200
+ // AccessManagerExtendedInitializeable(authority()).revokeRole(roleId.toInt(), account);
102
201
  }
103
202
 
104
203
  //--- Targets ------------------------------------------------------------//
105
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
+
106
214
  function createTarget(address target, string memory name)
107
215
  external
108
- restricted // INSTANCE_OWNER_ROLE
216
+ restricted()
217
+ onlyOwner()
109
218
  {
110
- _accessManager.createTarget(target, name);
219
+ // TODO refactor
220
+ // _instanceAdmin.createTarget(target, name);
111
221
  }
112
222
 
113
223
  function setTargetFunctionRole(
@@ -116,56 +226,27 @@ contract Instance is
116
226
  RoleId roleId
117
227
  )
118
228
  external
119
- restricted // INSTANCE_OWNER_ROLE
120
- {
121
- _accessManager.setTargetFunctionRole(targetName, selectors, roleId);
122
- }
123
-
124
- function setTargetLocked(address target, bool locked)
125
- external
126
- restricted // INSTANCE_OWNER_ROLE
229
+ restricted()
230
+ onlyOwner()
127
231
  {
128
- _accessManager.setTargetLockedByInstance(target, locked);
232
+ // TODO refactor
233
+ // _instanceAdmin.setTargetFunctionRoleByInstance(targetName, selectors, roleId);
129
234
  }
130
235
 
131
- //--- ITransferInterceptor ------------------------------------------------------------//
132
-
133
- function nftMint(address to, uint256 tokenId) external onlyChainNft {
134
- assert(_accessManager.roleMembers(INSTANCE_OWNER_ROLE()) == 0);// temp
135
- assert(_accessManager.grantRole(INSTANCE_OWNER_ROLE(), to) == true);
136
- }
236
+ //--- ITransferInterceptor ----------------------------------------------//
137
237
 
138
- function nftTransferFrom(address from, address to, uint256 tokenId) external onlyChainNft {
139
- assert(_accessManager.revokeRole(INSTANCE_OWNER_ROLE(), from) == true);
140
- assert(_accessManager.grantRole(INSTANCE_OWNER_ROLE(), to) == true);
238
+ function nftTransferFrom(address from, address to, uint256 tokenId, address operator) external onlyChainNft {
239
+ // TODO refactor
240
+ // _instanceAdmin.transferInstanceOwnerRole(from, to);
141
241
  }
142
242
 
143
243
  //--- initial setup functions -------------------------------------------//
144
244
 
145
- function setInstanceAccessManager(InstanceAccessManager accessManager) external restricted {
146
- if(address(_accessManager) != address(0)) {
147
- revert ErrorInstanceInstanceAccessManagerAlreadySet(address(_accessManager));
148
- }
149
- if(accessManager.authority() != authority()) {
150
- revert ErrorInstanceInstanceAccessManagerAuthorityMismatch(authority());
151
- }
152
- _accessManager = accessManager;
153
- }
154
-
155
- function setBundleManager(BundleManager bundleManager) external restricted() {
156
- if(address(_bundleManager) != address(0)) {
157
- revert ErrorInstanceBundleManagerAlreadySet(address(_bundleManager));
158
- }
159
- if(bundleManager.getInstance() != Instance(this)) {
160
- revert ErrorInstanceBundleManagerInstanceMismatch(address(this));
161
- }
162
- if(bundleManager.authority() != authority()) {
163
- revert ErrorInstanceBundleManagerAuthorityMismatch(authority());
164
- }
165
- _bundleManager = bundleManager;
166
- }
167
245
 
168
- function setInstanceReader(InstanceReader instanceReader) external restricted() {
246
+ function setInstanceReader(InstanceReader instanceReader)
247
+ external
248
+ restricted()
249
+ {
169
250
  if(instanceReader.getInstance() != Instance(this)) {
170
251
  revert ErrorInstanceInstanceReaderInstanceMismatch(address(this));
171
252
  }
@@ -175,54 +256,40 @@ contract Instance is
175
256
 
176
257
  //--- external view functions -------------------------------------------//
177
258
 
178
- function getInstanceReader() external view returns (InstanceReader) {
179
- return _instanceReader;
180
- }
181
-
182
- function getBundleManager() external view returns (BundleManager) {
183
- return _bundleManager;
184
- }
185
-
186
- function getInstanceAccessManager() external view returns (InstanceAccessManager) {
187
- return _accessManager;
259
+ function isInstanceLocked() external view returns (bool) {
260
+ return _instanceAdmin.isLocked();
188
261
  }
189
262
 
190
- function setInstanceStore(InstanceStore instanceStore) external restricted {
191
- if(address(_instanceStore) != address(0)) {
192
- revert ErrorInstanceInstanceStoreAlreadySet(address(_instanceStore));
193
- }
194
- if(instanceStore.authority() != authority()) {
195
- revert ErrorInstanceInstanceStoreAuthorityMismatch(authority());
196
- }
197
- _instanceStore = instanceStore;
263
+ function isTargetLocked(address target) external view returns (bool) {
264
+ return _instanceAdmin.isTargetLocked(target);
198
265
  }
199
266
 
200
- function getInstanceStore() external view returns (InstanceStore) {
201
- return _instanceStore;
267
+ function products() external view returns (uint256 productCount) {
268
+ return _products.length;
202
269
  }
203
270
 
204
- function getMajorVersion() external pure returns (VersionPart majorVersion) {
205
- return VersionPartLib.toVersionPart(GIF_MAJOR_VERSION);
271
+ function getProductNftId(uint256 idx) external view returns (NftId productNftId) {
272
+ return _products[idx];
206
273
  }
207
274
 
208
- function getDistributionService() external view returns (IDistributionService) {
209
- return IDistributionService(getRegistry().getServiceAddress(DISTRIBUTION(), VersionPart.wrap(3)));
275
+ function getInstanceReader() external view returns (InstanceReader) {
276
+ return _instanceReader;
210
277
  }
211
278
 
212
- function getProductService() external view returns (IProductService) {
213
- return IProductService(getRegistry().getServiceAddress(PRODUCT(), VersionPart.wrap(3)));
279
+ function getBundleSet() external view returns (BundleSet) {
280
+ return _bundleSet;
214
281
  }
215
282
 
216
- function getPoolService() external view returns (IPoolService) {
217
- return IPoolService(getRegistry().getServiceAddress(POOL(), VersionPart.wrap(3)));
283
+ function getRiskSet() external view returns (RiskSet) {
284
+ return _riskSet;
218
285
  }
219
286
 
220
- function getPolicyService() external view returns (IPolicyService) {
221
- return IPolicyService(getRegistry().getServiceAddress(POLICY(), VersionPart.wrap(3)));
287
+ function getInstanceAdmin() external view returns (InstanceAdmin) {
288
+ return _instanceAdmin;
222
289
  }
223
290
 
224
- function getBundleService() external view returns (IBundleService) {
225
- return IBundleService(getRegistry().getServiceAddress(BUNDLE(), VersionPart.wrap(3)));
291
+ function getInstanceStore() external view returns (InstanceStore) {
292
+ return _instanceStore;
226
293
  }
227
294
 
228
295
  //--- internal view/pure functions --------------------------------------//