@etherisc/gif-next 0.0.2-1b48924-410 → 0.0.2-1bb8ffd-757

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 (830) hide show
  1. package/README.md +185 -131
  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/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
  53. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +383 -0
  54. package/artifacts/contracts/examples/flight/FlightMessageVerfier.sol/FlightMessageVerifier.dbg.json +4 -0
  55. package/artifacts/contracts/examples/flight/FlightMessageVerfier.sol/FlightMessageVerifier.json +253 -0
  56. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
  57. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1198 -0
  58. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
  59. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +849 -0
  60. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
  61. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1466 -0
  62. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
  63. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +844 -0
  64. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
  65. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2180 -0
  66. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
  67. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +844 -0
  68. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
  69. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +376 -0
  70. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
  71. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
  72. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  73. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1429 -0
  74. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  75. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +844 -0
  76. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  77. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1161 -0
  78. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  79. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1637 -0
  80. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  81. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +844 -0
  82. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  83. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2575 -0
  84. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  85. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +844 -0
  86. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
  87. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +332 -0
  88. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  89. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  90. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
  91. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +304 -0
  92. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  93. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +593 -1284
  94. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  95. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +1102 -0
  96. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  97. package/artifacts/contracts/instance/Instance.sol/Instance.json +681 -1530
  98. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  99. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2400 -0
  100. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  101. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +872 -0
  102. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  103. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +2628 -0
  104. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  105. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1348 -0
  106. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  107. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +792 -0
  108. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  109. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3039 -0
  110. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
  111. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +3427 -0
  112. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  113. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
  114. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  115. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  116. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  117. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +137 -0
  118. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  119. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  120. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  121. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  122. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  123. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  124. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  125. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  126. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  127. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  128. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  129. package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/IComponents.sol/IComponents.json} +2 -2
  130. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  131. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.json +10 -0
  132. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  133. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  134. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  135. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  136. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  137. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  138. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  139. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +947 -0
  140. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  141. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +849 -0
  142. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  143. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  144. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  145. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +762 -0
  146. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  147. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +762 -0
  148. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  149. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +863 -0
  150. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  151. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1042 -0
  152. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  153. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +830 -0
  154. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  155. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1232 -0
  156. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  157. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +844 -0
  158. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  159. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1438 -0
  160. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  161. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +886 -0
  162. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  163. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +1033 -0
  164. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  165. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +895 -0
  166. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  167. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1449 -0
  168. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  169. package/artifacts/contracts/pool/Pool.sol/Pool.json +1015 -0
  170. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  171. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  172. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  173. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1833 -0
  174. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  175. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +886 -0
  176. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  177. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +1036 -0
  178. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  179. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +810 -0
  180. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  181. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1149 -0
  182. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  183. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +844 -0
  184. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  185. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1536 -0
  186. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  187. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +906 -0
  188. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  189. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +804 -0
  190. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  191. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +1104 -0
  192. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  193. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +1036 -0
  194. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  195. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +652 -0
  196. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  197. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +1006 -0
  198. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  199. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +665 -0
  200. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  201. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1404 -0
  202. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  203. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  204. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  205. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +874 -0
  206. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  207. package/artifacts/contracts/product/PricingService.sol/PricingService.json +932 -0
  208. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  209. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +834 -0
  210. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  211. package/artifacts/contracts/product/Product.sol/Product.json +1107 -0
  212. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  213. package/artifacts/contracts/product/RiskService.sol/RiskService.json +873 -0
  214. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  215. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +794 -0
  216. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  217. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +242 -12
  218. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  219. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +1035 -119
  220. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  221. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +1072 -0
  222. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  223. package/artifacts/contracts/{instance/IInstanceLinked.sol/IInstanceLinked.json → registry/IRelease.sol/IRelease.json} +6 -6
  224. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  225. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +39 -0
  226. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  227. package/artifacts/contracts/registry/Registry.sol/Registry.json +1473 -231
  228. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  229. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2255 -0
  230. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  231. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1137 -0
  232. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  233. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1298 -0
  234. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  235. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +793 -0
  236. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  237. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2271 -0
  238. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  239. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  240. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  241. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1401 -0
  242. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  243. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +705 -0
  244. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  245. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +721 -0
  246. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  247. package/artifacts/contracts/shared/Component.sol/Component.json +695 -0
  248. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  249. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1551 -0
  250. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  251. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +882 -0
  252. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  253. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  254. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  255. package/artifacts/contracts/shared/{IOwnable.sol/IOwnable.json → ContractLib.sol/IInstanceAdminHelper.json} +5 -5
  256. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  257. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  258. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  259. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  260. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  261. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +620 -0
  262. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  263. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1175 -0
  264. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  265. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +697 -0
  266. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  267. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  268. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  269. package/artifacts/contracts/{components/IBaseComponent.sol/IBaseComponent.json → shared/INftOwnable.sol/INftOwnable.json} +62 -70
  270. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  271. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  272. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  273. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +248 -21
  274. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  275. package/artifacts/contracts/{registry → shared}/IRegistryLinked.sol/IRegistryLinked.json +13 -2
  276. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  277. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → shared/IService.sol/IService.json} +224 -160
  278. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  279. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  280. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  281. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +785 -0
  282. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  283. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  284. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  285. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  286. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  287. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +228 -0
  288. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  289. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
  290. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  291. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +294 -18
  292. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  293. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  294. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  295. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → shared/Service.sol/Service.json} +239 -234
  296. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  297. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +723 -0
  298. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  299. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  300. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  301. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  302. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  303. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +2747 -0
  304. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  305. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1147 -0
  306. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
  307. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
  308. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  309. package/artifacts/contracts/staking/Staking.sol/Staking.json +3175 -0
  310. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  311. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
  312. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  313. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +867 -0
  314. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  315. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +704 -0
  316. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  317. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1344 -0
  318. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  319. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +786 -0
  320. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  321. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +3097 -0
  322. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
  323. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
  324. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  325. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +679 -0
  326. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  327. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  328. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  329. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  330. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  331. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +270 -0
  332. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  333. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  334. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  335. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  336. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  337. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  338. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  339. package/artifacts/contracts/type/Fee.sol/FeeLib.json +373 -0
  340. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  341. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  342. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  343. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  344. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  345. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
  346. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  347. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  348. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  349. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +238 -0
  350. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  351. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  352. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  353. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +161 -0
  354. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  355. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  356. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
  357. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
  358. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  359. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +204 -0
  360. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  361. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +254 -0
  362. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  363. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +308 -0
  364. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  365. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
  366. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  367. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  368. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  369. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  370. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  371. package/artifacts/contracts/type/String.sol/StrLib.json +199 -0
  372. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  373. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +344 -0
  374. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  375. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +572 -0
  376. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  377. package/artifacts/contracts/type/Version.sol/VersionLib.json +158 -0
  378. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  379. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +167 -0
  380. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  381. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +65 -0
  382. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  383. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +672 -0
  384. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  385. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
  386. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  387. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +88 -0
  388. package/contracts/accounting/AccountingService.sol +274 -0
  389. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  390. package/contracts/accounting/IAccountingService.sol +47 -0
  391. package/contracts/authorization/AccessAdmin.sol +679 -0
  392. package/contracts/authorization/AccessAdminLib.sol +678 -0
  393. package/contracts/authorization/AccessManagerCloneable.sol +140 -0
  394. package/contracts/authorization/Authorization.sol +190 -0
  395. package/contracts/authorization/IAccess.sol +66 -0
  396. package/contracts/authorization/IAccessAdmin.sol +142 -0
  397. package/contracts/authorization/IAuthorization.sol +26 -0
  398. package/contracts/authorization/IServiceAuthorization.sol +78 -0
  399. package/contracts/authorization/ServiceAuthorization.sol +300 -0
  400. package/contracts/distribution/BasicDistribution.sol +140 -0
  401. package/contracts/distribution/BasicDistributionAuthorization.sol +67 -0
  402. package/contracts/distribution/Distribution.sol +245 -0
  403. package/contracts/distribution/DistributionService.sol +448 -0
  404. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  405. package/contracts/distribution/IDistributionComponent.sol +45 -0
  406. package/contracts/distribution/IDistributionService.sol +115 -0
  407. package/contracts/examples/fire/DamageLevel.sol +59 -0
  408. package/contracts/examples/fire/FirePool.sol +86 -0
  409. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  410. package/contracts/examples/fire/FireProduct.sol +433 -0
  411. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  412. package/contracts/examples/fire/FireUSD.sol +26 -0
  413. package/contracts/examples/flight/FlightLib.sol +273 -0
  414. package/contracts/examples/flight/FlightMessageVerfier.sol +129 -0
  415. package/contracts/examples/flight/FlightOracle.sol +167 -0
  416. package/contracts/examples/flight/FlightOracleAuthorization.sol +34 -0
  417. package/contracts/examples/flight/FlightPool.sol +89 -0
  418. package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
  419. package/contracts/examples/flight/FlightProduct.sol +464 -0
  420. package/contracts/examples/flight/FlightProductAuthorization.sol +44 -0
  421. package/contracts/examples/flight/FlightUSD.sol +26 -0
  422. package/contracts/examples/flight/originalV1.sol +396 -0
  423. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  424. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  425. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  426. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  427. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  428. package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
  429. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  430. package/contracts/instance/BaseStore.sol +93 -0
  431. package/contracts/instance/BundleSet.sol +130 -0
  432. package/contracts/instance/IBaseStore.sol +37 -0
  433. package/contracts/instance/IInstance.sol +149 -45
  434. package/contracts/instance/IInstanceService.sol +119 -0
  435. package/contracts/instance/Instance.sol +337 -54
  436. package/contracts/instance/InstanceAdmin.sol +307 -0
  437. package/contracts/instance/InstanceAuthorizationV3.sol +275 -0
  438. package/contracts/instance/InstanceReader.sol +628 -0
  439. package/contracts/instance/InstanceService.sol +514 -0
  440. package/contracts/instance/InstanceServiceManager.sol +39 -0
  441. package/contracts/instance/InstanceStore.sol +323 -0
  442. package/contracts/instance/ProductStore.sol +290 -0
  443. package/contracts/instance/RiskSet.sol +126 -0
  444. package/contracts/instance/TargetNames.sol +10 -0
  445. package/contracts/instance/base/BalanceStore.sol +121 -0
  446. package/contracts/instance/base/Cloneable.sol +28 -0
  447. package/contracts/instance/base/ObjectCounter.sol +20 -0
  448. package/contracts/instance/base/ObjectLifecycle.sol +109 -0
  449. package/contracts/instance/base/ObjectSet.sol +77 -0
  450. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  451. package/contracts/instance/module/IBundle.sol +21 -0
  452. package/contracts/instance/module/IComponents.sol +60 -0
  453. package/contracts/instance/module/IDistribution.sol +54 -0
  454. package/contracts/instance/module/IPolicy.sol +105 -0
  455. package/contracts/instance/module/IRisk.sol +16 -0
  456. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  457. package/contracts/oracle/BasicOracle.sol +44 -0
  458. package/contracts/oracle/BasicOracleAuthorization.sol +53 -0
  459. package/contracts/oracle/IOracle.sol +41 -0
  460. package/contracts/oracle/IOracleComponent.sol +33 -0
  461. package/contracts/oracle/IOracleService.sol +66 -0
  462. package/contracts/oracle/Oracle.sol +152 -0
  463. package/contracts/oracle/OracleService.sol +310 -0
  464. package/contracts/oracle/OracleServiceManager.sol +39 -0
  465. package/contracts/pool/BasicPool.sol +161 -0
  466. package/contracts/pool/BasicPoolAuthorization.sol +81 -0
  467. package/contracts/pool/BundleService.sol +386 -0
  468. package/contracts/pool/BundleServiceManager.sol +39 -0
  469. package/contracts/pool/IBundleService.sol +116 -0
  470. package/contracts/pool/IPoolComponent.sol +62 -0
  471. package/contracts/pool/IPoolService.sol +170 -0
  472. package/contracts/pool/Pool.sol +331 -0
  473. package/contracts/pool/PoolLib.sol +341 -0
  474. package/contracts/pool/PoolService.sol +614 -0
  475. package/contracts/pool/PoolServiceManager.sol +39 -0
  476. package/contracts/product/ApplicationService.sol +327 -0
  477. package/contracts/product/ApplicationServiceManager.sol +38 -0
  478. package/contracts/product/BasicProduct.sol +48 -0
  479. package/contracts/product/BasicProductAuthorization.sol +64 -0
  480. package/contracts/product/ClaimService.sol +626 -0
  481. package/contracts/product/ClaimServiceManager.sol +38 -0
  482. package/contracts/product/IApplicationService.sol +88 -0
  483. package/contracts/product/IClaimService.sol +136 -0
  484. package/contracts/product/IPolicyService.sol +102 -0
  485. package/contracts/product/IPricingService.sol +40 -0
  486. package/contracts/product/IProductComponent.sol +62 -0
  487. package/contracts/product/IRiskService.sol +48 -0
  488. package/contracts/product/PolicyService.sol +645 -0
  489. package/contracts/product/PolicyServiceLib.sol +139 -0
  490. package/contracts/product/PolicyServiceManager.sol +39 -0
  491. package/contracts/product/PricingService.sol +306 -0
  492. package/contracts/product/PricingServiceManager.sol +39 -0
  493. package/contracts/product/Product.sol +491 -0
  494. package/contracts/product/RiskService.sol +189 -0
  495. package/contracts/product/RiskServiceManager.sol +39 -0
  496. package/contracts/registry/ChainNft.sol +130 -40
  497. package/contracts/registry/IRegistry.sol +144 -29
  498. package/contracts/registry/IRegistryService.sol +62 -0
  499. package/contracts/registry/IRelease.sol +29 -0
  500. package/contracts/registry/ITransferInterceptor.sol +6 -0
  501. package/contracts/registry/Registry.sol +637 -282
  502. package/contracts/registry/RegistryAdmin.sol +173 -0
  503. package/contracts/registry/RegistryAuthorization.sol +337 -0
  504. package/contracts/registry/RegistryService.sol +241 -0
  505. package/contracts/registry/RegistryServiceManager.sol +53 -0
  506. package/contracts/registry/ReleaseAdmin.sol +199 -0
  507. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  508. package/contracts/registry/ReleaseRegistry.sol +525 -0
  509. package/contracts/registry/ServiceAuthorizationV3.sol +342 -0
  510. package/contracts/registry/TokenRegistry.sol +317 -0
  511. package/contracts/shared/Component.sol +210 -0
  512. package/contracts/shared/ComponentService.sol +691 -0
  513. package/contracts/shared/ComponentServiceManager.sol +38 -0
  514. package/contracts/shared/ContractLib.sol +312 -0
  515. package/contracts/shared/EcdsaChecker.sol +5 -0
  516. package/contracts/shared/IComponent.sol +58 -0
  517. package/contracts/shared/IComponentService.sol +111 -0
  518. package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
  519. package/contracts/{instance/base → shared}/ILifecycle.sol +6 -5
  520. package/contracts/shared/INftOwnable.sol +27 -0
  521. package/contracts/shared/IPolicyHolder.sol +35 -0
  522. package/contracts/shared/IRegisterable.sol +31 -19
  523. package/contracts/shared/IRegistryLinked.sol +11 -0
  524. package/contracts/shared/IService.sol +23 -0
  525. package/contracts/shared/InitializableERC165.sol +35 -0
  526. package/contracts/shared/InstanceLinkedComponent.sol +232 -0
  527. package/contracts/shared/Lifecycle.sol +88 -0
  528. package/contracts/shared/NftIdSet.sol +65 -0
  529. package/contracts/shared/NftOwnable.sol +129 -0
  530. package/contracts/shared/PolicyHolder.sol +63 -0
  531. package/contracts/shared/Registerable.sol +80 -60
  532. package/contracts/shared/RegistryLinked.sol +38 -0
  533. package/contracts/shared/Service.sol +67 -0
  534. package/contracts/shared/TokenHandler.sol +342 -0
  535. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  536. package/contracts/staking/IStaking.sol +366 -0
  537. package/contracts/staking/IStakingService.sol +127 -0
  538. package/contracts/staking/ITargetLimitHandler.sol +17 -0
  539. package/contracts/staking/Staking.sol +797 -0
  540. package/contracts/staking/StakingLib.sol +195 -0
  541. package/contracts/staking/StakingManager.sol +53 -0
  542. package/contracts/staking/StakingReader.sol +171 -0
  543. package/contracts/staking/StakingService.sol +321 -0
  544. package/contracts/staking/StakingServiceManager.sol +46 -0
  545. package/contracts/staking/StakingStore.sol +1368 -0
  546. package/contracts/staking/TargetHandler.sol +132 -0
  547. package/contracts/staking/TargetManagerLib.sol +234 -0
  548. package/contracts/{types → type}/AddressSet.sol +1 -1
  549. package/contracts/type/Amount.sol +154 -0
  550. package/contracts/{types → type}/Blocknumber.sol +38 -19
  551. package/contracts/type/ChainId.sol +101 -0
  552. package/contracts/type/ClaimId.sol +80 -0
  553. package/contracts/type/DistributorType.sol +55 -0
  554. package/contracts/type/Fee.sol +66 -0
  555. package/contracts/{types → type}/Key32.sol +10 -5
  556. package/contracts/type/Key32Set.sol +62 -0
  557. package/contracts/{types → type}/NftId.sol +28 -15
  558. package/contracts/type/NftIdSet.sol +62 -0
  559. package/contracts/type/ObjectType.sol +278 -0
  560. package/contracts/type/PayoutId.sol +82 -0
  561. package/contracts/type/Referral.sol +96 -0
  562. package/contracts/type/RequestId.sol +75 -0
  563. package/contracts/type/RequestIdSet.sol +62 -0
  564. package/contracts/type/RiskId.sol +75 -0
  565. package/contracts/type/RoleId.sol +180 -0
  566. package/contracts/type/Seconds.sol +124 -0
  567. package/contracts/type/Selector.sol +107 -0
  568. package/contracts/{types → type}/StateId.sol +53 -5
  569. package/contracts/type/String.sol +95 -0
  570. package/contracts/{types → type}/Timestamp.sol +48 -19
  571. package/contracts/{types → type}/UFixed.sol +73 -19
  572. package/contracts/type/Version.sol +159 -0
  573. package/contracts/upgradeability/IVersionable.sol +56 -0
  574. package/contracts/upgradeability/ProxyManager.sol +246 -0
  575. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +24 -0
  576. package/contracts/upgradeability/Versionable.sol +62 -0
  577. package/package.json +13 -8
  578. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  579. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -174
  580. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  581. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  582. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -356
  583. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  584. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -279
  585. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  586. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -387
  587. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  588. package/artifacts/contracts/components/Product.sol/Product.json +0 -305
  589. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  590. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  591. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  592. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  593. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  594. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  595. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  596. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  597. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  598. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  599. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  600. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  601. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  602. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  603. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  604. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  605. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  606. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  607. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  608. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  609. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  610. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  611. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  612. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  613. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  614. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  615. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  616. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  617. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  618. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  619. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  620. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  621. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  622. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  623. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  624. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  625. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +0 -300
  626. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  627. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -63
  628. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  629. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +0 -511
  630. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  631. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  632. package/artifacts/contracts/instance/base/IService.sol/IService.json +0 -300
  633. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  634. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.json +0 -326
  635. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  636. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -692
  637. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  638. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  639. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  640. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  641. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.json +0 -300
  642. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  643. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  644. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  645. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  646. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  647. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  648. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -296
  649. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  650. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  651. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -296
  652. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.dbg.json +0 -4
  653. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.json +0 -10
  654. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.dbg.json +0 -4
  655. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.json +0 -10
  656. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.dbg.json +0 -4
  657. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.json +0 -10
  658. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  659. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -188
  660. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  661. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  662. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  663. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -188
  664. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  665. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  666. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -261
  667. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  668. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -261
  669. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  670. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  671. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  672. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -149
  673. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  674. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -149
  675. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  676. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  677. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -10
  678. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  679. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -10
  680. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  681. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
  682. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  683. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -533
  684. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  685. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  686. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  687. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -533
  688. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  689. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -523
  690. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  691. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  692. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -376
  693. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  694. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  695. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -471
  696. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  697. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -673
  698. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  699. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -452
  700. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  701. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  702. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  703. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  704. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  705. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -164
  706. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  707. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -164
  708. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  709. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  710. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  711. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -387
  712. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  713. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -393
  714. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  715. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -137
  716. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  717. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  718. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  719. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -379
  720. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  721. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  722. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  723. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  724. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  725. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -206
  726. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  727. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -338
  728. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  729. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  730. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  731. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  732. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  733. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  734. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  735. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -218
  736. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  737. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
  738. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  739. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  740. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  741. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  742. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  743. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  744. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  745. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -30
  746. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  747. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  748. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  749. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  750. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  751. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -479
  752. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  753. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -139
  754. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  755. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  756. package/contracts/components/BaseComponent.sol +0 -88
  757. package/contracts/components/IBaseComponent.sol +0 -19
  758. package/contracts/components/IPoolComponent.sol +0 -57
  759. package/contracts/components/IProductComponent.sol +0 -19
  760. package/contracts/components/Pool.sol +0 -174
  761. package/contracts/components/Product.sol +0 -117
  762. package/contracts/experiment/errors/Require.sol +0 -38
  763. package/contracts/experiment/errors/Revert.sol +0 -44
  764. package/contracts/experiment/inheritance/A.sol +0 -53
  765. package/contracts/experiment/inheritance/B.sol +0 -28
  766. package/contracts/experiment/inheritance/C.sol +0 -34
  767. package/contracts/experiment/inheritance/IA.sol +0 -13
  768. package/contracts/experiment/inheritance/IB.sol +0 -10
  769. package/contracts/experiment/inheritance/IC.sol +0 -12
  770. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  771. package/contracts/experiment/statemachine/ISM.sol +0 -25
  772. package/contracts/experiment/statemachine/README.md +0 -112
  773. package/contracts/experiment/statemachine/SM.sol +0 -57
  774. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  775. package/contracts/experiment/types/TypeA.sol +0 -47
  776. package/contracts/experiment/types/TypeB.sol +0 -29
  777. package/contracts/instance/IInstanceLinked.sol +0 -8
  778. package/contracts/instance/base/ComponentServiceBase.sol +0 -42
  779. package/contracts/instance/base/IInstanceBase.sol +0 -14
  780. package/contracts/instance/base/IKeyValueStore.sol +0 -49
  781. package/contracts/instance/base/IService.sol +0 -15
  782. package/contracts/instance/base/InstanceBase.sol +0 -80
  783. package/contracts/instance/base/KeyValueStore.sol +0 -156
  784. package/contracts/instance/base/Lifecycle.sol +0 -95
  785. package/contracts/instance/base/ModuleBase.sol +0 -52
  786. package/contracts/instance/base/ServiceBase.sol +0 -37
  787. package/contracts/instance/module/access/Access.sol +0 -149
  788. package/contracts/instance/module/access/IAccess.sol +0 -53
  789. package/contracts/instance/module/bundle/BundleModule.sol +0 -136
  790. package/contracts/instance/module/bundle/IBundle.sol +0 -58
  791. package/contracts/instance/module/compensation/CompensationModule.sol +0 -8
  792. package/contracts/instance/module/compensation/ICompensation.sol +0 -10
  793. package/contracts/instance/module/component/ComponentModule.sol +0 -95
  794. package/contracts/instance/module/component/IComponent.sol +0 -53
  795. package/contracts/instance/module/policy/IPolicy.sol +0 -60
  796. package/contracts/instance/module/policy/PolicyModule.sol +0 -76
  797. package/contracts/instance/module/pool/IPoolModule.sol +0 -41
  798. package/contracts/instance/module/pool/PoolModule.sol +0 -87
  799. package/contracts/instance/module/risk/IRisk.sol +0 -10
  800. package/contracts/instance/module/risk/RiskModule.sol +0 -8
  801. package/contracts/instance/module/treasury/ITreasury.sol +0 -103
  802. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  803. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -152
  804. package/contracts/instance/service/ComponentOwnerService.sol +0 -170
  805. package/contracts/instance/service/IComponentOwnerService.sol +0 -22
  806. package/contracts/instance/service/IPoolService.sol +0 -30
  807. package/contracts/instance/service/IProductService.sol +0 -58
  808. package/contracts/instance/service/PoolService.sol +0 -123
  809. package/contracts/instance/service/ProductService.sol +0 -354
  810. package/contracts/registry/IChainNft.sol +0 -21
  811. package/contracts/registry/IRegistryLinked.sol +0 -8
  812. package/contracts/shared/ERC165.sol +0 -21
  813. package/contracts/shared/IOwnable.sol +0 -6
  814. package/contracts/shared/IVersionable.sol +0 -52
  815. package/contracts/shared/Versionable.sol +0 -89
  816. package/contracts/test/TestFee.sol +0 -25
  817. package/contracts/test/TestPool.sol +0 -22
  818. package/contracts/test/TestProduct.sol +0 -44
  819. package/contracts/test/TestRegisterable.sol +0 -19
  820. package/contracts/test/TestRoleId.sol +0 -14
  821. package/contracts/test/TestService.sol +0 -32
  822. package/contracts/test/TestToken.sol +0 -26
  823. package/contracts/test/TestVersion.sol +0 -44
  824. package/contracts/test/TestVersionable.sol +0 -17
  825. package/contracts/types/ChainId.sol +0 -38
  826. package/contracts/types/Fee.sol +0 -51
  827. package/contracts/types/NftIdSet.sol +0 -60
  828. package/contracts/types/ObjectType.sol +0 -115
  829. package/contracts/types/RoleId.sol +0 -38
  830. package/contracts/types/Version.sol +0 -95
