@etherisc/gif-next 0.0.2-c9b0563-536 → 0.0.2-ca77f81-925

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 (648) hide show
  1. package/README.md +28 -16
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1253 -0
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  7. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
  8. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  9. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
  14. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
  16. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
  18. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
  20. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
  22. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1505 -0
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
  26. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1191 -0
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1394 -0
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +826 -0
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  33. package/artifacts/contracts/{components/Distribution.sol/Distribution.json → distribution/IDistributionComponent.sol/IDistributionComponent.json} +303 -252
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +843 -0
  36. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
  37. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +61 -122
  38. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  39. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +237 -1565
  40. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  41. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +368 -197
  42. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  43. package/artifacts/contracts/instance/Instance.sol/Instance.json +440 -2595
  44. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  45. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1626 -0
  46. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  47. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
  48. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  49. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +683 -329
  50. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  51. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +505 -384
  52. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  53. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +369 -108
  54. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  55. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3591 -0
  56. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  57. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  58. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  59. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -49
  60. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  61. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  62. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  63. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
  64. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  65. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +181 -0
  66. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  67. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +25 -150
  68. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  69. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  70. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  71. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  72. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  73. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  74. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  75. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  76. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  77. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1155 -0
  78. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  79. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  80. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  81. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  82. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  83. package/artifacts/contracts/{components/IPoolComponent.sol/IPoolComponent.json → oracle/IOracleComponent.sol/IOracleComponent.json} +320 -261
  84. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  85. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  86. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  87. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1063 -0
  88. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  89. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
  90. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  91. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
  92. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  93. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1477 -0
  94. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  95. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  96. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  97. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1134 -0
  98. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  99. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +754 -0
  100. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  101. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +273 -285
  102. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  103. package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/IPoolComponent.sol/IPoolComponent.json} +379 -334
  104. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  105. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1078 -0
  106. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  107. package/artifacts/contracts/pool/Pool.sol/Pool.json +1269 -0
  108. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  109. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1453 -0
  110. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  111. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +742 -0
  112. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  113. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +863 -0
  114. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  115. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
  116. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  117. package/artifacts/contracts/{components/IProductComponent.sol/IProductComponent.json → product/BasicProduct.sol/BasicProduct.json} +765 -214
  118. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  119. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  120. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  121. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1315 -0
  122. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  123. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +822 -0
  124. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  125. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +211 -230
  126. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  127. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +772 -0
  128. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  129. package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +251 -297
  130. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  131. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +270 -215
  132. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  133. package/artifacts/contracts/{components/Product.sol/Product.json → product/IProductComponent.sol/IProductComponent.json} +344 -327
  134. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  135. package/artifacts/contracts/{instance/service/IDistributionService.sol/IDistributionService.json → product/IProductService.sol/IProductService.json} +126 -167
  136. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  137. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1183 -0
  138. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  139. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +766 -0
  140. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  141. package/artifacts/contracts/product/PricingService.sol/PricingService.json +1012 -0
  142. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  143. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
  144. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  145. package/artifacts/contracts/product/Product.sol/Product.json +1257 -0
  146. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  147. package/artifacts/contracts/product/ProductService.sol/ProductService.json +708 -0
  148. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  149. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +702 -0
  150. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  151. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
  152. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  153. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +159 -21
  154. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  155. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +360 -218
  156. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  157. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  158. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  159. package/artifacts/contracts/registry/Registry.sol/Registry.json +395 -35
  160. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  161. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1746 -0
  162. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  163. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +506 -254
  164. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  165. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +352 -95
  166. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  167. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  168. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  169. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +703 -91
  170. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  171. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
  172. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  173. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +349 -82
  174. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  175. package/artifacts/contracts/shared/Component.sol/Component.json +896 -0
  176. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  177. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1487 -0
  178. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  179. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +784 -0
  180. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  181. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +178 -242
  182. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  183. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  184. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  185. package/artifacts/contracts/{components/Component.sol/Component.json → shared/IComponent.sol/IComponent.json} +192 -217
  186. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  187. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +880 -0
  188. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  189. package/artifacts/contracts/{components/IDistributionComponent.sol/IDistributionComponent.json → shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json} +255 -185
  190. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  191. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +59 -14
  192. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  193. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
  194. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  195. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +34 -30
  196. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  197. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
  198. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  199. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +15 -30
  200. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  201. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  202. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  203. package/artifacts/contracts/shared/IService.sol/IService.json +84 -154
  204. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  205. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
  206. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  207. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  208. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  209. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +996 -0
  210. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  211. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -0
  212. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  213. package/artifacts/contracts/{experiment/statemachine/ISM.sol/ISM.json → shared/Lifecycle.sol/Lifecycle.json} +54 -45
  214. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  215. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
  216. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  217. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +108 -35
  218. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  219. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
  220. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  221. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +330 -75
  222. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  223. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +131 -60
  224. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  225. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  226. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  227. package/artifacts/contracts/shared/Service.sol/Service.json +188 -157
  228. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  229. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
  230. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  231. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  232. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  233. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
  234. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  235. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  236. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  237. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  238. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  239. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +460 -0
  240. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  241. package/artifacts/contracts/staking/Staking.sol/Staking.json +2005 -0
  242. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  243. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  244. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  245. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
  246. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  247. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  248. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  249. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1343 -0
  250. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  251. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
  252. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  253. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2237 -0
  254. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  255. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  256. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  257. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  258. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  259. package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
  260. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  261. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  262. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  263. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  264. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  265. package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
  266. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  267. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  268. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  269. package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
  270. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  271. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  272. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  273. package/artifacts/contracts/{types → type}/NftIdSet.sol/LibNftIdSet.json +3 -3
  274. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  275. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  276. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  278. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  280. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  282. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  283. package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
  284. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  286. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  288. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  289. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  290. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  292. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  293. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  294. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  296. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +293 -0
  298. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  299. package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
  300. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +498 -0
  302. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  303. package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
  304. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  305. package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
  306. package/contracts/authorization/AccessAdmin.sol +591 -0
  307. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  308. package/contracts/authorization/Authorization.sol +218 -0
  309. package/contracts/authorization/IAccess.sol +48 -0
  310. package/contracts/authorization/IAccessAdmin.sol +136 -0
  311. package/contracts/authorization/IAuthorization.sol +54 -0
  312. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  313. package/contracts/authorization/IServiceAuthorization.sol +38 -0
  314. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  315. package/contracts/authorization/ServiceAuthorization.sol +90 -0
  316. package/contracts/distribution/BasicDistribution.sol +149 -0
  317. package/contracts/distribution/BasicDistributionAuthorization.sol +43 -0
  318. package/contracts/distribution/Distribution.sol +283 -0
  319. package/contracts/distribution/DistributionService.sol +302 -0
  320. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  321. package/contracts/distribution/IDistributionComponent.sol +48 -0
  322. package/contracts/distribution/IDistributionService.sol +85 -0
  323. package/contracts/instance/BundleManager.sol +15 -14
  324. package/contracts/instance/IInstance.sol +59 -45
  325. package/contracts/instance/IInstanceService.sol +71 -20
  326. package/contracts/instance/Instance.sol +176 -191
  327. package/contracts/instance/InstanceAdmin.sol +266 -0
  328. package/contracts/instance/InstanceAuthorizationV3.sol +202 -0
  329. package/contracts/instance/InstanceReader.sol +173 -61
  330. package/contracts/instance/InstanceService.sol +323 -315
  331. package/contracts/instance/InstanceServiceManager.sol +12 -22
  332. package/contracts/instance/InstanceStore.sol +276 -0
  333. package/contracts/instance/base/BalanceStore.sol +123 -0
  334. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
  335. package/contracts/instance/base/ObjectCounter.sol +21 -0
  336. package/contracts/instance/base/ObjectLifecycle.sol +106 -0
  337. package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +13 -18
  338. package/contracts/instance/module/IAccess.sol +19 -21
  339. package/contracts/instance/module/IBundle.sol +8 -8
  340. package/contracts/instance/module/IComponents.sol +52 -0
  341. package/contracts/instance/module/IDistribution.sol +7 -4
  342. package/contracts/instance/module/IPolicy.sol +56 -17
  343. package/contracts/instance/module/IRisk.sol +1 -1
  344. package/contracts/{test/TestToken.sol → mock/Dip.sol} +5 -5
  345. package/contracts/oracle/BasicOracle.sol +48 -0
  346. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  347. package/contracts/oracle/IOracle.sol +36 -0
  348. package/contracts/oracle/IOracleComponent.sol +32 -0
  349. package/contracts/oracle/IOracleService.sol +65 -0
  350. package/contracts/oracle/Oracle.sol +157 -0
  351. package/contracts/oracle/OracleService.sol +278 -0
  352. package/contracts/oracle/OracleServiceManager.sol +42 -0
  353. package/contracts/pool/BasicPool.sol +164 -0
  354. package/contracts/pool/BasicPoolAuthorization.sol +49 -0
  355. package/contracts/pool/BundleService.sol +296 -0
  356. package/contracts/pool/BundleServiceManager.sol +42 -0
  357. package/contracts/pool/IBundleService.sol +106 -0
  358. package/contracts/pool/IPoolComponent.sol +52 -0
  359. package/contracts/pool/IPoolService.sol +150 -0
  360. package/contracts/pool/Pool.sol +311 -0
  361. package/contracts/pool/PoolService.sol +452 -0
  362. package/contracts/pool/PoolServiceManager.sol +42 -0
  363. package/contracts/product/ApplicationService.sol +254 -0
  364. package/contracts/product/ApplicationServiceManager.sol +38 -0
  365. package/contracts/product/BasicProduct.sol +82 -0
  366. package/contracts/product/BasicProductAuthorization.sol +40 -0
  367. package/contracts/product/ClaimService.sol +442 -0
  368. package/contracts/product/ClaimServiceManager.sol +38 -0
  369. package/contracts/product/IApplicationService.sol +62 -0
  370. package/contracts/product/IClaimService.sol +99 -0
  371. package/contracts/product/IPolicyService.sol +78 -0
  372. package/contracts/product/IPricingService.sol +39 -0
  373. package/contracts/product/IProductComponent.sol +39 -0
  374. package/contracts/product/IProductService.sol +33 -0
  375. package/contracts/product/PolicyService.sol +475 -0
  376. package/contracts/product/PolicyServiceManager.sol +42 -0
  377. package/contracts/product/PricingService.sol +300 -0
  378. package/contracts/product/PricingServiceManager.sol +42 -0
  379. package/contracts/product/Product.sol +392 -0
  380. package/contracts/product/ProductService.sol +124 -0
  381. package/contracts/product/ProductServiceManager.sol +42 -0
  382. package/contracts/registry/ChainNft.sol +16 -1
  383. package/contracts/registry/IRegistry.sol +44 -21
  384. package/contracts/registry/IRegistryService.sol +42 -38
  385. package/contracts/registry/ITransferInterceptor.sol +1 -0
  386. package/contracts/registry/Registry.sol +223 -97
  387. package/contracts/registry/RegistryAdmin.sol +365 -0
  388. package/contracts/registry/RegistryService.sol +108 -104
  389. package/contracts/registry/RegistryServiceManager.sol +22 -31
  390. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  391. package/contracts/registry/ReleaseManager.sol +355 -200
  392. package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
  393. package/contracts/registry/TokenRegistry.sol +263 -60
  394. package/contracts/shared/Component.sol +281 -0
  395. package/contracts/shared/ComponentService.sol +581 -0
  396. package/contracts/shared/ComponentServiceManager.sol +35 -0
  397. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  398. package/contracts/shared/ERC165.sol +15 -13
  399. package/contracts/shared/IComponent.sol +70 -0
  400. package/contracts/shared/IComponentService.sol +102 -0
  401. package/contracts/shared/IInstanceLinkedComponent.sol +50 -0
  402. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  403. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
  404. package/contracts/shared/INftOwnable.sol +13 -12
  405. package/contracts/shared/IPolicyHolder.sol +45 -0
  406. package/contracts/shared/IRegisterable.sol +3 -3
  407. package/contracts/shared/IRegistryLinked.sol +11 -0
  408. package/contracts/shared/IService.sol +14 -5
  409. package/contracts/shared/IVersionable.sol +5 -48
  410. package/contracts/shared/InitializableCustom.sol +177 -0
  411. package/contracts/shared/InstanceLinkedComponent.sol +151 -0
  412. package/contracts/shared/KeyValueStore.sol +131 -0
  413. package/contracts/shared/Lifecycle.sol +77 -0
  414. package/contracts/shared/NftIdSetManager.sol +65 -0
  415. package/contracts/shared/NftOwnable.sol +59 -91
  416. package/contracts/shared/PolicyHolder.sol +102 -0
  417. package/contracts/shared/ProxyManager.sol +131 -26
  418. package/contracts/shared/Registerable.sol +19 -30
  419. package/contracts/shared/RegistryLinked.sol +43 -0
  420. package/contracts/shared/Service.sol +54 -31
  421. package/contracts/shared/TokenHandler.sol +37 -6
  422. package/contracts/shared/Versionable.sol +4 -92
  423. package/contracts/staking/IStaking.sol +168 -0
  424. package/contracts/staking/IStakingService.sol +153 -0
  425. package/contracts/staking/StakeManagerLib.sol +231 -0
  426. package/contracts/staking/Staking.sol +513 -0
  427. package/contracts/staking/StakingLifecycle.sol +23 -0
  428. package/contracts/staking/StakingManager.sol +54 -0
  429. package/contracts/staking/StakingReader.sol +187 -0
  430. package/contracts/staking/StakingService.sol +411 -0
  431. package/contracts/staking/StakingServiceManager.sol +44 -0
  432. package/contracts/staking/StakingStore.sol +615 -0
  433. package/contracts/staking/TargetManagerLib.sol +207 -0
  434. package/contracts/{types → type}/AddressSet.sol +1 -1
  435. package/contracts/type/Amount.sol +128 -0
  436. package/contracts/{types → type}/Blocknumber.sol +21 -3
  437. package/contracts/type/ClaimId.sol +75 -0
  438. package/contracts/{types → type}/DistributorType.sol +2 -2
  439. package/contracts/{types → type}/Fee.sol +33 -23
  440. package/contracts/{types → type}/NftId.sol +21 -15
  441. package/contracts/{types → type}/NftIdSet.sol +2 -2
  442. package/contracts/type/ObjectType.sol +275 -0
  443. package/contracts/type/PayoutId.sol +82 -0
  444. package/contracts/{types → type}/Referral.sol +5 -1
  445. package/contracts/type/RequestId.sol +75 -0
  446. package/contracts/{types → type}/RiskId.sol +1 -1
  447. package/contracts/type/RoleId.sol +174 -0
  448. package/contracts/type/Seconds.sol +81 -0
  449. package/contracts/type/Selector.sol +102 -0
  450. package/contracts/{types → type}/StateId.sol +34 -4
  451. package/contracts/type/String.sol +53 -0
  452. package/contracts/{types → type}/Timestamp.sol +23 -14
  453. package/contracts/{types → type}/UFixed.sol +7 -0
  454. package/contracts/{types → type}/Version.sol +2 -1
  455. package/package.json +6 -3
  456. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  457. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  458. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  459. package/artifacts/contracts/components/IComponent.sol/IComponent.json +0 -455
  460. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  461. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  462. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  463. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  464. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  465. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  466. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  467. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  468. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  469. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  470. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  471. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  472. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  473. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  474. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  475. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  476. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  477. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  478. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  479. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  480. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  481. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  482. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  483. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  484. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  485. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  486. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  487. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  488. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  489. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  490. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  491. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  492. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  493. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  494. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  495. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  496. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  497. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  498. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  499. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  500. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  501. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  502. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  503. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  504. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  505. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1034
  506. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  507. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -261
  508. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  509. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  510. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  511. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  512. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  513. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  514. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  515. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  516. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  517. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  518. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1102
  519. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  520. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -449
  521. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  522. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -772
  523. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  524. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -437
  525. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  526. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  527. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  528. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  529. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  530. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  531. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1227
  532. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  533. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -505
  534. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  535. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -806
  536. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  537. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -437
  538. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  539. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -856
  540. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  541. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -437
  542. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  543. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  544. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  545. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  546. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  547. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  548. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  549. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -313
  550. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  551. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  552. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  553. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -608
  554. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  555. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  556. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  557. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  558. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  559. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  560. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  561. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  562. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  563. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  564. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  565. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  566. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  567. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  568. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  569. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  570. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  571. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  572. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  573. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  574. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  575. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  576. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  577. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  578. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  579. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  580. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  581. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  582. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  583. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  584. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  585. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  586. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  587. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  588. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  589. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  590. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  591. package/contracts/components/Component.sol +0 -216
  592. package/contracts/components/Distribution.sol +0 -153
  593. package/contracts/components/IComponent.sol +0 -43
  594. package/contracts/components/IDistributionComponent.sol +0 -47
  595. package/contracts/components/IPoolComponent.sol +0 -51
  596. package/contracts/components/IProductComponent.sol +0 -39
  597. package/contracts/components/Pool.sol +0 -208
  598. package/contracts/components/Product.sol +0 -266
  599. package/contracts/experiment/cloning/Cloner.sol +0 -47
  600. package/contracts/experiment/errors/Require.sol +0 -38
  601. package/contracts/experiment/errors/Revert.sol +0 -44
  602. package/contracts/experiment/inheritance/A.sol +0 -53
  603. package/contracts/experiment/inheritance/B.sol +0 -28
  604. package/contracts/experiment/inheritance/C.sol +0 -34
  605. package/contracts/experiment/inheritance/IA.sol +0 -13
  606. package/contracts/experiment/inheritance/IB.sol +0 -10
  607. package/contracts/experiment/inheritance/IC.sol +0 -12
  608. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  609. package/contracts/experiment/statemachine/ISM.sol +0 -25
  610. package/contracts/experiment/statemachine/SM.sol +0 -57
  611. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  612. package/contracts/experiment/types/TypeA.sol +0 -47
  613. package/contracts/experiment/types/TypeB.sol +0 -29
  614. package/contracts/instance/InstanceAccessManager.sol +0 -298
  615. package/contracts/instance/base/ComponentService.sol +0 -134
  616. package/contracts/instance/base/KeyValueStore.sol +0 -172
  617. package/contracts/instance/base/Lifecycle.sol +0 -100
  618. package/contracts/instance/module/ISetup.sol +0 -46
  619. package/contracts/instance/module/ITreasury.sol +0 -23
  620. package/contracts/instance/service/BundleService.sol +0 -293
  621. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  622. package/contracts/instance/service/DistributionService.sol +0 -106
  623. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  624. package/contracts/instance/service/IBundleService.sol +0 -44
  625. package/contracts/instance/service/IDistributionService.sol +0 -12
  626. package/contracts/instance/service/IPolicyService.sol +0 -94
  627. package/contracts/instance/service/IPoolService.sol +0 -20
  628. package/contracts/instance/service/IProductService.sol +0 -40
  629. package/contracts/instance/service/PolicyService.sol +0 -538
  630. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  631. package/contracts/instance/service/PoolService.sol +0 -110
  632. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  633. package/contracts/instance/service/ProductService.sol +0 -233
  634. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  635. package/contracts/registry/RegistryAccessManager.sol +0 -216
  636. package/contracts/shared/ContractDeployerLib.sol +0 -72
  637. package/contracts/test/TestFee.sol +0 -25
  638. package/contracts/test/TestRegisterable.sol +0 -18
  639. package/contracts/test/TestRoleId.sol +0 -14
  640. package/contracts/test/TestService.sol +0 -25
  641. package/contracts/test/TestVersion.sol +0 -44
  642. package/contracts/test/TestVersionable.sol +0 -17
  643. package/contracts/test/Usdc.sol +0 -26
  644. package/contracts/types/ChainId.sol +0 -38
  645. package/contracts/types/NumberId.sol +0 -52
  646. package/contracts/types/ObjectType.sol +0 -152
  647. package/contracts/types/RoleId.sol +0 -90
  648. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -0,0 +1,81 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ type Seconds is uint40;
