@etherisc/gif-next 0.0.2-0db3195-901 → 0.0.2-0deaba3-985

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 (807) hide show
  1. package/README.md +147 -23
  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 +790 -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 +1664 -0
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -0
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1403 -0
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +790 -0
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  17. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1372 -0
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +455 -0
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +397 -0
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +646 -0
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1244 -0
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +805 -0
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +949 -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 +930 -0
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  37. package/artifacts/contracts/{components/Distribution.sol/Distribution.json → distribution/IDistributionComponent.sol/IDistributionComponent.json} +318 -319
  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 +1484 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2053 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  51. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  52. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
  53. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +291 -0
  54. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
  55. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1208 -0
  56. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
  57. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +805 -0
  58. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
  59. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1476 -0
  60. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
  61. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +805 -0
  62. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
  63. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2432 -0
  64. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
  65. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +805 -0
  66. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
  67. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +376 -0
  68. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
  69. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
  70. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  71. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1439 -0
  72. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  73. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
  74. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  75. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  76. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  77. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1647 -0
  78. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  79. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
  80. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  81. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2585 -0
  82. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  83. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
  84. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
  85. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +332 -0
  86. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  87. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  88. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
  89. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +304 -0
  90. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  91. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +538 -1353
  92. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  93. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +667 -161
  94. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  95. package/artifacts/contracts/instance/Instance.sol/Instance.json +701 -2423
  96. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  97. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2284 -0
  98. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  99. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +837 -0
  100. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  101. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +2068 -709
  102. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  103. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +678 -379
  104. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  105. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +400 -101
  106. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  107. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3378 -0
  108. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
  109. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +1539 -0
  110. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  111. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
  112. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  113. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  114. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  115. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -49
  116. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  117. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  118. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  119. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  120. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  121. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  122. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  123. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  124. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  125. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  126. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  127. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  128. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  129. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  130. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  131. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  132. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  133. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +957 -0
  134. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  135. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +805 -0
  136. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  137. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  138. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  139. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +772 -0
  140. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  141. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +762 -0
  142. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  143. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +873 -0
  144. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  145. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1042 -0
  146. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  147. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +810 -0
  148. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  149. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1242 -0
  150. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  151. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +805 -0
  152. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  153. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1438 -0
  154. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  155. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +866 -0
  156. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  157. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +1033 -0
  158. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  159. package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/IPoolComponent.sol/IPoolComponent.json} +345 -354
  160. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  161. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1449 -0
  162. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  163. package/artifacts/contracts/pool/Pool.sol/Pool.json +1025 -0
  164. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  165. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  166. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  167. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1833 -0
  168. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  169. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +866 -0
  170. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  171. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +1036 -0
  172. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  173. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +790 -0
  174. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  175. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1159 -0
  176. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  177. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +805 -0
  178. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  179. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1536 -0
  180. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  181. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +886 -0
  182. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  183. package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → product/IApplicationService.sol/IApplicationService.json} +328 -290
  184. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  185. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +1104 -0
  186. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  187. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +1036 -0
  188. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  189. package/artifacts/contracts/{instance/service/IBundleService.sol/IBundleService.json → product/IPricingService.sol/IPricingService.json} +321 -384
  190. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  191. package/artifacts/contracts/{components/Product.sol/Product.json → product/IProductComponent.sol/IProductComponent.json} +470 -403
  192. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  193. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → product/IRiskService.sol/IRiskService.json} +294 -232
  194. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  195. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1404 -0
  196. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  197. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  198. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  199. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +854 -0
  200. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  201. package/artifacts/contracts/product/PricingService.sol/PricingService.json +932 -0
  202. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  203. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +814 -0
  204. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  205. package/artifacts/contracts/{components/IProductComponent.sol/IProductComponent.json → product/Product.sol/Product.json} +657 -288
  206. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  207. package/artifacts/contracts/product/RiskService.sol/RiskService.json +873 -0
  208. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  209. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +774 -0
  210. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  211. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +72 -16
  212. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  213. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +529 -32
  214. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  215. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +301 -210
  216. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  217. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  218. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  219. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -0
  220. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  221. package/artifacts/contracts/registry/Registry.sol/Registry.json +1008 -120
  222. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  223. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2160 -0
  224. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  225. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1074 -0
  226. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  227. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +367 -269
  228. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  229. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +395 -86
  230. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  231. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
  232. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  233. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  234. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  235. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1389 -0
  236. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  237. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +683 -0
  238. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  239. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +392 -65
  240. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  241. package/artifacts/contracts/{components/IDistributionComponent.sol/IDistributionComponent.json → shared/Component.sol/Component.json} +301 -244
  242. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  243. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1551 -0
  244. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  245. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +862 -0
  246. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  247. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  248. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  249. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  250. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  251. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  252. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  253. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  254. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  255. package/artifacts/contracts/{components/Component.sol/Component.json → shared/IComponent.sol/IComponent.json} +198 -224
  256. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  257. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1175 -0
  258. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  259. package/artifacts/contracts/{components/IPoolComponent.sol/IPoolComponent.json → shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json} +287 -293
  260. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  261. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +138 -20
  262. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  263. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  264. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  265. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +61 -22
  266. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  267. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  268. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  269. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +162 -10
  270. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  271. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  272. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  273. package/artifacts/contracts/shared/IService.sol/IService.json +148 -136
  274. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  275. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  276. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  277. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +795 -0
  278. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  279. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +575 -0
  280. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  281. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  282. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  283. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  284. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  285. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +91 -34
  286. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  287. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
  288. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  289. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +175 -60
  290. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  291. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  292. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  293. package/artifacts/contracts/shared/Service.sol/Service.json +163 -157
  294. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  295. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +635 -8
  296. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  297. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  298. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  299. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  300. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  301. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +2757 -0
  302. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  303. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1147 -0
  304. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
  305. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
  306. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  307. package/artifacts/contracts/staking/Staking.sol/Staking.json +3185 -0
  308. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  309. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
  310. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  311. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +847 -0
  312. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  313. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +704 -0
  314. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  315. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1344 -0
  316. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  317. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +766 -0
  318. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  319. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +3097 -0
  320. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
  321. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
  322. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  323. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +679 -0
  324. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  325. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  326. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  327. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  328. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  329. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +251 -0
  330. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  331. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  332. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  333. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  334. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  335. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  336. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  337. package/artifacts/contracts/type/Fee.sol/FeeLib.json +373 -0
  338. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  339. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  340. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  341. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  342. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  343. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
  344. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  345. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  346. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  347. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +238 -0
  348. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  349. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  350. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  351. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +161 -0
  352. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  353. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  354. package/artifacts/contracts/type/RequestIdSet.sol/RequestIdSet.dbg.json +4 -0
  355. package/artifacts/contracts/type/RequestIdSet.sol/RequestIdSet.json +33 -0
  356. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  357. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +204 -0
  358. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  359. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +254 -0
  360. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  361. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +308 -0
  362. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  363. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
  364. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  365. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  366. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  367. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  368. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  369. package/artifacts/contracts/type/String.sol/StrLib.json +199 -0
  370. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  371. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +344 -0
  372. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  373. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +572 -0
  374. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  375. package/artifacts/contracts/type/Version.sol/VersionLib.json +158 -0
  376. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  377. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +167 -0
  378. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  379. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +65 -0
  380. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  381. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +656 -0
  382. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  383. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
  384. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  385. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +88 -0
  386. package/contracts/accounting/AccountingService.sol +274 -0
  387. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  388. package/contracts/accounting/IAccountingService.sol +47 -0
  389. package/contracts/authorization/AccessAdmin.sol +780 -0
  390. package/contracts/authorization/AccessAdminLib.sol +396 -0
  391. package/contracts/authorization/AccessManagerCloneable.sol +158 -0
  392. package/contracts/authorization/Authorization.sol +169 -0
  393. package/contracts/authorization/IAccess.sol +67 -0
  394. package/contracts/authorization/IAccessAdmin.sol +144 -0
  395. package/contracts/authorization/IAuthorization.sol +26 -0
  396. package/contracts/authorization/IServiceAuthorization.sol +78 -0
  397. package/contracts/authorization/ServiceAuthorization.sol +320 -0
  398. package/contracts/distribution/BasicDistribution.sol +141 -0
  399. package/contracts/distribution/BasicDistributionAuthorization.sol +67 -0
  400. package/contracts/distribution/Distribution.sol +247 -0
  401. package/contracts/distribution/DistributionService.sol +448 -0
  402. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  403. package/contracts/distribution/IDistributionComponent.sol +45 -0
  404. package/contracts/distribution/IDistributionService.sol +115 -0
  405. package/contracts/examples/fire/DamageLevel.sol +59 -0
  406. package/contracts/examples/fire/FirePool.sol +86 -0
  407. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  408. package/contracts/examples/fire/FireProduct.sol +433 -0
  409. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  410. package/contracts/examples/fire/FireUSD.sol +26 -0
  411. package/contracts/examples/flight/FlightLib.sol +172 -0
  412. package/contracts/examples/flight/FlightOracle.sol +167 -0
  413. package/contracts/examples/flight/FlightOracleAuthorization.sol +34 -0
  414. package/contracts/examples/flight/FlightPool.sol +89 -0
  415. package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
  416. package/contracts/examples/flight/FlightProduct.sol +579 -0
  417. package/contracts/examples/flight/FlightProductAuthorization.sol +44 -0
  418. package/contracts/examples/flight/FlightUSD.sol +26 -0
  419. package/contracts/examples/flight/originalV1.sol +396 -0
  420. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  421. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  422. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  423. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  424. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  425. package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
  426. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  427. package/contracts/instance/BaseStore.sol +93 -0
  428. package/contracts/instance/BundleSet.sol +130 -0
  429. package/contracts/instance/IBaseStore.sol +37 -0
  430. package/contracts/instance/IInstance.sol +135 -51
  431. package/contracts/instance/IInstanceService.sol +100 -22
  432. package/contracts/instance/Instance.sol +262 -180
  433. package/contracts/instance/InstanceAdmin.sol +379 -0
  434. package/contracts/instance/InstanceAuthorizationV3.sol +275 -0
  435. package/contracts/instance/InstanceReader.sol +555 -192
  436. package/contracts/instance/InstanceService.sol +424 -345
  437. package/contracts/instance/InstanceServiceManager.sol +14 -29
  438. package/contracts/instance/InstanceStore.sol +268 -0
  439. package/contracts/instance/ProductStore.sol +119 -0
  440. package/contracts/instance/RiskSet.sol +126 -0
  441. package/contracts/instance/TargetNames.sol +10 -0
  442. package/contracts/instance/base/BalanceStore.sol +121 -0
  443. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
  444. package/contracts/instance/base/ObjectCounter.sol +20 -0
  445. package/contracts/instance/base/ObjectLifecycle.sol +109 -0
  446. package/contracts/instance/base/ObjectSet.sol +77 -0
  447. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  448. package/contracts/instance/module/IBundle.sol +10 -9
  449. package/contracts/instance/module/IComponents.sol +62 -0
  450. package/contracts/instance/module/IDistribution.sol +25 -10
  451. package/contracts/instance/module/IPolicy.sol +81 -21
  452. package/contracts/instance/module/IRisk.sol +6 -1
  453. package/contracts/{test/TestToken.sol → mock/Dip.sol} +6 -6
  454. package/contracts/oracle/BasicOracle.sol +45 -0
  455. package/contracts/oracle/BasicOracleAuthorization.sol +52 -0
  456. package/contracts/oracle/IOracle.sol +41 -0
  457. package/contracts/oracle/IOracleComponent.sol +33 -0
  458. package/contracts/oracle/IOracleService.sol +66 -0
  459. package/contracts/oracle/Oracle.sol +154 -0
  460. package/contracts/oracle/OracleService.sol +310 -0
  461. package/contracts/oracle/OracleServiceManager.sol +39 -0
  462. package/contracts/pool/BasicPool.sol +162 -0
  463. package/contracts/pool/BasicPoolAuthorization.sol +81 -0
  464. package/contracts/pool/BundleService.sol +386 -0
  465. package/contracts/pool/BundleServiceManager.sol +39 -0
  466. package/contracts/pool/IBundleService.sol +116 -0
  467. package/contracts/pool/IPoolComponent.sol +62 -0
  468. package/contracts/pool/IPoolService.sol +170 -0
  469. package/contracts/pool/Pool.sol +333 -0
  470. package/contracts/pool/PoolLib.sol +341 -0
  471. package/contracts/pool/PoolService.sol +614 -0
  472. package/contracts/pool/PoolServiceManager.sol +39 -0
  473. package/contracts/product/ApplicationService.sol +327 -0
  474. package/contracts/product/ApplicationServiceManager.sol +38 -0
  475. package/contracts/product/BasicProduct.sol +49 -0
  476. package/contracts/product/BasicProductAuthorization.sol +64 -0
  477. package/contracts/product/ClaimService.sol +626 -0
  478. package/contracts/product/ClaimServiceManager.sol +38 -0
  479. package/contracts/product/IApplicationService.sol +88 -0
  480. package/contracts/product/IClaimService.sol +136 -0
  481. package/contracts/product/IPolicyService.sol +102 -0
  482. package/contracts/product/IPricingService.sol +40 -0
  483. package/contracts/product/IProductComponent.sol +62 -0
  484. package/contracts/product/IRiskService.sol +48 -0
  485. package/contracts/product/PolicyService.sol +645 -0
  486. package/contracts/product/PolicyServiceLib.sol +139 -0
  487. package/contracts/product/PolicyServiceManager.sol +39 -0
  488. package/contracts/product/PricingService.sol +306 -0
  489. package/contracts/product/PricingServiceManager.sol +39 -0
  490. package/contracts/product/Product.sol +493 -0
  491. package/contracts/product/RiskService.sol +190 -0
  492. package/contracts/product/RiskServiceManager.sol +39 -0
  493. package/contracts/registry/ChainNft.sol +83 -36
  494. package/contracts/registry/IRegistry.sol +107 -33
  495. package/contracts/registry/IRegistryService.sol +38 -41
  496. package/contracts/registry/IRelease.sol +29 -0
  497. package/contracts/registry/ITransferInterceptor.sol +1 -1
  498. package/contracts/registry/Registry.sol +494 -210
  499. package/contracts/registry/RegistryAdmin.sol +191 -0
  500. package/contracts/registry/RegistryAuthorization.sol +336 -0
  501. package/contracts/registry/RegistryService.sol +118 -139
  502. package/contracts/registry/RegistryServiceManager.sol +24 -33
  503. package/contracts/registry/ReleaseAdmin.sol +195 -0
  504. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  505. package/contracts/registry/ReleaseRegistry.sol +525 -0
  506. package/contracts/registry/ServiceAuthorizationV3.sol +342 -0
  507. package/contracts/registry/TokenRegistry.sol +267 -62
  508. package/contracts/shared/Component.sol +214 -0
  509. package/contracts/shared/ComponentService.sol +687 -0
  510. package/contracts/shared/ComponentServiceManager.sol +38 -0
  511. package/contracts/shared/ContractLib.sol +312 -0
  512. package/contracts/shared/IComponent.sol +58 -0
  513. package/contracts/shared/IComponentService.sol +111 -0
  514. package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
  515. package/contracts/{instance/base → shared}/IKeyValueStore.sol +23 -10
  516. package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
  517. package/contracts/shared/INftOwnable.sol +17 -12
  518. package/contracts/shared/IPolicyHolder.sol +35 -0
  519. package/contracts/shared/IRegisterable.sol +23 -2
  520. package/contracts/shared/IRegistryLinked.sol +11 -0
  521. package/contracts/shared/IService.sol +12 -5
  522. package/contracts/shared/InitializableERC165.sol +35 -0
  523. package/contracts/shared/InstanceLinkedComponent.sol +234 -0
  524. package/contracts/shared/KeyValueStore.sol +131 -0
  525. package/contracts/shared/Lifecycle.sol +88 -0
  526. package/contracts/shared/NftIdSet.sol +65 -0
  527. package/contracts/shared/NftOwnable.sol +77 -87
  528. package/contracts/shared/PolicyHolder.sol +63 -0
  529. package/contracts/shared/Registerable.sol +49 -29
  530. package/contracts/shared/RegistryLinked.sol +38 -0
  531. package/contracts/shared/Service.sol +41 -34
  532. package/contracts/shared/TokenHandler.sol +327 -12
  533. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  534. package/contracts/staking/IStaking.sol +367 -0
  535. package/contracts/staking/IStakingService.sol +127 -0
  536. package/contracts/staking/ITargetLimitHandler.sol +17 -0
  537. package/contracts/staking/Staking.sol +798 -0
  538. package/contracts/staking/StakingLib.sol +195 -0
  539. package/contracts/staking/StakingManager.sol +53 -0
  540. package/contracts/staking/StakingReader.sol +171 -0
  541. package/contracts/staking/StakingService.sol +321 -0
  542. package/contracts/staking/StakingServiceManager.sol +46 -0
  543. package/contracts/staking/StakingStore.sol +1368 -0
  544. package/contracts/staking/TargetHandler.sol +132 -0
  545. package/contracts/staking/TargetManagerLib.sol +234 -0
  546. package/contracts/{types → type}/AddressSet.sol +1 -1
  547. package/contracts/type/Amount.sol +154 -0
  548. package/contracts/{types → type}/Blocknumber.sol +36 -12
  549. package/contracts/type/ChainId.sol +101 -0
  550. package/contracts/type/ClaimId.sol +80 -0
  551. package/contracts/{types → type}/DistributorType.sol +2 -2
  552. package/contracts/type/Fee.sol +66 -0
  553. package/contracts/{types → type}/Key32.sol +2 -2
  554. package/contracts/type/Key32Set.sol +62 -0
  555. package/contracts/{types → type}/NftId.sol +28 -15
  556. package/contracts/{types → type}/NftIdSet.sol +2 -2
  557. package/contracts/type/ObjectType.sol +278 -0
  558. package/contracts/type/PayoutId.sol +82 -0
  559. package/contracts/{types → type}/Referral.sol +12 -1
  560. package/contracts/type/RequestId.sol +75 -0
  561. package/contracts/type/RequestIdSet.sol +62 -0
  562. package/contracts/type/RiskId.sol +75 -0
  563. package/contracts/type/RoleId.sol +180 -0
  564. package/contracts/type/Seconds.sol +124 -0
  565. package/contracts/type/Selector.sol +107 -0
  566. package/contracts/{types → type}/StateId.sol +48 -4
  567. package/contracts/type/String.sol +95 -0
  568. package/contracts/{types → type}/Timestamp.sol +45 -20
  569. package/contracts/type/UFixed.sol +263 -0
  570. package/contracts/{types → type}/Version.sol +59 -7
  571. package/contracts/{shared → upgradeability}/IVersionable.sol +7 -47
  572. package/contracts/upgradeability/ProxyManager.sol +246 -0
  573. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +24 -0
  574. package/contracts/upgradeability/Versionable.sol +62 -0
  575. package/package.json +12 -8
  576. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  577. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  578. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  579. package/artifacts/contracts/components/IComponent.sol/IComponent.json +0 -455
  580. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  581. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  582. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  583. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  584. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  585. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  586. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  587. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  588. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  589. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  590. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  591. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  592. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  593. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  594. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  595. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  596. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  597. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  598. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  599. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  600. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  601. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  602. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  603. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  604. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  605. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  606. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  607. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  608. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  609. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  610. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  611. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  612. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  613. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  614. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  615. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  616. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  617. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  618. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  619. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  620. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  621. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  622. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  623. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  624. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  625. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -764
  626. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  627. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  628. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1034
  629. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  630. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -261
  631. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  632. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  633. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  634. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  635. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  636. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  637. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  638. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  639. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -254
  640. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  641. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  642. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  643. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1102
  644. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  645. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -449
  646. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  647. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -772
  648. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  649. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -437
  650. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  651. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  652. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -441
  653. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  654. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  655. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -494
  656. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  657. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +0 -531
  658. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  659. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1227
  660. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  661. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -505
  662. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  663. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -806
  664. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  665. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -437
  666. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  667. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -856
  668. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  669. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -437
  670. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  671. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  672. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  673. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -547
  674. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  675. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  676. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  677. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  678. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  679. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  680. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  681. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -362
  682. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  683. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.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 -228
  686. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  687. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  688. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  689. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -313
  690. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  691. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  692. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  693. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -608
  694. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  695. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  696. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  697. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  698. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  699. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  700. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  701. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  702. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  703. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  704. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  705. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  706. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  707. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  708. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  709. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  710. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  711. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  712. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  713. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  714. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  715. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  716. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  717. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  718. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  719. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  720. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  721. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  722. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  723. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  724. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  725. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  726. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  727. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  728. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  729. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  730. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  731. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  732. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  733. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  734. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  735. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  736. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  737. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  738. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  739. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  740. package/contracts/components/Component.sol +0 -216
  741. package/contracts/components/Distribution.sol +0 -153
  742. package/contracts/components/IComponent.sol +0 -43
  743. package/contracts/components/IDistributionComponent.sol +0 -47
  744. package/contracts/components/IPoolComponent.sol +0 -51
  745. package/contracts/components/IProductComponent.sol +0 -39
  746. package/contracts/components/Pool.sol +0 -208
  747. package/contracts/components/Product.sol +0 -266
  748. package/contracts/experiment/cloning/Cloner.sol +0 -47
  749. package/contracts/experiment/errors/Require.sol +0 -38
  750. package/contracts/experiment/errors/Revert.sol +0 -44
  751. package/contracts/experiment/inheritance/A.sol +0 -53
  752. package/contracts/experiment/inheritance/B.sol +0 -28
  753. package/contracts/experiment/inheritance/C.sol +0 -34
  754. package/contracts/experiment/inheritance/IA.sol +0 -13
  755. package/contracts/experiment/inheritance/IB.sol +0 -10
  756. package/contracts/experiment/inheritance/IC.sol +0 -12
  757. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  758. package/contracts/experiment/statemachine/ISM.sol +0 -25
  759. package/contracts/experiment/statemachine/SM.sol +0 -57
  760. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  761. package/contracts/experiment/types/TypeA.sol +0 -47
  762. package/contracts/experiment/types/TypeB.sol +0 -29
  763. package/contracts/instance/BundleManager.sol +0 -125
  764. package/contracts/instance/InstanceAccessManager.sol +0 -298
  765. package/contracts/instance/ObjectManager.sol +0 -84
  766. package/contracts/instance/base/ComponentService.sol +0 -134
  767. package/contracts/instance/base/KeyValueStore.sol +0 -172
  768. package/contracts/instance/base/Lifecycle.sol +0 -100
  769. package/contracts/instance/module/IAccess.sol +0 -48
  770. package/contracts/instance/module/ISetup.sol +0 -46
  771. package/contracts/instance/module/ITreasury.sol +0 -23
  772. package/contracts/instance/service/BundleService.sol +0 -293
  773. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  774. package/contracts/instance/service/DistributionService.sol +0 -106
  775. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  776. package/contracts/instance/service/IBundleService.sol +0 -44
  777. package/contracts/instance/service/IDistributionService.sol +0 -12
  778. package/contracts/instance/service/IPolicyService.sol +0 -94
  779. package/contracts/instance/service/IPoolService.sol +0 -20
  780. package/contracts/instance/service/IProductService.sol +0 -40
  781. package/contracts/instance/service/PolicyService.sol +0 -538
  782. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  783. package/contracts/instance/service/PoolService.sol +0 -110
  784. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  785. package/contracts/instance/service/ProductService.sol +0 -233
  786. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  787. package/contracts/registry/RegistryAccessManager.sol +0 -216
  788. package/contracts/registry/ReleaseManager.sol +0 -332
  789. package/contracts/shared/ContractDeployerLib.sol +0 -72
  790. package/contracts/shared/ERC165.sol +0 -25
  791. package/contracts/shared/ProxyManager.sol +0 -94
  792. package/contracts/shared/UpgradableProxyWithAdmin.sol +0 -16
  793. package/contracts/shared/Versionable.sol +0 -147
  794. package/contracts/test/TestFee.sol +0 -25
  795. package/contracts/test/TestRegisterable.sol +0 -18
  796. package/contracts/test/TestRoleId.sol +0 -14
  797. package/contracts/test/TestService.sol +0 -25
  798. package/contracts/test/TestVersion.sol +0 -44
  799. package/contracts/test/TestVersionable.sol +0 -17
  800. package/contracts/test/Usdc.sol +0 -26
  801. package/contracts/types/ChainId.sol +0 -38
  802. package/contracts/types/Fee.sol +0 -56
  803. package/contracts/types/NumberId.sol +0 -52
  804. package/contracts/types/ObjectType.sol +0 -152
  805. package/contracts/types/RiskId.sol +0 -43
  806. package/contracts/types/RoleId.sol +0 -90
  807. package/contracts/types/UFixed.sol +0 -325
