@etherisc/gif-next 0.0.2-bcecc4c-647 → 0.0.2-bd8fe7c-423

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 (262) 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 +30 -60
  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/Distribution.sol/Distribution.json +0 -38
  22. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  23. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +2 -2
  24. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  25. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +2 -2
  26. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  27. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  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 +78 -115
  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 +16 -128
  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/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  53. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  54. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
  55. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  56. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  57. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  58. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  59. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  60. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  61. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  62. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  63. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  64. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +18 -48
  65. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  66. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +2 -2
  67. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  68. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  69. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  70. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  71. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +0 -38
  72. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  73. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +2 -2
  74. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  75. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +2 -2
  76. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  77. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +11 -99
  78. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  79. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +16 -16
  80. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  81. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +131 -93
  82. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  83. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +57 -49
  84. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  85. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +25 -3
  86. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  87. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +1 -57
  88. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  89. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +74 -66
  90. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  91. package/artifacts/contracts/pool/Pool.sol/Pool.json +1 -95
  92. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  93. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +198 -118
  94. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  95. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +63 -27
  96. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  97. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +2 -2
  98. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  99. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +2 -2
  100. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  101. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +0 -38
  102. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  103. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +2 -2
  104. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  105. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +82 -58
  106. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  107. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +34 -30
  108. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  109. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  110. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +16 -0
  111. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  112. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +184 -88
  113. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  114. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  115. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
  116. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  117. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +291 -139
  118. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  119. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +54 -26
  120. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  121. package/artifacts/contracts/product/PricingService.sol/PricingService.json +2 -2
  122. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  123. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +2 -2
  124. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  125. package/artifacts/contracts/product/Product.sol/Product.json +0 -38
  126. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
  127. package/artifacts/contracts/product/ProductService.sol/ProductService.json +2 -2
  128. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
  129. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +2 -2
  130. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  131. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  132. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  133. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  134. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  135. package/artifacts/contracts/registry/Registry.sol/Registry.json +2 -2
  136. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  137. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2 -2
  138. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  139. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +2 -2
  140. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  141. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +2 -2
  142. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  143. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  144. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +2 -2
  145. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  146. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +2 -2
  147. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  148. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
  149. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  150. package/artifacts/contracts/shared/Component.sol/Component.json +0 -38
  151. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  152. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +74 -58
  153. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  154. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +38 -30
  155. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  156. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  157. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  158. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  159. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  160. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  161. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  162. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  163. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  164. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  165. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  166. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
  167. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  168. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  169. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +0 -38
  170. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  171. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  172. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  173. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  174. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
  175. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  176. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
  177. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  178. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +2 -2
  179. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  180. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  181. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  182. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  183. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +53 -6
  184. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  185. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  186. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  187. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +2 -2
  188. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  189. package/artifacts/contracts/staking/Staking.sol/Staking.json +56 -70
  190. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  191. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  192. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +29 -17
  193. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  194. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
  195. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  196. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +22 -22
  197. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  198. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +12 -12
  199. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  200. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2 -2
  201. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  202. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +2 -2
  203. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  204. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  205. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  206. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  207. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  208. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  209. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  210. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  211. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  212. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  213. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  214. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  215. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  216. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  217. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  218. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  219. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  220. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  221. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  222. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  223. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  224. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  225. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
  226. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  227. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  228. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  229. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  230. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  231. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  232. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +2 -2
  233. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  234. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  235. package/contracts/distribution/DistributionService.sol +1 -2
  236. package/contracts/instance/InstanceReader.sol +10 -7
  237. package/contracts/instance/base/ObjectLifecycle.sol +1 -3
  238. package/contracts/instance/module/IComponents.sol +1 -6
  239. package/contracts/instance/module/IPolicy.sol +1 -1
  240. package/contracts/mock/Dip.sol +1 -1
  241. package/contracts/pool/BasicPool.sol +7 -5
  242. package/contracts/pool/BasicPoolAuthorization.sol +5 -2
  243. package/contracts/pool/BundleService.sol +51 -25
  244. package/contracts/pool/IBundleService.sol +12 -5
  245. package/contracts/pool/IPoolService.sol +8 -14
  246. package/contracts/pool/Pool.sol +7 -11
  247. package/contracts/pool/PoolService.sol +103 -86
  248. package/contracts/product/BasicProduct.sol +3 -33
  249. package/contracts/product/ClaimService.sol +16 -9
  250. package/contracts/product/IClaimService.sol +1 -0
  251. package/contracts/product/IPolicyService.sol +19 -12
  252. package/contracts/product/PolicyService.sol +188 -108
  253. package/contracts/product/Product.sol +19 -0
  254. package/contracts/shared/Component.sol +8 -7
  255. package/contracts/shared/ComponentService.sol +1 -2
  256. package/contracts/shared/IComponent.sol +4 -3
  257. package/contracts/shared/IInstanceLinkedComponent.sol +8 -8
  258. package/contracts/shared/TokenHandler.sol +4 -0
  259. package/contracts/staking/StakingService.sol +8 -12
  260. package/contracts/type/Blocknumber.sol +7 -1
  261. package/contracts/type/Timestamp.sol +11 -1
  262. package/package.json +1 -1
