@etherisc/gif-next 0.0.2-7c515fb-081 → 0.0.2-7c8d286-020

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