5
+
6
+ using {
7
+ SecondsEq as ==,
8
+ SecondsGt as >,
9
+ SecondsLib.eqz,
10
+ SecondsLib.gtz,
11
+ SecondsLib.toInt
12
+ } for Seconds global;
13
+
14
+ function SecondsEq(Seconds duration1, Seconds duration2) pure returns (bool) {
15
+ return SecondsLib.eq(duration1, duration2);
16
+ }
17
+
18
+ function SecondsGt(Seconds duration1, Seconds duration2) pure returns (bool) {
19
+ return SecondsLib.gt(duration1, duration2);
20
+ }
21
+
22
+ library SecondsLib {
23
+
24
+ error ErrorSecondsLibDurationTooBig(uint256 duration);
25
+
26
+ function zero() public pure returns (Seconds) {
27
+ return Seconds.wrap(0);
28
+ }
29
+
30
+ function max() public pure returns (Seconds) {
31
+ return Seconds.wrap(_max());
32
+ }
33
+
34
+ function oneDay() public pure returns (Seconds duration) {
35
+ return Seconds.wrap(24 * 3600);
36
+ }
37
+
38
+ function oneYear() public pure returns (Seconds duration) {
39
+ return Seconds.wrap(365 * 24 * 3600);
40
+ }
41
+
42
+ /// @dev converts the uint duration into Seconds
43
+ /// function reverts if duration is exceeding max Seconds value
44
+ function toSeconds(uint256 duration) public pure returns (Seconds) {
45
+ // if(duration > type(uint40).max) {
46
+ if(duration > _max()) {
47
+ revert ErrorSecondsLibDurationTooBig(duration);
48
+ }
49
+
50
+ return Seconds.wrap(uint40(duration));
51
+ }
52
+
53
+ /// @dev return true if duration equals 0
54
+ function eqz(Seconds duration) public pure returns (bool) {
55
+ return Seconds.unwrap(duration) == 0;
56
+ }
57
+
58
+ /// @dev return true if duration is larger than 0
59
+ function gtz(Seconds duration) public pure returns (bool) {
60
+ return Seconds.unwrap(duration) > 0;
61
+ }
62
+
63
+ /// @dev return true iff duration1 and duration2 are the same
64
+ function eq(Seconds duration1, Seconds duration2) public pure returns (bool) {
65
+ return Seconds.unwrap(duration1) == Seconds.unwrap(duration2);
66
+ }
67
+
68
+ /// @dev return true if duration1 is larger than duration2
69
+ function gt(Seconds duration1, Seconds duration2) public pure returns (bool) {
70
+ return Seconds.unwrap(duration1) > Seconds.unwrap(duration2);
71
+ }
72
+
73
+ function toInt(Seconds duration) public pure returns (uint256) {
74
+ return uint256(uint40(Seconds.unwrap(duration)));
75
+ }
76
+
77
+ function _max() internal pure returns (uint40) {
78
+ // IMPORTANT: type nees to match with actual definition for Seconds
79
+ return type(uint40).max;
80
+ }
81
+ }
@@ -0,0 +1,102 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ type Selector is bytes4;
5
+
6
+ // type bindings
7
+ using {
8
+ eqSelector as ==,
9
+ neSelector as !=,
10
+ SelectorLib.toBytes4,
11
+ SelectorLib.eqz
12
+ } for Selector global;
13
+
14
+ // pure free functions for operators
15
+ function eqSelector(Selector s1, Selector s2) pure returns (bool isSame) {
16
+ return SelectorLib.eq(s1, s2);
17
+ }
18
+
19
+ function neSelector(Selector s1, Selector s2) pure returns (bool isDifferent) {
20
+ return SelectorLib.ne(s1, s2);
21
+ }
22
+
23
+ // library functions that operate on user defined type
24
+ library SelectorLib {
25
+
26
+ function zero() public pure returns (Selector) {
27
+ return Selector.wrap("");
28
+ }
29
+
30
+ function eqz(Selector s) public pure returns (bool) {
31
+ return Selector.unwrap(s) == "";
32
+ }
33
+
34
+ function eq(Selector s1, Selector s2) public pure returns (bool isSame) {
35
+ return Selector.unwrap(s1) == Selector.unwrap(s2);
36
+ }
37
+
38
+ function ne(Selector s1, Selector s2) public pure returns (bool isDifferent) {
39
+ return Selector.unwrap(s1) != Selector.unwrap(s2);
40
+ }
41
+
42
+ function toSelector(bytes4 selector) public pure returns (Selector) {
43
+ return Selector.wrap(selector);
44
+ }
45
+
46
+ function toBytes4(Selector s) public pure returns (bytes4) {
47
+ return Selector.unwrap(s);
48
+ }
49
+ }
50
+
51
+ // selector specific set library
52
+ // based on https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/structs/EnumerableSet.sol
53
+ library SelectorSetLib {
54
+
55
+ struct Set {
56
+ Selector[] selectors;
57
+ mapping(Selector selector => uint256 index) at;
58
+ }
59
+
60
+ function add(Set storage set, Selector selector) external {
61
+ // selector already in set
62
+ if (set.at[selector] > 0) { return; }
63
+
64
+ set.selectors.push(selector);
65
+ set.at[selector] = set.selectors.length;
66
+ }
67
+
68
+ function remove(Set storage set, Selector selector) external {
69
+ uint256 selectorIndex = set.at[selector];
70
+
71
+ // selector not in set
72
+ if (selectorIndex == 0) {return; }
73
+
74
+ uint256 toDeleteIndex = selectorIndex - 1;
75
+ uint256 lastIndex = set.selectors.length - 1;
76
+
77
+ if (lastIndex != toDeleteIndex) {
78
+ Selector lastSelector = set.selectors[lastIndex];
79
+ set.selectors[toDeleteIndex] = lastSelector;
80
+ set.at[lastSelector] = selectorIndex; // Replace lastValue's index to valueIndex
81
+ }
82
+
83
+ set.selectors.pop();
84
+ delete set.at[selector];
85
+ }
86
+
87
+ function isEmpty(Set storage set) external view returns(bool empty) {
88
+ return set.selectors.length == 0;
89
+ }
90
+
91
+ function contains(Set storage set, Selector selector) external view returns(bool inSet) {
92
+ return set.at[selector] > 0;
93
+ }
94
+
95
+ function size(Set storage set) external view returns(uint256 length) {
96
+ return set.selectors.length;
97
+ }
98
+
99
+ function at(Set storage set, uint256 index) external view returns(Selector selector) {
100
+ return set.selectors[index];
101
+ }
102
+ }
@@ -14,6 +14,23 @@ using {
14
14
  } for StateId global;
