@etherisc/gif-next 0.0.2-caf7ec3-284 → 0.0.2-cb0658a-785

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 (275) hide show
  1. package/README.md +16 -2
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +2 -2
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  5. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +2 -2
  7. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  8. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  10. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  12. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +2 -2
  14. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
  16. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  17. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +2 -2
  18. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  19. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +2 -2
  20. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  21. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  22. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +94 -108
  23. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  24. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +45 -49
  25. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  27. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +1 -12
  28. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  29. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
  30. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  31. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  32. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  33. package/artifacts/contracts/instance/Instance.sol/Instance.json +2 -2
  34. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  35. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2 -2
  36. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  37. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +2 -2
  38. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  39. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +80 -122
  40. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  41. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +2 -2
  42. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  43. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +2 -2
  44. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  45. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +72 -194
  46. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  47. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  48. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  49. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  50. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  51. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  52. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  53. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
  54. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  55. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  56. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  57. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  58. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  59. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  60. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  61. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  62. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  63. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +2 -2
  64. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  65. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +2 -2
  66. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  67. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  68. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  69. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  70. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  71. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +2 -2
  72. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  73. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +2 -2
  74. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  75. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +34 -60
  76. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  77. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +16 -16
  78. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  79. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +426 -50
  80. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  81. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +102 -26
  82. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  83. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +224 -0
  84. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  85. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +25 -57
  86. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  87. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +189 -54
  88. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  89. package/artifacts/contracts/pool/Pool.sol/Pool.json +25 -57
  90. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  91. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +289 -90
  92. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  93. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +51 -19
  94. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  95. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +2 -2
  96. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  97. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +2 -2
  98. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  99. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  100. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +2 -2
  101. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  102. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +2 -2
  103. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  104. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +2 -2
  105. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  106. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  107. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  108. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +86 -1
  109. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  110. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  111. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
  112. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  113. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +169 -52
  114. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  115. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +42 -26
  116. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  117. package/artifacts/contracts/product/PricingService.sol/PricingService.json +7 -2
  118. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  119. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +2 -2
  120. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  121. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
  122. package/artifacts/contracts/product/ProductService.sol/ProductService.json +2 -2
  123. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
  124. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +2 -2
  125. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  126. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  127. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  128. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  129. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  130. package/artifacts/contracts/registry/Registry.sol/Registry.json +2 -2
  131. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  132. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2 -2
  133. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  134. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +2 -2
  135. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  136. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +2 -2
  137. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  138. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  139. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +2 -2
  140. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  141. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +2 -2
  142. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  143. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
  144. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  145. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  146. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +132 -76
  147. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  148. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +39 -39
  149. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  150. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  151. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  152. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +56 -0
  153. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  154. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  155. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  156. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  157. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  158. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  159. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  160. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  161. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
  162. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  163. package/artifacts/contracts/shared/{ERC165.sol/ERC165.json → InitializableERC165.sol/InitializableERC165.json} +4 -4
  164. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  165. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  166. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  167. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  168. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  169. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
  170. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  171. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
  172. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  173. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +2 -2
  174. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  175. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  176. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  177. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  178. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
  179. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  180. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  181. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  182. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +12 -2
  183. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  184. package/artifacts/contracts/staking/Staking.sol/Staking.json +2 -2
  185. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  186. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  187. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +2 -2
  188. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  189. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
  190. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  191. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +2 -2
  192. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  193. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +2 -2
  194. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  195. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +17 -12
  196. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  197. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +7 -2
  198. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  199. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  200. package/artifacts/contracts/type/Amount.sol/AmountLib.json +37 -8
  201. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  202. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  203. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  204. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  205. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  206. package/artifacts/contracts/type/Fee.sol/FeeLib.json +7 -2
  207. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  208. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  209. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  210. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  211. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  212. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  213. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  214. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  215. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  216. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  217. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  218. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +26 -2
  219. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  220. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  221. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  222. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  223. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  224. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
  225. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  226. package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
  227. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  228. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +39 -2
  229. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  230. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  231. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  232. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  233. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +2 -2
  234. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  235. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  236. package/contracts/distribution/BasicDistribution.sol +4 -15
  237. package/contracts/distribution/Distribution.sol +3 -9
  238. package/contracts/distribution/DistributionService.sol +12 -27
  239. package/contracts/distribution/IDistributionComponent.sol +1 -1
  240. package/contracts/distribution/IDistributionService.sol +2 -3
  241. package/contracts/instance/InstanceReader.sol +10 -7
  242. package/contracts/instance/InstanceStore.sol +2 -1
  243. package/contracts/instance/module/IBundle.sol +1 -1
  244. package/contracts/instance/module/IComponents.sol +1 -6
  245. package/contracts/instance/module/IDistribution.sol +0 -1
  246. package/contracts/mock/Dip.sol +1 -1
  247. package/contracts/oracle/Oracle.sol +2 -6
  248. package/contracts/pool/BasicPool.sol +5 -3
  249. package/contracts/pool/BasicPoolAuthorization.sol +7 -1
  250. package/contracts/pool/BundleService.sol +170 -12
  251. package/contracts/pool/IBundleService.sol +31 -4
  252. package/contracts/pool/IPoolComponent.sol +7 -0
  253. package/contracts/pool/IPoolService.sol +15 -16
  254. package/contracts/pool/Pool.sol +30 -13
  255. package/contracts/pool/PoolService.sol +147 -47
  256. package/contracts/product/BasicProduct.sol +3 -33
  257. package/contracts/product/ClaimService.sol +2 -1
  258. package/contracts/product/IPolicyService.sol +8 -2
  259. package/contracts/product/PolicyService.sol +72 -18
  260. package/contracts/product/Product.sol +19 -0
  261. package/contracts/registry/ReleaseRegistry.sol +0 -2
  262. package/contracts/shared/ComponentService.sol +32 -3
  263. package/contracts/shared/IComponentService.sol +5 -9
  264. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +1 -1
  265. package/contracts/shared/NftOwnable.sol +2 -2
  266. package/contracts/shared/PolicyHolder.sol +2 -5
  267. package/contracts/staking/Staking.sol +3 -1
  268. package/contracts/type/Amount.sol +12 -5
  269. package/contracts/type/Blocknumber.sol +7 -1
  270. package/contracts/type/Referral.sol +1 -0
  271. package/contracts/type/Seconds.sol +13 -1
  272. package/contracts/type/Timestamp.sol +11 -1
  273. package/contracts/type/UFixed.sol +29 -10
  274. package/package.json +1 -1
  275. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
