@etherisc/gif-next 0.0.2-4cff82c-565 → 0.0.2-4d3a61b-293

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 (825) hide show
  1. package/README.md +172 -190
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1075 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +810 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +843 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1735 -0
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +2008 -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 +817 -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 +1400 -0
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +465 -0
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +407 -0
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +652 -0
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1234 -0
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +844 -0
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +939 -0
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1809 -0
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +950 -0
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  37. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +838 -0
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  39. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +1284 -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 +1474 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +844 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2043 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +844 -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 +1429 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +844 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1161 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1637 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +844 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2575 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +844 -0
  66. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
  67. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +332 -0
  68. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  69. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  70. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
  71. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +304 -0
  72. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  73. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +564 -1396
  74. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  75. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +1102 -0
  76. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  77. package/artifacts/contracts/instance/Instance.sol/Instance.json +693 -1731
  78. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  79. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2400 -0
  80. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  81. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +872 -0
  82. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  83. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +2526 -0
  84. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  85. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1348 -0
  86. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  87. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +792 -0
  88. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  89. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3039 -0
  90. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
  91. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +3427 -0
  92. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  93. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
  94. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  95. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  96. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +137 -0
  98. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  99. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  100. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  101. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  102. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  103. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  104. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  105. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  106. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  107. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  108. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  109. package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/IComponents.sol/IComponents.json} +2 -2
  110. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  111. package/artifacts/contracts/instance/module/{distribution/IDistribution.sol → IDistribution.sol}/IDistribution.json +1 -1
  112. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  113. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  114. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  115. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  116. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  117. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  118. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  119. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +947 -0
  120. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  121. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +849 -0
  122. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  123. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  124. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  125. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +762 -0
  126. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  127. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +762 -0
  128. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  129. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +863 -0
  130. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  131. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1042 -0
  132. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  133. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +830 -0
  134. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  135. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1232 -0
  136. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  137. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +844 -0
  138. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  139. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1438 -0
  140. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  141. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +886 -0
  142. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  143. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +1033 -0
  144. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  145. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +895 -0
  146. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  147. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1449 -0
  148. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  149. package/artifacts/contracts/pool/Pool.sol/Pool.json +1015 -0
  150. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  151. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  152. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  153. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1833 -0
  154. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  155. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +886 -0
  156. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  157. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +1036 -0
  158. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  159. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +810 -0
  160. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  161. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1149 -0
  162. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  163. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +844 -0
  164. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  165. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1536 -0
  166. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  167. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +906 -0
  168. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  169. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +804 -0
  170. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  171. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +1104 -0
  172. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  173. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +1036 -0
  174. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  175. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +652 -0
  176. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  177. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +1006 -0
  178. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  179. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IRiskService.sol/IRiskService.json} +343 -308
  180. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  181. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1404 -0
  182. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  183. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  184. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  185. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +874 -0
  186. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  187. package/artifacts/contracts/product/PricingService.sol/PricingService.json +932 -0
  188. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  189. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +834 -0
  190. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  191. package/artifacts/contracts/product/Product.sol/Product.json +1107 -0
  192. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  193. package/artifacts/contracts/product/RiskService.sol/RiskService.json +873 -0
  194. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  195. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +794 -0
  196. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  197. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +242 -12
  198. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  199. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +1035 -119
  200. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  201. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +1072 -0
  202. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  203. package/artifacts/contracts/{instance/IInstanceLinked.sol/IInstanceLinked.json → registry/IRelease.sol/IRelease.json} +6 -6
  204. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  205. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +39 -0
  206. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  207. package/artifacts/contracts/registry/Registry.sol/Registry.json +1473 -231
  208. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  209. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2255 -0
  210. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  211. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1137 -0
  212. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  213. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1298 -0
  214. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  215. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +793 -0
  216. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  217. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2271 -0
  218. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  219. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  220. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  221. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1401 -0
  222. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  223. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +705 -0
  224. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  225. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +721 -0
  226. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  227. package/artifacts/contracts/shared/Component.sol/Component.json +695 -0
  228. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  229. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1551 -0
  230. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  231. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +882 -0
  232. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  233. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  234. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  235. package/artifacts/contracts/shared/{IOwnable.sol/IOwnable.json → ContractLib.sol/IInstanceAdminHelper.json} +5 -5
  236. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  237. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  238. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  239. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  240. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  241. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +620 -0
  242. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  243. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1175 -0
  244. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  245. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +697 -0
  246. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  247. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  248. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  249. package/artifacts/contracts/{components/IBaseComponent.sol/IBaseComponent.json → shared/INftOwnable.sol/INftOwnable.json} +62 -70
  250. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  251. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  252. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  253. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +248 -21
  254. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  255. package/artifacts/contracts/{registry → shared}/IRegistryLinked.sol/IRegistryLinked.json +13 -2
  256. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  257. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → shared/IService.sol/IService.json} +224 -160
  258. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  259. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  260. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  261. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +785 -0
  262. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  263. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  264. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  265. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  266. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  267. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +228 -0
  268. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  269. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
  270. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  271. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +294 -18
  272. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  273. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  274. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  275. package/artifacts/contracts/{instance/base/InstanceBase.sol/InstanceBase.json → shared/Service.sol/Service.json} +262 -156
  276. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  277. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +723 -0
  278. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  279. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  280. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  281. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  282. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  283. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +2747 -0
  284. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  285. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1147 -0
  286. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
  287. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
  288. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  289. package/artifacts/contracts/staking/Staking.sol/Staking.json +3175 -0
  290. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  291. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
  292. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  293. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +867 -0
  294. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  295. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +704 -0
  296. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  297. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1344 -0
  298. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  299. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +786 -0
  300. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  301. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +3097 -0
  302. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
  303. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
  304. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  305. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +679 -0
  306. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  307. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  308. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  309. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  310. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  311. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +270 -0
  312. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  313. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  314. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  315. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  316. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  317. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  318. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  319. package/artifacts/contracts/type/Fee.sol/FeeLib.json +373 -0
  320. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  321. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  322. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  323. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  324. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  325. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
  326. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  327. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  328. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  329. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +241 -0
  330. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  331. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  332. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  333. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  334. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  335. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  336. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  337. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +204 -0
  338. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  339. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +254 -0
  340. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  341. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +289 -0
  342. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  343. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
  344. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  345. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  346. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  347. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  348. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  349. package/artifacts/contracts/type/String.sol/StrLib.json +180 -0
  350. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  351. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  352. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  353. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +572 -0
  354. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  355. package/artifacts/contracts/type/Version.sol/VersionLib.json +158 -0
  356. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  357. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +167 -0
  358. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  359. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +65 -0
  360. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  361. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +672 -0
  362. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  363. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
  364. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  365. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +88 -0
  366. package/contracts/accounting/AccountingService.sol +274 -0
  367. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  368. package/contracts/accounting/IAccountingService.sol +47 -0
  369. package/contracts/authorization/AccessAdmin.sol +679 -0
  370. package/contracts/authorization/AccessAdminLib.sol +678 -0
  371. package/contracts/authorization/AccessManagerCloneable.sol +140 -0
  372. package/contracts/authorization/Authorization.sol +190 -0
  373. package/contracts/authorization/IAccess.sol +66 -0
  374. package/contracts/authorization/IAccessAdmin.sol +142 -0
  375. package/contracts/authorization/IAuthorization.sol +26 -0
  376. package/contracts/authorization/IServiceAuthorization.sol +78 -0
  377. package/contracts/authorization/ServiceAuthorization.sol +300 -0
  378. package/contracts/distribution/BasicDistribution.sol +140 -0
  379. package/contracts/distribution/BasicDistributionAuthorization.sol +67 -0
  380. package/contracts/distribution/Distribution.sol +245 -0
  381. package/contracts/distribution/DistributionService.sol +448 -0
  382. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  383. package/contracts/distribution/IDistributionComponent.sol +45 -0
  384. package/contracts/distribution/IDistributionService.sol +115 -0
  385. package/contracts/examples/fire/DamageLevel.sol +59 -0
  386. package/contracts/examples/fire/FirePool.sol +86 -0
  387. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  388. package/contracts/examples/fire/FireProduct.sol +433 -0
  389. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  390. package/contracts/examples/fire/FireUSD.sol +26 -0
  391. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  392. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  393. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  394. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  395. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  396. package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
  397. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  398. package/contracts/instance/BaseStore.sol +93 -0
  399. package/contracts/instance/BundleSet.sol +130 -0
  400. package/contracts/instance/IBaseStore.sol +37 -0
  401. package/contracts/instance/IInstance.sol +150 -47
  402. package/contracts/instance/IInstanceService.sol +119 -0
  403. package/contracts/instance/Instance.sol +343 -66
  404. package/contracts/instance/InstanceAdmin.sol +307 -0
  405. package/contracts/instance/InstanceAuthorizationV3.sol +275 -0
  406. package/contracts/instance/InstanceReader.sol +606 -0
  407. package/contracts/instance/InstanceService.sol +514 -0
  408. package/contracts/instance/InstanceServiceManager.sol +39 -0
  409. package/contracts/instance/InstanceStore.sol +323 -0
  410. package/contracts/instance/ProductStore.sol +290 -0
  411. package/contracts/instance/RiskSet.sol +126 -0
  412. package/contracts/instance/TargetNames.sol +10 -0
  413. package/contracts/instance/base/BalanceStore.sol +121 -0
  414. package/contracts/instance/base/Cloneable.sol +28 -0
  415. package/contracts/instance/base/ObjectCounter.sol +20 -0
  416. package/contracts/instance/base/ObjectLifecycle.sol +109 -0
  417. package/contracts/instance/base/ObjectSet.sol +77 -0
  418. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  419. package/contracts/instance/module/IBundle.sol +21 -0
  420. package/contracts/instance/module/IComponents.sol +60 -0
  421. package/contracts/instance/module/IDistribution.sol +54 -0
  422. package/contracts/instance/module/IPolicy.sol +105 -0
  423. package/contracts/instance/module/IRisk.sol +16 -0
  424. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  425. package/contracts/oracle/BasicOracle.sol +44 -0
  426. package/contracts/oracle/BasicOracleAuthorization.sol +53 -0
  427. package/contracts/oracle/IOracle.sol +41 -0
  428. package/contracts/oracle/IOracleComponent.sol +33 -0
  429. package/contracts/oracle/IOracleService.sol +66 -0
  430. package/contracts/oracle/Oracle.sol +152 -0
  431. package/contracts/oracle/OracleService.sol +310 -0
  432. package/contracts/oracle/OracleServiceManager.sol +39 -0
  433. package/contracts/pool/BasicPool.sol +161 -0
  434. package/contracts/pool/BasicPoolAuthorization.sol +81 -0
  435. package/contracts/pool/BundleService.sol +386 -0
  436. package/contracts/pool/BundleServiceManager.sol +39 -0
  437. package/contracts/pool/IBundleService.sol +116 -0
  438. package/contracts/pool/IPoolComponent.sol +62 -0
  439. package/contracts/pool/IPoolService.sol +170 -0
  440. package/contracts/pool/Pool.sol +331 -0
  441. package/contracts/pool/PoolLib.sol +341 -0
  442. package/contracts/pool/PoolService.sol +614 -0
  443. package/contracts/pool/PoolServiceManager.sol +39 -0
  444. package/contracts/product/ApplicationService.sol +327 -0
  445. package/contracts/product/ApplicationServiceManager.sol +38 -0
  446. package/contracts/product/BasicProduct.sol +48 -0
  447. package/contracts/product/BasicProductAuthorization.sol +63 -0
  448. package/contracts/product/ClaimService.sol +626 -0
  449. package/contracts/product/ClaimServiceManager.sol +38 -0
  450. package/contracts/product/IApplicationService.sol +88 -0
  451. package/contracts/product/IClaimService.sol +136 -0
  452. package/contracts/product/IPolicyService.sol +102 -0
  453. package/contracts/product/IPricingService.sol +40 -0
  454. package/contracts/product/IProductComponent.sol +62 -0
  455. package/contracts/product/IRiskService.sol +48 -0
  456. package/contracts/product/PolicyService.sol +645 -0
  457. package/contracts/product/PolicyServiceLib.sol +139 -0
  458. package/contracts/product/PolicyServiceManager.sol +39 -0
  459. package/contracts/product/PricingService.sol +306 -0
  460. package/contracts/product/PricingServiceManager.sol +39 -0
  461. package/contracts/product/Product.sol +491 -0
  462. package/contracts/product/RiskService.sol +189 -0
  463. package/contracts/product/RiskServiceManager.sol +39 -0
  464. package/contracts/registry/ChainNft.sol +130 -40
  465. package/contracts/registry/IRegistry.sol +144 -29
  466. package/contracts/registry/IRegistryService.sol +62 -0
  467. package/contracts/registry/IRelease.sol +29 -0
  468. package/contracts/registry/ITransferInterceptor.sol +6 -0
  469. package/contracts/registry/Registry.sol +637 -282
  470. package/contracts/registry/RegistryAdmin.sol +173 -0
  471. package/contracts/registry/RegistryAuthorization.sol +337 -0
  472. package/contracts/registry/RegistryService.sol +241 -0
  473. package/contracts/registry/RegistryServiceManager.sol +53 -0
  474. package/contracts/registry/ReleaseAdmin.sol +199 -0
  475. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  476. package/contracts/registry/ReleaseRegistry.sol +525 -0
  477. package/contracts/registry/ServiceAuthorizationV3.sol +342 -0
  478. package/contracts/registry/TokenRegistry.sol +317 -0
  479. package/contracts/shared/Component.sol +210 -0
  480. package/contracts/shared/ComponentService.sol +691 -0
  481. package/contracts/shared/ComponentServiceManager.sol +38 -0
  482. package/contracts/shared/ContractLib.sol +312 -0
  483. package/contracts/shared/IComponent.sol +58 -0
  484. package/contracts/shared/IComponentService.sol +111 -0
  485. package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
  486. package/contracts/{instance/base → shared}/ILifecycle.sol +6 -5
  487. package/contracts/shared/INftOwnable.sol +27 -0
  488. package/contracts/shared/IPolicyHolder.sol +35 -0
  489. package/contracts/shared/IRegisterable.sol +31 -19
  490. package/contracts/shared/IRegistryLinked.sol +11 -0
  491. package/contracts/shared/IService.sol +23 -0
  492. package/contracts/shared/InitializableERC165.sol +35 -0
  493. package/contracts/shared/InstanceLinkedComponent.sol +192 -0
  494. package/contracts/shared/Lifecycle.sol +88 -0
  495. package/contracts/shared/NftIdSet.sol +65 -0
  496. package/contracts/shared/NftOwnable.sol +129 -0
  497. package/contracts/shared/PolicyHolder.sol +63 -0
  498. package/contracts/shared/Registerable.sol +80 -60
  499. package/contracts/shared/RegistryLinked.sol +38 -0
  500. package/contracts/shared/Service.sol +67 -0
  501. package/contracts/shared/TokenHandler.sol +342 -0
  502. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  503. package/contracts/staking/IStaking.sol +366 -0
  504. package/contracts/staking/IStakingService.sol +127 -0
  505. package/contracts/staking/ITargetLimitHandler.sol +17 -0
  506. package/contracts/staking/Staking.sol +797 -0
  507. package/contracts/staking/StakingLib.sol +195 -0
  508. package/contracts/staking/StakingManager.sol +53 -0
  509. package/contracts/staking/StakingReader.sol +171 -0
  510. package/contracts/staking/StakingService.sol +321 -0
  511. package/contracts/staking/StakingServiceManager.sol +46 -0
  512. package/contracts/staking/StakingStore.sol +1368 -0
  513. package/contracts/staking/TargetHandler.sol +132 -0
  514. package/contracts/staking/TargetManagerLib.sol +234 -0
  515. package/contracts/{types → type}/AddressSet.sol +1 -1
  516. package/contracts/type/Amount.sol +154 -0
  517. package/contracts/{types → type}/Blocknumber.sol +38 -19
  518. package/contracts/type/ChainId.sol +101 -0
  519. package/contracts/type/ClaimId.sol +80 -0
  520. package/contracts/type/DistributorType.sol +55 -0
  521. package/contracts/type/Fee.sol +66 -0
  522. package/contracts/{types → type}/Key32.sol +10 -5
  523. package/contracts/type/Key32Set.sol +62 -0
  524. package/contracts/{types → type}/NftId.sol +28 -15
  525. package/contracts/type/NftIdSet.sol +62 -0
  526. package/contracts/type/ObjectType.sol +307 -0
  527. package/contracts/type/PayoutId.sol +82 -0
  528. package/contracts/type/Referral.sol +90 -0
  529. package/contracts/type/RequestId.sol +75 -0
  530. package/contracts/type/RiskId.sol +75 -0
  531. package/contracts/type/RoleId.sol +180 -0
  532. package/contracts/type/Seconds.sol +120 -0
  533. package/contracts/type/Selector.sol +107 -0
  534. package/contracts/{types → type}/StateId.sol +53 -5
  535. package/contracts/type/String.sol +65 -0
  536. package/contracts/{types → type}/Timestamp.sol +39 -19
  537. package/contracts/{types → type}/UFixed.sol +73 -19
  538. package/contracts/type/Version.sol +159 -0
  539. package/contracts/upgradeability/IVersionable.sol +56 -0
  540. package/contracts/upgradeability/ProxyManager.sol +246 -0
  541. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +24 -0
  542. package/contracts/upgradeability/Versionable.sol +62 -0
  543. package/package.json +13 -8
  544. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  545. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -174
  546. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  547. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -405
  548. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  549. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  550. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -340
  551. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  552. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -487
  553. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  554. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -370
  555. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  556. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -578
  557. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  558. package/artifacts/contracts/components/Product.sol/Product.json +0 -444
  559. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  560. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  561. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  562. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  563. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  564. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  565. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  566. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  567. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  568. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  569. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  570. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  571. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  572. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  573. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  574. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  575. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  576. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  577. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  578. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  579. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  580. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  581. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  582. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  583. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  584. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  585. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  586. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  587. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  588. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  589. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  590. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  591. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  592. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  593. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  594. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  595. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +0 -300
  596. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  597. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  598. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  599. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +0 -560
  600. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  601. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  602. package/artifacts/contracts/instance/base/IService.sol/IService.json +0 -300
  603. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  604. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  605. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -710
  606. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  607. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  608. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  609. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  610. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.json +0 -300
  611. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  612. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  613. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  614. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  615. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  616. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  617. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -297
  618. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  619. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  620. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -297
  621. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  622. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -117
  623. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  624. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  625. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  626. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -117
  627. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.dbg.json +0 -4
  628. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.json +0 -10
  629. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistribution.dbg.json +0 -4
  630. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.dbg.json +0 -4
  631. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.json +0 -10
  632. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  633. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  634. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -284
  635. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  636. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -284
  637. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  638. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  639. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  640. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -144
  641. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  642. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -144
  643. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  644. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  645. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -113
  646. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  647. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -131
  648. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  649. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
  650. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  651. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -511
  652. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  653. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  654. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  655. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -511
  656. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  657. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -531
  658. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  659. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -420
  660. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  661. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  662. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -325
  663. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  664. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -440
  665. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  666. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  667. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -543
  668. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  669. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -858
  670. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  671. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -452
  672. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  673. package/artifacts/contracts/registry/RegistryUpgradeable.sol/RegistryUpgradeable.dbg.json +0 -4
  674. package/artifacts/contracts/registry/RegistryUpgradeable.sol/RegistryUpgradeable.json +0 -495
  675. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  676. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  677. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  678. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  679. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -164
  680. package/artifacts/contracts/shared/Proxy.sol/Proxy.dbg.json +0 -4
  681. package/artifacts/contracts/shared/Proxy.sol/Proxy.json +0 -178
  682. package/artifacts/contracts/shared/Proxy.sol/ProxyWithProxyAdminGetter.dbg.json +0 -4
  683. package/artifacts/contracts/shared/Proxy.sol/ProxyWithProxyAdminGetter.json +0 -129
  684. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  685. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -164
  686. package/artifacts/contracts/shared/VersionableUpgradeable.sol/VersionableUpgradeable.dbg.json +0 -4
  687. package/artifacts/contracts/shared/VersionableUpgradeable.sol/VersionableUpgradeable.json +0 -187
  688. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.dbg.json +0 -4
  689. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.json +0 -405
  690. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  691. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  692. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  693. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -578
  694. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  695. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -575
  696. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  697. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -137
  698. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  699. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  700. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  701. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -379
  702. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  703. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  704. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  705. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  706. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  707. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -206
  708. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  709. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -338
  710. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  711. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  712. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  713. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  714. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  715. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  716. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  717. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  718. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  719. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
  720. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  721. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  722. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  723. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  724. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  725. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  726. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.dbg.json +0 -4
  727. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.json +0 -99
  728. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  729. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  730. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  731. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -30
  732. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  733. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  734. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  735. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  736. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  737. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -479
  738. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  739. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -139
  740. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  741. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  742. package/contracts/components/BaseComponent.sol +0 -94
  743. package/contracts/components/Distribution.sol +0 -132
  744. package/contracts/components/IBaseComponent.sol +0 -19
  745. package/contracts/components/IDistributionComponent.sol +0 -47
  746. package/contracts/components/IPoolComponent.sol +0 -71
  747. package/contracts/components/IProductComponent.sol +0 -38
  748. package/contracts/components/Pool.sol +0 -235
  749. package/contracts/components/Product.sol +0 -227
  750. package/contracts/experiment/errors/Require.sol +0 -38
  751. package/contracts/experiment/errors/Revert.sol +0 -44
  752. package/contracts/experiment/inheritance/A.sol +0 -53
  753. package/contracts/experiment/inheritance/B.sol +0 -28
  754. package/contracts/experiment/inheritance/C.sol +0 -34
  755. package/contracts/experiment/inheritance/IA.sol +0 -13
  756. package/contracts/experiment/inheritance/IB.sol +0 -10
  757. package/contracts/experiment/inheritance/IC.sol +0 -12
  758. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  759. package/contracts/experiment/statemachine/ISM.sol +0 -25
  760. package/contracts/experiment/statemachine/SM.sol +0 -57
  761. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  762. package/contracts/experiment/types/TypeA.sol +0 -47
  763. package/contracts/experiment/types/TypeB.sol +0 -29
  764. package/contracts/instance/IInstanceLinked.sol +0 -8
  765. package/contracts/instance/base/ComponentServiceBase.sol +0 -42
  766. package/contracts/instance/base/IInstanceBase.sol +0 -22
  767. package/contracts/instance/base/IKeyValueStore.sol +0 -50
  768. package/contracts/instance/base/IService.sol +0 -15
  769. package/contracts/instance/base/InstanceBase.sol +0 -91
  770. package/contracts/instance/base/KeyValueStore.sol +0 -161
  771. package/contracts/instance/base/Lifecycle.sol +0 -100
  772. package/contracts/instance/base/ModuleBase.sol +0 -57
  773. package/contracts/instance/base/ServiceBase.sol +0 -37
  774. package/contracts/instance/module/access/Access.sol +0 -149
  775. package/contracts/instance/module/access/IAccess.sol +0 -53
  776. package/contracts/instance/module/bundle/BundleModule.sol +0 -134
  777. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  778. package/contracts/instance/module/component/ComponentModule.sol +0 -70
  779. package/contracts/instance/module/component/IComponent.sol +0 -28
  780. package/contracts/instance/module/distribution/DistributionModule.sol +0 -17
  781. package/contracts/instance/module/distribution/IDistribution.sol +0 -10
  782. package/contracts/instance/module/policy/IPolicy.sol +0 -63
  783. package/contracts/instance/module/policy/PolicyModule.sol +0 -91
  784. package/contracts/instance/module/pool/IPoolModule.sol +0 -40
  785. package/contracts/instance/module/pool/PoolModule.sol +0 -90
  786. package/contracts/instance/module/risk/IRisk.sol +0 -26
  787. package/contracts/instance/module/risk/RiskModule.sol +0 -62
  788. package/contracts/instance/module/treasury/ITreasury.sol +0 -82
  789. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  790. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -138
  791. package/contracts/instance/service/ComponentOwnerService.sol +0 -157
  792. package/contracts/instance/service/DistributionService.sol +0 -59
  793. package/contracts/instance/service/IComponentOwnerService.sol +0 -22
  794. package/contracts/instance/service/IDistributionService.sol +0 -12
  795. package/contracts/instance/service/IPoolService.sol +0 -37
  796. package/contracts/instance/service/IProductService.sol +0 -107
  797. package/contracts/instance/service/PoolService.sol +0 -149
  798. package/contracts/instance/service/ProductService.sol +0 -509
  799. package/contracts/registry/IChainNft.sol +0 -21
  800. package/contracts/registry/IRegistryLinked.sol +0 -8
  801. package/contracts/registry/RegistryUpgradeable.sol +0 -416
  802. package/contracts/shared/ERC165.sol +0 -21
  803. package/contracts/shared/IOwnable.sol +0 -6
  804. package/contracts/shared/IVersionable.sol +0 -52
  805. package/contracts/shared/Proxy.sol +0 -83
  806. package/contracts/shared/Versionable.sol +0 -89
  807. package/contracts/shared/VersionableUpgradeable.sol +0 -108
  808. package/contracts/test/TestDistribution.sol +0 -21
  809. package/contracts/test/TestFee.sol +0 -25
  810. package/contracts/test/TestPool.sol +0 -25
  811. package/contracts/test/TestProduct.sol +0 -72
  812. package/contracts/test/TestRegisterable.sol +0 -19
  813. package/contracts/test/TestRoleId.sol +0 -14
  814. package/contracts/test/TestService.sol +0 -32
  815. package/contracts/test/TestToken.sol +0 -26
  816. package/contracts/test/TestVersion.sol +0 -44
  817. package/contracts/test/TestVersionable.sol +0 -17
  818. package/contracts/types/ChainId.sol +0 -38
  819. package/contracts/types/Fee.sol +0 -56
  820. package/contracts/types/NftIdSet.sol +0 -60
  821. package/contracts/types/ObjectType.sol +0 -131
  822. package/contracts/types/ReferralId.sol +0 -48
  823. package/contracts/types/RiskId.sol +0 -43
  824. package/contracts/types/RoleId.sol +0 -38
  825. package/contracts/types/Version.sol +0 -95
