@etherisc/gif-next 0.0.2-7878646-744 → 0.0.2-788faba-168

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 (803) hide show
  1. package/README.md +294 -21
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1023 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +752 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1664 -0
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -0
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1403 -0
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +790 -0
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  17. package/artifacts/contracts/{instance/base/ModuleBase.sol/ModuleBase.json → authorization/IAccess.sol/IAccess.json} +2 -2
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1372 -0
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +455 -0
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +397 -0
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +646 -0
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1225 -0
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +805 -0
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +930 -0
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1821 -0
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +912 -0
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  37. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +829 -0
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  39. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +1256 -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 +1461 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2018 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -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 +1404 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1152 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1628 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2405 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -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 +575 -1388
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  71. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +990 -0
  72. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  73. package/artifacts/contracts/instance/Instance.sol/Instance.json +679 -1726
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  75. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2349 -0
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  77. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +902 -0
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  79. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +2646 -0
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  81. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1236 -0
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  83. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +734 -0
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  85. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3784 -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/module/{pool/IPoolModule.sol/IPool.json → 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 +938 -0
  114. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  115. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +810 -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 +753 -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 +854 -0
  124. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  125. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1013 -0
  126. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  127. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +772 -0
  128. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  129. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1231 -0
  130. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  131. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +805 -0
  132. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  133. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1425 -0
  134. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  135. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +832 -0
  136. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  137. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +1012 -0
  138. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  139. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +886 -0
  140. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  141. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1403 -0
  142. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  143. package/artifacts/contracts/pool/Pool.sol/Pool.json +1006 -0
  144. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  145. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +538 -0
  146. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  147. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1779 -0
  148. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  149. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +824 -0
  150. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  151. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +871 -0
  152. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  153. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +752 -0
  154. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  155. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1140 -0
  156. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  157. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +805 -0
  158. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  159. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1512 -0
  160. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  161. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +856 -0
  162. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  163. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +261 -373
  164. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  165. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +1064 -0
  166. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  167. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +981 -0
  168. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  169. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +325 -263
  170. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  171. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +997 -0
  172. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  173. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IRiskService.sol/IRiskService.json} +199 -185
  174. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  175. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1341 -0
  176. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  177. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  178. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  179. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +812 -0
  180. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  181. package/artifacts/contracts/product/PricingService.sol/PricingService.json +903 -0
  182. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  183. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +776 -0
  184. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  185. package/artifacts/contracts/product/Product.sol/Product.json +1098 -0
  186. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  187. package/artifacts/contracts/product/RiskService.sol/RiskService.json +688 -0
  188. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  189. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +736 -0
  190. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  191. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +103 -2
  192. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  193. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +920 -154
  194. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  195. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +381 -210
  196. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  197. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  198. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  199. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -0
  200. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  201. package/artifacts/contracts/registry/Registry.sol/Registry.json +1248 -258
  202. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  203. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2147 -0
  204. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  205. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1053 -0
  206. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  207. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +353 -329
  208. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  209. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +354 -115
  210. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  211. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
  212. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  213. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  214. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  215. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1389 -0
  216. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  217. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +683 -0
  218. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  219. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +661 -0
  220. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  221. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/Component.sol/Component.json} +355 -150
  222. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  223. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1487 -0
  224. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  225. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +816 -0
  226. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  229. package/artifacts/contracts/{instance/IInstanceLinked.sol/IInstanceLinked.json → shared/ContractLib.sol/IInstanceAdminHelper.json} +5 -5
  230. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  231. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  232. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  233. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  234. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  235. package/artifacts/contracts/{instance/base/InstanceBase.sol/InstanceBase.json → shared/IComponent.sol/IComponent.json} +267 -200
  236. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  237. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1127 -0
  238. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  239. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +688 -0
  240. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  241. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +122 -172
  242. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  243. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  244. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  245. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +46 -26
  246. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  247. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  248. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  249. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +143 -15
  250. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  251. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  252. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  253. package/artifacts/contracts/{instance/base → shared}/IService.sol/IService.json +138 -160
  254. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  255. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  256. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  257. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +776 -0
  258. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  259. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +538 -0
  260. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  261. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  262. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  263. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  264. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  265. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +81 -30
  266. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  267. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
  268. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  269. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +159 -55
  270. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  271. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  272. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  273. package/artifacts/contracts/{instance/base/ServiceBase.sol/ServiceBase.json → shared/Service.sol/Service.json} +158 -173
  274. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  275. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +723 -0
  276. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  277. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  278. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  279. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  280. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  281. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1617 -0
  282. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  283. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1167 -0
  284. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  285. package/artifacts/contracts/staking/Staking.sol/Staking.json +2025 -0
  286. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  287. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
  288. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  289. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  290. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  291. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +804 -0
  292. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  293. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +616 -0
  294. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  295. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1396 -0
  296. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  297. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +744 -0
  298. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  299. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2297 -0
  300. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  301. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +617 -0
  302. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  303. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  304. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  306. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  308. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  309. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  310. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  311. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  312. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  313. package/artifacts/contracts/type/Fee.sol/FeeLib.json +373 -0
  314. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  315. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  316. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  317. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  318. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  319. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
  320. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  321. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  322. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  323. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +241 -0
  324. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  325. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  326. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  327. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  328. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  329. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  330. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  331. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +204 -0
  332. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  333. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +254 -0
  334. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  335. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +265 -0
  336. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  337. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
  338. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  339. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  340. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  341. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  342. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  343. package/artifacts/contracts/type/String.sol/StrLib.json +180 -0
  344. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  345. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  346. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  347. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +572 -0
  348. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  349. package/artifacts/contracts/type/Version.sol/VersionLib.json +158 -0
  350. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  351. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +167 -0
  352. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  353. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  354. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  355. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  356. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  357. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
  358. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  359. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  360. package/contracts/accounting/AccountingService.sol +261 -0
  361. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  362. package/contracts/accounting/IAccountingService.sol +45 -0
  363. package/contracts/authorization/AccessAdmin.sol +780 -0
  364. package/contracts/authorization/AccessAdminLib.sol +396 -0
  365. package/contracts/authorization/AccessManagerCloneable.sol +158 -0
  366. package/contracts/authorization/Authorization.sol +174 -0
  367. package/contracts/authorization/IAccess.sol +67 -0
  368. package/contracts/authorization/IAccessAdmin.sol +144 -0
  369. package/contracts/authorization/IAuthorization.sol +27 -0
  370. package/contracts/authorization/IServiceAuthorization.sol +78 -0
  371. package/contracts/authorization/ServiceAuthorization.sol +320 -0
  372. package/contracts/distribution/BasicDistribution.sol +141 -0
  373. package/contracts/distribution/BasicDistributionAuthorization.sol +67 -0
  374. package/contracts/distribution/Distribution.sol +247 -0
  375. package/contracts/distribution/DistributionService.sol +448 -0
  376. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  377. package/contracts/distribution/IDistributionComponent.sol +45 -0
  378. package/contracts/distribution/IDistributionService.sol +115 -0
  379. package/contracts/examples/fire/DamageLevel.sol +59 -0
  380. package/contracts/examples/fire/FirePool.sol +86 -0
  381. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  382. package/contracts/examples/fire/FireProduct.sol +433 -0
  383. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  384. package/contracts/examples/fire/FireUSD.sol +26 -0
  385. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  386. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  387. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  388. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  389. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  390. package/contracts/examples/unpermissioned/SimpleProduct.sol +373 -0
  391. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  392. package/contracts/instance/BundleSet.sol +130 -0
  393. package/contracts/instance/IInstance.sol +138 -45
  394. package/contracts/instance/IInstanceService.sol +113 -0
  395. package/contracts/instance/Instance.sol +333 -70
  396. package/contracts/instance/InstanceAdmin.sol +383 -0
  397. package/contracts/instance/InstanceAuthorizationV3.sol +266 -0
  398. package/contracts/instance/InstanceReader.sol +632 -0
  399. package/contracts/instance/InstanceService.sol +512 -0
  400. package/contracts/instance/InstanceServiceManager.sol +39 -0
  401. package/contracts/instance/InstanceStore.sol +298 -0
  402. package/contracts/instance/RiskSet.sol +118 -0
  403. package/contracts/instance/base/BalanceStore.sol +121 -0
  404. package/contracts/instance/base/Cloneable.sol +28 -0
  405. package/contracts/instance/base/ObjectCounter.sol +20 -0
  406. package/contracts/instance/base/ObjectLifecycle.sol +113 -0
  407. package/contracts/instance/base/ObjectSet.sol +77 -0
  408. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  409. package/contracts/instance/module/IBundle.sol +21 -0
  410. package/contracts/instance/module/IComponents.sol +62 -0
  411. package/contracts/instance/module/IDistribution.sol +54 -0
  412. package/contracts/instance/module/IPolicy.sol +105 -0
  413. package/contracts/instance/module/IRisk.sol +16 -0
  414. package/contracts/{test/TestToken.sol → mock/Dip.sol} +6 -6
  415. package/contracts/oracle/BasicOracle.sol +45 -0
  416. package/contracts/oracle/BasicOracleAuthorization.sol +53 -0
  417. package/contracts/oracle/IOracle.sol +41 -0
  418. package/contracts/oracle/IOracleComponent.sol +33 -0
  419. package/contracts/oracle/IOracleService.sol +66 -0
  420. package/contracts/oracle/Oracle.sol +154 -0
  421. package/contracts/oracle/OracleService.sol +310 -0
  422. package/contracts/oracle/OracleServiceManager.sol +39 -0
  423. package/contracts/pool/BasicPool.sol +173 -0
  424. package/contracts/pool/BasicPoolAuthorization.sol +82 -0
  425. package/contracts/pool/BundleService.sol +406 -0
  426. package/contracts/pool/BundleServiceManager.sol +39 -0
  427. package/contracts/pool/IBundleService.sol +121 -0
  428. package/contracts/pool/IPoolComponent.sol +62 -0
  429. package/contracts/pool/IPoolService.sol +171 -0
  430. package/contracts/pool/Pool.sol +343 -0
  431. package/contracts/pool/PoolLib.sol +353 -0
  432. package/contracts/pool/PoolService.sol +603 -0
  433. package/contracts/pool/PoolServiceManager.sol +39 -0
  434. package/contracts/product/ApplicationService.sol +299 -0
  435. package/contracts/product/ApplicationServiceManager.sol +38 -0
  436. package/contracts/product/BasicProduct.sol +49 -0
  437. package/contracts/product/BasicProductAuthorization.sol +63 -0
  438. package/contracts/product/ClaimService.sol +631 -0
  439. package/contracts/product/ClaimServiceManager.sol +38 -0
  440. package/contracts/product/IApplicationService.sol +69 -0
  441. package/contracts/product/IClaimService.sol +135 -0
  442. package/contracts/product/IPolicyService.sol +94 -0
  443. package/contracts/product/IPricingService.sol +40 -0
  444. package/contracts/product/IProductComponent.sol +62 -0
  445. package/contracts/product/IRiskService.sol +33 -0
  446. package/contracts/product/PolicyService.sol +637 -0
  447. package/contracts/product/PolicyServiceLib.sol +139 -0
  448. package/contracts/product/PolicyServiceManager.sol +39 -0
  449. package/contracts/product/PricingService.sol +306 -0
  450. package/contracts/product/PricingServiceManager.sol +39 -0
  451. package/contracts/product/Product.sol +469 -0
  452. package/contracts/product/RiskService.sol +157 -0
  453. package/contracts/product/RiskServiceManager.sol +39 -0
  454. package/contracts/registry/ChainNft.sol +97 -35
  455. package/contracts/registry/IRegistry.sol +132 -19
  456. package/contracts/registry/IRegistryService.sol +47 -20
  457. package/contracts/registry/IRelease.sol +29 -0
  458. package/contracts/registry/ITransferInterceptor.sol +1 -1
  459. package/contracts/registry/Registry.sol +574 -270
  460. package/contracts/registry/RegistryAdmin.sol +188 -0
  461. package/contracts/registry/RegistryAuthorization.sol +284 -0
  462. package/contracts/registry/RegistryService.sol +124 -324
  463. package/contracts/registry/RegistryServiceManager.sol +27 -38
  464. package/contracts/registry/ReleaseAdmin.sol +195 -0
  465. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  466. package/contracts/registry/ReleaseRegistry.sol +520 -0
  467. package/contracts/registry/ServiceAuthorizationV3.sol +344 -0
  468. package/contracts/registry/TokenRegistry.sol +314 -0
  469. package/contracts/shared/Component.sol +210 -0
  470. package/contracts/shared/ComponentService.sol +678 -0
  471. package/contracts/shared/ComponentServiceManager.sol +38 -0
  472. package/contracts/shared/ContractLib.sol +311 -0
  473. package/contracts/shared/IComponent.sol +58 -0
  474. package/contracts/shared/IComponentService.sol +110 -0
  475. package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
  476. package/contracts/shared/IKeyValueStore.sol +54 -0
  477. package/contracts/{instance/base → shared}/ILifecycle.sol +6 -5
  478. package/contracts/shared/INftOwnable.sol +15 -12
  479. package/contracts/shared/IPolicyHolder.sol +35 -0
  480. package/contracts/shared/IRegisterable.sol +24 -5
  481. package/contracts/shared/IRegistryLinked.sol +11 -0
  482. package/contracts/shared/IService.sol +23 -0
  483. package/contracts/shared/InitializableERC165.sol +35 -0
  484. package/contracts/shared/InstanceLinkedComponent.sol +194 -0
  485. package/contracts/shared/KeyValueStore.sol +131 -0
  486. package/contracts/shared/Lifecycle.sol +88 -0
  487. package/contracts/shared/NftIdSet.sol +65 -0
  488. package/contracts/shared/NftOwnable.sol +75 -84
  489. package/contracts/shared/PolicyHolder.sol +63 -0
  490. package/contracts/shared/Registerable.sol +54 -37
  491. package/contracts/shared/RegistryLinked.sol +38 -0
  492. package/contracts/shared/Service.sol +67 -0
  493. package/contracts/shared/TokenHandler.sol +342 -0
  494. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  495. package/contracts/staking/IStaking.sol +195 -0
  496. package/contracts/staking/IStakingService.sol +170 -0
  497. package/contracts/staking/Staking.sol +605 -0
  498. package/contracts/staking/StakingLib.sol +281 -0
  499. package/contracts/staking/StakingLifecycle.sol +23 -0
  500. package/contracts/staking/StakingManager.sol +52 -0
  501. package/contracts/staking/StakingReader.sol +199 -0
  502. package/contracts/staking/StakingService.sol +468 -0
  503. package/contracts/staking/StakingServiceManager.sol +45 -0
  504. package/contracts/staking/StakingStore.sol +606 -0
  505. package/contracts/staking/TargetManagerLib.sol +211 -0
  506. package/contracts/{types → type}/AddressSet.sol +1 -1
  507. package/contracts/type/Amount.sol +150 -0
  508. package/contracts/{types → type}/Blocknumber.sol +27 -3
  509. package/contracts/type/ClaimId.sol +80 -0
  510. package/contracts/type/DistributorType.sol +55 -0
  511. package/contracts/type/Fee.sol +66 -0
  512. package/contracts/{types → type}/Key32.sol +10 -5
  513. package/contracts/type/Key32Set.sol +62 -0
  514. package/contracts/{types → type}/NftId.sol +28 -15
  515. package/contracts/type/NftIdSet.sol +62 -0
  516. package/contracts/type/ObjectType.sol +307 -0
  517. package/contracts/type/PayoutId.sol +82 -0
  518. package/contracts/type/Referral.sol +90 -0
  519. package/contracts/type/RequestId.sol +75 -0
  520. package/contracts/type/RiskId.sol +75 -0
  521. package/contracts/type/RoleId.sol +180 -0
  522. package/contracts/type/Seconds.sol +105 -0
  523. package/contracts/type/Selector.sol +107 -0
  524. package/contracts/{types → type}/StateId.sol +53 -5
  525. package/contracts/type/String.sol +65 -0
  526. package/contracts/{types → type}/Timestamp.sol +37 -19
  527. package/contracts/type/UFixed.sol +262 -0
  528. package/contracts/{types → type}/Version.sol +61 -6
  529. package/contracts/{shared → upgradeability}/IVersionable.sol +5 -48
  530. package/contracts/upgradeability/ProxyManager.sol +234 -0
  531. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +8 -4
  532. package/contracts/upgradeability/Versionable.sol +62 -0
  533. package/package.json +12 -8
  534. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  535. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -301
  536. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  537. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -557
  538. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  539. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -254
  540. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  541. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -177
  542. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  543. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -308
  544. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  545. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -207
  546. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  547. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -716
  548. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  549. package/artifacts/contracts/components/Product.sol/Product.json +0 -614
  550. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  551. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  552. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  553. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  554. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  555. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  556. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  557. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  558. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  559. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  560. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  561. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  562. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  563. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  564. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  565. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  566. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  567. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  568. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  569. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  570. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  571. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  572. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  573. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  574. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  575. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  576. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  577. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  578. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  579. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  580. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  581. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  582. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  583. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  584. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  585. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  586. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  587. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  588. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  589. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  590. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  591. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  592. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  593. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  594. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  595. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  596. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  597. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  598. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -710
  599. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  600. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  601. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  602. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  603. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  604. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -297
  605. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  606. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  607. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -297
  608. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  609. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -117
  610. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  611. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  612. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  613. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -117
  614. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.dbg.json +0 -4
  615. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.json +0 -10
  616. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistribution.dbg.json +0 -4
  617. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.dbg.json +0 -4
  618. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.json +0 -10
  619. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  620. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  621. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -271
  622. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  623. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -271
  624. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  625. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  626. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -164
  627. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  628. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -164
  629. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  630. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  631. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -113
  632. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  633. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -131
  634. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  635. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
  636. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  637. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -638
  638. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  639. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  640. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  641. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -638
  642. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  643. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  644. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  645. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -630
  646. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  647. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  648. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  649. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  650. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  651. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  652. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -753
  653. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  654. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -1068
  655. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  656. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -457
  657. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  658. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  659. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  660. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  661. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  662. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  663. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  664. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -349
  665. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  666. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  667. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  668. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  669. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.dbg.json +0 -4
  670. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.json +0 -557
  671. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  672. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  673. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  674. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -716
  675. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  676. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -744
  677. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  678. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  679. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  680. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  681. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  682. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -584
  683. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  684. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  685. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  686. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  687. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  688. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -270
  689. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  690. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  691. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  692. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  693. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  694. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  695. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  696. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  697. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  698. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  699. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  700. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
  701. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  702. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  703. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  704. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  705. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  706. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  707. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.dbg.json +0 -4
  708. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.json +0 -99
  709. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  710. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  711. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  712. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -30
  713. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  714. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  715. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  716. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  717. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  718. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  719. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  720. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  721. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  722. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  723. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  724. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  725. package/contracts/components/BaseComponent.sol +0 -79
  726. package/contracts/components/Distribution.sol +0 -155
  727. package/contracts/components/IBaseComponent.sol +0 -19
  728. package/contracts/components/IDistributionComponent.sol +0 -46
  729. package/contracts/components/IPoolComponent.sol +0 -64
  730. package/contracts/components/IProductComponent.sol +0 -37
  731. package/contracts/components/Pool.sol +0 -246
  732. package/contracts/components/Product.sol +0 -299
  733. package/contracts/experiment/cloning/Cloner.sol +0 -47
  734. package/contracts/experiment/errors/Require.sol +0 -38
  735. package/contracts/experiment/errors/Revert.sol +0 -44
  736. package/contracts/experiment/inheritance/A.sol +0 -53
  737. package/contracts/experiment/inheritance/B.sol +0 -28
  738. package/contracts/experiment/inheritance/C.sol +0 -34
  739. package/contracts/experiment/inheritance/IA.sol +0 -13
  740. package/contracts/experiment/inheritance/IB.sol +0 -10
  741. package/contracts/experiment/inheritance/IC.sol +0 -12
  742. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  743. package/contracts/experiment/statemachine/ISM.sol +0 -25
  744. package/contracts/experiment/statemachine/SM.sol +0 -57
  745. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  746. package/contracts/experiment/types/TypeA.sol +0 -47
  747. package/contracts/experiment/types/TypeB.sol +0 -29
  748. package/contracts/instance/IInstanceLinked.sol +0 -8
  749. package/contracts/instance/base/ComponentServiceBase.sol +0 -49
  750. package/contracts/instance/base/IInstanceBase.sol +0 -23
  751. package/contracts/instance/base/IKeyValueStore.sol +0 -50
  752. package/contracts/instance/base/IService.sol +0 -15
  753. package/contracts/instance/base/InstanceBase.sol +0 -89
  754. package/contracts/instance/base/KeyValueStore.sol +0 -161
  755. package/contracts/instance/base/Lifecycle.sol +0 -100
  756. package/contracts/instance/base/ModuleBase.sol +0 -57
  757. package/contracts/instance/base/ServiceBase.sol +0 -44
  758. package/contracts/instance/module/bundle/BundleModule.sol +0 -134
  759. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  760. package/contracts/instance/module/component/ComponentModule.sol +0 -71
  761. package/contracts/instance/module/component/IComponent.sol +0 -28
  762. package/contracts/instance/module/distribution/DistributionModule.sol +0 -17
  763. package/contracts/instance/module/distribution/IDistribution.sol +0 -10
  764. package/contracts/instance/module/policy/IPolicy.sol +0 -63
  765. package/contracts/instance/module/policy/PolicyModule.sol +0 -91
  766. package/contracts/instance/module/pool/IPoolModule.sol +0 -41
  767. package/contracts/instance/module/pool/PoolModule.sol +0 -95
  768. package/contracts/instance/module/risk/IRisk.sol +0 -26
  769. package/contracts/instance/module/risk/RiskModule.sol +0 -62
  770. package/contracts/instance/module/treasury/ITreasury.sol +0 -84
  771. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  772. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -131
  773. package/contracts/instance/service/ComponentOwnerService.sol +0 -315
  774. package/contracts/instance/service/DistributionService.sol +0 -54
  775. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  776. package/contracts/instance/service/IDistributionService.sol +0 -12
  777. package/contracts/instance/service/IPoolService.sol +0 -37
  778. package/contracts/instance/service/IProductService.sol +0 -107
  779. package/contracts/instance/service/PoolService.sol +0 -149
  780. package/contracts/instance/service/ProductService.sol +0 -510
  781. package/contracts/registry/IChainNft.sol +0 -22
  782. package/contracts/shared/ContractDeployerLib.sol +0 -72
  783. package/contracts/shared/ERC165.sol +0 -21
  784. package/contracts/shared/ProxyManager.sol +0 -94
  785. package/contracts/shared/Versionable.sol +0 -147
  786. package/contracts/test/TestDistribution.sol +0 -22
  787. package/contracts/test/TestFee.sol +0 -25
  788. package/contracts/test/TestPool.sol +0 -27
  789. package/contracts/test/TestProduct.sol +0 -74
  790. package/contracts/test/TestRegisterable.sol +0 -18
  791. package/contracts/test/TestRoleId.sol +0 -14
  792. package/contracts/test/TestService.sol +0 -26
  793. package/contracts/test/TestVersion.sol +0 -44
  794. package/contracts/test/TestVersionable.sol +0 -17
  795. package/contracts/test/Usdc.sol +0 -26
  796. package/contracts/types/ChainId.sol +0 -38
  797. package/contracts/types/Fee.sol +0 -56
  798. package/contracts/types/NftIdSet.sol +0 -60
  799. package/contracts/types/ObjectType.sol +0 -131
  800. package/contracts/types/ReferralId.sol +0 -48
  801. package/contracts/types/RiskId.sol +0 -43
  802. package/contracts/types/RoleId.sol +0 -45
  803. package/contracts/types/UFixed.sol +0 -325