package/README.md CHANGED
@@ -1,7 +1,17 @@
1
- # gif-next (Generic Insurance Framework next version)
1
+ # GIF-Next (Generic Insurance Framework, next version)
2
+
3
+ ## Dependencies
4
+
5
+ See `remappings.txt` for GIF-Next depencies
2
6
 
3
7
  ## Submodules checkout
4
8
 
9
+ For initial checkout call
10
+
11
+ ```shell
12
+ git submodule update --init --recursive
13
+ ```
14
+
5
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)
6
16
 
7
17
  ```shell
@@ -21,25 +31,94 @@ npm run test-with-gas
21
31
  npm run coverage
22
32
  ```
23
33
 
24
- ### 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`
25
43
 
26
- The deploy script will deploy all required contracts and create a test instance with a test product and a test pool.
44
+
45
+ ### Full protocol deployment
46
+
47
+ Install the dependencies before running the script below for the first time.
48
+
49
+ ```bash
50
+ npm install
51
+ ```
52
+
53
+ The deploy script will deploy all required contracts for gif and create a test instance.
27
54
 
28
55
  ```bash
29
56
  # run deployment on a locally created ganache instance
30
- hh run scripts/deploy_all.ts
57
+ hh run scripts/deploy_gif.ts
58
+ ```
59
+
60
+ ```bash
61
+ # set appropriate values vor env variables (see below)
31
62
 
32
63
  # run deployment on another network
33
- 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
34
74
  ```
