@etherisc/gif-next 0.0.2-d437d8d-974 → 0.0.2-d43ca2d-657

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 (484) hide show
  1. package/README.md +27 -6
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1007 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +744 -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 +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +166 -59
  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/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +233 -5
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +67 -11
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +97 -18
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +40 -3
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +19 -0
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +68 -5
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +192 -212
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +82 -22
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +132 -128
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +196 -95
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +142 -69
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +119 -110
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +78 -2
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1475 -0
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +502 -0
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2025 -0
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
  49. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +232 -164
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +470 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +175 -151
  57. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +321 -183
  59. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +502 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +632 -231
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +470 -0
  65. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  66. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +147 -42
  67. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  68. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +130 -61
  69. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +105 -103
  71. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  72. package/artifacts/contracts/instance/Instance.sol/Instance.json +182 -85
  73. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +312 -135
  75. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +58 -85
  77. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +525 -84
  79. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +134 -157
  81. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +110 -49
  83. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +207 -116
  85. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +810 -0
  87. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  88. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  89. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  90. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  91. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  92. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
  94. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  95. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
  96. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  97. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  98. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  99. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  100. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  102. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  103. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  104. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +151 -171
  105. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  106. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +84 -24
  107. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  108. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  109. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +113 -104
  110. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  111. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
  112. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  113. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +127 -123
  114. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  115. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +156 -81
  116. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  117. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +130 -45
  118. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  119. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +146 -142
  120. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  121. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +114 -22
  122. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  123. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +161 -156
  124. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  125. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +124 -75
  126. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  127. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +74 -35
  128. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  129. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +133 -135
  130. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  131. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +298 -187
  132. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  133. package/artifacts/contracts/pool/Pool.sol/Pool.json +146 -153
  134. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  135. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +421 -264
  136. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  137. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +146 -49
  138. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  139. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +135 -54
  140. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  141. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +106 -45
  142. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  143. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +186 -136
  144. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  145. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +82 -22
  146. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  147. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +328 -131
  148. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  149. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +146 -69
  150. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  151. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +89 -9
  152. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  153. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +206 -10
  154. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  155. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +154 -21
  156. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  157. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +105 -52
  158. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  159. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +172 -117
  160. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  161. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +55 -2
  162. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  163. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +264 -130
  164. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  165. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +140 -63
  166. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  167. package/artifacts/contracts/product/PricingService.sol/PricingService.json +185 -115
  168. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  169. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +123 -54
  170. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  171. package/artifacts/contracts/product/Product.sol/Product.json +182 -132
  172. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  173. package/artifacts/contracts/product/RiskService.sol/RiskService.json +117 -63
  174. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  175. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +115 -42
  176. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  177. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  178. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  179. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +98 -17
  180. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  181. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +144 -41
  182. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  183. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  184. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  185. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  186. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  187. package/artifacts/contracts/registry/Registry.sol/Registry.json +142 -53
  188. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  189. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +257 -254
  190. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  191. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +112 -183
  192. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  193. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +102 -37
  194. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  195. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1795 -0
  196. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  197. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  198. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  199. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +406 -250
  200. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  201. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +66 -8
  202. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  203. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +3 -3
  204. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  205. package/artifacts/contracts/shared/Component.sol/Component.json +105 -83
  206. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  207. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +493 -480
  208. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  209. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +139 -76
  210. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  211. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +60 -2
  212. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  213. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +454 -5
  214. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  215. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  216. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  217. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  218. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  219. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  220. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  221. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +92 -65
  222. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  223. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +448 -260
  224. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  225. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +113 -104
  226. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  227. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
  228. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  229. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  230. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  231. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  232. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  233. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +1 -1
  234. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  235. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
  236. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  237. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  238. package/artifacts/contracts/shared/IService.sol/IService.json +55 -2
  239. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  240. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  241. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +126 -122
  242. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  243. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
  244. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  245. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  246. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  247. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  248. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  249. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +18 -2
  250. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  251. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +3 -3
  252. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  253. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +152 -38
  254. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  255. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  256. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  257. package/artifacts/contracts/shared/Service.sol/Service.json +60 -2
  258. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  259. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +388 -35
  260. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  261. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +395 -0
  262. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  263. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +88 -24
  264. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  265. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +110 -101
  266. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  267. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +55 -23
  268. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  269. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +3 -3
  270. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  271. package/artifacts/contracts/staking/Staking.sol/Staking.json +192 -171
  272. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  273. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
  274. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  275. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +127 -53
  276. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  277. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +7 -12
  278. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  279. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +103 -62
  280. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  281. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +106 -41
  282. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  283. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +145 -104
  284. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  285. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +3 -3
  286. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  287. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  288. package/artifacts/contracts/type/Amount.sol/AmountLib.json +33 -9
  289. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  290. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  291. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  292. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  293. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  294. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  295. package/artifacts/contracts/type/Fee.sol/FeeLib.json +3 -3
  296. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  297. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  298. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  299. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  300. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  302. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  303. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  304. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  305. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +2 -2
  306. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  308. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  309. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  310. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  311. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  312. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  313. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +118 -5
  314. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +3 -3
  316. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  318. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  320. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  321. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
  324. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +16 -3
  326. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  328. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +47 -2
  330. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  331. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  332. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +79 -27
  333. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  334. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  335. package/contracts/accounting/AccountingService.sol +262 -0
  336. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  337. package/contracts/accounting/IAccountingService.sol +45 -0
  338. package/contracts/authorization/AccessAdmin.sol +195 -128
  339. package/contracts/authorization/AccessManagerCloneable.sol +136 -3
  340. package/contracts/authorization/Authorization.sol +111 -39
  341. package/contracts/authorization/IAccess.sol +1 -0
  342. package/contracts/authorization/IAccessAdmin.sol +10 -5
  343. package/contracts/authorization/IAuthorization.sol +13 -7
  344. package/contracts/authorization/IServiceAuthorization.sol +3 -1
  345. package/contracts/authorization/ServiceAuthorization.sol +26 -10
  346. package/contracts/distribution/BasicDistribution.sol +8 -7
  347. package/contracts/distribution/BasicDistributionAuthorization.sol +1 -1
  348. package/contracts/distribution/Distribution.sol +32 -40
  349. package/contracts/distribution/DistributionService.sol +86 -65
  350. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  351. package/contracts/distribution/IDistributionComponent.sol +1 -1
  352. package/contracts/distribution/IDistributionService.sol +5 -6
  353. package/contracts/examples/fire/DamageLevel.sol +59 -0
  354. package/contracts/examples/fire/FirePool.sol +90 -0
  355. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  356. package/contracts/examples/fire/FireProduct.sol +436 -0
  357. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  358. package/contracts/examples/fire/FireUSD.sol +26 -0
  359. package/contracts/examples/unpermissioned/SimpleDistribution.sol +11 -4
  360. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  361. package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -4
  362. package/contracts/examples/unpermissioned/SimplePool.sol +37 -6
  363. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  364. package/contracts/examples/unpermissioned/SimpleProduct.sol +38 -23
  365. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  366. package/contracts/instance/BundleSet.sol +38 -34
  367. package/contracts/instance/IInstance.sol +12 -9
  368. package/contracts/instance/IInstanceService.sol +9 -29
  369. package/contracts/instance/Instance.sol +40 -34
  370. package/contracts/instance/InstanceAdmin.sol +114 -73
  371. package/contracts/instance/InstanceAuthorizationV3.sol +51 -32
  372. package/contracts/instance/InstanceReader.sol +171 -20
  373. package/contracts/instance/InstanceService.sol +86 -149
  374. package/contracts/instance/InstanceServiceManager.sol +6 -7
  375. package/contracts/instance/RiskSet.sol +117 -0
  376. package/contracts/instance/base/ObjectCounter.sol +1 -2
  377. package/contracts/instance/base/ObjectLifecycle.sol +2 -1
  378. package/contracts/instance/base/ObjectSet.sol +24 -25
  379. package/contracts/instance/module/IComponents.sol +10 -6
  380. package/contracts/instance/module/IPolicy.sol +4 -3
  381. package/contracts/instance/module/IRisk.sol +3 -0
  382. package/contracts/oracle/BasicOracle.sol +0 -1
  383. package/contracts/oracle/IOracleService.sol +2 -1
  384. package/contracts/oracle/Oracle.sol +5 -16
  385. package/contracts/oracle/OracleService.sol +110 -80
  386. package/contracts/oracle/OracleServiceManager.sol +6 -6
  387. package/contracts/pool/BasicPool.sol +33 -24
  388. package/contracts/pool/BasicPoolAuthorization.sol +12 -2
  389. package/contracts/pool/BundleService.sol +74 -87
  390. package/contracts/pool/BundleServiceManager.sol +6 -6
  391. package/contracts/pool/IBundleService.sol +2 -15
  392. package/contracts/pool/IPoolComponent.sol +19 -15
  393. package/contracts/pool/IPoolService.sol +30 -37
  394. package/contracts/pool/Pool.sol +141 -122
  395. package/contracts/pool/PoolService.sol +265 -159
  396. package/contracts/pool/PoolServiceManager.sol +4 -4
  397. package/contracts/product/ApplicationService.sol +32 -21
  398. package/contracts/product/ApplicationServiceManager.sol +4 -4
  399. package/contracts/product/BasicProduct.sol +8 -12
  400. package/contracts/product/BasicProductAuthorization.sol +1 -3
  401. package/contracts/product/ClaimService.sol +298 -127
  402. package/contracts/product/ClaimServiceManager.sol +4 -4
  403. package/contracts/product/IApplicationService.sol +5 -2
  404. package/contracts/product/IClaimService.sol +16 -2
  405. package/contracts/product/IPolicyService.sol +25 -10
  406. package/contracts/product/IPricingService.sol +9 -9
  407. package/contracts/product/IProductComponent.sol +23 -3
  408. package/contracts/product/PolicyService.sol +296 -198
  409. package/contracts/product/PolicyServiceManager.sol +4 -4
  410. package/contracts/product/PricingService.sol +14 -14
  411. package/contracts/product/PricingServiceManager.sol +4 -4
  412. package/contracts/product/Product.sol +100 -74
  413. package/contracts/product/RiskService.sol +79 -25
  414. package/contracts/product/RiskServiceManager.sol +4 -4
  415. package/contracts/registry/ChainNft.sol +10 -11
  416. package/contracts/registry/IRegistry.sol +14 -18
  417. package/contracts/registry/IRegistryService.sol +5 -12
  418. package/contracts/registry/IRelease.sol +26 -0
  419. package/contracts/registry/ITransferInterceptor.sol +1 -2
  420. package/contracts/registry/Registry.sol +32 -8
  421. package/contracts/registry/RegistryAdmin.sol +121 -241
  422. package/contracts/registry/RegistryService.sol +36 -47
  423. package/contracts/registry/RegistryServiceManager.sol +3 -3
  424. package/contracts/registry/ReleaseAdmin.sol +245 -0
  425. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  426. package/contracts/registry/ReleaseRegistry.sol +257 -237
  427. package/contracts/registry/ServiceAuthorizationV3.sol +93 -50
  428. package/contracts/registry/TokenRegistry.sol +5 -7
  429. package/contracts/shared/Component.sol +67 -109
  430. package/contracts/shared/ComponentService.sol +381 -332
  431. package/contracts/shared/ComponentServiceManager.sol +8 -5
  432. package/contracts/shared/ComponentVerifyingService.sol +27 -16
  433. package/contracts/shared/ContractLib.sol +223 -9
  434. package/contracts/shared/IComponent.sol +8 -17
  435. package/contracts/shared/IComponentService.sol +45 -37
  436. package/contracts/shared/IInstanceLinkedComponent.sol +3 -22
  437. package/contracts/shared/ILifecycle.sol +3 -1
  438. package/contracts/shared/INftOwnable.sol +2 -0
  439. package/contracts/shared/IRegisterable.sol +23 -1
  440. package/contracts/shared/IService.sol +3 -5
  441. package/contracts/shared/InstanceLinkedComponent.sol +68 -43
  442. package/contracts/shared/KeyValueStore.sol +1 -1
  443. package/contracts/shared/Lifecycle.sol +15 -4
  444. package/contracts/shared/NftOwnable.sol +26 -6
  445. package/contracts/shared/PolicyHolder.sol +5 -1
  446. package/contracts/shared/Registerable.sol +53 -19
  447. package/contracts/shared/RegistryLinked.sol +7 -13
  448. package/contracts/shared/Service.sol +13 -30
  449. package/contracts/shared/TokenHandler.sol +316 -66
  450. package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
  451. package/contracts/staking/IStaking.sol +9 -4
  452. package/contracts/staking/IStakingService.sol +0 -3
  453. package/contracts/staking/Staking.sol +64 -36
  454. package/contracts/staking/StakingManager.sol +8 -6
  455. package/contracts/staking/StakingReader.sol +12 -5
  456. package/contracts/staking/StakingService.sol +56 -24
  457. package/contracts/staking/StakingServiceManager.sol +2 -2
  458. package/contracts/type/Amount.sol +15 -0
  459. package/contracts/type/ClaimId.sol +6 -1
  460. package/contracts/type/Key32.sol +2 -2
  461. package/contracts/type/Key32Set.sol +62 -0
  462. package/contracts/type/NftId.sol +7 -0
  463. package/contracts/type/ObjectType.sol +11 -0
  464. package/contracts/type/PayoutId.sol +10 -10
  465. package/contracts/type/RiskId.sol +35 -4
  466. package/contracts/type/RoleId.sol +4 -13
  467. package/contracts/type/StateId.sol +14 -1
  468. package/contracts/type/Timestamp.sol +0 -5
  469. package/contracts/type/UFixed.sol +13 -119
  470. package/contracts/type/Version.sol +15 -5
  471. package/contracts/upgradeability/ProxyManager.sol +68 -34
  472. package/contracts/upgradeability/Versionable.sol +2 -2
  473. package/package.json +4 -3
  474. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  475. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  476. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  477. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  478. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  479. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  480. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  481. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
  482. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  483. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  484. package/contracts/shared/InitializableCustom.sol +0 -177