package/README.md CHANGED
@@ -1,5 +1,6 @@
1
1
  # GIF-Next (Generic Insurance Framework, next version)
2
2
 
3
+
3
4
  ## Add OpenZeppelin V5 Dependencies
4
5
 
5
6
  ```shell
@@ -27,6 +28,16 @@ This repository uses submodules. To checkout or update to the latest submodules,
27
28
  git submodule update --recursive
28
29
  ```
29
30
 
31
+ For initial checkout call
32
+
33
+ ```shell
34
+ git submodule update --init --recursive
35
+ ```
36
+
37
+ ## Example components
38
+
39
+ A (very early) example of a product and a pool can be found in the [gif-next-sandbox repository](https://github.com/etherisc/gif-next-sandbox).
40
+
30
41
  ## Hardhat
31
42
 
32
43
  ### NPM Commands
@@ -59,28 +70,57 @@ Install the dependencies before running the script below for the first time.
59
70
  npm install
60
71
  ```
61
72
 
62
- The deploy script will deploy all required contracts and create a test instance with a test product and a test pool.
73
+ The deploy script will deploy all required contracts for gif and create a test instance.
63
74
 
64
75
  ```bash
65
76
  # run deployment on a locally created ganache instance
66
- export SKIP_VERIFICATION=true
67
- hh run scripts/deploy_all.ts
77
+ hh run scripts/deploy_gif.ts
68
78
  ```
69
79
 
70
80
  ```bash
71
81
  # set appropriate values vor env variables (see below)
72
82
 
73
83
  # run deployment on another network
74
- hh run --network <networkname> scripts/deploy_all.ts
84
+ hh run --network <networkname> scripts/deploy_gif.ts
85
+ ```
86
+
87
+ The deployment will persist deployment information into the files `deployments/<chainid>/deployment_state.json`, `deployments/<chainid>/libraries.json` and `deployments/<chainid>/verification_log.json`.
88
+ This data can then be used for verification of the deployed contracts on etherscan/polygonscan.
89
+
90
+ 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:
91
+
92
+ ```bash
93
+ hh run --network <networkname> scripts/verify_deployment.ts
75
94
  ```
76
95
 
77
96
  Environment variables:
78
97
 
79
- - `SKIP_VERIFICATION` set to `true` to skip etherscan verification (required for ganacht and anvil)
80
- - `WEB3_INFURA_PROJECT_ID` set to infura project id (required for mumbai and mainnet)
98
+ - `WRITE_ADDRESSES_TO_FILE` set to `true` to write the addresses of the deployed contracts to a file (default: `false`)
99
+ - `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`)
100
+ - `GAS_PRICE` set to the gas price to use for deployment (default: `undefined`)
81
101
  - `WALLET_MNEMONIC` the mnemonic of the wallet to use for deployment (required for mumbai and mainnet)
102
+
103
+ - `WEB3_INFURA_PROJECT_ID` set to infura project id (required for mumbai and mainnet)
82
104
  - `ETHERSCAN_API_KEY` `POLYGONSCAN_API_KEY` the api key for etherscan/polygonscan (required for mumbai and mainnet)
83
105
 
106
+ ### Deploy full protocol with fire example components
107
+
108
+ ```bash
109
+ hh run scripts/deploy_all.ts
110
+ ```
111
+
112
+ Like before, use the `--network` option to deploy on a different network.
113
+
114
+ ### Deploy only the fire example components
115
+
116
+ ```bash
117
+ hh run scripts/deploy_fire_components.ts
118
+ ```
119
+
120
+ 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.
121
+
122
+ Like before, use the `--network` option to deploy on a different network.
123
+
84
124
  ### Create a new instance
85
125
 
86
126
  Requires previous step to be completed.
@@ -100,7 +140,6 @@ Environment variables:
100
140
  - `WALLET_MNEMONIC` the mnemonic of the wallet to use for deployment (required for mumbai and mainnet)
101
141
  - `REGISTRY_ADDRESS` the address of the registry that is already deployed and configured and has a valid master instance
102
142
 
103
-
104
143
  ### Console
105
144
 
106
145
  ```
@@ -116,6 +155,27 @@ await provider.getBalance(me)
116
155
 
117
156
  https://hardhat.org/hardhat-runner/docs/guides/compile-contracts
118
157
 
158
+ ### Scripts to find syntax bugs in code
159
+
160
+ #### find methods missing the `restricted` modifier
161
+
162
+ ```bash
163
+ hh run scripts/find_unrestricted_methods.ts
164
+ ```
165
+
166
+ Checks all public/external methods in services and components for methods that are missing the `restricted` modifier but should have one.
167
+
168
+ 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).
169
+ 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`).
170
+
171
+ #### find methods missing the `virtual` keyword
172
+
173
+ ```bash
174
+ hh run scripts/find_missing_virtual_methods.ts.ts
175
+ ```
176
+
177
+ Checks all public/external methods in services and components for methods that are not marked as `virtual` but should be.
178
+
119
179
  ## Forge
120
180
 
121
181
  ### Commands
@@ -141,11 +201,31 @@ forge test --mt test_decimals --gas-report
141
201
  # provide code coverage report
142
202
  forge coverage
143
203
  forge coverage --report lcov
204
+ ```
144
205
 