35
75
 
36
76
  Environment variables:
37
77
 
38
- - `SKIP_VERIFICATION` set to `true` to skip etherscan verification (required for ganacht and anvil)
39
- - `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`)
40
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)
41
84
  - `ETHERSCAN_API_KEY` `POLYGONSCAN_API_KEY` the api key for etherscan/polygonscan (required for mumbai and mainnet)
42
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
43
122
 
44
123
  ### Console
45
124
 
@@ -56,6 +135,27 @@ await provider.getBalance(me)
56
135
 
57
136
  https://hardhat.org/hardhat-runner/docs/guides/compile-contracts
58
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
+
59
159
  ## Forge
60
160
 
61
161
  ### Commands
@@ -64,77 +164,49 @@ https://hardhat.org/hardhat-runner/docs/guides/compile-contracts
64
164
  forge build
65
165
 
66
166
  # contract sizes
67
- forge build --sizes | grep Instance
167
+ forge build --sizes
68
168
 
69
169
  forge test
70
170
 
71
171
  # run single test case
72
- forge test --mt test_decimals
172
+ forge test --mt test_deployAllSetup
73
173
 
74
- # run single test case with substantial logginglogging
174
+ # run all tests except long running
175
+ forge test --nmt longRunning
176
+
177
+ # run single test case with substantial logging
75
178
  # to include logs as well use -vvvvv