@@ -1,8 +1,8 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- // uint24 allows for 65'535 claims with 255 payouts each per policy
5
- type PayoutId is uint24;
4
+ // uint40 allows for 65'535 claims with 16'777'216 payouts each per policy
5
+ type PayoutId is uint40;
6
6
 
7
7
  import {ClaimId} from "./ClaimId.sol";
8
8
  import {PAYOUT} from "./ObjectType.sol";
@@ -39,21 +39,21 @@ library PayoutIdLib {
39
39
  }
40
40
 
41
41
  /// @dev Converts an uint into a PayoutId.
42
- function toPayoutId(ClaimId claimId, uint8 payoutNo) public pure returns (PayoutId) {
43
- return PayoutId.wrap((ClaimId.unwrap(claimId) << 8) + payoutNo);
42
+ function toPayoutId(ClaimId claimId, uint24 payoutNo) public pure returns (PayoutId) {
43
+ return PayoutId.wrap((uint40(ClaimId.unwrap(claimId)) << 24) + payoutNo);
44
44
  }
45
45
 
46
46
  function toClaimId(PayoutId payoutId) public pure returns (ClaimId) {
47
- return ClaimId.wrap(uint16(PayoutId.unwrap(payoutId) >> 8));
47
+ return ClaimId.wrap(uint16(PayoutId.unwrap(payoutId) >> 24));
48
48
  }
49
49
 
50
- function toPayoutNo(PayoutId payoutId) public pure returns (uint8) {
51
- return uint8(PayoutId.unwrap(payoutId) & 255);
50
+ function toPayoutNo(PayoutId payoutId) public pure returns (uint24) {
51
+ return uint24(PayoutId.unwrap(payoutId) & 16777215);
52
52
  }
53
53
 
54
54
  /// @dev Converts the PayoutId to a uint.
55
- function toInt(PayoutId a) public pure returns (uint24) {
56
- return uint24(PayoutId.unwrap(a));
55
+ function toInt(PayoutId a) public pure returns (uint40) {
56
+ return PayoutId.unwrap(a);
57
57
  }
58
58
 
59
59
  /// @dev Returns true if the value is non-zero (> 0).
@@ -77,6 +77,6 @@ library PayoutIdLib {
77
77
  bytes31(
78
78
  bytes15(
79
79
  uint120(
80
- (NftId.unwrap(policyNftId) << 24) + PayoutId.unwrap(payoutId)))));
80
+ (NftId.unwrap(policyNftId) << 40) + PayoutId.unwrap(payoutId)))));
81
81
  }