@@ -265,6 +265,25 @@ abstract contract Product is
265
265
  activateAt);
266
266
  }
267
267
 
268
+ function _decline(
269
+ NftId policyNftId
270
+ )
271
+ internal
272
+ {
273
+ _getProductStorage()._policyService.decline(
274
+ policyNftId);
275
+ }
276
+
277
+ function _expire(
278
+ NftId policyNftId,
279
+ Timestamp expireAt
280
+ )
281
+ internal
282
+ returns (Timestamp)
283
+ {
284
+ return _getProductStorage()._policyService.expire(policyNftId, expireAt);
285
+ }
286
+
268
287
  function _collectPremium(
269
288
  NftId policyNftId,
270
289
  Timestamp activateAt
@@ -6,7 +6,7 @@ import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessMana
6
6
  import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
7
7
  import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
8
8
 
9
- import {Amount} from "../type/Amount.sol";
9
+ import {Amount, AmountLib} from "../type/Amount.sol";
10
10
  import {IComponent} from "./IComponent.sol";
11
11
  import {IComponents} from "../instance/module/IComponents.sol";
12
12
  import {NftId, NftIdLib} from "../type/NftId.sol";
@@ -109,11 +109,11 @@ abstract contract Component is
109
109
  revert ErrorComponentWalletNotComponent();
110
110
  }
111
111
 
112
+ emit LogComponentTokenHandlerApproved(address(getTokenHandler()), spendingLimitAmount);
113
+
112
114
  IERC20Metadata(token).approve(
113
115
  address(getTokenHandler()),
114
116
  spendingLimitAmount.toInt());
115
-
116
- emit LogComponentTokenHandlerApproved(address(getTokenHandler()), spendingLimitAmount);
117
117
  }
118
118
 
119
119
  function setWallet(address newWallet)
@@ -132,7 +132,7 @@ abstract contract Component is
132
132
  // move tokens from component smart contract to external wallet
133
133
  } else {
134
134
  // move tokens from external wallet to component smart contract or another external wallet
135
- uint256 allowance = token.allowance(currentWallet, address(this));
135
+ uint256 allowance = token.allowance(currentWallet, address(getTokenHandler()));
136
136
  if (allowance < currentBalance) {
137
137
  revert ErrorComponentWalletAllowanceTooSmall(currentWallet, newWallet, allowance, currentBalance);
138
138
  }
@@ -144,14 +144,15 @@ abstract contract Component is
144
144
 
145
145
  // interactions
146
146
  if (currentBalance > 0) {
147
+ emit LogComponentWalletTokensTransferred(currentWallet, newWallet, currentBalance);
148
+
147
149
  // transfer tokens from current wallet to new wallet
148
150
  if (currentWallet == address(this)) {
149
151
  // transferFrom requires self allowance too
150
- token.approve(address(this), currentBalance);
152
+ token.approve(address(getTokenHandler()), currentBalance);
151
153
  }
152
154
 
153
- SafeERC20.safeTransferFrom(token, currentWallet, newWallet, currentBalance);
154
- emit LogComponentWalletTokensTransferred(currentWallet, newWallet, currentBalance);
155
+ getTokenHandler().transfer(currentWallet, newWallet, AmountLib.toAmount(currentBalance));
155
156
  }
156
157
  }