76
- forge test -vvvv --mt test_decimals
179
+ # to add internal functions to trace add --
180
+ forge test --decode-internal --mt test_decimals -vvvv
77
181
 
78
182
  # provide gas report for a single test
79
183
  forge test --mt test_decimals --gas-report
80
184
 
185
+ # provide code coverage report
81
186
  forge coverage
187
+ forge coverage --report lcov
82
188
  ```
83
189
 
84
- Chisel session
85
- ```typescript
86
- import "./contracts/components/Component.sol";
87
- import "./contracts/components/IPool.sol";
88
- import "./contracts/components/IProduct.sol";
89
- import "./contracts/components/Pool.sol";
90
- import "./contracts/components/Product.sol";
91
- import "./contracts/instance/access/Access.sol";
92
- import "./contracts/instance/access/IAccess.sol";
93
- import "./contracts/instance/component/ComponentModule.sol";
94
- import "./contracts/instance/component/IComponent.sol";
95
- import "./contracts/instance/IInstance.sol";
96
- import "./contracts/instance/policy/IPolicy.sol";
97
- import "./contracts/instance/policy/PolicyModule.sol";
98
- import "./contracts/instance/product/IProductService.sol";
99
- import "./contracts/instance/product/ProductService.sol";
100
- import "./contracts/registry/IRegistry.sol";
101
-
102
- import {Instance} from "./contracts/instance/Instance.sol";
103
- import {Registry} from "./contracts/registry/Registry.sol";
104
- import {DeployAll} from "./scripts/DeployAll.s.sol";
105
- import {TestPool} from "./test_forge/mock/TestPool.sol";
106
- import {TestProduct} from "./test_forge/mock/TestProduct.sol";
107
-
108
- string memory instanceOwnerName = "instanceOwner";
109
- address instanceOwner = vm.addr(uint256(keccak256(abi.encodePacked(instanceOwnerName))));
110
-
111
- string memory productOwnerName = "productOwner";
112
- address productOwner = vm.addr(uint256(keccak256(abi.encodePacked(productOwnerName))));
113
-
114
- string memory poolOwnerName = "poolOwner";
115
- address poolOwner = vm.addr(uint256(keccak256(abi.encodePacked(poolOwnerName))));
116
-
117
- string memory customerName = "customer";
118
- address customer = vm.addr(uint256(keccak256(abi.encodePacked(customerName))));
119
-
120
- DeployAll deployer = new DeployAll();
121
- (
122
- Registry registry,
123
- Instance instance,
124
- TestProduct product,
125
- TestPool pool
126
- ) = deployer.run(
127
- instanceOwner,
128
- productOwner,
129
- poolOwner);
130
-
131
- ProductService ps = ProductService(address(registry));
132
-
133
- uint256 bundleNftId = 99;
134
- uint256 sumInsuredAmount = 1000*10**6;
135
- uint256 premiumAmount = 110*10**6;
136
- uint256 lifetime =365*24*3600;
137
- 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).
138
210
 