package/README.md CHANGED
@@ -1,25 +1,16 @@
1
- # gif-next (Generic Insurance Framework next version)
1
+ # GIF-Next (Generic Insurance Framework, next version)
2
2
 
3
- ## Add OpenZeppelin V5 Dependencies
3
+ ## Dependencies
4
4
 
5
- ```shell
6
- forge install openzeppelin-contracts-500=OpenZeppelin/openzeppelin-contracts@v5.0.0
7
- cd cd lib/openzeppelin-contracts-500
8
- git checkout tags/v5.0.0
9
- cd ../..
10
- ```
11
-
12
- See `remappings.txt` to see how to work with different OpenZeppelin versions in parallel
5
+ See `remappings.txt` for GIF-Next depencies
13
6
 
14
- ```
15
- cat remappings.txt
16
- @openzeppelin5/contracts/=lib/openzeppelin-contracts-500/contracts/
17
- @openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/
18
- @openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/
19
- ```
7
+ ## Submodules checkout
20
8
 
9
+ For initial checkout call
21
10
 
22
- ## Submodules checkout
11
+ ```shell
12
+ git submodule update --init --recursive
13
+ ```
23
14
 
24
15
  This repository uses submodules. To checkout or update to the latest submodules, run the following command after updating to any revision (or checking out the repository)
