@etherisc/gif-next 0.0.2-8d47fa1-080 → 0.0.2-8d69bcd-543

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 (800) hide show
  1. package/README.md +252 -21
  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 +1341 -0
  10. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
  11. package/artifacts/contracts/{shared/IOwnable.sol/IOwnable.json → authorization/AccessAdmin.sol/IAccessManagedChecker.json} +4 -4
  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 +508 -0
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  17. package/artifacts/contracts/{instance/module/access → authorization}/IAccess.sol/IAccess.json +1 -1
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1092 -0
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +324 -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 +1338 -0
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +527 -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 +1487 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +555 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2048 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +527 -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 +1495 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +527 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1211 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1663 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +555 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2416 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +527 -0
  66. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  67. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  68. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  69. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +364 -1783
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  71. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +759 -0
  72. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  73. package/artifacts/contracts/instance/Instance.sol/Instance.json +441 -2076
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  75. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1862 -0
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  77. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +631 -0
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  79. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +2339 -0
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  81. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1025 -0
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  83. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +744 -0
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  85. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3718 -0
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  87. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  88. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  89. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  90. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  91. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +137 -0
  92. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  93. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  94. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  95. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  96. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  98. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  99. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  100. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  101. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  102. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  103. package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/IComponents.sol/IComponents.json} +2 -2
  104. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  105. package/artifacts/contracts/instance/module/{distribution/IDistribution.sol → IDistribution.sol}/IDistribution.json +1 -1
  106. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  107. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  108. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  109. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  110. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  111. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  112. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  113. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +975 -0
  114. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  115. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +535 -0
  116. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  117. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  118. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  119. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +774 -0
  120. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  121. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +733 -0
  122. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  123. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +875 -0
  124. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  125. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +997 -0
  126. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  127. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +764 -0
  128. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  129. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1252 -0
  130. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  131. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +555 -0
  132. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  133. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1367 -0
  134. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  135. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +820 -0
  136. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  137. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +946 -0
  138. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  139. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +907 -0
  140. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  141. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1309 -0
  142. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  143. package/artifacts/contracts/pool/Pool.sol/Pool.json +1027 -0
  144. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  145. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1626 -0
  146. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  147. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +792 -0
  148. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  149. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +813 -0
  150. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  151. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +728 -0
  152. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  153. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1161 -0
  154. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  155. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +527 -0
  156. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  157. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1538 -0
  158. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  159. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +860 -0
  160. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  161. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +262 -339
  162. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  163. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +1082 -0
  164. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  165. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +968 -0
  166. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  167. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +602 -0
  168. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  169. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +1018 -0
  170. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  171. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → product/IRiskService.sol/IRiskService.json} +218 -158
  172. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  173. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1336 -0
  174. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  175. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +816 -0
  176. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  177. package/artifacts/contracts/product/PricingService.sol/PricingService.json +930 -0
  178. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  179. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +784 -0
  180. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  181. package/artifacts/contracts/product/Product.sol/Product.json +1119 -0
  182. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  183. package/artifacts/contracts/product/RiskService.sol/RiskService.json +637 -0
  184. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  185. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +724 -0
  186. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  187. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +103 -2
  188. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  189. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +810 -171
  190. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  191. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +561 -186
  192. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  193. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  194. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  195. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -0
  196. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  197. package/artifacts/contracts/registry/Registry.sol/Registry.json +1016 -148
  198. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  199. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1861 -0
  200. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  201. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +625 -217
  202. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  203. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +735 -0
  204. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  205. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1795 -0
  206. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  207. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  208. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  209. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1325 -0
  210. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  211. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
  212. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  213. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +661 -0
  214. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  215. package/artifacts/contracts/shared/Component.sol/Component.json +707 -0
  216. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  217. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1597 -0
  218. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  219. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +824 -0
  220. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  221. package/artifacts/contracts/{instance/base/ServiceBase.sol/ServiceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +255 -150
  222. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +541 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  225. package/artifacts/contracts/{instance/IInstanceLinked.sol/IInstanceLinked.json → shared/ContractLib.sol/IInstanceAdminHelper.json} +5 -5
  226. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  229. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  230. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  231. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +632 -0
  232. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  233. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1221 -0
  234. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  235. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +709 -0
  236. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  237. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +122 -172
  238. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  239. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  240. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  241. package/artifacts/contracts/{instance/module/component/ComponentModule.sol/ComponentModule.json → shared/INftOwnable.sol/INftOwnable.json} +82 -52
  242. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  243. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  244. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  245. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +213 -8
  246. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  247. package/artifacts/contracts/{registry → shared}/IRegistryLinked.sol/IRegistryLinked.json +13 -2
  248. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  249. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → shared/IService.sol/IService.json} +189 -179
  250. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  251. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  252. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  253. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +797 -0
  254. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  255. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +538 -0
  256. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  257. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  258. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  259. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  260. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  261. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +209 -0
  262. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  263. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
  264. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  265. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +226 -8
  266. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  267. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  268. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  269. package/artifacts/contracts/{instance/base/InstanceBase.sol/InstanceBase.json → shared/Service.sol/Service.json} +196 -199
  270. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  271. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +724 -0
  272. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  273. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +395 -0
  274. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  275. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +140 -0
  276. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  277. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1447 -0
  278. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  279. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1067 -0
  280. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  281. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  282. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  283. package/artifacts/contracts/staking/Staking.sol/Staking.json +1857 -0
  284. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  285. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  286. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  287. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +792 -0
  288. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  289. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +587 -0
  290. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  291. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1272 -0
  292. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  293. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +732 -0
  294. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  295. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2283 -0
  296. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  297. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  298. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  299. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  300. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  302. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  304. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  306. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  308. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  309. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  310. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  311. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  312. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  313. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  314. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  315. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
  316. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  317. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  318. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  319. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  320. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  321. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  322. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  323. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  324. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  325. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  326. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  327. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +199 -0
  328. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  329. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +433 -0
  330. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  331. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  332. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  333. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  334. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  335. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  336. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  337. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  338. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  339. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  340. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  341. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  342. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  343. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +548 -0
  344. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  345. package/artifacts/contracts/type/Version.sol/VersionLib.json +158 -0
  346. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  347. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +113 -0
  348. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  349. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  350. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  351. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  352. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  353. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  354. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  355. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  356. package/contracts/accounting/AccountingService.sol +262 -0
  357. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  358. package/contracts/accounting/IAccountingService.sol +45 -0
  359. package/contracts/authorization/AccessAdmin.sol +656 -0
  360. package/contracts/authorization/AccessManagerCloneable.sol +149 -0
  361. package/contracts/authorization/Authorization.sol +316 -0
  362. package/contracts/authorization/IAccess.sol +49 -0
  363. package/contracts/authorization/IAccessAdmin.sol +140 -0
  364. package/contracts/authorization/IAuthorization.sol +66 -0
  365. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  366. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  367. package/contracts/distribution/BasicDistribution.sol +139 -0
  368. package/contracts/distribution/BasicDistributionAuthorization.sol +39 -0
  369. package/contracts/distribution/Distribution.sol +287 -0
  370. package/contracts/distribution/DistributionService.sol +357 -0
  371. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  372. package/contracts/distribution/IDistributionComponent.sol +52 -0
  373. package/contracts/distribution/IDistributionService.sol +100 -0
  374. package/contracts/examples/fire/DamageLevel.sol +59 -0
  375. package/contracts/examples/fire/FirePool.sol +90 -0
  376. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  377. package/contracts/examples/fire/FireProduct.sol +438 -0
  378. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  379. package/contracts/examples/fire/FireUSD.sol +26 -0
  380. package/contracts/examples/unpermissioned/SimpleDistribution.sol +57 -0
  381. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  382. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  383. package/contracts/examples/unpermissioned/SimplePool.sol +107 -0
  384. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  385. package/contracts/examples/unpermissioned/SimpleProduct.sol +370 -0
  386. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  387. package/contracts/instance/BundleSet.sol +130 -0
  388. package/contracts/instance/IInstance.sol +63 -47
  389. package/contracts/instance/IInstanceService.sol +72 -0
  390. package/contracts/instance/Instance.sol +233 -71
  391. package/contracts/instance/InstanceAdmin.sol +436 -0
  392. package/contracts/instance/InstanceAuthorizationV3.sol +213 -0
  393. package/contracts/instance/InstanceReader.sol +596 -0
  394. package/contracts/instance/InstanceService.sol +404 -0
  395. package/contracts/instance/InstanceServiceManager.sol +39 -0
  396. package/contracts/instance/InstanceStore.sol +298 -0
  397. package/contracts/instance/RiskSet.sol +118 -0
  398. package/contracts/instance/base/BalanceStore.sol +123 -0
  399. package/contracts/instance/base/Cloneable.sol +28 -0
  400. package/contracts/instance/base/ObjectCounter.sol +20 -0
  401. package/contracts/instance/base/ObjectLifecycle.sol +113 -0
  402. package/contracts/instance/base/ObjectSet.sol +77 -0
  403. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  404. package/contracts/instance/module/IBundle.sol +20 -0
  405. package/contracts/instance/module/IComponents.sol +51 -0
  406. package/contracts/instance/module/IDistribution.sol +41 -0
  407. package/contracts/instance/module/IPolicy.sol +85 -0
  408. package/contracts/instance/module/IRisk.sol +14 -0
  409. package/contracts/{test/TestToken.sol → mock/Dip.sol} +6 -6
  410. package/contracts/oracle/BasicOracle.sol +47 -0
  411. package/contracts/oracle/BasicOracleAuthorization.sol +37 -0
  412. package/contracts/oracle/IOracle.sol +36 -0
  413. package/contracts/oracle/IOracleComponent.sol +33 -0
  414. package/contracts/oracle/IOracleService.sol +66 -0
  415. package/contracts/oracle/Oracle.sol +156 -0
  416. package/contracts/oracle/OracleService.sol +310 -0
  417. package/contracts/oracle/OracleServiceManager.sol +39 -0
  418. package/contracts/pool/BasicPool.sol +175 -0
  419. package/contracts/pool/BasicPoolAuthorization.sol +59 -0
  420. package/contracts/pool/BundleService.sol +425 -0
  421. package/contracts/pool/BundleServiceManager.sol +39 -0
  422. package/contracts/pool/IBundleService.sol +121 -0
  423. package/contracts/pool/IPoolComponent.sol +62 -0
  424. package/contracts/pool/IPoolService.sol +153 -0
  425. package/contracts/pool/Pool.sol +345 -0
  426. package/contracts/pool/PoolService.sol +613 -0
  427. package/contracts/pool/PoolServiceManager.sol +39 -0
  428. package/contracts/product/ApplicationService.sol +259 -0
  429. package/contracts/product/ApplicationServiceManager.sol +38 -0
  430. package/contracts/product/BasicProduct.sol +51 -0
  431. package/contracts/product/BasicProductAuthorization.sol +32 -0
  432. package/contracts/product/ClaimService.sol +708 -0
  433. package/contracts/product/ClaimServiceManager.sol +38 -0
  434. package/contracts/product/IApplicationService.sol +66 -0
  435. package/contracts/product/IClaimService.sol +136 -0
  436. package/contracts/product/IPolicyService.sol +90 -0
  437. package/contracts/product/IPricingService.sol +39 -0
  438. package/contracts/product/IProductComponent.sol +62 -0
  439. package/contracts/product/IRiskService.sol +33 -0
  440. package/contracts/product/PolicyService.sol +718 -0
  441. package/contracts/product/PolicyServiceManager.sol +39 -0
  442. package/contracts/product/PricingService.sol +304 -0
  443. package/contracts/product/PricingServiceManager.sol +39 -0
  444. package/contracts/product/Product.sol +463 -0
  445. package/contracts/product/RiskService.sol +145 -0
  446. package/contracts/product/RiskServiceManager.sol +39 -0
  447. package/contracts/registry/ChainNft.sol +99 -37
  448. package/contracts/registry/IRegistry.sol +131 -40
  449. package/contracts/registry/IRegistryService.sol +49 -16
  450. package/contracts/registry/IRelease.sol +26 -0
  451. package/contracts/registry/ITransferInterceptor.sol +1 -1
  452. package/contracts/registry/Registry.sol +569 -344
  453. package/contracts/registry/RegistryAdmin.sol +344 -0
  454. package/contracts/registry/RegistryService.sol +147 -289
  455. package/contracts/registry/RegistryServiceManager.sol +53 -0
  456. package/contracts/registry/ReleaseAdmin.sol +245 -0
  457. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  458. package/contracts/registry/ReleaseRegistry.sol +511 -0
  459. package/contracts/registry/ServiceAuthorizationV3.sol +242 -0
  460. package/contracts/registry/TokenRegistry.sol +313 -0
  461. package/contracts/shared/Component.sol +241 -0
  462. package/contracts/shared/ComponentService.sol +692 -0
  463. package/contracts/shared/ComponentServiceManager.sol +38 -0
  464. package/contracts/shared/ComponentVerifyingService.sol +128 -0
  465. package/contracts/shared/ContractLib.sol +253 -0
  466. package/contracts/shared/IComponent.sol +61 -0
  467. package/contracts/shared/IComponentService.sol +116 -0
  468. package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
  469. package/contracts/shared/IKeyValueStore.sol +54 -0
  470. package/contracts/{instance/base → shared}/ILifecycle.sol +6 -5
  471. package/contracts/shared/INftOwnable.sol +25 -0
  472. package/contracts/shared/IPolicyHolder.sol +35 -0
  473. package/contracts/shared/IRegisterable.sol +24 -9
  474. package/contracts/shared/IRegistryLinked.sol +11 -0
  475. package/contracts/shared/IService.sol +23 -0
  476. package/contracts/shared/InitializableERC165.sol +27 -0
  477. package/contracts/shared/InstanceLinkedComponent.sol +197 -0
  478. package/contracts/shared/KeyValueStore.sol +131 -0
  479. package/contracts/shared/Lifecycle.sol +88 -0
  480. package/contracts/shared/NftIdSet.sol +65 -0
  481. package/contracts/shared/NftOwnable.sol +127 -0
  482. package/contracts/shared/PolicyHolder.sol +62 -0
  483. package/contracts/shared/Registerable.sol +54 -62
  484. package/contracts/shared/RegistryLinked.sol +38 -0
  485. package/contracts/shared/Service.sol +65 -0
  486. package/contracts/shared/TokenHandler.sol +312 -0
  487. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  488. package/contracts/staking/IStaking.sol +165 -0
  489. package/contracts/staking/IStakingService.sol +157 -0
  490. package/contracts/staking/StakeManagerLib.sol +224 -0
  491. package/contracts/staking/Staking.sol +526 -0
  492. package/contracts/staking/StakingLifecycle.sol +23 -0
  493. package/contracts/staking/StakingManager.sol +52 -0
  494. package/contracts/staking/StakingReader.sol +190 -0
  495. package/contracts/staking/StakingService.sol +408 -0
  496. package/contracts/staking/StakingServiceManager.sol +45 -0
  497. package/contracts/staking/StakingStore.sol +605 -0
  498. package/contracts/staking/TargetManagerLib.sol +211 -0
  499. package/contracts/{types → type}/AddressSet.sol +1 -1
  500. package/contracts/type/Amount.sol +150 -0
  501. package/contracts/{types → type}/Blocknumber.sol +27 -3
  502. package/contracts/type/ClaimId.sol +80 -0
  503. package/contracts/type/DistributorType.sol +55 -0
  504. package/contracts/type/Fee.sol +66 -0
  505. package/contracts/{types → type}/Key32.sol +10 -5
  506. package/contracts/type/Key32Set.sol +62 -0
  507. package/contracts/{types → type}/NftId.sol +28 -15
  508. package/contracts/type/NftIdSet.sol +62 -0
  509. package/contracts/type/ObjectType.sol +303 -0
  510. package/contracts/type/PayoutId.sol +82 -0
  511. package/contracts/type/Referral.sol +90 -0
  512. package/contracts/type/RequestId.sol +75 -0
  513. package/contracts/type/RiskId.sol +74 -0
  514. package/contracts/type/RoleId.sol +182 -0
  515. package/contracts/type/Seconds.sol +101 -0
  516. package/contracts/type/Selector.sol +102 -0
  517. package/contracts/{types → type}/StateId.sol +53 -5
  518. package/contracts/type/String.sol +53 -0
  519. package/contracts/{types → type}/Timestamp.sol +37 -19
  520. package/contracts/{types → type}/UFixed.sol +48 -12
  521. package/contracts/{types → type}/Version.sol +22 -6
  522. package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
  523. package/contracts/upgradeability/ProxyManager.sol +232 -0
  524. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +2 -4
  525. package/contracts/upgradeability/Versionable.sol +59 -0
  526. package/package.json +12 -7
  527. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  528. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -213
  529. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  530. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -445
  531. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  532. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -177
  533. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  534. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -343
  535. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  536. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -474
  537. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  538. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -373
  539. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  540. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -602
  541. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  542. package/artifacts/contracts/components/Product.sol/Product.json +0 -502
  543. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  544. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  545. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  546. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  547. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  548. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  549. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  550. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  551. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  552. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  553. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  554. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  555. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  556. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  557. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  558. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  559. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  560. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  561. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  562. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  563. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  564. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  565. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  566. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  567. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  568. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  569. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  570. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  571. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  572. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  573. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  574. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  575. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  576. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  577. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  578. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  579. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  580. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  581. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  582. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  583. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  584. package/artifacts/contracts/instance/base/IService.sol/IService.json +0 -344
  585. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  586. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  587. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -710
  588. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  589. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  590. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  591. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  592. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  593. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  594. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  595. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  596. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  597. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  598. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -297
  599. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  600. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  601. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -297
  602. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  603. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  604. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  605. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  606. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -117
  607. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.dbg.json +0 -4
  608. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.json +0 -10
  609. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistribution.dbg.json +0 -4
  610. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.dbg.json +0 -4
  611. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.json +0 -10
  612. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  613. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  614. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -284
  615. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  616. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -284
  617. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  618. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  619. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  620. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -164
  621. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  622. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -164
  623. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  624. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  625. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -113
  626. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  627. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -131
  628. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  629. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
  630. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  631. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -638
  632. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  633. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  634. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  635. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -638
  636. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  637. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -690
  638. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  639. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -526
  640. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  641. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  642. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -369
  643. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  644. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -484
  645. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  646. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  647. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -649
  648. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  649. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -964
  650. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  651. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -457
  652. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  653. package/artifacts/contracts/registry/RegistryInstaller.sol/RegistryInstaller.dbg.json +0 -4
  654. package/artifacts/contracts/registry/RegistryInstaller.sol/RegistryInstaller.json +0 -344
  655. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  656. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  657. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  658. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  659. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  660. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  661. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -310
  662. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  663. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  664. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  665. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  666. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.dbg.json +0 -4
  667. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.json +0 -445
  668. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  669. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  670. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  671. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -602
  672. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  673. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -632
  674. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  675. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -191
  676. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  677. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  678. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  679. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -472
  680. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  681. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  682. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  683. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  684. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  685. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -270
  686. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  687. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -338
  688. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  689. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  690. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  691. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  692. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  693. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  694. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  695. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  696. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  697. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
  698. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  699. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  700. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  701. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  702. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  703. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  704. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.dbg.json +0 -4
  705. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.json +0 -99
  706. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  707. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  708. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  709. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -30
  710. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  711. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  712. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  713. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  714. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  715. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -479
  716. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  717. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  718. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  719. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  720. package/contracts/components/BaseComponent.sol +0 -79
  721. package/contracts/components/Distribution.sol +0 -155
  722. package/contracts/components/IBaseComponent.sol +0 -19
  723. package/contracts/components/IDistributionComponent.sol +0 -47
  724. package/contracts/components/IPoolComponent.sol +0 -65
  725. package/contracts/components/IProductComponent.sol +0 -39
  726. package/contracts/components/Pool.sol +0 -246
  727. package/contracts/components/Product.sol +0 -299
  728. package/contracts/experiment/errors/Require.sol +0 -38
  729. package/contracts/experiment/errors/Revert.sol +0 -44
  730. package/contracts/experiment/inheritance/A.sol +0 -53
  731. package/contracts/experiment/inheritance/B.sol +0 -28
  732. package/contracts/experiment/inheritance/C.sol +0 -34
  733. package/contracts/experiment/inheritance/IA.sol +0 -13
  734. package/contracts/experiment/inheritance/IB.sol +0 -10
  735. package/contracts/experiment/inheritance/IC.sol +0 -12
  736. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  737. package/contracts/experiment/statemachine/ISM.sol +0 -25
  738. package/contracts/experiment/statemachine/SM.sol +0 -57
  739. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  740. package/contracts/experiment/types/TypeA.sol +0 -47
  741. package/contracts/experiment/types/TypeB.sol +0 -29
  742. package/contracts/instance/IInstanceLinked.sol +0 -8
  743. package/contracts/instance/base/ComponentServiceBase.sol +0 -49
  744. package/contracts/instance/base/IInstanceBase.sol +0 -23
  745. package/contracts/instance/base/IKeyValueStore.sol +0 -50
  746. package/contracts/instance/base/IService.sol +0 -15
  747. package/contracts/instance/base/InstanceBase.sol +0 -89
  748. package/contracts/instance/base/KeyValueStore.sol +0 -161
  749. package/contracts/instance/base/Lifecycle.sol +0 -100
  750. package/contracts/instance/base/ModuleBase.sol +0 -57
  751. package/contracts/instance/base/ServiceBase.sol +0 -43
  752. package/contracts/instance/module/access/Access.sol +0 -149
  753. package/contracts/instance/module/access/IAccess.sol +0 -53
  754. package/contracts/instance/module/bundle/BundleModule.sol +0 -134
  755. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  756. package/contracts/instance/module/component/ComponentModule.sol +0 -71
  757. package/contracts/instance/module/component/IComponent.sol +0 -28
  758. package/contracts/instance/module/distribution/DistributionModule.sol +0 -17
  759. package/contracts/instance/module/distribution/IDistribution.sol +0 -10
  760. package/contracts/instance/module/policy/IPolicy.sol +0 -63
  761. package/contracts/instance/module/policy/PolicyModule.sol +0 -91
  762. package/contracts/instance/module/pool/IPoolModule.sol +0 -41
  763. package/contracts/instance/module/pool/PoolModule.sol +0 -95
  764. package/contracts/instance/module/risk/IRisk.sol +0 -26
  765. package/contracts/instance/module/risk/RiskModule.sol +0 -62
  766. package/contracts/instance/module/treasury/ITreasury.sol +0 -84
  767. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  768. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -131
  769. package/contracts/instance/service/ComponentOwnerService.sol +0 -272
  770. package/contracts/instance/service/DistributionService.sol +0 -54
  771. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  772. package/contracts/instance/service/IDistributionService.sol +0 -12
  773. package/contracts/instance/service/IPoolService.sol +0 -37
  774. package/contracts/instance/service/IProductService.sol +0 -107
  775. package/contracts/instance/service/PoolService.sol +0 -149
  776. package/contracts/instance/service/ProductService.sol +0 -509
  777. package/contracts/registry/IChainNft.sol +0 -22
  778. package/contracts/registry/IRegistryLinked.sol +0 -8
  779. package/contracts/registry/RegistryInstaller.sol +0 -100
  780. package/contracts/shared/ERC165.sol +0 -21
  781. package/contracts/shared/IOwnable.sol +0 -6
  782. package/contracts/shared/ProxyManager.sol +0 -115
  783. package/contracts/shared/Versionable.sol +0 -147
  784. package/contracts/test/TestDistribution.sol +0 -22
  785. package/contracts/test/TestFee.sol +0 -25
  786. package/contracts/test/TestPool.sol +0 -27
  787. package/contracts/test/TestProduct.sol +0 -74
  788. package/contracts/test/TestRegisterable.sol +0 -18
  789. package/contracts/test/TestRoleId.sol +0 -14
  790. package/contracts/test/TestService.sol +0 -26
  791. package/contracts/test/TestVersion.sol +0 -44
  792. package/contracts/test/TestVersionable.sol +0 -17
  793. package/contracts/test/Usdc.sol +0 -26
  794. package/contracts/types/ChainId.sol +0 -38
  795. package/contracts/types/Fee.sol +0 -56
  796. package/contracts/types/NftIdSet.sol +0 -60
  797. package/contracts/types/ObjectType.sol +0 -131
  798. package/contracts/types/ReferralId.sol +0 -48
  799. package/contracts/types/RiskId.sol +0 -43
  800. package/contracts/types/RoleId.sol +0 -38