82
82
  }
@@ -10,6 +10,11 @@ type RiskId is bytes8;
10
10
  using {
11
11
  eqRiskId as ==,
12
12
  neRiskId as !=,
13
+ RiskIdLib.eq,
14
+ RiskIdLib.eqz,
15
+ RiskIdLib.gtz,
16
+ RiskIdLib.toInt,
17
+ RiskIdLib.toKeyId,
13
18
  RiskIdLib.toKey32
14
19
  } for RiskId global;
15
20
 
@@ -26,18 +31,44 @@ function neRiskId(RiskId a, RiskId b) pure returns (bool isDifferent) {
26
31
  }
27
32
 
28
33
  library RiskIdLib {
29
- // @dev Converts a role string into a role id.
34
+ function zero() public pure returns (RiskId) {
35
+ return RiskId.wrap(bytes8(0));
36
+ }
37
+
38
+ // @dev Converts a risk id into a uint256.
39
+ function toInt(RiskId riskId) public pure returns (uint256) {
40
+ return uint64(RiskId.unwrap(riskId));
41
+ }
42
+
43
+ // @dev Converts a risk id string into a risk id.
30
44
  function toRiskId(string memory risk) public pure returns (RiskId) {
31
45
  return RiskId.wrap(bytes8(keccak256(abi.encode(risk))));
32
46
  }
33
47
 
34
- /// @dev Returns the key32 value for the specified nft id and object type.
35
- function toKey32(RiskId id) public pure returns (Key32 key) {
36
- return Key32Lib.toKey32(RISK(), toKeyId(id));
48
+ /// @dev Returns the key32 value for the specified risk id.
49
+ function toKey32(RiskId riskId) public pure returns (Key32 key) {
50
+ return Key32Lib.toKey32(RISK(), toKeyId(riskId));
37
51
  }
38
52
 
39
53
  /// @dev Returns the key id value for the specified nft id
40
54
  function toKeyId(RiskId id) public pure returns (KeyId keyId) {
41
55
  return KeyId.wrap(bytes31(RiskId.unwrap(id)));
42
56
  }
57
+
58
+ function toRiskId(KeyId keyId) public pure returns (RiskId riskId) {
59
+ riskId = RiskId.wrap(bytes8(KeyId.unwrap(keyId)));
60
+ assert(toInt(riskId) < 2**64);
61
+ }
62
+
63
+ function eq(RiskId a, RiskId b) public pure returns (bool isSame) {
64
+ return eqRiskId(a, b);
65
+ }
66
+
67
+ function eqz(RiskId a) public pure returns (bool isZero) {
68
+ return eqRiskId(a, zero());
69
+ }
70
+
71
+ function gtz(RiskId a) public pure returns (bool isZero) {
72
+ return uint64(RiskId.unwrap(a)) > 0;
73
+ }
43
74
  }
@@ -54,17 +54,8 @@ function GIF_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2)
54
54
  /// @dev role for registering remote staking targets and reporting remote total value locked amounts.