25
16
 
@@ -40,7 +31,18 @@ npm run test-with-gas
40
31
  npm run coverage
41
32
  ```
42
33
 
43
- ### Deployment
34
+ ### Docgen
35
+
36
+ Produce `solidty-docgen` documentation using the command below.
37
+
38
+ ```shell
39
+ hh docgen
40
+ ```
41
+
42
+ The resulting markdown files are written to `docs`
43
+
44
+
45
+ ### Full protocol deployment
44
46
 
45
47
  Install the dependencies before running the script below for the first time.
46
48
 
@@ -48,28 +50,75 @@ Install the dependencies before running the script below for the first time.
48
50
  npm install
49
51
  ```
50
52
 
51
- The deploy script will deploy all required contracts and create a test instance with a test product and a test pool.
53
+ The deploy script will deploy all required contracts for gif and create a test instance.
52
54
 
53
55
  ```bash
54
56
  # run deployment on a locally created ganache instance
55
- export SKIP_VERIFICATION=true
56
- hh run scripts/deploy_all.ts
57
+ hh run scripts/deploy_gif.ts
57
58
  ```
58
59
 
59
60
  ```bash
60
61
  # set appropriate values vor env variables (see below)
61
62
 
62
63
  # run deployment on another network
63
- hh run --network <networkname> scripts/deploy_all.ts
64
+ hh run --network <networkname> scripts/deploy_gif.ts
65
+ ```
66
+
67
+ The deployment will persist deployment information into the files `deployments/<chainid>/deployment_state.json`, `deployments/<chainid>/libraries.json` and `deployments/<chainid>/verification_log.json`.
68
+ This data can then be used for verification of the deployed contracts on etherscan/polygonscan.
69
+
70
+ For the verification of the contracts on etherscan/polygonscan the above files (created by previous deployment) are required and then the following command can be used:
71
+
72
+ ```bash
73
+ hh run --network <networkname> scripts/verify_deployment.ts
64
74
  ```