@@ -0,0 +1,511 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Clones} from "@openzeppelin/contracts/proxy/Clones.sol";
5
+ import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManaged.sol";
6
+
7
+ import {ContractLib} from "../shared/ContractLib.sol";
8
+ import {NftId} from "../type/NftId.sol";
9
+ import {ObjectType, ObjectTypeLib, POOL, RELEASE, REGISTRY, SERVICE, STAKING} from "../type/ObjectType.sol";
10
+ import {TimestampLib, zeroTimestamp} from "../type/Timestamp.sol";
11
+ import {Seconds} from "../type/Seconds.sol";
12
+ import {StateId, SCHEDULED, DEPLOYING, DEPLOYED, SKIPPED, ACTIVE, PAUSED} from "../type/StateId.sol";
13
+ import {VersionPart, VersionPartLib} from "../type/Version.sol";
14
+
15
+ import {IService} from "../shared/IService.sol";
16
+
17
+ import {IAccessAdmin} from "../authorization/IAccessAdmin.sol";
18
+ import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
19
+
20
+ import {IRegistry} from "./IRegistry.sol";
21
+ import {IRelease} from "./IRelease.sol";
22
+ import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
23
+ import {IServiceAuthorization} from "../authorization/IServiceAuthorization.sol";
24
+ import {RegistryAdmin} from "./RegistryAdmin.sol";
25
+ import {Registry} from "./Registry.sol";
26
+ import {ReleaseLifecycle} from "./ReleaseLifecycle.sol";
27
+ import {ReleaseAdmin} from "./ReleaseAdmin.sol";
28
+
29
+ /// @dev The ReleaseRegistry manages the lifecycle of major GIF releases and their services.
30
+ /// The creation of a new GIF release is a multi-step process:
31
+ /// 1. The creation of a new GIF release is initiated by the GIF admin.
32
+ /// 2. A GIF manager then prepares the release by setting up the service authorization contract.
33
+ /// 3. The GIF manager deploys and registers all related service contracts with the release registry.
34
+ /// 4. The GIF admin verifies and activates the release.
35
+ /// 3. The GIF admin may pause and resume a release.
36
+ contract ReleaseRegistry is
37
+ AccessManaged,
38
+ ReleaseLifecycle,
39
+ IRegistryLinked
40
+ {
41
+ uint256 public constant INITIAL_GIF_VERSION = 3;// first active release version
42
+
43
+ event LogReleaseCreation(IAccessAdmin admin, VersionPart release, bytes32 salt);
44
+ event LogReleaseActivation(VersionPart release);
45
+ event LogReleaseDisabled(VersionPart release);
46
+ event LogReleaseEnabled(VersionPart release);
47
+
48
+ // constructor
49
+ error ErrorReleaseRegistryNotRegistry(Registry registry);
50
+
51
+ // _verifyServiceAuthorization
52
+ error ErrorReleaseRegistryNotServiceAuth(address notAuth);
53
+ error ErrorReleaseRegistryServiceAuthVersionMismatch(IServiceAuthorization auth, VersionPart expected, VersionPart actual);
54
+ error ErrorReleaseRegistryServiceAuthDomainsZero(IServiceAuthorization auth, VersionPart release);
55
+
56
+ // registerService
57
+ error ErrorReleaseRegistryServiceAddressMismatch(address expected, address actual);
58
+
59
+ // activateNextRelease
60
+ error ErrorReleaseRegistryRegistryServiceMissing(VersionPart releaseVersion);
61
+
62
+ // _verifyService
63
+ error ErrorReleaseRegistryNotService(address notService);
64
+ error ErrorReleaseRegistryServiceAuthorityMismatch(IService service, address serviceAuthority, address releaseAuthority);
65
+ error ErrorReleaseRegistryServiceVersionMismatch(IService service, VersionPart serviceVersion, VersionPart releaseVersion);
66
+ error ErrorReleaseRegistryServiceDomainMismatch(IService service, ObjectType expectedDomain, ObjectType actualDomain);
67
+
68
+ // _verifyServiceInfo
69
+ error ErrorReleaseRegistryServiceInfoAddressInvalid(IService service, address expected);
70
+ error ErrorReleaseRegistryServiceInfoInterceptorInvalid(IService service, bool isInterceptor);
71
+ error ErrorReleaseRegistryServiceInfoTypeInvalid(IService service, ObjectType expected, ObjectType found);
72
+ error ErrorReleaseRegistryServiceInfoOwnerInvalid(IService service, address expected, address found);
73
+ error ErrorReleaseRegistryServiceSelfRegistration(IService service);
74
+ error ErrorReleaseRegistryServiceOwnerRegistered(IService service, address owner);
75
+
76
+ RegistryAdmin public immutable _admin;
77
+ Registry public immutable _registry;
78
+
79
+ mapping(VersionPart release => IRelease.ReleaseInfo info) internal _releaseInfo;
80
+ VersionPart [] internal _release; // array of all created releases
81
+ ReleaseAdmin internal _masterReleaseAdmin;
82
+
83
+ VersionPart internal _latest; // latest active release
84
+ VersionPart internal _next; // release version to create and activate
85
+
86
+ // counters per release
87
+ uint256 internal _registeredServices = 0;
88
+ uint256 internal _servicesToRegister = 0;
89
+
90
+ constructor(Registry registry)
91
+ AccessManaged(msg.sender)
92
+ {
93
+ if (!ContractLib.isRegistry(address(registry))) {
94
+ revert ErrorReleaseRegistryNotRegistry(registry);
95
+ }
96
+
97
+ setAuthority(registry.getAuthority());
98
+
99
+ _registry = registry;
100
+ _admin = RegistryAdmin(_registry.getRegistryAdminAddress());
101
+
102
+ _masterReleaseAdmin = new ReleaseAdmin();
103
+
104
+ _next = VersionPartLib.toVersionPart(INITIAL_GIF_VERSION - 1);
105
+ }
106
+
107
+ /// @dev Initiates the creation of a new GIF release by the GIF admin.
108
+ /// Sets previous release into SKIPPED state if it was created but not activated.
109
+ /// Sets the new release into state SCHEDULED.
110
+ function createNextRelease()
111
+ external
112
+ restricted() // GIF_ADMIN_ROLE
113
+ returns(VersionPart)
114
+ {
115
+ VersionPart release = _next;
116
+
117
+ if(isValidTransition(RELEASE(), _releaseInfo[release].state, SKIPPED())) {
118
+ _releaseInfo[release].state = SKIPPED();
119
+ }
120
+
121
+ release = VersionPartLib.toVersionPart(release.toInt() + 1);
122
+ _release.push(release);
123
+
124
+ _next = release;
125
+ _releaseInfo[release].version = release;
126
+ _releaseInfo[release].state = getInitialState(RELEASE());
127
+ _servicesToRegister = 0;
128
+ _registeredServices = 0;
129
+
130
+ return _next;
131
+ }
132
+
133
+ function prepareNextRelease(
134
+ IServiceAuthorization serviceAuthorization,
135
+ bytes32 salt
136
+ )
137
+ external
138
+ restricted() // GIF_MANAGER_ROLE
139
+ returns(
140
+ ReleaseAdmin releaseAdmin,
141
+ VersionPart releaseVersion,
142
+ bytes32 releaseSalt
143
+ )
144
+ {
145
+ releaseVersion = _next;
146
+
147
+ // release can transition into DEPLOYING state
148
+ checkTransition(_releaseInfo[releaseVersion].state, RELEASE(), SCHEDULED(), DEPLOYING());
149
+
150
+ // verify authorizations
151
+ uint256 serviceDomainsCount = _verifyServiceAuthorization(serviceAuthorization, releaseVersion, salt);
152
+
153
+ // create and initialize release admin
154
+ releaseAdmin = _cloneNewReleaseAdmin(releaseVersion);
155
+ releaseSalt = salt;
156
+
157
+ // ensures unique salt
158
+ // TODO CreateX have clones capability also
159
+ // what would releaseSalt look like if used with CreateX in pemissioned mode?
160
+ /*releaseSalt = keccak256(
161
+ bytes.concat(
162
+ bytes32(releaseVersion.toInt()),
163
+ salt));*/
164
+
165
+ _servicesToRegister = serviceDomainsCount;
166
+ _releaseInfo[releaseVersion].state = DEPLOYING();
167
+ _releaseInfo[releaseVersion].salt = releaseSalt;
168
+ // TODO allow for the same serviceAuthorization address to be used for multiple releases?
169
+ _releaseInfo[releaseVersion].auth = serviceAuthorization;
170
+ _releaseInfo[releaseVersion].releaseAdmin = address(releaseAdmin);
171
+
172
+ emit LogReleaseCreation(releaseAdmin, releaseVersion, releaseSalt);
173
+ }
174
+
175
+ function registerService(IService service)
176
+ external
177
+ restricted // GIF_MANAGER_ROLE
178
+ returns(NftId nftId)
179
+ {
180
+ VersionPart releaseVersion = _next;
181
+
182
+ // release can transition to DEPLOYED state
183
+ checkTransition(_releaseInfo[releaseVersion].state, RELEASE(), DEPLOYING(), DEPLOYED());
184
+
185
+ address releaseAuthority = ReleaseAdmin(_releaseInfo[releaseVersion].releaseAdmin).authority();
186
+ IServiceAuthorization releaseAuth = _releaseInfo[releaseVersion].auth;
187
+ ObjectType expectedDomain = releaseAuth.getServiceDomain(_registeredServices);
188
+
189
+ // service can work with release registry and release version
190
+ (
191
+ IRegistry.ObjectInfo memory info,
192
+ ObjectType serviceDomain,
193
+ VersionPart serviceVersion
194
+ //,string memory serviceName
195
+ ) = _verifyService(
196
+ service,
197
+ releaseAuthority,
198
+ releaseVersion,
199
+ expectedDomain
200
+ );
201
+
202
+ //_releaseInfo[releaseVersion].addresses.push(address(service)); // TODO get this info from auth contract?
203
+ //_releaseInfo[releaseVersion].domains.push(serviceDomain);
204
+ //_releaseInfo[releaseVersion].names.push(serviceName); // TODO if needed read in _verifyService()
205
+
206
+ _registeredServices++; // TODO use releaseInfo.someArray.length instead of _registeredServices
207
+
208
+ // release fully deployed
209
+ if(_servicesToRegister == _registeredServices) {
210
+ _releaseInfo[releaseVersion].state = DEPLOYED();
211
+ }
212
+
213
+ // TODO: service address matches defined in release auth (precalculated one)
214
+ // revert ErrorReleaseRegistryServiceAddressMismatch()
215
+
216
+ // setup service authorization
217
+ ReleaseAdmin releaseAdmin = ReleaseAdmin(_releaseInfo[releaseVersion].releaseAdmin);
218
+ releaseAdmin.setReleaseLocked(false);
219
+ releaseAdmin.authorizeService(
220
+ releaseAuth,
221
+ service,
222
+ serviceDomain,
223
+ releaseVersion);
224
+ releaseAdmin.setReleaseLocked(true);
225
+
226
+ // register service with registry
227
+ nftId = _registry.registerService(info, serviceVersion, serviceDomain);
228
+ service.linkToRegisteredNftId();
229
+ }
230
+
231
+
232
+ // TODO return activated version
233
+ function activateNextRelease()
234
+ external
235
+ restricted // GIF_ADMIN_ROLE
236
+ {
237
+ VersionPart release = _next;
238
+
239
+ // release can transition to ACTIVE state
240
+ checkTransition(_releaseInfo[release].state, RELEASE(), DEPLOYED(), ACTIVE());
241
+
242
+ _latest = release;
243
+ _releaseInfo[release].state = ACTIVE();
244
+ _releaseInfo[release].activatedAt = TimestampLib.blockTimestamp();
245
+ _releaseInfo[release].disabledAt = TimestampLib.max();
246
+
247
+ // grant special roles for registry/staking/pool services
248
+ // this will enable access to core contracts functions
249
+
250
+ // registry service MUST be registered for each release
251
+ address service = _registry.getServiceAddress(REGISTRY(), release);
252
+ if(service == address(0)) {
253
+ revert ErrorReleaseRegistryRegistryServiceMissing(release);
254
+ }
255
+
256
+ _admin.grantServiceRoleForAllVersions(IService(service), REGISTRY());
257
+
258
+ service = _registry.getServiceAddress(STAKING(), release);
259
+ if(service != address(0)) {
260
+ _admin.grantServiceRoleForAllVersions(IService(service), STAKING());
261
+ }
262
+
263
+ service = _registry.getServiceAddress(POOL(), release);
264
+ if(service != address(0)) {
265
+ _admin.grantServiceRoleForAllVersions(IService(service), POOL());
266
+ }
267
+
268
+ _setReleaseLocked(release, false);
269
+
270
+ emit LogReleaseActivation(release);
271
+ }
272
+
273
+ /// @dev stop/resume operations with restricted functions
274
+ function setActive(VersionPart release, bool active)
275
+ public
276
+ restricted
277
+ {
278
+ StateId state = _releaseInfo[release].state;
279
+
280
+ if(active) {
281
+ checkTransition(state, RELEASE(), PAUSED(), ACTIVE());
282
+ _releaseInfo[release].state = ACTIVE();
283
+ _releaseInfo[release].disabledAt = TimestampLib.max();
284
+ emit LogReleaseEnabled(release);
285
+ } else {
286
+ checkTransition(state, RELEASE(), ACTIVE(), PAUSED());
287
+ _releaseInfo[release].state = PAUSED();
288
+ _releaseInfo[release].disabledAt = TimestampLib.blockTimestamp();
289
+ emit LogReleaseDisabled(release);
290
+ }
291
+
292
+ _setReleaseLocked(release, !active);
293
+ }
294
+
295
+ //--- view functions ----------------------------------------------------//
296
+
297
+ function predictDeterministicAddress(
298
+ address implementation,
299
+ bytes32 salt,
300
+ address deployer
301
+ ) external pure returns (address predicted) {
302
+ return Clones.predictDeterministicAddress(implementation, salt, deployer);
303
+ }
304
+
305
+ function isActiveRelease(VersionPart release) public view returns(bool) {
306
+ return _releaseInfo[release].state == ACTIVE();
307
+ }
308
+
309
+ function getReleaseInfo(VersionPart release) external view returns(IRelease.ReleaseInfo memory) {
310
+ return _releaseInfo[release];
311
+ }
312
+
313
+ /// @dev Returns the number of created releases.
314
+ /// Releases might be in another state than ACTIVE.
315
+ function releases() external view returns (uint) {
316
+ return _release.length;
317
+ }
318
+
319
+ /// @dev Returns the n-th release version.
320
+ /// Valid values for idx [0 .. releases() - 1]
321
+ function getVersion(uint256 idx) external view returns (VersionPart release) {
322
+ // return _releases;
323
+ return _release[idx];
324
+ }
325
+
326
+ function getNextVersion() public view returns(VersionPart) {
327
+ return _next;
328
+ }
329
+
330
+ /// @dev Returns the latest activated relase version.
331
+ /// There is no guarantee that the release is not currently paused.
332
+ function getLatestVersion() external view returns(VersionPart) {
333
+ return _latest;
334
+ }
335
+
336
+ function getState(VersionPart release) external view returns (StateId stateId) {
337
+ return _releaseInfo[release].state;
338
+ }
339
+
340
+ function getRemainingServicesToRegister() external view returns (uint256 services) {
341
+ return _servicesToRegister - _registeredServices;
342
+ }
343
+
344
+ function getServiceAuthorization(VersionPart release)
345
+ external
346
+ view
347
+ returns (IServiceAuthorization serviceAuthorization)
348
+ {
349
+ return _releaseInfo[release].auth;
350
+ }
351
+
352
+ function getRegistryAdmin() external view returns (address) {
353
+ return address(_admin);
354
+ }
355
+
356
+ //--- IRegistryLinked ------------------------------------------------------//
357
+
358
+ function getRegistry() external view returns (IRegistry) {
359
+ return _registry;
360
+ }
361
+
362
+ //--- private functions ----------------------------------------------------//
363
+
364
+ function _setReleaseLocked(VersionPart release, bool locked)
365
+ private
366
+ {
367
+ ReleaseAdmin(
368
+ _releaseInfo[release].releaseAdmin).setReleaseLocked(locked);
369
+ }
370
+
371
+
372
+ function _cloneNewReleaseAdmin(VersionPart release)
373
+ private
374
+ returns (ReleaseAdmin clonedAdmin)
375
+ {
376
+ AccessManagerCloneable clonedAccessManager = AccessManagerCloneable(
377
+ Clones.clone(
378
+ _masterReleaseAdmin.authority()
379
+ )
380
+ );
381
+
382
+ clonedAdmin = ReleaseAdmin(
383
+ Clones.clone(
384
+ address(_masterReleaseAdmin)
385
+ )
386
+ );
387
+
388
+ clonedAdmin.initialize(clonedAccessManager);
389
+ clonedAdmin.completeSetup(
390
+ address(_registry),
391
+ address(this), // release registry (this contract)
392
+ release);
393
+
394
+ // lock release (remains locked until activation)
395
+ clonedAdmin.setReleaseLocked(true);
396
+ }
397
+
398
+
399
+ function _verifyServiceAuthorization(
400
+ IServiceAuthorization serviceAuthorization,
401
+ VersionPart releaseVersion,
402
+ bytes32 salt
403
+ )
404
+ private
405
+ view
406
+ returns (uint256 serviceDomainsCount)
407
+ {
408
+ // authorization contract supports IServiceAuthorization interface
409
+ if(!serviceAuthorization.supportsInterface(type(IServiceAuthorization).interfaceId)) {
410
+ revert ErrorReleaseRegistryNotServiceAuth(address(serviceAuthorization));
411
+ }
412
+
413
+ // authorizaions contract version matches with release version
414
+ VersionPart authVersion = serviceAuthorization.getRelease();
415
+ if (releaseVersion != authVersion) {
416
+ revert ErrorReleaseRegistryServiceAuthVersionMismatch(serviceAuthorization, releaseVersion, authVersion);
417
+ }
418
+
419
+ // sanity check to ensure service domain list is not empty
420
+ serviceDomainsCount = serviceAuthorization.getServiceDomains().length;
421
+ if (serviceDomainsCount == 0) {
422
+ revert ErrorReleaseRegistryServiceAuthDomainsZero(serviceAuthorization, releaseVersion);
423
+ }
424
+ }
425
+
426
+ // TODO get service names
427
+ function _verifyService(
428
+ IService service,
429
+ address expectedAuthority,
430
+ VersionPart expectedVersion,
431
+ ObjectType expectedDomain
432
+ )
433
+ internal
434
+ view
435
+ returns(
436
+ IRegistry.ObjectInfo memory serviceInfo,
437
+ ObjectType serviceDomain,
438
+ VersionPart serviceVersion
439
+ )
440
+ {
441
+ if(!service.supportsInterface(type(IService).interfaceId)) {
442
+ revert ErrorReleaseRegistryNotService(address(service));
443
+ }
444
+
445
+ address owner = msg.sender;
446
+ address serviceAuthority = service.authority();
447
+ serviceVersion = service.getVersion().toMajorPart();
448
+ serviceDomain = service.getDomain();// checked in registry
449
+ serviceInfo = service.getInitialInfo();
450
+
451
+ _verifyServiceInfo(service, serviceInfo, owner);
452
+
453
+ if(serviceAuthority != expectedAuthority) {
454
+ revert ErrorReleaseRegistryServiceAuthorityMismatch(
455
+ service,
456
+ serviceAuthority,
457
+ expectedAuthority);
458
+ }
459
+
460
+ if(serviceVersion != expectedVersion) {
461
+ revert ErrorReleaseRegistryServiceVersionMismatch(
462
+ service,
463
+ serviceVersion,
464
+ expectedVersion);
465
+ }
466
+
467
+ if(serviceDomain != expectedDomain) {
468
+ revert ErrorReleaseRegistryServiceDomainMismatch(
469
+ service,
470
+ expectedDomain,
471
+ serviceDomain);
472
+ }
473
+ }
474
+
475
+
476
+ function _verifyServiceInfo(
477
+ IService service,
478
+ IRegistry.ObjectInfo memory info,
479
+ address expectedOwner // assume always valid, can not be 0
480
+ )
481
+ internal
482
+ view
483
+ {
484
+ if(info.objectAddress != address(service)) {
485
+ revert ErrorReleaseRegistryServiceInfoAddressInvalid(service, info.objectAddress);
486
+ }
487
+
488
+ if(info.isInterceptor != false) { // service is never interceptor
489
+ revert ErrorReleaseRegistryServiceInfoInterceptorInvalid(service, info.isInterceptor);
490
+ }
491
+
492
+ if(info.objectType != SERVICE()) {
493
+ revert ErrorReleaseRegistryServiceInfoTypeInvalid(service, SERVICE(), info.objectType);
494
+ }
495
+
496
+ address owner = info.initialOwner;
497
+
498
+ if(owner != expectedOwner) { // registerable owner protection
499
+ revert ErrorReleaseRegistryServiceInfoOwnerInvalid(service, expectedOwner, owner);
500
+ }
501
+
502
+ if(owner == address(service)) {
503
+ revert ErrorReleaseRegistryServiceSelfRegistration(service);
504
+ }
505
+
506
+ if(_registry.isRegistered(owner)) {
507
+ revert ErrorReleaseRegistryServiceOwnerRegistered(service, owner);
508
+ }
509
+ }
510
+ }
511
+