157
158
 
@@ -128,10 +128,9 @@ contract ComponentService is
128
128
 
129
129
  // transfer amount to component owner
130
130
  address componentOwner = getRegistry().ownerOf(componentNftId);
131
+ emit LogComponentServiceComponentFeesWithdrawn(componentNftId, componentOwner, address(token), withdrawnAmount);
131
132
  // TODO: centralize token handling (issue #471)
132
133
  tokenHandler.transfer(componentWallet, componentOwner, withdrawnAmount);
133
-
134
- emit LogComponentServiceComponentFeesWithdrawn(componentNftId, componentOwner, address(token), withdrawnAmount);
135
134
  }
136
135
 
137
136
 
@@ -35,10 +35,11 @@ interface IComponent is
35
35
  /// only component owner (nft holder) is authorizes to call this function
36
36
  function approveTokenHandler(Amount spendingLimitAmount) external;
37
37
 
38
- /// @dev sets the wallet address for the component
39
- /// if the current wallet has tokens, these will be transferred
38
+ /// @dev sets the wallet address for the component.
39
+ /// if the current wallet has tokens, these will be transferred.
40
40
  /// if the new wallet address is externally owned, an approval from the
41
- /// owner of the external wallet for the component to move all tokens must exist
41
+ /// owner of the external wallet to the tokenhandler of the component that
42
+ /// covers the current component balance must exist
42
43
  function setWallet(address walletAddress) external;
43
44
 
44
45
  /// @dev returns the name of this component
@@ -38,19 +38,19 @@ interface IInstanceLinkedComponent is
38
38
  /// only component owner (nft holder) is authorizes to call this function
39
39
  function unlock() external;
40
40
 
41
+ /// @dev Withdraw fees from the distribution component. Only component owner is allowed to withdraw fees.
42
+ /// @param amount the amount to withdraw
43
+ /// @return withdrawnAmount the amount that was actually withdrawn
44
+ function withdrawFees(Amount amount) external returns (Amount withdrawnAmount);
45
+
41
46
  /// @dev defines the instance to which this component is linked to
42
47
  function getInstance() external view returns (IInstance instance);
43
48
 
44
- /// @dev defines the product to which this component is linked to
45
- /// this is only relevant for pool and distribution components
46
- function getProductNftId() external view returns (NftId productNftId);
47
-
48
49
  /// @dev returns the initial component authorization specification.
49
50
  function getAuthorization() external view returns (IAuthorization authorization);
50
51
 
51
- /// @dev Withdraw fees from the distribution component. Only component owner is allowed to withdraw fees.
52
- /// @param amount the amount to withdraw
53
- /// @return withdrawnAmount the amount that was actually withdrawn
54
- function withdrawFees(Amount amount) external returns (Amount withdrawnAmount);
52
+ /// @dev defines the product to which this component is linked to
53
+ /// this is only relevant for pool and distribution components
54
+ function getProductNftId() external view returns (NftId productNftId);
55
55
 
56
56
  }
@@ -10,6 +10,8 @@ import {Amount} from "../type/Amount.sol";
10
10
  /// a default token contract is provided via contract constructor
11
11
  /// relies internally on oz SafeERC20.safeTransferFrom