@@ -0,0 +1,174 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IAccess} from "./IAccess.sol";
5
+ import {IAuthorization} from "./IAuthorization.sol";
6
+
7
+ import {ADMIN_ROLE_NAME, PUBLIC_ROLE_NAME} from "./AccessAdmin.sol";
8
+ import {ObjectType, ObjectTypeLib} from "../type/ObjectType.sol";
9
+ import {RoleId, RoleIdLib, ADMIN_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
10
+ import {SelectorLib} from "../type/Selector.sol";
11
+ import {ServiceAuthorization} from "../authorization/ServiceAuthorization.sol";
12
+ import {Str, StrLib} from "../type/String.sol";
13
+ import {TimestampLib} from "../type/Timestamp.sol";
14
+ import {VersionPart, VersionPartLib} from "../type/Version.sol";
15
+
16
+
17
+ contract Authorization is
18
+ ServiceAuthorization,
19
+ IAuthorization
20
+ {
21
+
22
+ // MUST match with AccessAdminLib.COMPONENT_ROLE_MIN
23
+ uint64 public constant COMPONENT_ROLE_MIN = 110000;
24
+
25
+ uint64 internal _nextGifContractRoleId;
26
+
27
+ string internal _tokenHandlerName = "ComponentTh";
28
+ Str internal _tokenHandlerTarget;
29
+
30
+
31
+ constructor(
32
+ string memory mainTargetName,
33
+ ObjectType domain,
34
+ uint8 release,
35
+ string memory commitHash,
36
+ bool isComponent,
37
+ bool includeTokenHandler
38
+ )
39
+ ServiceAuthorization(mainTargetName, domain, release, commitHash)
40
+ {
41
+ _nextGifContractRoleId = 10;
42
+
43
+ // setup main target
44
+ if (isComponent) {
45
+ if (domain.eqz()) {
46
+ revert ErrorAuthorizationTargetDomainZero();
47
+ }
48
+
49
+ RoleId mainRoleId = RoleIdLib.toRoleId(COMPONENT_ROLE_MIN);
50
+ string memory mainRolName = _toTargetRoleName(_mainTargetName);
51
+
52
+ _addTargetWithRole(
53
+ _mainTargetName,
54
+ mainRoleId,
55
+ mainRolName);
56
+ } else {
57
+ _addGifTarget(_mainTargetName);
58
+ }
59
+
60
+ // setup use case specific parts
61
+ _setupServiceTargets();
62
+ _setupRoles(); // not including main target role
63
+ _setupTargets(); // not including main target (and token handler target)
64
+ _setupTargetAuthorizations(); // not including token handler target
65
+
66
+ // setup component token handler
67
+ if (includeTokenHandler) {
68
+ _tokenHandlerName = string(abi.encodePacked(mainTargetName, "Th"));
69
+ _tokenHandlerTarget = StrLib.toStr(_tokenHandlerName);
70
+ _addTarget(_tokenHandlerName);
71
+ _setupTokenHandlerAuthorizations();
72
+ }
73
+
74
+ _registerInterfaceNotInitializing(type(IAuthorization).interfaceId);
75
+ }
76
+
77
+
78
+ function getTokenHandlerName() public view returns(string memory) {
79
+ return _tokenHandlerName;
80
+ }
81
+
82
+ function getTokenHandlerTarget() public view returns(Str) {
83
+ return _tokenHandlerTarget;
84
+ }
85
+
86
+ function getTarget(string memory targetName) public pure returns(Str target) {
87
+ return StrLib.toStr(targetName);
88
+ }
89
+
90
+ function getTargets() external view returns(Str[] memory targets) {
91
+ return _targets;
92
+ }
93
+
94
+ function targetExists(Str target) external view returns(bool exists) {
95
+ return target == _mainTarget || _targetExists[target];
96
+ }
97
+
98
+ /// @dev Sets up the relevant service targets for the component.
99
+ /// Overwrite this function for use case specific authorizations.
100
+ // solhint-disable-next-line no-empty-blocks
101
+ function _setupServiceTargets() internal virtual { }
102
+
103
+ /// @dev Sets up the relevant (non-service) targets for the component.
104
+ /// Overwrite this function for use case specific authorizations.
105
+ // solhint-disable-next-line no-empty-blocks
106
+ function _setupTargets() internal virtual { }
107
+
108
+ /// @dev Sets up the relevant roles for the component.
109
+ /// Overwrite this function for use case specific authorizations.
110
+ // solhint-disable-next-line no-empty-blocks
111
+ function _setupRoles() internal virtual {}
112
+
113
+ /// @dev Sets up the relevant component's token handler authorizations.
114
+ /// Overwrite this function for use case specific authorizations.
115
+ // solhint-disable-next-line no-empty-blocks
116
+ function _setupTokenHandlerAuthorizations() internal virtual {}
117
+
118
+ /// @dev Sets up the relevant target authorizations for the component.
119
+ /// Overwrite this function for use case specific authorizations.
120
+ // solhint-disable-next-line no-empty-blocks
121
+ function _setupTargetAuthorizations() internal virtual {}
122
+
123
+
124
+ /// @dev Add a contract role for the provided role id and name.
125
+ function _addCustomRole(RoleId roleId, RoleId adminRoleId, uint32 maxMemberCount, string memory name) internal {
126
+ _addRole(
127
+ roleId,
128
+ _toRoleInfo(
129
+ adminRoleId,
130
+ RoleType.Custom,
131
+ maxMemberCount,
132
+ name));
133
+ }
134
+
135
+ /// @dev Add a gif target with its corresponding contract role
136
+ function _addGifTarget(string memory contractName) internal {
137
+ RoleId contractRoleId = RoleIdLib.toRoleId(_nextGifContractRoleId++);
138
+ string memory contractRoleName = string(
139
+ abi.encodePacked(
140
+ contractName,
141
+ ROLE_NAME_SUFFIX));
142
+
143
+ _addTargetWithRole(
144
+ contractName,
145
+ contractRoleId,
146
+ contractRoleName);
147
+ }
148
+
149
+
150
+ /// @dev Use this method to to add an authorized target.
151
+ function _addTarget(string memory name) internal {
152
+ _addTargetWithRole(name, RoleIdLib.zero(), "");
153
+ }
154
+
155
+
156
+ /// @dev Role id for targets registry, staking and instance
157
+ function _toTargetRoleId(ObjectType targetDomain)
158
+ internal
159
+ pure
160
+ returns (RoleId targetRoleId)
161
+ {
162
+ return RoleIdLib.toRoleId(100 * targetDomain.toInt());
163
+ }
164
+
165
+
166
+ /// @dev Returns the role name for the specified target name
167
+ function _toTargetRoleName(string memory targetName) internal pure returns (string memory) {
168
+ return string(
169
+ abi.encodePacked(
170
+ targetName,
171
+ ROLE_NAME_SUFFIX));
172
+ }
173
+ }
174
+
@@ -0,0 +1,67 @@
1
+ // SPDX-License-Identifier: UNLICENSED
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {RoleId} from "../type/RoleId.sol";
5
+ import {Selector} from "../type/Selector.sol";
6
+ import {Str} from "../type/String.sol";
7
+ import {Timestamp} from "../type/Timestamp.sol";
8
+
9
+ interface IAccess {
10
+
11
+ enum RoleType {
12
+ Undefined, // no role must have this type
13
+ Core, // GIF core roles
14
+ Contract, // roles assigned to contracts, cannot be revoked
15
+ Custom // use case specific rules for components
16
+ }
17
+
18
+ enum TargetType {
19
+ Undefined, // no target must have this type
20
+ Core, // GIF core contracts
21
+ GenericService, // release independent service contracts
22
+ Service, // service contracts
23
+ Instance, // instance contracts
24
+ Component, // instance contracts
25
+ Custom // use case specific rules for components
26
+ }
27
+
28
+ struct RoleInfo {
29
+ // slot 0
30
+ RoleId adminRoleId;
31
+ RoleType roleType;
32
+ uint32 maxMemberCount;
33
+ Timestamp createdAt;
34
+ Timestamp pausedAt;
35
+ // slot 1
36
+ Str name;
37
+ }
38
+
39
+ // TODO recalc slot allocation
40
+ struct TargetInfo {
41
+ Str name;
42
+ TargetType targetType;
43
+ RoleId roleId;
44
+ Timestamp createdAt;
45
+ }
46
+
47
+ struct FunctionInfo {
48
+ // slot 0
49
+ Str name; // function name
50
+ // slot 1
51
+ Selector selector; // function selector
52
+ Timestamp createdAt;
53
+ }
54
+
55
+ struct RoleNameInfo {
56
+ // slot 0
57
+ RoleId roleId;
58
+ bool exists;
59
+ }
60
+
61
+ struct TargeNameInfo {
62
+ // slot 0
63
+ address target;
64
+ bool exists;
65
+ }
66
+
67
+ }
@@ -0,0 +1,144 @@
1
+ // SPDX-License-Identifier: UNLICENSED
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
5
+
6
+ import {IAccess} from "./IAccess.sol";
7
+ import {IAuthorization} from "./IAuthorization.sol";
8
+ import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
9
+ import {IRelease} from "../registry/IRelease.sol";
10
+
11
+ import {NftId} from "../type/NftId.sol";
12
+ import {ObjectType} from "../type/ObjectType.sol";
13
+ import {RoleId} from "../type/RoleId.sol";
14
+ import {Str} from "../type/String.sol";
15
+ import {VersionPart} from "../type/Version.sol";
16
+
17
+ /// @dev Base interface for registry admin, release admin, and instance admin
18
+ interface IAccessAdmin is
19
+ IAccessManaged,
20
+ IAccess,
21
+ IRegistryLinked,
22
+ IRelease
23
+ {
24
+
25
+ // roles, targets and functions
26
+ event LogAccessAdminRoleCreated(string admin, RoleId roleId, RoleType roleType, RoleId roleAdminId, string name);
27
+ event LogAccessAdminTargetCreated(string admin, string name, bool managed, address target, RoleId roleId);
28
+
29
+ event LogAccessAdminRoleGranted(string admin, address account, string roleName);
30
+ event LogAccessAdminRoleRevoked(string admin, address account, string roleName);
31
+ event LogAccessAdminFunctionGranted(string admin, address target, string func);
32
+
33
+ // only deployer modifier
34
+ error ErrorAccessAdminNotDeployer();
35
+
36
+ // only role admin modifier
37
+ error ErrorAccessAdminNotAdminOfRole(RoleId adminRoleId, address account);
38
+
39
+ // only role owner modifier
40
+ error ErrorAccessAdminNotRoleOwner(RoleId roleId, address account);
41
+
42
+ // role management
43
+ error ErrorAccessAdminInvalidUserOfAdminRole();
44
+ error ErrorAccessAdminInvalidUserOfPublicRole();
45
+ error ErrorAccessAdminRoleNotCustom(RoleId roleId);
46
+
47
+ // initialization
48
+ error ErrorAccessAdminNotRegistry(address registry);
49
+ error ErrorAccessAdminAuthorityNotContract(address authority);
50
+ error ErrorAccessAdminAccessManagerNotAccessManager(address authority);
51
+ error ErrorAccessAdminAccessManagerEmptyName();
52
+
53
+ // check target
54
+ error ErrorAccessAdminInvalidTargetType(address target, TargetType targetType);
55
+ error ErrorAccessAdminInvalidServiceType(address target, TargetType serviceTargetType);
56
+ error ErrorAccessAdminTargetNotCreated(address target);
57
+ error ErrorAccessAdminTargetNotRegistered(address target);
58
+ error ErrorAccessAdminTargetTypeMismatch(address target, ObjectType expectedType, ObjectType actualType);
59
+
60
+ // check authorization
61
+ error ErrorAccessAdminAlreadyInitialized(address authorization);
62
+ error ErrorAccessAdminNotAuthorization(address authorization);
63
+ error ErrorAccessAdminNotServiceAuthorization(address serviceAuthorization);
64
+ error ErrorAccessAdminDomainMismatch(address authorization, ObjectType expectedDomain, ObjectType actualDomain);
65
+ error ErrorAccessAdminReleaseMismatch(address authorization, VersionPart expectedRelease, VersionPart actualRelease);
66
+
67
+ // link to nft
68
+ error ErrorAccessAdminNotRegistered(address registerable);
69
+
70
+ // initialize authority
71
+ error ErrorAccessAdminAdminRoleMissing();
72
+
73
+ // create role
74
+ error ErrorAccessAdminRoleAlreadyCreated(RoleId roleId, string name);
75
+ error ErrorAccessAdminRoleAdminNotExisting(RoleId adminRoleId);
76
+ error ErrorAccessAdminRoleNameEmpty(RoleId roleId);
77
+ error ErrorAccessAdminRoleNameAlreadyExists(RoleId roleId, string name, RoleId existingRoleId);
78
+
79
+ // grant/revoke/renounce role
80
+ error ErrorAccessAdminRoleUnknown(RoleId roleId);
81
+ error ErrorAccessAdminRoleIsLocked(RoleId roleId);
82
+ error ErrorAccessAdminRoleIsPaused(RoleId roleId);
83
+ error ErrorAccessAdminRoleMembersLimitReached(RoleId roleId, uint256 memberCountLimit);
84
+ error ErrorAccessAdminRoleMemberNotContract(RoleId roleId, address notContract);
85
+ error ErrorAccessAdminRoleMemberRemovalDisabled(RoleId roleId, address expectedMember);
86
+
87
+ // create target
88
+ error ErrorAccessAdminTargetAlreadyCreated(address target, string name);
89
+ error ErrorAccessAdminTargetNameEmpty(address target);
90
+ error ErrorAccessAdminTargetNameAlreadyExists(address target, string name, address existingTarget);
91
+ error ErrorAccessAdminTargetNotAccessManaged(address target);
92
+ error ErrorAccessAdminTargetAuthorityMismatch(address expectedAuthority, address actualAuthority);
93
+
94
+ // lock target
95
+ error ErrorAccessAdminTagetNotLockable();
96
+ error ErrorAccessAdminTargetAlreadyLocked(address target, bool isLocked);
97
+
98
+ // authorize target functions
99
+ error ErrorAccessAdminAuthorizeForAdminRoleInvalid(address target);
100
+
101
+ // toFunction
102
+ error ErrorAccessAdminSelectorZero();
103
+ error ErrorAccessAdminFunctionNameEmpty();
104
+
105
+ // check target
106
+ error ErrorAccessAdminTargetUnknown(address target);
107
+
108
+ //--- view functions ----------------------------------------------------//
109
+
110
+ function getAuthorization() external view returns (IAuthorization authorization);
111
+ function getLinkedNftId() external view returns (NftId linkedNftId);
112
+ function getLinkedOwner() external view returns (address linkedOwner);
113
+
114
+ function isLocked() external view returns (bool locked);
115
+
116
+ function roles() external view returns (uint256 numberOfRoles);
117
+ function getRoleId(uint256 idx) external view returns (RoleId roleId);
118
+ function getAdminRole() external view returns (RoleId roleId);
119
+ function getPublicRole() external view returns (RoleId roleId);
120
+
121
+ function roleExists(RoleId roleId) external view returns (bool exists);
122
+ function roleExists(string memory roleName) external view returns (bool exists);
123
+ function getRoleForName(string memory name) external view returns (RoleId roleId);
124
+ function getRoleInfo(RoleId roleId) external view returns (RoleInfo memory roleInfo);
125
+ function isRoleActive(RoleId roleId) external view returns (bool isActive);
126
+ function isRoleCustom(RoleId roleId) external view returns (bool isCustom);
127
+
128
+ function isRoleMember(RoleId roleId, address account) external view returns (bool);
129
+ function isRoleAdmin(RoleId roleId, address account) external view returns (bool);
130
+ function roleMembers(RoleId roleId) external view returns (uint256 numberOfMembers);
131
+ function getRoleMember(RoleId roleId, uint256 idx) external view returns (address account);
132
+
133
+ function targetExists(address target) external view returns (bool exists);
134
+ function getTargetForName(Str name) external view returns (address target);
135
+ function targets() external view returns (uint256 numberOfTargets);
136
+ function getTargetAddress(uint256 idx) external view returns (address target);
137
+ function getTargetInfo(address target) external view returns (TargetInfo memory targetInfo);
138
+ function isTargetLocked(address target) external view returns (bool locked);
139
+
140
+ function authorizedFunctions(address target) external view returns (uint256 numberOfFunctions);
141
+ function getAuthorizedFunction(address target, uint256 idx) external view returns (FunctionInfo memory func, RoleId roleId);
142
+
143
+ function deployer() external view returns (address);
144
+ }
@@ -0,0 +1,27 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IServiceAuthorization} from "./IServiceAuthorization.sol";
5
+ import {RoleId} from "../type/RoleId.sol";
6
+ import {Str} from "../type/String.sol";
7
+
8
+
9
+ interface IAuthorization is
10
+ IServiceAuthorization
11
+ {
12
+
13
+ /// @dev Returns the token hander name.
14
+ /// Only components have a token handler.
15
+ function getTokenHandlerName() external view returns(string memory name);
16
+
17
+ /// @dev Returns the token hander target.
18
+ /// Only components have a token handler.
19
+ function getTokenHandlerTarget() external view returns(Str target);
20
+
21
+ /// @dev Returns the complete list of targets.
22
+ function getTargets() external view returns(Str[] memory targets);
23
+
24
+ /// @dev Returns true iff the specified target exists.
25
+ function targetExists(Str target) external view returns(bool exists);
26
+ }
27
+
@@ -0,0 +1,78 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
5
+
6
+ import {IAccess} from "../authorization/IAccess.sol";
7
+ import {ObjectType} from "../type/ObjectType.sol";
8
+ import {RoleId} from "../type/RoleId.sol";
9
+ import {Str} from "../type/String.sol";
10
+ import {VersionPart} from "../type/Version.sol";
11
+
12
+ interface IServiceAuthorization is
13
+ IERC165,
14
+ IAccess
15
+ {
16
+
17
+ error ErrorAuthorizationMainTargetNameEmpty();
18
+ error ErrorAuthorizationTargetDomainZero();
19
+ error ErrorAuthorizationReleaseInvalid(uint8 release);
20
+ error ErrorAuthorizationCommitHashInvalid(string commitHash);
21
+
22
+ /// @dev Returns the main domain of the authorization.
23
+ function getDomain() external view returns(ObjectType targetDomain);
24
+
25
+ /// @dev Returns the release (VersionPart) for which the authorizations are defined by this contract.
26
+ /// Matches with the release returned by the linked service authorization.
27
+ function getRelease() external view returns(VersionPart release);
28
+
29
+ /// @dev Returns the commit hash for the related GIF release.
30
+ function getCommitHash() external view returns(string memory commitHash);
31
+
32
+ /// @dev Returns the main target id name as string.
33
+ /// This name is used to derive the target id and a corresponding target role name
34
+ /// Overwrite this function to change the basic pool target name.
35
+ function getMainTargetName() external view returns (string memory name);
36
+
37
+ /// @dev Returns the main target.
38
+ function getMainTarget() external view returns(Str target);
39
+
40
+ /// @dev Returns the full list of service domains for this release.
41
+ /// Services need to be registered for the release in revers order of this list.
42
+ function getServiceDomains() external view returns(ObjectType[] memory serviceDomains);
43
+
44
+ /// @dev Returns the service domain for the provided index.
45
+ function getServiceDomain(uint256 idx) external view returns(ObjectType serviceDomain);
46
+
47
+ /// @dev Returns the service target for the specified domain.
48
+ function getServiceTarget(ObjectType serviceDomain) external view returns(Str serviceTarget);
49
+
50
+ /// @dev Returns the service target for the specified domain.
51
+ function getServiceRole(ObjectType serviceDomain) external view returns(RoleId serviceRoleId);
52
+
53
+ /// @dev Returns the expected service address for the provided domain.
54
+ function getServiceAddress(ObjectType serviceDomain) external view returns(address service);
55
+
56
+ /// @dev Returns the role id associated with the target.
57
+ /// If no role is associated with the target the zero role id is returned.
58
+ function getTargetRole(Str target) external view returns(RoleId roleId);
59
+
60
+ /// @dev Returns true iff the role exists.
61
+ function roleExists(RoleId roleId) external view returns(bool exists);
62
+
63
+ /// @dev Returns the list of involved roles.
64
+ function getRoles() external view returns(RoleId[] memory roles);
65
+
66
+ /// @dev Returns the role info for the provided role id.
67
+ function getRoleInfo(RoleId roleId) external view returns (RoleInfo memory roleInfo);
68
+
69
+ /// @dev Returns the name for the provided role id.
70
+ function getRoleName(RoleId roleId) external view returns (string memory roleName);
71
+
72
+ /// @dev For the given target the list of authorized role ids is returned
73
+ function getAuthorizedRoles(Str target) external view returns(RoleId[] memory roleIds);
74
+
75
+ /// @dev For the given target and role id the list of authorized functions is returned
76
+ function getAuthorizedFunctions(Str target, RoleId roleId) external view returns(FunctionInfo[] memory authorizatedFunctions);
77
+ }
78
+