65
75
 
66
76
  Environment variables:
67
77
 
68
- - `SKIP_VERIFICATION` set to `true` to skip etherscan verification (required for ganacht and anvil)
69
- - `WEB3_INFURA_PROJECT_ID` set to infura project id (required for mumbai and mainnet)
78
+ - `WRITE_ADDRESSES_TO_FILE` set to `true` to write the addresses of the deployed contracts to a file (default: `false`)
79
+ - `RESUMEABLE_DEPLOYMENT` set to `true` to have all (deployment) transactions written to a state file so the script can be resumed after a failure (or after a manual stop) (default: `false`)
80
+ - `GAS_PRICE` set to the gas price to use for deployment (default: `undefined`)
70
81
  - `WALLET_MNEMONIC` the mnemonic of the wallet to use for deployment (required for mumbai and mainnet)
82
+ - `DIP_ADDRESS` the address of the already deployed DIP token. if not set, the script will deploy a new DIP token
83
+ - `WEB3_INFURA_PROJECT_ID` set to infura project id (required for mumbai and mainnet)
71
84
  - `ETHERSCAN_API_KEY` `POLYGONSCAN_API_KEY` the api key for etherscan/polygonscan (required for mumbai and mainnet)
72
85
 
86
+ ### Deploy full protocol with fire example components
87
+
88
+ ```bash
89
+ hh run scripts/deploy_all.ts
90
+ ```
91
+
92
+ Like before, use the `--network` option to deploy on a different network.
93
+
94
+ ### Deploy only the fire example components
95
+
96
+ ```bash
97
+ hh run scripts/deploy_fire_components.ts
98
+ ```
99
+
100
+ Ensure that the deployment runs on a chain where a compatible version of the GIF is already deployed. Then ensure the correct environment variables are set. An up to date list of required environment variables can be found in the `deploy_fire_components.ts` script in the main method (just check the lines that contain a `process.env` statement). To be safe, set the environment variable `WRITE_ADDRESSES_TO_FILE` to `true` when deploying the gif and then copy all values from the generated `deployment.env` file to the `.env` file in the root directory of the repository before running the fire example deployment.
101
+
102
+ Like before, use the `--network` option to deploy on a different network.
103
+
104
+ ### Create a new instance
105
+
106
+ Requires previous step to be completed.
107
+
108
+ ```bash
109
+ # set appropriate values vor env variables (see below)
110
+
111
+ hh run --network <networkname> scripts/new_instance.ts
112
+ ```
113
+
114
+ Currently an HD wallet is expected to be used for the deployment. The mnemonic of the wallet needs to be provided via the `WALLET_MNEMONIC` environment variable.
115
+ The instance owner will be the 11th address of the wallet.
116
+
117
+ Environment variables:
118
+
119
+ - `WEB3_INFURA_PROJECT_ID` set to infura project id (required for mumbai and mainnet)
120
+ - `WALLET_MNEMONIC` the mnemonic of the wallet to use for deployment (required for mumbai and mainnet)
121
+ - `REGISTRY_ADDRESS` the address of the registry that is already deployed and configured and has a valid master instance
73
122
 