206
+ ### Aliases
145
207
 
146
- ```
147
208
 
148
- Chisel session
209
+ | Alias | Command |
210
+ | --- | --- |
211
+ | fb | forge build |
212
+ | fbw | forge build --watch |
213
+ | fbc | forge build contracts/ |
214
+ | fbcw | forge build --watch contracts/ |
215
+ | ft | forge test |
216
+ | ftf | forge test --nmt "_longRunning" |
217
+ | ftt | forge test -vvvv --mt |
218
+ | fttg | forge test -vvvv --gas-report --mt |
219
+ | fttw | forge test -vvvv --watch --mt |
220
+ | ftc | forge test -vvvv --mc |
221
+ | ftcw | forge test -vvvv --watch --mc |
222
+ | fcf | forge coverage --nmt "_longRunning" |
223
+ | fcfr | forge coverage --nmt "_longRunning" --report lcov |
224
+
225
+ **Important**: All profiles are run using the foundry `ci` profile which disables the optimizer (for speed).
226
+
227
+ ### Chisel session
228
+
149
229
  ```typescript
150
230
  import "./contracts/components/Component.sol";
151
231
  import "./contracts/components/IPool.sol";
@@ -219,17 +299,7 @@ https://book.getfoundry.sh/reference/
219
299
 