139
211
  ```
140
212
  ### Library Linking
@@ -155,17 +227,7 @@ https://book.getfoundry.sh/reference/
155
227
 
156
228
  ## Style Guide
157
229
 
158
- Solidity code is to be written according to the [Solidity Style Guide](https://docs.soliditylang.org/en/latest/style-guide.html).
159
-
160
- Documentation of the code should be written inline using [NatSpec](https://docs.soliditylang.org/en/latest/natspec-format.html).
161
-
162
- ### Naming conventions
163
-
164
- Additionally, we use the following naming conventions:
165
-
166
- - 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.
167
- - 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.
168
- - 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.
169
231
 
170
232
  ### Automatic code formatting
171
233
 
@@ -179,65 +241,57 @@ To execute formatting run `npm run styleFix`.
179
241
  We use solhint to lint the code.
180
242
  To execute linting run `npm run lint`.
181
243
 
244
+ ## Storage layout
182
245
 
183
- ### Adding Brownie (Legacy)
246
+ ### Analysis tool
184
247
 
185
- python3 is already installed
186
-
187
- ```bash
188
- npm install -g ganache
189
- sudo apt update
190
- sudo apt install python3-pip
191
- pip install eth-brownie
192
- brownie pm install OpenZeppelin/openzeppelin-contracts@4.9.3
193
- ```
248
+ Command line call
194
249
 
195
250
  ```bash