@@ -1,13 +1,13 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {ERC165} from "./ERC165.sol";
4
+ import {InitializableERC165} from "./InitializableERC165.sol";
5
5
  import {INftOwnable} from "./INftOwnable.sol";
6
6
  import {NftId} from "../type/NftId.sol";
7
7
  import {RegistryLinked} from "./RegistryLinked.sol";
8
8
 
9
9
  contract NftOwnable is
10
- ERC165,
10
+ InitializableERC165,
11
11
  RegistryLinked,
12
12
  INftOwnable
13
13
  {
@@ -1,22 +1,19 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
5
4
  import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
6
- import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
7
5
 
8
6
  import {Amount} from "../type/Amount.sol";
9
7
  import {ClaimId} from "../type/ClaimId.sol";
10
- import {ERC165} from "./ERC165.sol";
8
+ import {InitializableERC165} from "./InitializableERC165.sol";
11
9
  import {IPolicyHolder} from "./IPolicyHolder.sol";
12
10
  import {NftId} from "../type/NftId.sol";
13
11
  import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
14
12
  import {RegistryLinked} from "./RegistryLinked.sol";
15
- import {IRegistry} from "../registry/IRegistry.sol";
16
13
 
17
14
  /// @dev template implementation for IPolicyHolder
18
15
  contract PolicyHolder is
19
- ERC165,
16
+ InitializableERC165,
20
17
  RegistryLinked, // TODO need upgradeable version
21
18
  IPolicyHolder
22
19
  {
@@ -386,6 +386,7 @@ contract Staking is
386
386
  address(tokenHandler),
387
387
  dipAmount);
388
388
 
389
+ // TODO: centralize token handling (issue #471)
389
390
  tokenHandler.transfer(from, stakingWallet, dipAmount);
390
391
  }