220
300
  ## Style Guide
221
301
 
222
- Solidity code is to be written according to the [Solidity Style Guide](https://docs.soliditylang.org/en/latest/style-guide.html).
223
-
224
- Documentation of the code should be written inline using [NatSpec](https://docs.soliditylang.org/en/latest/natspec-format.html).
225
-
226
- ### Naming conventions
227
-
228
- Additionally, we use the following naming conventions:
229
-
230
- - 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.
231
- - 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.
232
- - 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/).
302
+ Please see https://docs.etherisc.com/gif-next/3.x/ for style guide and general coding rules.
233
303
 
234
304
  ### Automatic code formatting
235
305
 
@@ -244,7 +314,7 @@ We use solhint to lint the code.
244
314
  To execute linting run `npm run lint`.
245
315
 
246
316
 
247
- ### Adding Brownie (Legacy)
317
+ ### Adding Brownie (Legacy - don't do that :wink: )
248
318
 
249
319
  python3 is already installed
250
320
 
@@ -394,7 +464,7 @@ Intercepting property
394
464
 
395
465
  ### Pool
396
466
 
397
- ### Distribution
467
+ ### Distribution
398
468
 
399
469
  ### Oracle
400
470
 
@@ -465,13 +535,14 @@ contracts
465
535
  ComponentService.sol
466
536
  instance
467
537
  Instance.sol
468
- InstanceAccessManager.sol
538
+ InstanceAdmin.sol
469
539
  InstanceReader.sol
470
540
  InstanceService.sol
471
541
  InstanceServiceManager.sol
472
542
  registry
473
543
  ChainNft.sol
474
544
  Registry.sol
545
+ RegistryAdmin.sol
475
546
  RegistryService.sol
476
547
  RegistryServiceManager.sol
477
548
  shared
@@ -481,3 +552,56 @@ contracts
481
552
  NftId.sol
482
553
  ObjectType.sol
483
554
 
555
+ ## Storage layout
556
+
557
+ ### Analysis tool
558
+
559
+ Command line call
560
+
561
+ ```bash
562
+ hh run scripts/analyze_storage_layout.ts
563
+ ```
564
+
565
+ Analyses contract `MockStorageLayout.sol` and writes the storage layout to `storage_layout.json` and `storage_layout.csv`.
566
+ New structs must be added to `MockStorageLayout` to be included in analysis.
567
+
568
+ Storage layout details:
569
+ - Items fill up the current slot if possible
570
+ - If not enough space is left in the current slot, the item is placed in the next slot
571
+ - Stucts and arrays always start a new slot
572
+ - Items following a struct or array always start a new slot
573
+
574
+ More at https://docs.soliditylang.org/en/latest/internals/layout_in_storage.html
575
+
576
+ ### Custom types sizes
577
+
578
+ | Type | Size |
579
+ | --- | --- |
580
+ | Amount | 12 bytes |
581
+ | Blocknumber | 4 bytes |
582
+ | ClaimId | 2 bytes |
583
+ | DistributorType | 8 bytes |
584
+ | NftId | 12 bytes |
585
+ | ObjectType | 1 byte |
586
+ | ReferralId | 8 bytes |
587
+ | RoleId | 1 byte |
588
+ | RiskId | 8 bytes |
589
+ | Seconds | 5 bytes |
590
+ | Selector | 4 bytes |
591
+ | StateId | 1 byte |
592
+ | Str | 32 bytes |
593
+ | Timestamp | 5 bytes |
594
+ | Version | 3 byte |
595
+ | VersionPart | 1 byte |
596
+ | UFixed | 20 bytes |
597
+ | address | 20 bytes |
598
+ | uint256 | 32 bytes |
599
+ | uint128 | 16 bytes |
600
+ | uint160 | 20 bytes |
601
+ | uint64 | 8 bytes |
602
+ | uint32 | 4 bytes |
603
+ | uint16 | 2 bytes |
604
+ | string | 32 bytes |
605
+ | bytes | 32 bytes |
606
+ | bytes8 | 8 byte |
607
+ | bool | 1 byte |
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/279ab6974e73e0384db5a2e32e4229a7.json"
4
+ }