15
15
 
16
16
  // general pure free functions
17
+
18
+ function INITIAL() pure returns (StateId) {
19
+ return toStateId(1);
20
+ }
21
+
22
+ function SCHEDULED() pure returns (StateId) {
23
+ return toStateId(2);
24
+ }
25
+
26
+ function DEPLOYING() pure returns (StateId) {
27
+ return toStateId(3);
28
+ }
29
+
30
+ function ACTIVE() pure returns (StateId) {
31
+ return toStateId(4);
32
+ }
33
+
17
34
  function APPLIED() pure returns (StateId) {
18
35
  return toStateId(10);
19
36
  }
@@ -26,20 +43,32 @@ function DECLINED() pure returns (StateId) {
26
43
  return toStateId(30);
27
44
  }
28
45
 
29
- function UNDERWRITTEN() pure returns (StateId) {
46
+ function COLLATERALIZED() pure returns (StateId) {
30
47
  return toStateId(40);
31
48
  }
32
49
 
33
- function CONFIRMED() pure returns (StateId) {
50
+ function SUBMITTED() pure returns (StateId) {
34
51
  return toStateId(50);
35
52
  }
36
53
 
54
+ function CONFIRMED() pure returns (StateId) {
55
+ return toStateId(51);
56
+ }
57
+
37
58
  function EXPECTED() pure returns (StateId) {
38
59
  return toStateId(60);
39
60
  }
40
61
 
41
- function ACTIVE() pure returns (StateId) {
42
- return toStateId(100);
62
+ function FULFILLED() pure returns (StateId) {
63
+ return toStateId(70);
64
+ }
65
+
66
+ function FAILED() pure returns (StateId) {
67
+ return toStateId(7);
68
+ }
69
+
70
+ function CANCELLED() pure returns (StateId) {
71
+ return toStateId(72);
43
72
  }
44
73
 
45
74
  function PAUSED() pure returns (StateId) {
@@ -67,6 +96,7 @@ function toStateId(uint256 id) pure returns (StateId) {
67
96
  return StateId.wrap(uint8(id));
68
97
  }
69
98
 
99
+ // TODO move to StateIdLib and rename to zero()
70
100
  /// @dev Return the StateId zero (0)
71
101
  function zeroStateId() pure returns (StateId) {
72
102
  return StateId.wrap(0);
@@ -0,0 +1,53 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {ShortString, ShortStrings} from "@openzeppelin/contracts/utils/ShortStrings.sol";
5
+
6
+ type Str is bytes32;
7
+
8
+ using {
9
+ StrEq as ==,
10
+ StrNe as !=,
11
+ StrLib.toString,
12
+ StrLib.length
13
+ } for Str global;
14
+
15
+ function StrEq(Str s1, Str s2) pure returns (bool) {
16
+ return StrLib.eq(s1, s2);
17
+ }
18
+
19
+ function StrNe(Str s1, Str s2) pure returns (bool) {
20
+ return StrLib.ne(s1, s2);
21
+ }
22
+
23
+ library StrLib {
24
+
25
+
26
+ /// @dev converts the provided string into a short string.
27
+ /// uses ShortStrings.toShortString
28
+ function toStr(string memory str) public pure returns (Str) {
29
+ return Str.wrap(ShortString.unwrap(ShortStrings.toShortString(str)));
30
+ }
31
+
32
+ /// @dev return true iff s1 equals s2
33
+ function eq(Str s1, Str s2) public pure returns (bool) {
34
+ return Str.unwrap(s1) == Str.unwrap(s2);
35
+ }
36
+
37
+ /// @dev return true iff s1 differs from s2
38
+ function ne(Str s1, Str s2) public pure returns (bool) {
39
+ return Str.unwrap(s1) != Str.unwrap(s2);
40
+ }
41
+
42
+ /// @dev converts the provided short string into a string.
43
+ /// uses ShortStrings.toString
44
+ function toString(Str str) public pure returns (string memory) {
45
+ return ShortStrings.toString(ShortString.wrap(Str.unwrap(str)));
46
+ }
47
+
48
+ /// @dev converts the provided short string into a string.
49
+ /// uses ShortStrings.byteLength
50
+ function length(Str str) public pure returns (uint256 byteLength) {
51
+ return ShortStrings.byteLength(ShortString.wrap(Str.unwrap(str)));
52
+ }
53
+ }
@@ -1,5 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Seconds} from "./Seconds.sol";
3
5
 
4
6
  type Timestamp is uint40;
5
7
 
@@ -12,7 +14,8 @@ using {
12
14
  neTimestamp as !=,
13
15
  TimestampLib.gtz,
14
16
  TimestampLib.eqz,
15
- TimestampLib.addSeconds
17
+ TimestampLib.addSeconds,
18
+ TimestampLib.toInt
16
19
  } for Timestamp global;
17
20
 
18
21
  /// @dev return true if Timestamp a is after Timestamp b
@@ -50,16 +53,22 @@ function toTimestamp(uint256 timestamp) pure returns (Timestamp) {
50
53
  return Timestamp.wrap(uint40(timestamp));
51
54
  }
52
55
 
53
- // function blockTimestamp() view returns (Timestamp) {
54
- // return toTimestamp(block.timestamp);
55
- // }
56
-
56
+ // TODO move to TimestampLib and rename to zero()
57
57
  /// @dev Return the Timestamp zero (0)
58
58
  function zeroTimestamp() pure returns (Timestamp) {
59
- return toTimestamp(0);
59
+ return Timestamp.wrap(0);
60
60
  }
61
61
 
62
62
  library TimestampLib {
63
+
64
+ function zero() public pure returns (Timestamp) {
65
+ return Timestamp.wrap(0);
66
+ }
67
+
68
+ function max() public pure returns (Timestamp) {
69
+ return Timestamp.wrap(type(uint40).max);
70
+ }
71
+
63
72
  function blockTimestamp() public view returns (Timestamp) {
64
73
  return Timestamp.wrap(uint40(block.timestamp));
65
74
  }
@@ -103,22 +112,22 @@ library TimestampLib {
103
112
  return neTimestamp(a, b);
104
113
  }
105
114
 
106
- /// @dev return true if Timestamp is larger than 0
107
- function gtz(Timestamp timestamp) public pure returns (bool) {
108
- return Timestamp.unwrap(timestamp) > 0;
109
- }
110
-
111
115
  /// @dev return true if Timestamp equals 0
112
116
  function eqz(Timestamp timestamp) public pure returns (bool) {
113
117
  return Timestamp.unwrap(timestamp) == 0;
114
118
  }
115
119
 
120
+ /// @dev return true if Timestamp is larger than 0
121
+ function gtz(Timestamp timestamp) public pure returns (bool) {
122
+ return Timestamp.unwrap(timestamp) > 0;
123
+ }
124
+
116
125
  /// @dev return true if Timestamp a is not equal to Timestamp b
117
126
  function addSeconds(
118
127
  Timestamp timestamp,
119
- uint256 timeDelta
128
+ Seconds duration
120
129
  ) public pure returns (Timestamp) {
121
- return toTimestamp(Timestamp.unwrap(timestamp) + uint40(timeDelta));
130
+ return toTimestamp(Timestamp.unwrap(timestamp) + duration.toInt());
122
131
  }
123
132
 
124
133
  function toInt(Timestamp timestamp) public pure returns (uint256) {
@@ -16,9 +16,11 @@ using {
16
16
  eqUFixed as ==,
17
17
  neUFixed as !=,
18
18
  UFixedLib.toInt,
19
+ UFixedLib.toInt1000,
19
20
  UFixedLib.gtz
20
21
  } for UFixed global;
21
22
 
23
+ // TODO move to UFixedLib and rename to zero()
22
24
  function zeroUFixed() pure returns (UFixed zero) {
23
25
  return UFixed.wrap(0);
24
26
  }
@@ -235,6 +237,11 @@ library UFixedLib {
235
237
  return toIntWithRounding(a, ROUNDING_HALF_UP());
236
238
  }
237
239
 
240
+ /// @dev Converts a UFixed to a uint256.
241
+ function toInt1000(UFixed a) public pure returns (uint256) {
242
+ return toIntWithRounding(toUFixed(1000) * a, ROUNDING_HALF_UP());
243
+ }
244
+
238
245
  /// @dev Converts a UFixed to a uint256 with given rounding mode.
239
246
  function toIntWithRounding(UFixed a, uint8 rounding) public pure returns (uint256) {
240
247
  if (rounding == ROUNDING_HALF_UP()) {
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
2
+ pragma solidity ^0.8.20;
3
3
 
4
4
  type VersionPart is uint8;
5
5
 
@@ -101,6 +101,7 @@ library VersionLib {
101
101
  return Version.wrap(uint24(versionNumber));
102
102
  }
103
103
 
104
+ // TODO rename to zero()
104
105
  function zeroVersion() external pure returns(Version) {
105
106
  return Version.wrap(0);
106
107
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etherisc/gif-next",
3
- "version": "0.0.2-c9b0563-536",
3
+ "version": "0.0.2-ca77f81-925",
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": {
@@ -30,10 +30,11 @@
30
30
  "homepage": "https://github.com/etherisc/gif-next#readme",
31
31
  "devDependencies": {
32
32
  "@nomicfoundation/hardhat-foundry": "^1.1.1",
33
- "@nomicfoundation/hardhat-toolbox": "^3.0.0",
34
- "@nomicfoundation/hardhat-verify": "^1.1.1",
33
+ "@nomicfoundation/hardhat-toolbox": "^5.0.0",
34
+ "@nomicfoundation/hardhat-verify": "^2.0.1",
35
35
  "@typescript-eslint/eslint-plugin": "^7.1.0",
36
36
  "@typescript-eslint/parser": "^7.1.0",
37
+ "antlr4ng-cli": "^2.0.0",
37
38
  "dotenv": "^16.3.1",
38
39
  "eslint": "^8.50.0",
39
40
  "hardhat": "^2.17.2",
@@ -44,7 +45,9 @@
44
45
  "dependencies": {
45
46
  "@openzeppelin/contracts": "5.0.0",
46
47
  "@openzeppelin/contracts-upgradeable": "5.0.0",
48
+ "@openzeppelin/upgrades-core": "^1.34.1",
47
49
  "abi-coder": "^5.0.0",
50
+ "antlr4ng": "^3.0.4",
48
51
  "ethers": "^6.7.1",
49
52
  "solidity-docgen": "^0.6.0-beta.36",
50
53
  "winston": "^3.10.0"
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/48cfd1681999c5c2e2d70537a45818a3.json"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/48cfd1681999c5c2e2d70537a45818a3.json"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/48cfd1681999c5c2e2d70537a45818a3.json"
4
- }