391
392
 
@@ -402,7 +403,8 @@ contract Staking is
402
403
  stakingWallet,
403
404
  address(tokenHandler),
404
405
  dipAmount);
405
-
406
+
407
+ // TODO: centralize token handling (issue #471)
406
408
  tokenHandler.transfer(stakingWallet, to, dipAmount);
407
409
  }
408
410
 
@@ -12,13 +12,15 @@ using {
12
12
  nqAmount as !=,
13
13
  ltAmount as <,
14
14
  gtAmount as >,
15
+ AmountLib.add,
15
16
  AmountLib.eq,
16
17
  AmountLib.eqz,
17
18
  AmountLib.gtz,
19
+ AmountLib.gt,
20
+ AmountLib.gte,
21
+ AmountLib.multiplyWith,
18
22
  AmountLib.toInt,
19
- AmountLib.add,
20
- AmountLib.toUFixed,
21
- AmountLib.multiplyWith
23
+ AmountLib.toUFixed
22
24
  } for Amount global;
23
25
 
24
26
  function addAmount(Amount a, Amount b) pure returns (Amount) {
@@ -77,16 +79,21 @@ library AmountLib {
77
79
  return Amount.unwrap(amount1) == Amount.unwrap(amount2);
78
80
  }
79
81
 
80
- /// @dev return true if amount a1 is smaller than a2
82
+ /// @dev return true if amount a1 is less than a2
81
83
  function lt(Amount a1, Amount a2) public pure returns (bool) {
82
84
  return Amount.unwrap(a1) < Amount.unwrap(a2);
83
85
  }
84
86
 
85
- /// @dev return true if amount a1 is larger than a2
87
+ /// @dev return true if amount a1 is greater than a2
86
88
  function gt(Amount a1, Amount a2) public pure returns (bool) {
87
89
  return Amount.unwrap(a1) > Amount.unwrap(a2);
88
90
  }
89
91
 
92
+ /// @dev return true if amount a1 is greater or equal than a2
93
+ function gte(Amount a1, Amount a2) public pure returns (bool) {
94
+ return Amount.unwrap(a1) >= Amount.unwrap(a2);
95
+ }
96
+
90
97
  /// @dev return minimum of a1 and a2.
91
98
  function min(Amount a1, Amount a2) public pure returns (Amount) {
92
99
  if (Amount.unwrap(a1) < Amount.unwrap(a2)) {
@@ -11,8 +11,14 @@ using {
11
11
  eqBlocknumber as ==,
12
12
  neBlocknumber as !=,
13
13
  BlocknumberLib.toInt,
14
+ BlocknumberLib.eq,
15
+ BlocknumberLib.ne,
14
16
  BlocknumberLib.eqz,
15
- BlocknumberLib.gtz
17
+ BlocknumberLib.gtz,
18
+ BlocknumberLib.gt,
19
+ BlocknumberLib.gte,
20
+ BlocknumberLib.lt,
21
+ BlocknumberLib.lte
16
22
  } for Blocknumber global;
17
23
 
18
24
  /// @dev return true if Blocknumber a is greater than Blocknumber b
@@ -12,6 +12,7 @@ type ReferralStatus is uint8;
12
12
  using {
13
13
  eqReferralId as ==,
14
14
  neReferralId as !=,
15
+ ReferralLib.eqz,
15
16
  ReferralLib.toKey32
16
17
  } for ReferralId global;
17
18
 
@@ -6,9 +6,11 @@ type Seconds is uint40;
6
6
  using {
7
7
  SecondsEq as ==,
8
8
  SecondsGt as >,
9
+ SecondsAdd as +,
9
10
  SecondsLib.eqz,
10
11
  SecondsLib.gtz,
11
- SecondsLib.toInt
12
+ SecondsLib.toInt,
13
+ SecondsLib.add
12
14
  } for Seconds global;
13
15
 
14
16
  function SecondsEq(Seconds duration1, Seconds duration2) pure returns (bool) {
@@ -19,6 +21,11 @@ function SecondsGt(Seconds duration1, Seconds duration2) pure returns (bool) {
19
21
  return SecondsLib.gt(duration1, duration2);
20
22
  }
21
23
 
24
+ function SecondsAdd(Seconds duration1, Seconds duration2) pure returns (Seconds) {
25
+ return SecondsLib.add(duration1, duration2);
26
+ }
27
+
28
+
22
29
  library SecondsLib {
23
30
 
24
31
  error ErrorSecondsLibDurationTooBig(uint256 duration);
@@ -70,6 +77,11 @@ library SecondsLib {
70
77
  return Seconds.unwrap(duration1) > Seconds.unwrap(duration2);
71
78
  }
72
79
 
80
+ /// @dev return add duration1 and duration2
81
+ function add(Seconds duration1, Seconds duration2) public pure returns (Seconds) {
82
+ return Seconds.wrap(Seconds.unwrap(duration1) + Seconds.unwrap(duration2));
83
+ }
84
+
73
85
  function toInt(Seconds duration) public pure returns (uint256) {
74
86
  return uint256(uint40(Seconds.unwrap(duration)));
75
87
  }
@@ -12,6 +12,12 @@ using {
12
12
  lteTimestamp as <=,
13
13
  eqTimestamp as ==,
14
14
  neTimestamp as !=,
15
+ TimestampLib.eq,
16
+ TimestampLib.ne,
17
+ TimestampLib.gt,
18
+ TimestampLib.gte,
19
+ TimestampLib.lt,
20
+ TimestampLib.lte,
15
21
  TimestampLib.gtz,
16
22
  TimestampLib.eqz,
17
23
  TimestampLib.addSeconds,
@@ -50,7 +56,7 @@ function neTimestamp(Timestamp a, Timestamp b) pure returns (bool) {
50
56
 
51
57
  /// @dev Converts the uint256 to a Timestamp.
52
58
  function toTimestamp(uint256 timestamp) pure returns (Timestamp) {
53
- return Timestamp.wrap(uint40(timestamp));
59
+ return TimestampLib.toTimestamp(timestamp);
54
60
  }
55
61
 
56
62
  // TODO move to TimestampLib and rename to zero()
@@ -72,6 +78,10 @@ library TimestampLib {
72
78
  function blockTimestamp() public view returns (Timestamp) {
73
79
  return Timestamp.wrap(uint40(block.timestamp));
74
80
  }
81
+
82
+ function toTimestamp(uint256 timestamp) public pure returns (Timestamp) {
83
+ return Timestamp.wrap(uint40(timestamp));
84
+ }
75
85
 
76
86
  /// @dev return true if Timestamp a is after Timestamp b
77
87
  function gt(Timestamp a, Timestamp b) public pure returns (bool isAfter) {
@@ -15,9 +15,10 @@ using {
15
15
  lteUFixed as <=,
16
16
  eqUFixed as ==,
17
17
  neUFixed as !=,
18
+ UFixedLib.gt,
19
+ UFixedLib.gtz,
18
20
  UFixedLib.toInt,
19
- UFixedLib.toInt1000,
20
- UFixedLib.gtz
21
+ UFixedLib.toInt1000
21
22
  } for UFixed global;
22
23
 
23
24
  // TODO move to UFixedLib and rename to zero()
@@ -30,7 +31,9 @@ function addUFixed(UFixed a, UFixed b) pure returns (UFixed) {
30
31
  }
31
32
 
32
33
  function subUFixed(UFixed a, UFixed b) pure returns (UFixed) {
33
- require(a >= b, "ERROR:UFM-010:NEGATIVE_RESULT");
34
+ if (a < b) {
35
+ revert UFixedLib.UFixedLibNegativeResult();
36
+ }
34
37
  return UFixed.wrap(UFixed.unwrap(a) - UFixed.unwrap(b));
35
38
  }
36
39
 
@@ -40,8 +43,10 @@ function mulUFixed(UFixed a, UFixed b) pure returns (UFixed) {
40
43
  }
41
44
 
42
45
  function divUFixed(UFixed a, UFixed b) pure returns (UFixed) {
43
- require(UFixed.unwrap(b) > 0, "ERROR:UFM-020:DIVISOR_ZERO");
44
-
46
+ if (UFixed.unwrap(b) == 0) {
47
+ revert UFixedLib.UFixedLibDivisionByZero();
48
+ }
49
+
45
50
  return
46
51
  UFixed.wrap(MathLib.mulDiv(UFixed.unwrap(a), 10 ** 18, UFixed.unwrap(b)));
47
52
  }
@@ -89,6 +94,8 @@ function deltaUFixed(UFixed a, UFixed b) pure returns (UFixed) {
89
94
  /// @dev copied from https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.9.3/contracts/utils/math/Math.sol
90
95
  library MathLib {
91
96
 
97
+ error MathLigMulDivOverflow();
98
+
92
99
  enum Rounding {
93
100
  Down, // Toward negative infinity
94
101
  Up, // Toward infinity
@@ -122,8 +129,10 @@ library MathLib {
122
129
  }
123
130
 
124
131
  // Make sure the result is less than 2^256. Also prevents denominator == 0.
125
- require(denominator > prod1, "Math: mulDiv overflow");
126
-
132
+ if (denominator <= prod1) {
133
+ revert MathLigMulDivOverflow();
134
+ }
135
+
127
136
  ///////////////////////////////////////////////
128
137
  // 512 by 256 division.
129
138
  ///////////////////////////////////////////////
@@ -195,6 +204,12 @@ library MathLib {
195
204
  }
196
205
 
197
206
  library UFixedLib {
207
+ error UFixedLibNegativeResult();
208
+ error UFixedLibDivisionByZero();
209
+
210
+ error UFixedLibExponentTooSmall(int8 exp);
211
+ error UFixedLibExponentTooLarge(int8 exp);
212
+
198
213
  int8 public constant EXP = 18;
199
214
  uint256 public constant MULTIPLIER = 10 ** uint256(int256(EXP));
200
215
  uint256 public constant MULTIPLIER_HALF = MULTIPLIER / 2;
@@ -221,9 +236,13 @@ library UFixedLib {
221
236
 
222
237
  /// @dev Converts the uint256 to a UFixed with given exponent.
223
238
  function toUFixed(uint256 a, int8 exp) public pure returns (UFixed) {
224
- require(EXP + exp >= 0, "ERROR:FM-010:EXPONENT_TOO_SMALL");
225
- require(EXP + exp <= 64, "ERROR:FM-011:EXPONENT_TOO_LARGE");
226
-
239
+ if (EXP + exp < 0) {
240
+ revert UFixedLibExponentTooSmall(exp);
241
+ }
242
+ if (EXP + exp > 64) {
243
+ revert UFixedLibExponentTooLarge(exp);
244
+ }
245
+
227
246
  return UFixed.wrap(a * 10 ** uint8(EXP + exp));
228
247
  }
229
248
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etherisc/gif-next",
3
- "version": "0.0.2-caf7ec3-284",
3
+ "version": "0.0.2-cb0658a-785",
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": {
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/e90d260d136f1141b593b63f31d8f134.json"
4
- }