12
12
  contract TokenHandler {
13
+ event LogTokenHandlerTokenTransfer(address token, address from, address to, uint256 amount);
14
+
13
15
  IERC20Metadata private _token;
14
16
 
15
17
  constructor(address token) {
@@ -24,6 +26,7 @@ contract TokenHandler {
24
26
  )
25
27
  external
26
28
  {
29
+ emit LogTokenHandlerTokenTransfer(address(_token), from, to, amount.toInt());
27
30
  SafeERC20.safeTransferFrom(
28
31
  _token,
29
32
  from,
@@ -40,6 +43,7 @@ contract TokenHandler {
40
43
  )
41
44
  external
42
45
  {
46
+ emit LogTokenHandlerTokenTransfer(token, from, to, amount.toInt());
43
47
  SafeERC20.safeTransferFrom(
44
48
  IERC20Metadata(token),
45
49
  from,
@@ -122,11 +122,10 @@ contract StakingService is
122
122
 
123
123
  // transfer withdrawal amount to target owner
124
124
  address instanceOwner = getRegistry().ownerOf(instanceNftId);
125
+ emit LogStakingServiceRewardReservesDecreased(instanceNftId, instanceOwner, dipAmount, newBalance);
125
126
  $._staking.transferDipAmount(
126
127
  instanceOwner,
127
128
  dipAmount);
128
-
129
- emit LogStakingServiceRewardReservesDecreased(instanceNftId, instanceOwner, dipAmount, newBalance);
130
129
  }
131
130
 
132
131
 
@@ -169,12 +168,12 @@ contract StakingService is
169
168
  targetNftId,
170
169
  dipAmount);
171
170
 
171
+ emit LogStakingServiceStakeCreated(stakeNftId, targetNftId, stakeOwner, dipAmount);
172
+
172
173
  // collect staked dip by staking
173
174
  $._staking.collectDipAmount(
174
175
  stakeOwner,
175
176
  dipAmount);
176
-
177
- emit LogStakingServiceStakeCreated(stakeNftId, targetNftId, stakeOwner, dipAmount);
178
177
  }
179
178
 
180
179
 
@@ -197,12 +196,11 @@ contract StakingService is
197
196
 
198
197
  // collect staked dip by staking
199
198
  if (dipAmount.gtz()) {
199
+ emit LogStakingServiceStakeIncreased(stakeNftId, stakeOwner, dipAmount, stakeBalance);
200
200
  $._staking.collectDipAmount(
201
201
  stakeOwner,
202
202
  dipAmount);
203
203
  }
204
-
205
- emit LogStakingServiceStakeIncreased(stakeNftId, stakeOwner, dipAmount, stakeBalance);
206
204
  }
207
205
 
208
206
 
@@ -247,11 +245,10 @@ contract StakingService is
247
245
  address stakeOwner = msg.sender;
248
246
 
249
247
  Amount rewardsClaimedAmount = $._staking.claimRewards(stakeNftId);
248
+ emit LogStakingServiceRewardsClaimed(stakeNftId, stakeOwner, rewardsClaimedAmount);
250
249
  $._staking.transferDipAmount(
251
250
  stakeOwner,
252
251
  rewardsClaimedAmount);
253
-
254
- emit LogStakingServiceRewardsClaimed(stakeNftId, stakeOwner, rewardsClaimedAmount);
255
252
  }
256
253
 
257
254
 
@@ -270,11 +267,10 @@ contract StakingService is
270
267
  ) = $._staking.unstake(stakeNftId);
271
268
 
272
269
  Amount totalAmount = unstakedAmount + rewardsClaimedAmount;
270
+ emit LogStakingServiceUnstaked(stakeNftId, stakeOwner, totalAmount);
273
271
  $._staking.transferDipAmount(
274
272
  stakeOwner,
275
273
  totalAmount);
276
-
277
- emit LogStakingServiceUnstaked(stakeNftId, stakeOwner, totalAmount);
278
274
  }
279
275
 
280
276
 
@@ -389,12 +385,12 @@ contract StakingService is
389
385
  StakingServiceStorage storage $ = _getStakingServiceStorage();
390
386
  newBalance = $._staking.refillRewardReserves(targetNftId, dipAmount);
391
387
 
388
+ emit LogStakingServiceRewardReservesIncreased(targetNftId, rewardProvider, dipAmount, newBalance);
389
+
392
390
  // collect reward dip from provider
393
391
  $._staking.collectDipAmount(
394
392
  rewardProvider,
395
393
  dipAmount);
396
-
397
- emit LogStakingServiceRewardReservesIncreased(targetNftId, rewardProvider, dipAmount, newBalance);
398
394
  }
399
395
 
400
396
 
@@ -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,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) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etherisc/gif-next",
3
- "version": "0.0.2-bcecc4c-647",
3
+ "version": "0.0.2-bd8fe7c-423",
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": {