74
123
  ### Console
75
124
 
@@ -86,6 +135,27 @@ await provider.getBalance(me)
86
135
 
87
136
  https://hardhat.org/hardhat-runner/docs/guides/compile-contracts
88
137
 
138
+ ### Scripts to find syntax bugs in code
139
+
140
+ #### find methods missing the `restricted` modifier
141
+
142
+ ```bash
143
+ hh run scripts/find_unrestricted_methods.ts
144
+ ```
145
+
146
+ Checks all public/external methods in services and components for methods that are missing the `restricted` modifier but should have one.
147
+
148
+ The script `find_unrestricted_methods.ts` is based on the ANTLR grammar `Solidity.g4` (from https://github.com/solidity-parser/antlr) and uses the antlr4ng runtime (https://github.com/mike-lischke/antlr4ng).
149
+ To compile grammar to ts classes run `antlr4ng -Dlanguage=TypeScript -o antlr/generated/ -visitor -listener antlr/Solidity.g4` (requires openjdk to be installed `sudo apt install openjdk-17-jre-headless`).
150
+
151
+ #### find methods missing the `virtual` keyword
152
+
153
+ ```bash
154
+ hh run scripts/find_missing_virtual_methods.ts.ts
155
+ ```
156
+
157
+ Checks all public/external methods in services and components for methods that are not marked as `virtual` but should be.
158
+
89
159
  ## Forge
90
160
 
91
161
  ### Commands
@@ -94,77 +164,49 @@ https://hardhat.org/hardhat-runner/docs/guides/compile-contracts
94
164
  forge build
95
165
 
96
166
  # contract sizes
97
- forge build --sizes | grep Instance
167
+ forge build --sizes
98
168
 
99
169
  forge test
100
170
 
101
171
  # run single test case
102
- forge test --mt test_decimals
172
+ forge test --mt test_deployAllSetup
173
+
174
+ # run all tests except long running
175
+ forge test --nmt longRunning
103
176
 
104
- # run single test case with substantial logginglogging
177
+ # run single test case with substantial logging
105
178
  # to include logs as well use -vvvvv
106
- forge test -vvvv --mt test_decimals
179
+ # to add internal functions to trace add --
180
+ forge test --decode-internal --mt test_decimals -vvvv
107
181
 
108
182
  # provide gas report for a single test
109
183
  forge test --mt test_decimals --gas-report
110
184
 
185
+ # provide code coverage report
111
186
  forge coverage
187
+ forge coverage --report lcov
112
188
  ```
113
189
 
114
- Chisel session
115
- ```typescript
116
- import "./contracts/components/Component.sol";
117
- import "./contracts/components/IPool.sol";
118
- import "./contracts/components/IProduct.sol";
119
- import "./contracts/components/Pool.sol";
120
- import "./contracts/components/Product.sol";
121
- import "./contracts/instance/access/Access.sol";
122
- import "./contracts/instance/access/IAccess.sol";
123
- import "./contracts/instance/component/ComponentModule.sol";
124
- import "./contracts/instance/component/IComponent.sol";
125
- import "./contracts/instance/IInstance.sol";
126
- import "./contracts/instance/policy/IPolicy.sol";
127
- import "./contracts/instance/policy/PolicyModule.sol";
128
- import "./contracts/instance/product/IProductService.sol";
129
- import "./contracts/instance/product/ProductService.sol";
130
- import "./contracts/registry/IRegistry.sol";
131
-
132
- import {Instance} from "./contracts/instance/Instance.sol";
133
- import {Registry} from "./contracts/registry/Registry.sol";
134
- import {DeployAll} from "./scripts/DeployAll.s.sol";
135
- import {TestPool} from "./test_forge/mock/TestPool.sol";
136
- import {TestProduct} from "./test_forge/mock/TestProduct.sol";
137
-
138
- string memory instanceOwnerName = "instanceOwner";
139
- address instanceOwner = vm.addr(uint256(keccak256(abi.encodePacked(instanceOwnerName))));
140
-
141
- string memory productOwnerName = "productOwner";
142
- address productOwner = vm.addr(uint256(keccak256(abi.encodePacked(productOwnerName))));
143
-
144
- string memory poolOwnerName = "poolOwner";
145
- address poolOwner = vm.addr(uint256(keccak256(abi.encodePacked(poolOwnerName))));
146
-
147
- string memory customerName = "customer";
148
- address customer = vm.addr(uint256(keccak256(abi.encodePacked(customerName))));
149
-
150
- DeployAll deployer = new DeployAll();
151
- (
152
- Registry registry,
153
- Instance instance,
154
- TestProduct product,
155
- TestPool pool
156
- ) = deployer.run(
157
- instanceOwner,
158
- productOwner,
159
- poolOwner);
160
-
161
- ProductService ps = ProductService(address(registry));
162
-
163
- uint256 bundleNftId = 99;
164
- uint256 sumInsuredAmount = 1000*10**6;
165
- uint256 premiumAmount = 110*10**6;
166
- uint256 lifetime =365*24*3600;
167
- uint256 policyNftId = ps.createApplicationForBundle(customer, bundleNftId, sumInsuredAmount, premiumAmount, lifetime);
190
+ ### Aliases
191
+
192
+
193
+ | Alias | Command |
194
+ | --- | --- |
195
+ | fb | forge build |
196
+ | fbw | forge build --watch |
197
+ | fbc | forge build contracts/ |
198
+ | fbcw | forge build --watch contracts/ |
199
+ | ft | forge test |
200
+ | ftf | forge test --nmt "_longRunning" |
201
+ | ftt | forge test -vvvv --mt |
202
+ | fttg | forge test -vvvv --gas-report --mt |
203
+ | fttw | forge test -vvvv --watch --mt |
204
+ | ftc | forge test -vvvv --mc |
205
+ | ftcw | forge test -vvvv --watch --mc |
206
+ | fcf | forge coverage --nmt "_longRunning" |
207
+ | fcfr | forge coverage --nmt "_longRunning" --report lcov |
208
+
209
+ **Important**: All profiles are run using the foundry `ci` profile which disables the optimizer (for speed).
168
210
 
169
211
  ```
170
212
  ### Library Linking
@@ -185,17 +227,7 @@ https://book.getfoundry.sh/reference/
185
227
 
186
228
  ## Style Guide
187
229
 
188
- Solidity code is to be written according to the [Solidity Style Guide](https://docs.soliditylang.org/en/latest/style-guide.html).
189
-
190
- Documentation of the code should be written inline using [NatSpec](https://docs.soliditylang.org/en/latest/natspec-format.html).
191
-
192
- ### Naming conventions
193
-
194
- Additionally, we use the following naming conventions:
195
-
196
- - Function arguments and return types: If using custom data types, make the name include the type by appending the Type to the argument name, e.g. `function getInfo(NftId bundleNftId)` instead of `function getInfo(NftId bundleId)`. Background: Custom data types are lost when using the ABI or Typescript binding classes (e.g. instead of `NftID` a `uint96` is used), so the type needs to be included in the name to make it clear what the argument is without having to look at the documentation or checking the solidity source code.
197
- - When naming a field or an attribute `id` and the context is not clear, call it `nftId` instead so its clear what type if id it is as there will be multiple ids for different kind of objects. Example: if you the function has a bundle nft id and a policy nft id as arguments, call them `bundleNftId` and `policyNftId` instead of `id` and `policyId`. In case of doubt, be a bit more verbose for the sake of clarity.
198
- - When naming things, remember that the code will likely be used in Javascript/Typescript as well, so avoid names that are reserved in Javascript/Typescript. A list of reserved words in Javascript can be found [here](https://www.w3schools.com/js/js_reserved.asp) and a list of reserved words in Typescript can be found [here](https://www.tektutorialshub.com/typescript/identifiers-keywords-in-typescript/).
230
+ Please see https://docs.etherisc.com/gif-next/3.x/ for style guide and general coding rules.
199
231
 
200
232
  ### Automatic code formatting
201
233
 
@@ -209,106 +241,56 @@ To execute formatting run `npm run styleFix`.
209
241
  We use solhint to lint the code.
210
242
  To execute linting run `npm run lint`.
211
243
 
244
+ ## Storage layout
212
245
 
213
- ### Adding Brownie (Legacy)
246
+ ### Analysis tool
214
247
 
215
- python3 is already installed
248
+ Command line call
216
249
 
217
250
  ```bash
218
- npm install -g ganache
219
- sudo apt update
220
- sudo apt install python3-pip
221
- pip install eth-brownie
222
- brownie pm install OpenZeppelin/openzeppelin-contracts@4.9.3
223
- brownie pm install OpenZeppelin/openzeppelin-contracts@5.0.0
251
+ hh run scripts/analyze_storage_layout.ts
224
252
  ```
225
253
 
226
- ```bash
227
- brownie compile --all
228
- brownie console
229
- ```
230
-
231
- ```python
232
- registry_owner = accounts[0]
233
- instance_owner = accounts[1]
234
- product_owner = accounts[2]
235
-
236
- # deploy libs and helper contracts
237
- nft_id_lib = NftIdLib.deploy({'from': registry_owner})
238
- ufixed_math_lib = UFixedMathLib.deploy({'from': registry_owner})
239
- test_fee = TestFee.deploy({'from': registry_owner})
240
-
241
- # deploy registry and a token
242
- registry = Registry.deploy({'from': registry_owner})
243
- nft = ChainNft.deploy(registry, {'from': registry_owner})
244
- registry.initialize(nft, {'from': registry_owner})
245
- token = TestUsdc.deploy({'from': registry_owner})
246
-
247
- # deploy services
248
- component_owner_service = ComponentOwnerService.deploy(registry, {'from': registry_owner})
249
- product_service = ProductService.deploy(registry, {'from': registry_owner})
250
-
251
- # deploy an instance
252
- instance = Instance.deploy(registry, component_owner_service, product_service, {'from': instance_owner})
253
-
254
- # deploy product
255
- pool = TestPool.deploy(registry, instance, token, {'from': product_owner})
256
- policy_fee = test_fee.createFee(1, -1, 0)
257
- product = TestProduct.deploy(registry, instance, token, pool, policy_fee, {'from': product_owner})
258
-
259
- # grant roles
260
- pool_owner_role = instance.getRoleForName("PoolOwner")
261
- product_owner_role = instance.getRoleForName("ProductOwner")
262
- instance.grantRole(pool_owner_role, product_owner, {'from': instance_owner})
263
- instance.grantRole(product_owner_role, product_owner, {'from': instance_owner})
264
-
265
- # register objects
266
- instance.register()
267
- component_owner_service.register(pool, {'from': product_owner})
268
- component_owner_service.register(product, {'from': product_owner})
269
-
270
- instance_id = instance.getNftId()
271
- pool_id = pool.getNftId()
272
- product_id = product.getNftId()
273
- ```
274
-
275
- ## Registry and Services
276
-
277
- ### Principles
278
-
279
- - 1 service per object type and major version
280
- - registry service guards write access to registry
281
- - all other objects registered via registry service
282
- - root object for the complete tree is the protocol object
283
- - under the root object a single registry object is registered (= global registry/ethereum mainnet)
284
-
285
-
286
- ### Service Responsibilities
287
-
288
- Registry Service
289
-
290
- - deployed and registered during bootstrapping of registry
291
- - used to register tokens and other services by registry owner
292
- - an object may only be registered by the service designated by the type of the object
293
- - to register an object the parent object needs already be registered
294
- - the type of the object to be registered needs to match a valid child type/parent type combination
295
-
296
- Instance Service
297
-
298
- - deploys master instance during its own bootstrapping (if allowed by contract size)
299
- - registered via registry service by registry owner
300
- - registeres master instance during its own registration by regsitry owner
301
- - deploys and registeres new instances (= instance factory) by instance owner (instance owner is a permissionless role, anybody may creates a new instance)
302
- - provides upgrade functionality to instance owners
303
-
304
- Product Service
305
-
306
- - registered via registry service by registry owner
307
- - registers products for registered instances via registry service by product owner (product owner role is permissend by the product's instance)
308
- - registers applications/policies for registered products via registry service
309
-
310
- Distribution Service
311
-
312
- - registered via registry service by registry owner
313
- - registers distribution components for registered products via registry service by distribution owner (distribution owner role is permissend by the product's instance)
314
- - registers distributors for registered distribution components via registry service
254
+ Analyses contract `MockStorageLayout.sol` and writes the storage layout to `storage_layout.json` and `storage_layout.csv`.
255
+ New structs must be added to `MockStorageLayout` to be included in analysis.
256
+
257
+ Storage layout details:
258
+ - Items fill up the current slot if possible
259
+ - If not enough space is left in the current slot, the item is placed in the next slot
260
+ - Stucts and arrays always start a new slot
261
+ - Items following a struct or array always start a new slot
262
+
263
+ More at https://docs.soliditylang.org/en/latest/internals/layout_in_storage.html
264
+
265
+ ### Custom types sizes
266
+
267
+ | Type | Size |
268
+ | --- | --- |
269
+ | Amount | 12 bytes |
270
+ | Blocknumber | 4 bytes |
271
+ | ClaimId | 2 bytes |
272
+ | DistributorType | 8 bytes |
273
+ | NftId | 12 bytes |
274
+ | ObjectType | 1 byte |
275
+ | ReferralId | 8 bytes |
276
+ | RoleId | 1 byte |
277
+ | RiskId | 8 bytes |
278
+ | Seconds | 5 bytes |
279
+ | Selector | 4 bytes |
280
+ | StateId | 1 byte |
281
+ | Str | 32 bytes |
282
+ | Timestamp | 5 bytes |
283
+ | Version | 3 byte |
284
+ | VersionPart | 1 byte |
285
+ | UFixed | 20 bytes |
286
+ | address | 20 bytes |
287
+ | uint256 | 32 bytes |
288
+ | uint128 | 16 bytes |
289
+ | uint160 | 20 bytes |
290
+ | uint64 | 8 bytes |
291
+ | uint32 | 4 bytes |
292
+ | uint16 | 2 bytes |
293
+ | string | 32 bytes |
294
+ | bytes | 32 bytes |
295
+ | bytes8 | 8 byte |
296
+ | bool | 1 byte |
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/a11472d155cc1e3900b16d2850f59142.json"
4
+ }