196
- brownie compile --all
197
- brownie console
251
+ hh run scripts/analyze_storage_layout.ts
198
252
  ```
199
253
 
200
- ```python
201
- registry_owner = accounts[0]
202
- instance_owner = accounts[1]
203
- product_owner = accounts[2]
204
-
205
- # deploy libs and helper contracts
206
- nft_id_lib = NftIdLib.deploy({'from': registry_owner})
207
- ufixed_math_lib = UFixedMathLib.deploy({'from': registry_owner})
208
- test_fee = TestFee.deploy({'from': registry_owner})
209
-
210
- # deploy registry and a token
211
- registry = Registry.deploy({'from': registry_owner})
212
- nft = ChainNft.deploy(registry, {'from': registry_owner})
213
- registry.initialize(nft, {'from': registry_owner})
214
- token = TestUsdc.deploy({'from': registry_owner})
215
-
216
- # deploy services
217
- component_owner_service = ComponentOwnerService.deploy(registry, {'from': registry_owner})
218
- product_service = ProductService.deploy(registry, {'from': registry_owner})
219
-
220
- # deploy an instance
221
- instance = Instance.deploy(registry, component_owner_service, product_service, {'from': instance_owner})
222
-
223
- # deploy product
224
- pool = TestPool.deploy(registry, instance, token, {'from': product_owner})
225
- policy_fee = test_fee.createFee(1, -1, 0)
226
- product = TestProduct.deploy(registry, instance, token, pool, policy_fee, {'from': product_owner})
227
-
228
- # grant roles
229
- pool_owner_role = instance.getRoleForName("PoolOwner")
230
- product_owner_role = instance.getRoleForName("ProductOwner")
231
- instance.grantRole(pool_owner_role, product_owner, {'from': instance_owner})
232
- instance.grantRole(product_owner_role, product_owner, {'from': instance_owner})
233
-
234
- # register objects
235
- instance.register()
236
- component_owner_service.register(pool, {'from': product_owner})
237
- component_owner_service.register(product, {'from': product_owner})
238
-
239
- instance_id = instance.getNftId()
240
- pool_id = pool.getNftId()
241
- product_id = product.getNftId()
242
- ```
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 |
243
297
 
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/5489fc8db84df2125818bcbe8c685e98.json"
4
+ }