55
55
  function GIF_REMOTE_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(3); }
56
56
 
57
- /// @dev instance specific role to register/own a product component
58
- function PRODUCT_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(11); }
59
-
60
- /// @dev instance specific role to register/own an oracle component
61
- function ORACLE_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(12); }
62
-
63
- /// @dev instance specific role to register/own a distribution component
64
- function DISTRIBUTION_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(13); }
65
-
66
- /// @dev instance specific role to register/own a pool component
67
- function POOL_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(14); }
57
+ /// @dev role assigned to release registry, release specfic to lock/unlock a release
58
+ function RELEASE_REGISTRY_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(4); }
68
59
 
69
60
  //--- GIF core contract roles (range: 200 - 9'900) --------------------------//
70
61
  // created and assigned during initial deployment for registry and staking
@@ -105,7 +96,7 @@ library RoleIdLib {
105
96
  uint64 public constant ALL_VERSIONS = 99;
106
97
  uint64 public constant SERVICE_DOMAIN_ROLE_FACTOR = 100;
107
98
  uint64 public constant COMPONENT_ROLE_FACTOR = 100;
108
- uint64 public constant CUSTOM_ROLE_MIN = 1000000;
99
+ uint64 public constant CUSTOM_ROLE_MIN_INT = 1000000;
109
100
 
110
101
  /// @dev Converts the RoleId to a uint.
111
102
  function zero() public pure returns (RoleId) {
@@ -124,7 +115,7 @@ library RoleIdLib {
124
115
 
125
116
  /// @dev Converts an uint into a custom role id.
126
117
  function toCustomRoleId(uint64 index) public pure returns (RoleId) {
127
- return toRoleId(CUSTOM_ROLE_MIN + index);
118
+ return toRoleId(CUSTOM_ROLE_MIN_INT + index);
128
119
  }
129
120
 
130
121
  /// @dev Converts the role id to a uint.
@@ -28,10 +28,18 @@ function DEPLOYING() pure returns (StateId) {
28
28
  return toStateId(3);
29
29
  }
30
30
 
31
- function ACTIVE() pure returns (StateId) {
31
+ function DEPLOYED() pure returns (StateId) {
32
32
  return toStateId(4);
33
33
  }
34
34
 
35
+ function ACTIVE() pure returns (StateId) {
36
+ return toStateId(5);
37
+ }
38
+
39
+ function SKIPPED() pure returns (StateId) {
40
+ return toStateId(6);
41
+ }
42
+
35
43
  function APPLIED() pure returns (StateId) {
36
44
  return toStateId(10);
37
45
  }
@@ -114,6 +122,11 @@ function neStateId(StateId a, StateId b) pure returns (bool isDifferent) {
114
122
 
115
123
  // library functions that operate on user defined type
116
124
  library StateIdLib {
125
+
126
+ function zero() public pure returns (StateId) {
127
+ return StateId.wrap(0);
128
+ }
129
+
117
130
  /// @dev Converts the NftId to a uint256.
118
131
  function toInt(StateId stateId) public pure returns (uint96) {
119
132
  return uint96(StateId.unwrap(stateId));
@@ -54,11 +54,6 @@ function neTimestamp(Timestamp a, Timestamp b) pure returns (bool) {
54
54
  return Timestamp.unwrap(a) != Timestamp.unwrap(b);
55
55
  }
56
56
 
57
- /// @dev Converts the uint256 to a Timestamp.
58
- function toTimestamp(uint256 timestamp) pure returns (Timestamp) {
59
- return TimestampLib.toTimestamp(timestamp);
60
- }
61
-
62
57
  // TODO move to TimestampLib and rename to zero()
63
58
  /// @dev Return the Timestamp zero (0)
64
59
  function zeroTimestamp() pure returns (Timestamp) {
@@ -1,6 +1,8 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
+ import {Math} from "@openzeppelin/contracts/utils/math/Math.sol";
5
+
4
6
  /// @dev UFixed is a fixed point number with 18 decimals precision.
5
7
  type UFixed is uint256;
6
8
 
@@ -39,7 +41,7 @@ function subUFixed(UFixed a, UFixed b) pure returns (UFixed) {
39
41
 
40
42
  function mulUFixed(UFixed a, UFixed b) pure returns (UFixed) {
41
43
  return
42
- UFixed.wrap(MathLib.mulDiv(UFixed.unwrap(a), UFixed.unwrap(b), 10 ** 18));
44
+ UFixed.wrap(Math.mulDiv(UFixed.unwrap(a), UFixed.unwrap(b), 10 ** 18));
43
45
  }
44
46
 
45
47
  function divUFixed(UFixed a, UFixed b) pure returns (UFixed) {
@@ -48,7 +50,7 @@ function divUFixed(UFixed a, UFixed b) pure returns (UFixed) {
48
50
  }
49
51
 
50
52
  return
51
- UFixed.wrap(MathLib.mulDiv(UFixed.unwrap(a), 10 ** 18, UFixed.unwrap(b)));
53
+ UFixed.wrap(Math.mulDiv(UFixed.unwrap(a), 10 ** 18, UFixed.unwrap(b)));
52
54
  }
53
55
 
54
56
  function gtUFixed(UFixed a, UFixed b) pure returns (bool isGreaterThan) {
@@ -91,118 +93,6 @@ function deltaUFixed(UFixed a, UFixed b) pure returns (UFixed) {
91
93
  return b - a;
92
94
  }
93
95
 
94
- /// @dev copied from https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.9.3/contracts/utils/math/Math.sol
95
- library MathLib {
96
-
97
- error MathLigMulDivOverflow();
98
-
99
- enum Rounding {
100
- Down, // Toward negative infinity
101
- Up, // Toward infinity
102
- Zero // Toward zero
103
- }
104
-
105
- /**
106
- * @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or denominator == 0
107
- * @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv)
108
- * with further edits by Uniswap Labs also under MIT license.
109
- */
110
- function mulDiv(uint256 x, uint256 y, uint256 denominator) internal pure returns (uint256 result) {
111
- unchecked {
112
- // 512-bit multiply [prod1 prod0] = x * y. Compute the product mod 2^256 and mod 2^256 - 1, then use
113
- // use the Chinese Remainder Theorem to reconstruct the 512 bit result. The result is stored in two 256
114
- // variables such that product = prod1 * 2^256 + prod0.
115
- uint256 prod0; // Least significant 256 bits of the product
116
- uint256 prod1; // Most significant 256 bits of the product
117
- assembly {
118
- let mm := mulmod(x, y, not(0))
119
- prod0 := mul(x, y)
120
- prod1 := sub(sub(mm, prod0), lt(mm, prod0))
121
- }
122
-
123
- // Handle non-overflow cases, 256 by 256 division.
124
- if (prod1 == 0) {
125
- // Solidity will revert if denominator == 0, unlike the div opcode on its own.
126
- // The surrounding unchecked block does not change this fact.
127
- // See https://docs.soliditylang.org/en/latest/control-structures.html#checked-or-unchecked-arithmetic.
128
- return prod0 / denominator;
129
- }
130
-
131
- // Make sure the result is less than 2^256. Also prevents denominator == 0.
132
- if (denominator <= prod1) {
133
- revert MathLigMulDivOverflow();
134
- }
135
-
136
- ///////////////////////////////////////////////
137
- // 512 by 256 division.
138
- ///////////////////////////////////////////////
139
-
140
- // Make division exact by subtracting the remainder from [prod1 prod0].
141
- uint256 remainder;
142
- assembly {
143
- // Compute remainder using mulmod.
144
- remainder := mulmod(x, y, denominator)
145
-
146
- // Subtract 256 bit number from 512 bit number.
147
- prod1 := sub(prod1, gt(remainder, prod0))
148
- prod0 := sub(prod0, remainder)
149
- }
150
-
151
- // Factor powers of two out of denominator and compute largest power of two divisor of denominator. Always >= 1.
152
- // See https://cs.stackexchange.com/q/138556/92363.
153
-
154
- // Does not overflow because the denominator cannot be zero at this stage in the function.
155
- uint256 twos = denominator & (~denominator + 1);
156
- assembly {
157
- // Divide denominator by twos.
158
- denominator := div(denominator, twos)
159
-
160
- // Divide [prod1 prod0] by twos.
161
- prod0 := div(prod0, twos)
162
-
163
- // Flip twos such that it is 2^256 / twos. If twos is zero, then it becomes one.
164
- twos := add(div(sub(0, twos), twos), 1)
165
- }
166
-
167
- // Shift in bits from prod1 into prod0.
168
- prod0 |= prod1 * twos;
169
-
170
- // Invert denominator mod 2^256. Now that denominator is an odd number, it has an inverse modulo 2^256 such
171
- // that denominator * inv = 1 mod 2^256. Compute the inverse by starting with a seed that is correct for
172
- // four bits. That is, denominator * inv = 1 mod 2^4.
173
- uint256 inverse = (3 * denominator) ^ 2;
174
-
175
- // Use the Newton-Raphson iteration to improve the precision. Thanks to Hensel's lifting lemma, this also works
176
- // in modular arithmetic, doubling the correct bits in each step.
177
- inverse *= 2 - denominator * inverse; // inverse mod 2^8
178
- inverse *= 2 - denominator * inverse; // inverse mod 2^16
179
- inverse *= 2 - denominator * inverse; // inverse mod 2^32
180
- inverse *= 2 - denominator * inverse; // inverse mod 2^64
181
- inverse *= 2 - denominator * inverse; // inverse mod 2^128
182
- inverse *= 2 - denominator * inverse; // inverse mod 2^256
183
-
184
- // Because the division is now exact we can divide by multiplying with the modular inverse of denominator.
185
- // This will give us the correct result modulo 2^256. Since the preconditions guarantee that the outcome is
186
- // less than 2^256, this is the final result. We don't need to compute the high bits of the result and prod1
187
- // is no longer required.
188
- result = prod0 * inverse;
189
- return result;
190
- }
191
- }
192
-
193
- /**
194
- * @notice Calculates x * y / denominator with full precision, following the selected rounding direction.
195
- */
196
- function mulDiv(uint256 x, uint256 y, uint256 denominator, Rounding rounding) internal pure returns (uint256) {
197
- uint256 result = mulDiv(x, y, denominator);
198
- if (rounding == Rounding.Up && mulmod(x, y, denominator) > 0) {
199
- result += 1;
200
- }
201
- return result;
202
- }
203
-
204
- }
205
-
206
96
  library UFixedLib {
207
97
  error UFixedLibNegativeResult();
208
98
  error UFixedLibDivisionByZero();
@@ -265,23 +155,23 @@ library UFixedLib {
265
155
  function toIntWithRounding(UFixed a, uint8 rounding) public pure returns (uint256) {
266
156
  if (rounding == ROUNDING_HALF_UP()) {
267
157
  return
268
- MathLib.mulDiv(
158
+ Math.mulDiv(
269
159
  UFixed.unwrap(a) + MULTIPLIER_HALF,
270
160
  1,
271
161
  MULTIPLIER,
272
- MathLib.Rounding.Down
162
+ Math.Rounding.Floor
273
163
  );
274
164
  } else if (rounding == ROUNDING_DOWN()) {
275
165
  return
276
- MathLib.mulDiv(
166
+ Math.mulDiv(
277
167
  UFixed.unwrap(a),
278
168
  1,
279
169
  MULTIPLIER,
280
- MathLib.Rounding.Down
170
+ Math.Rounding.Floor
281
171
  );
282
172
  } else {
283
173
  return
284
- MathLib.mulDiv(UFixed.unwrap(a), 1, MULTIPLIER, MathLib.Rounding.Up);
174
+ Math.mulDiv(UFixed.unwrap(a), 1, MULTIPLIER, Math.Rounding.Ceil);
285
175
  }
286
176
  }
287
177
 
@@ -344,6 +234,10 @@ library UFixedLib {
344
234
  return UFixed.wrap(0);
345
235
  }
346
236
 
237
+ function one() public pure returns (UFixed) {
238
+ return UFixed.wrap(MULTIPLIER);
239
+ }
240
+
347
241
  /// @dev return the absolute delta between two UFixed numbers
348
242
  function delta(UFixed a, UFixed b) public pure returns (UFixed) {
349
243
  return deltaUFixed(a, b);
@@ -8,7 +8,8 @@ using {
8
8
  versionPartEq as ==,
9
9
  versionPartNe as !=,
10
10
  VersionPartLib.eqz,
11
- VersionPartLib.toInt
11
+ VersionPartLib.toInt,
12
+ VersionPartLib.isValidRelease
12
13
  }
13
14
  for VersionPart global;
14
15
 
@@ -17,9 +18,17 @@ function versionPartEq(VersionPart a, VersionPart b) pure returns(bool isSame) {
17
18
  function versionPartNe(VersionPart a, VersionPart b) pure returns(bool isSame) { return VersionPart.unwrap(a) != VersionPart.unwrap(b); }
18
19
 
19
20
  library VersionPartLib {
21
+ function releaseMin() public pure returns (VersionPart) { return toVersionPart(3); }
22
+ function releaseMax() public pure returns (VersionPart) { return toVersionPart(99); }
23
+
24
+ function isValidRelease(VersionPart release) external pure returns(bool) {
25
+ uint256 releaseInt = VersionPart.unwrap(release);
26
+ return 3 <= releaseInt && releaseInt <= 99;
27
+ }
28
+
20
29
  function eqz(VersionPart a) external pure returns(bool) { return VersionPart.unwrap(a) == 0; }
21
30
  function toInt(VersionPart a) external pure returns(uint256) { return VersionPart.unwrap(a); }
22
- function toVersionPart(uint256 a) external pure returns(VersionPart) { return VersionPart.wrap(uint8(a)); }
31
+ function toVersionPart(uint256 a) public pure returns(VersionPart) { return VersionPart.wrap(uint8(a)); }
23
32
  }
24
33
 
25
34
  type Version is uint24; // contains major,minor,patch version parts
@@ -38,6 +47,7 @@ function versionGt(Version a, Version b) pure returns(bool isGreaterThan) { retu
38
47
  function versionEq(Version a, Version b) pure returns(bool isSame) { return Version.unwrap(a) == Version.unwrap(b); }
39
48
 
40
49
  library VersionLib {
50
+
41
51
  function toInt(Version version) external pure returns(uint) { return Version.unwrap(version); }
42
52
 
43
53
  function toUint64(Version version) external pure returns(uint64) { return Version.unwrap(version); }
@@ -75,9 +85,9 @@ library VersionLib {
75
85
  );
76
86
  }
77
87
 
78
- function toVersionPart(uint256 versionPart) external pure returns(VersionPart) {
79
- return VersionPart.wrap(uint8(versionPart));
80
- }
88
+ // function toVersionPart(uint256 versionPart) public pure returns(VersionPart) {
89
+ // return VersionPart.wrap(uint8(versionPart));
90
+ // }
81
91
 
82
92
  function toVersion(
83
93
  uint256 major,
@@ -40,57 +40,68 @@ contract ProxyManager is
40
40
  mapping(Version version => VersionInfo info) _versionHistory;
41
41
  Version [] _versions;
42
42
 
43
- /// @dev only used to capture proxy owner
44
- constructor(address registry)
45
- {
46
- initializeProxyManager(registry);
47
- }
48
-
49
- function initializeProxyManager(address registry)
43
+ /// @dev convencience initializer
44
+ function initialize(
45
+ address registry,
46
+ address implementation,
47
+ bytes memory data,
48
+ bytes32 salt
49
+ )
50
50
  public
51
51
  initializer()
52
+ returns (IVersionable versionable)
52
53
  {
53
- _initializeNftOwnable(msg.sender, registry);
54
+ versionable = deployDetermenistic(
55
+ registry,
56
+ implementation,
57
+ data,
58
+ salt);
54
59
  }
55
60
 
56
61
  /// @dev deploy initial contract
57
- function deploy(address initialImplementation, bytes memory initializationData)
62
+ function deploy(
63
+ address registry,
64
+ address initialImplementation,
65
+ bytes memory initializationData
66
+ )
58
67
  public
59
68
  virtual
60
- onlyOwner()
69
+ onlyInitializing()
61
70
  returns (IVersionable versionable)
62
71
  {
63
- if (_versions.length > 0) {
64
- revert ErrorProxyManagerAlreadyDeployed();
65
- }
72
+ (
73
+ address currentProxyOwner,
74
+ address initialProxyAdminOwner
75
+ ) = _preDeployChecksAndSetup(registry);
66
76
 
67
- address currentProxyOwner = getOwner(); // used by implementation
68
- address initialProxyAdminOwner = address(this); // used by proxy
69
-
70
77
  _proxy = new UpgradableProxyWithAdmin(
71
78
  initialImplementation,
72
79
  initialProxyAdminOwner,
73
80
  getDeployData(currentProxyOwner, initializationData)
74
81
  );
75
82
 
76
- versionable = IVersionable(address(_proxy));
77
- _updateVersionHistory(versionable.getVersion(), initialImplementation, currentProxyOwner);
83
+ versionable = _updateVersionHistory(
84
+ initialImplementation,
85
+ currentProxyOwner);
78
86
 
79
- emit LogProxyManagerVersionableDeployed(address(_proxy), initialImplementation);
87
+ emit LogProxyManagerVersionableDeployed(address(versionable), initialImplementation);
80
88
  }
81
89
 
82
- function deployDetermenistic(address initialImplementation, bytes memory initializationData, bytes32 salt)
90
+ function deployDetermenistic(
91
+ address registry,
92
+ address initialImplementation,
93
+ bytes memory initializationData,
94
+ bytes32 salt
95
+ )
83
96
  public
84
97
  virtual
85
- onlyOwner()
98
+ onlyInitializing()
86
99
  returns (IVersionable versionable)
87
100
  {
88
- if (_versions.length > 0) {
89
- revert ErrorProxyManagerAlreadyDeployed();
90
- }
91
-
92
- address currentProxyOwner = getOwner();
93
- address initialProxyAdminOwner = address(this);
101
+ (
102
+ address currentProxyOwner,
103
+ address initialProxyAdminOwner
104
+ ) = _preDeployChecksAndSetup(registry);
94
105
 
95
106
  _proxy = new UpgradableProxyWithAdmin{salt: salt}(
96
107
  initialImplementation,
@@ -98,10 +109,11 @@ contract ProxyManager is
98
109
  getDeployData(currentProxyOwner, initializationData)
99
110
  );
100
111
 
101
- versionable = IVersionable(address(_proxy));
102
- _updateVersionHistory(versionable.getVersion(), initialImplementation, currentProxyOwner);
112
+ versionable = _updateVersionHistory(
113
+ initialImplementation,
114
+ currentProxyOwner);
103
115
 
104
- emit LogProxyManagerVersionableDeployed(address(_proxy), initialImplementation);
116
+ emit LogProxyManagerVersionableDeployed(address(versionable), initialImplementation);
105
117
  }
106
118
 
107
119
  /// @dev upgrade existing contract
@@ -124,10 +136,11 @@ contract ProxyManager is
124
136
  newImplementation,
125
137
  getUpgradeData(upgradeData));
126
138
 
127
- versionable = IVersionable(address(_proxy));
128
- _updateVersionHistory(versionable.getVersion(), newImplementation, currentProxyOwner);
139
+ versionable = _updateVersionHistory(
140
+ newImplementation,
141
+ currentProxyOwner);
129
142
 
130
- emit LogProxyManagerVersionableUpgraded(address(_proxy), newImplementation);
143
+ emit LogProxyManagerVersionableUpgraded(address(versionable), newImplementation);
131
144
 
132
145
  }
133
146
 
@@ -168,13 +181,34 @@ contract ProxyManager is
168
181
  return _versionHistory[_version];
169
182
  }
170
183
 
184
+ function _preDeployChecksAndSetup(address registry)
185
+ private
186
+ returns (
187
+ address currentProxyOwner,
188
+ address initialProxyAdminOwner
189
+ )
190
+ {
191
+ if (_versions.length > 0) {
192
+ revert ErrorProxyManagerAlreadyDeployed();
193
+ }
194
+
195
+ address initialOwner = msg.sender;
196
+ __NftOwnable_init(registry, initialOwner);
197
+
198
+ currentProxyOwner = getOwner(); // used by implementation
199
+ initialProxyAdminOwner = address(this); // used by proxy
200
+ }
201
+
171
202
  function _updateVersionHistory(
172
- Version newVersion,
173
203
  address implementation,
174
204
  address activatedBy
175
205
  )
176
206
  private
207
+ returns (IVersionable versionable)
177
208
  {
209
+ versionable = IVersionable(address(_proxy));
210
+ Version newVersion = versionable.getVersion();
211
+
178
212
  if(newVersion == VersionLib.zeroVersion()) {
179
213
  revert ErrorProxyManagerZeroVersion();
180
214
  }
@@ -20,7 +20,7 @@ abstract contract Versionable is
20
20
  bytes memory data
21
21
  )
22
22
  public
23
- initializer
23
+ initializer()
24
24
  {
25
25
  _initialize(activatedBy, data);
26
26
  }
@@ -41,7 +41,7 @@ abstract contract Versionable is
41
41
  // each implementation MUST call intializers of all base contracts...
42
42
  function _initialize(address owner, bytes memory data)
43
43
  internal
44
- onlyInitializing
44
+ onlyInitializing()
45
45
  virtual
46
46
  {
47
47
  revert();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etherisc/gif-next",
3
- "version": "0.0.2-d437d8d-974",
3
+ "version": "0.0.2-d43ca2d-657",
4
4
  "description": "This is the repository for the next version of the Generic Insurance Framework (GIF) smart contracts. ",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -32,8 +32,8 @@
32
32
  "@nomicfoundation/hardhat-foundry": "^1.1.1",
33
33
  "@nomicfoundation/hardhat-toolbox": "^5.0.0",
34
34
  "@nomicfoundation/hardhat-verify": "^2.0.1",
35
- "@typescript-eslint/eslint-plugin": "^7.1.0",
36
- "@typescript-eslint/parser": "^7.1.0",
35
+ "@typescript-eslint/eslint-plugin": "^8.1.0",
36
+ "@typescript-eslint/parser": "^8.1.0",
37
37
  "antlr4ng-cli": "^2.0.0",
38
38
  "dotenv": "^16.3.1",
39
39
  "eslint": "^8.50.0",
@@ -49,6 +49,7 @@
49
49
  "abi-coder": "^5.0.0",
50
50
  "antlr4ng": "^3.0.4",
51
51
  "ethers": "^6.7.1",
52
+ "ethers-decode-error": "^2.1.3",
52
53
  "solidity-docgen": "^0.6.0-beta.36",
53
54
  "winston": "^3.10.0"
54
55
  }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c0dcf98bec0e94a13f77c25d28701298.json"
4
- }