@etherisc/gif-next 0.0.2-e9a637d-547 → 0.0.2-ead1eb0-841

Sign up to get free protection for your applications and to get access to all the features.
Files changed (412) hide show
  1. package/README.md +6 -12
  2. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  3. package/artifacts/contracts/{components → distribution}/Distribution.sol/Distribution.json +61 -14
  4. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  5. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1556 -0
  6. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  7. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +780 -0
  8. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  9. package/artifacts/contracts/{components → distribution}/IDistributionComponent.sol/IDistributionComponent.json +45 -14
  10. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  11. package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +24 -274
  12. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
  13. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +6 -6
  14. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  15. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +93 -13
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +5 -43
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +109 -29
  20. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
  21. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +6 -6
  22. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  23. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +124 -0
  24. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  25. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +349 -64
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +49 -278
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +39 -128
  30. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  31. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +427 -257
  32. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  33. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -1
  34. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  35. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +49 -0
  36. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  37. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  38. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +61 -12
  39. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  40. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +8 -8
  41. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  42. package/artifacts/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol}/ObjectManager.json +3 -3
  43. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  44. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  45. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  46. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  47. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  48. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  49. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
  50. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
  51. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  52. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1288 -0
  53. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  54. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +696 -0
  55. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  56. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +105 -29
  57. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  58. package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +56 -25
  59. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  60. package/artifacts/contracts/{instance/service → pool}/IPoolService.sol/IPoolService.json +272 -39
  61. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  62. package/artifacts/contracts/{components → pool}/Pool.sol/Pool.json +56 -25
  63. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  64. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1622 -0
  65. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  66. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +708 -0
  67. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  68. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +918 -0
  69. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  70. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +648 -0
  71. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  72. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1386 -0
  73. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  74. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +748 -0
  75. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  76. package/artifacts/contracts/{instance/service/IClaimService.sol/IClaimService.json → product/IApplicationService.sol/IApplicationService.json} +119 -101
  77. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  78. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +753 -0
  79. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  80. package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +129 -84
  81. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  82. package/artifacts/contracts/{instance/service/IApplicationService.sol/IApplicationService.json → product/IPricingService.sol/IPricingService.json} +63 -175
  83. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  84. package/artifacts/contracts/{components → product}/IProductComponent.sol/IProductComponent.json +53 -22
  85. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  86. package/artifacts/contracts/{instance/service → product}/IProductService.sol/IProductService.json +6 -14
  87. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  88. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1281 -0
  89. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  90. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +740 -0
  91. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  92. package/artifacts/contracts/product/PricingService.sol/PricingService.json +1004 -0
  93. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  94. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +688 -0
  95. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  96. package/artifacts/contracts/{components → product}/Product.sol/Product.json +53 -22
  97. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  98. package/artifacts/contracts/product/ProductService.sol/ProductService.json +864 -0
  99. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  100. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +640 -0
  101. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  102. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  103. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  104. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +5 -13
  105. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  106. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  107. package/artifacts/contracts/registry/Registry.sol/Registry.json +6 -6
  108. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +1 -1
  109. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +4 -4
  110. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  111. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +21 -29
  112. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  113. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +27 -40
  114. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  115. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +9 -9
  116. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  117. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +14 -27
  118. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +4 -0
  119. package/artifacts/contracts/{instance → shared}/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +3 -3
  120. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  121. package/artifacts/contracts/{components → shared}/Component.sol/Component.json +38 -7
  122. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  123. package/artifacts/contracts/{instance/base → shared}/ComponentService.sol/ComponentService.json +38 -14
  124. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  125. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  126. package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +38 -7
  127. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  128. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +0 -13
  129. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  130. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +69 -9
  131. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  132. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +0 -13
  133. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  134. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
  135. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  136. package/artifacts/contracts/shared/IService.sol/IService.json +5 -13
  137. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  138. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  139. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +8 -21
  140. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  141. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +80 -26
  142. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  143. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +20 -33
  144. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  145. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +8 -21
  146. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  147. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  148. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  149. package/artifacts/contracts/shared/Service.sol/Service.json +5 -13
  150. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  151. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +24 -6
  152. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  153. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  154. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  155. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  156. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +523 -0
  157. package/artifacts/contracts/staking/StakeingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  158. package/artifacts/contracts/staking/StakeingServiceManager.sol/StakingServiceManager.json +628 -0
  159. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  160. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +767 -0
  161. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  162. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  163. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  164. package/artifacts/contracts/type/Amount.sol/AmountLib.json +281 -0
  165. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  166. package/artifacts/contracts/{types → type}/Blocknumber.sol/BlocknumberLib.json +3 -3
  167. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  168. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  169. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  170. package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
  171. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  172. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  173. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  174. package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
  175. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  176. package/artifacts/contracts/{types → type}/NftId.sol/NftIdLib.json +5 -5
  177. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  178. package/artifacts/contracts/{types → type}/NftIdSet.sol/LibNftIdSet.json +3 -3
  179. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  180. package/artifacts/contracts/{types → type}/ObjectType.sol/ObjectTypeLib.json +3 -3
  181. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  182. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  183. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  184. package/artifacts/contracts/{types → type}/Referral.sol/ReferralLib.json +5 -5
  185. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  186. package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
  187. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  188. package/artifacts/contracts/{types → type}/RoleId.sol/RoleIdLib.json +5 -5
  189. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  190. package/artifacts/contracts/{types → type}/Seconds.sol/SecondsLib.json +3 -3
  191. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  192. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  193. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  194. package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +20 -7
  195. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  196. package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
  197. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  198. package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
  199. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  200. package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
  201. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  202. package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
  203. package/contracts/{components → distribution}/Distribution.sol +21 -16
  204. package/contracts/{instance/service → distribution}/DistributionService.sol +85 -173
  205. package/contracts/{instance/service → distribution}/DistributionServiceManager.sol +5 -5
  206. package/contracts/{components → distribution}/IDistributionComponent.sol +7 -7
  207. package/contracts/{instance/service → distribution}/IDistributionService.sol +18 -30
  208. package/contracts/instance/BundleManager.sol +8 -9
  209. package/contracts/instance/IInstance.sol +30 -13
  210. package/contracts/instance/IInstanceService.sol +6 -17
  211. package/contracts/instance/Instance.sol +76 -46
  212. package/contracts/instance/InstanceAccessManager.sol +8 -5
  213. package/contracts/instance/InstanceAuthorizationsLib.sol +308 -0
  214. package/contracts/instance/InstanceReader.sol +91 -16
  215. package/contracts/instance/InstanceService.sol +75 -297
  216. package/contracts/instance/InstanceServiceManager.sol +1 -1
  217. package/contracts/instance/InstanceStore.sol +57 -65
  218. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +1 -1
  219. package/contracts/instance/base/IKeyValueStore.sol +14 -10
  220. package/contracts/instance/base/ILifecycle.sol +3 -3
  221. package/contracts/instance/base/KeyValueStore.sol +32 -43
  222. package/contracts/instance/base/Lifecycle.sol +17 -5
  223. package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +7 -7
  224. package/contracts/instance/module/IAccess.sol +2 -2
  225. package/contracts/instance/module/IBundle.sol +5 -5
  226. package/contracts/instance/module/IComponents.sol +8 -8
  227. package/contracts/instance/module/IDistribution.sol +7 -6
  228. package/contracts/instance/module/IPolicy.sol +22 -16
  229. package/contracts/instance/module/IRisk.sol +1 -1
  230. package/contracts/instance/module/ISetup.sol +4 -4
  231. package/contracts/instance/module/ITreasury.sol +2 -2
  232. package/contracts/{instance/service → pool}/BundleService.sol +95 -144
  233. package/contracts/{instance/service → pool}/BundleServiceManager.sol +5 -5
  234. package/contracts/{instance/service → pool}/IBundleService.sol +43 -18
  235. package/contracts/{components → pool}/IPoolComponent.sol +14 -13
  236. package/contracts/{instance/service → pool}/IPoolService.sol +28 -13
  237. package/contracts/{components → pool}/Pool.sol +20 -21
  238. package/contracts/{instance/service → pool}/PoolService.sol +149 -49
  239. package/contracts/{instance/service → pool}/PoolServiceManager.sol +5 -5
  240. package/contracts/product/ApplicationService.sol +186 -0
  241. package/contracts/{instance/service → product}/ApplicationServiceManager.sol +2 -2
  242. package/contracts/product/ClaimService.sol +442 -0
  243. package/contracts/{instance/service → product}/ClaimServiceManager.sol +2 -2
  244. package/contracts/{instance/service → product}/IApplicationService.sol +14 -34
  245. package/contracts/product/IClaimService.sol +93 -0
  246. package/contracts/{instance/service → product}/IPolicyService.sol +34 -26
  247. package/contracts/product/IPricingService.sol +37 -0
  248. package/contracts/{components → product}/IProductComponent.sol +11 -10
  249. package/contracts/{instance/service → product}/IProductService.sol +10 -10
  250. package/contracts/{instance/service → product}/PolicyService.sol +148 -134
  251. package/contracts/{instance/service → product}/PolicyServiceManager.sol +5 -5
  252. package/contracts/product/PricingService.sol +275 -0
  253. package/contracts/product/PricingServiceManager.sol +51 -0
  254. package/contracts/{components → product}/Product.sol +160 -74
  255. package/contracts/{instance/service → product}/ProductService.sol +44 -43
  256. package/contracts/{instance/service → product}/ProductServiceManager.sol +5 -5
  257. package/contracts/registry/IRegistry.sol +4 -4
  258. package/contracts/registry/IRegistryService.sol +4 -6
  259. package/contracts/registry/Registry.sol +3 -3
  260. package/contracts/registry/RegistryAccessManager.sol +2 -2
  261. package/contracts/registry/RegistryService.sol +23 -20
  262. package/contracts/registry/RegistryServiceManager.sol +0 -2
  263. package/contracts/registry/ReleaseManager.sol +12 -8
  264. package/contracts/registry/TokenRegistry.sol +2 -2
  265. package/contracts/{components → shared}/Component.sol +26 -8
  266. package/contracts/{instance/base → shared}/ComponentService.sol +63 -34
  267. package/contracts/{components → shared}/IComponent.sol +19 -5
  268. package/contracts/shared/INftOwnable.sol +1 -1
  269. package/contracts/shared/IPolicyHolder.sol +24 -10
  270. package/contracts/shared/IRegistryLinked.sol +0 -1
  271. package/contracts/shared/IService.sol +3 -1
  272. package/contracts/shared/IVersionable.sol +1 -1
  273. package/contracts/shared/NftOwnable.sol +1 -3
  274. package/contracts/shared/PolicyHolder.sol +31 -18
  275. package/contracts/shared/ProxyManager.sol +3 -3
  276. package/contracts/shared/Registerable.sol +12 -11
  277. package/contracts/shared/RegistryLinked.sol +0 -5
  278. package/contracts/shared/Service.sol +3 -3
  279. package/contracts/shared/TokenHandler.sol +4 -2
  280. package/contracts/shared/Versionable.sol +1 -1
  281. package/contracts/staking/IStakingService.sol +102 -0
  282. package/contracts/staking/StakeingServiceManager.sol +37 -0
  283. package/contracts/staking/StakingService.sol +166 -0
  284. package/contracts/{types → type}/Amount.sol +49 -0
  285. package/contracts/{types → type}/ClaimId.sol +25 -2
  286. package/contracts/{types → type}/Fee.sol +7 -6
  287. package/contracts/{types → type}/NftIdSet.sol +1 -1
  288. package/contracts/{types → type}/ObjectType.sol +10 -5
  289. package/contracts/{types → type}/PayoutId.sol +33 -5
  290. package/contracts/{types → type}/RoleId.sol +44 -9
  291. package/contracts/{types → type}/StateId.sol +6 -2
  292. package/contracts/{types → type}/Timestamp.sol +5 -0
  293. package/package.json +1 -1
  294. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  295. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  296. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  297. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  298. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  299. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  300. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  301. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  302. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  303. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  304. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  305. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  306. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
  307. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -1039
  308. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
  309. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -673
  310. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  311. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1231
  312. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  313. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -721
  314. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
  315. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -817
  316. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
  317. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -641
  318. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  319. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1798
  320. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  321. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -805
  322. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
  323. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  324. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
  325. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  326. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  327. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  328. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  329. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  330. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1092
  331. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  332. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -697
  333. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  334. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -1237
  335. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  336. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -661
  337. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  338. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -840
  339. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  340. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -653
  341. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  342. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  343. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  344. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  345. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  346. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
  347. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  348. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  349. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  350. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -596
  351. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  352. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  353. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  354. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  355. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  356. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
  357. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  358. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  359. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  360. package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +0 -4
  361. package/artifacts/contracts/types/Amount.sol/AmountLib.json +0 -161
  362. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  363. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  364. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  365. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
  366. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +0 -100
  367. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  368. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  369. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -288
  370. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  371. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  372. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  373. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  374. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  375. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  376. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
  377. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +0 -100
  378. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  379. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  380. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  381. package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +0 -4
  382. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  383. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  384. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  385. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  386. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  387. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  388. package/contracts/instance/service/ApplicationService.sol +0 -351
  389. package/contracts/instance/service/ClaimService.sol +0 -151
  390. package/contracts/instance/service/IClaimService.sol +0 -61
  391. package/contracts/shared/ContractDeployerLib.sol +0 -72
  392. package/contracts/test/TestFee.sol +0 -25
  393. package/contracts/test/TestRegisterable.sol +0 -18
  394. package/contracts/test/TestRoleId.sol +0 -14
  395. package/contracts/test/TestService.sol +0 -25
  396. package/contracts/test/TestToken.sol +0 -26
  397. package/contracts/test/TestVersion.sol +0 -44
  398. package/contracts/test/TestVersionable.sol +0 -17
  399. package/contracts/test/Usdc.sol +0 -26
  400. package/contracts/types/ChainId.sol +0 -38
  401. package/contracts/types/NumberId.sol +0 -52
  402. /package/contracts/{instance → shared}/AccessManagerUpgradeableInitializeable.sol +0 -0
  403. /package/contracts/{types → type}/AddressSet.sol +0 -0
  404. /package/contracts/{types → type}/Blocknumber.sol +0 -0
  405. /package/contracts/{types → type}/DistributorType.sol +0 -0
  406. /package/contracts/{types → type}/Key32.sol +0 -0
  407. /package/contracts/{types → type}/NftId.sol +0 -0
  408. /package/contracts/{types → type}/Referral.sol +0 -0
  409. /package/contracts/{types → type}/RiskId.sol +0 -0
  410. /package/contracts/{types → type}/Seconds.sol +0 -0
  411. /package/contracts/{types → type}/UFixed.sol +0 -0
  412. /package/contracts/{types → type}/Version.sol +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "_format": "hh-sol-artifact-1",
3
3
  "contractName": "IPoolService",
4
- "sourceName": "contracts/instance/service/IPoolService.sol",
4
+ "sourceName": "contracts/pool/IPoolService.sol",
5
5
  "abi": [
6
6
  {
7
7
  "inputs": [
@@ -117,6 +117,27 @@
117
117
  "name": "ErrorPoolServiceBundlePoolMismatch",
118
118
  "type": "error"
119
119
  },
120
+ {
121
+ "inputs": [
122
+ {
123
+ "internalType": "Amount",
124
+ "name": "expectedAmount",
125
+ "type": "uint96"
126
+ },
127
+ {
128
+ "internalType": "Amount",
129
+ "name": "actualAmount",
130
+ "type": "uint96"
131
+ }
132
+ ],
133
+ "name": "ErrorPoolServiceInvalidTransferAmount",
134
+ "type": "error"
135
+ },
136
+ {
137
+ "inputs": [],
138
+ "name": "ErrorServiceNotImplemented",
139
+ "type": "error"
140
+ },
120
141
  {
121
142
  "anonymous": false,
122
143
  "inputs": [
@@ -210,15 +231,15 @@
210
231
  },
211
232
  {
212
233
  "indexed": false,
213
- "internalType": "uint256",
234
+ "internalType": "Amount",
214
235
  "name": "previousMaxCapitalAmount",
215
- "type": "uint256"
236
+ "type": "uint96"
216
237
  },
217
238
  {
218
239
  "indexed": false,
219
- "internalType": "uint256",
240
+ "internalType": "Amount",
220
241
  "name": "currentMaxCapitalAmount",
221
- "type": "uint256"
242
+ "type": "uint96"
222
243
  }
223
244
  ],
224
245
  "name": "LogPoolServiceMaxCapitalAmountUpdated",
@@ -403,19 +424,6 @@
403
424
  "stateMutability": "view",
404
425
  "type": "function"
405
426
  },
406
- {
407
- "inputs": [],
408
- "name": "getRegistryAddress",
409
- "outputs": [
410
- {
411
- "internalType": "address",
412
- "name": "",
413
- "type": "address"
414
- }
415
- ],
416
- "stateMutability": "view",
417
- "type": "function"
418
- },
419
427
  {
420
428
  "inputs": [],
421
429
  "name": "getVersion",
@@ -507,8 +515,103 @@
507
515
  "type": "bytes8"
508
516
  },
509
517
  {
510
- "internalType": "uint256",
518
+ "internalType": "Amount",
511
519
  "name": "sumInsuredAmount",
520
+ "type": "uint96"
521
+ },
522
+ {
523
+ "internalType": "Amount",
524
+ "name": "premiumAmount",
525
+ "type": "uint96"
526
+ },
527
+ {
528
+ "internalType": "Amount",
529
+ "name": "premiumPaidAmount",
530
+ "type": "uint96"
531
+ },
532
+ {
533
+ "internalType": "Seconds",
534
+ "name": "lifetime",
535
+ "type": "uint40"
536
+ },
537
+ {
538
+ "internalType": "bytes",
539
+ "name": "applicationData",
540
+ "type": "bytes"
541
+ },
542
+ {
543
+ "internalType": "bytes",
544
+ "name": "processData",
545
+ "type": "bytes"
546
+ },
547
+ {
548
+ "internalType": "uint16",
549
+ "name": "claimsCount",
550
+ "type": "uint16"
551
+ },
552
+ {
553
+ "internalType": "uint16",
554
+ "name": "openClaimsCount",
555
+ "type": "uint16"
556
+ },
557
+ {
558
+ "internalType": "Amount",
559
+ "name": "claimAmount",
560
+ "type": "uint96"
561
+ },
562
+ {
563
+ "internalType": "Amount",
564
+ "name": "payoutAmount",
565
+ "type": "uint96"
566
+ },
567
+ {
568
+ "internalType": "Timestamp",
569
+ "name": "activatedAt",
570
+ "type": "uint40"
571
+ },
572
+ {
573
+ "internalType": "Timestamp",
574
+ "name": "expiredAt",
575
+ "type": "uint40"
576
+ },
577
+ {
578
+ "internalType": "Timestamp",
579
+ "name": "closedAt",
580
+ "type": "uint40"
581
+ }
582
+ ],
583
+ "internalType": "struct IPolicy.PolicyInfo",
584
+ "name": "applicationInfo",
585
+ "type": "tuple"
586
+ },
587
+ {
588
+ "internalType": "Amount",
589
+ "name": "premiumAmount",
590
+ "type": "uint96"
591
+ }
592
+ ],
593
+ "name": "lockCollateral",
594
+ "outputs": [],
595
+ "stateMutability": "nonpayable",
596
+ "type": "function"
597
+ },
598
+ {
599
+ "inputs": [
600
+ {
601
+ "internalType": "NftId",
602
+ "name": "bundleNftId",
603
+ "type": "uint96"
604
+ },
605
+ {
606
+ "components": [
607
+ {
608
+ "internalType": "uint256",
609
+ "name": "netPremiumAmount",
610
+ "type": "uint256"
611
+ },
612
+ {
613
+ "internalType": "uint256",
614
+ "name": "fullPremiumAmount",
512
615
  "type": "uint256"
513
616
  },
514
617
  {
@@ -518,9 +621,129 @@
518
621
  },
519
622
  {
520
623
  "internalType": "uint256",
521
- "name": "premiumPaidAmount",
624
+ "name": "productFeeFixAmount",
522
625
  "type": "uint256"
523
626
  },
627
+ {
628
+ "internalType": "uint256",
629
+ "name": "poolFeeFixAmount",
630
+ "type": "uint256"
631
+ },
632
+ {
633
+ "internalType": "uint256",
634
+ "name": "bundleFeeFixAmount",
635
+ "type": "uint256"
636
+ },
637
+ {
638
+ "internalType": "uint256",
639
+ "name": "distributionFeeFixAmount",
640
+ "type": "uint256"
641
+ },
642
+ {
643
+ "internalType": "uint256",
644
+ "name": "productFeeVarAmount",
645
+ "type": "uint256"
646
+ },
647
+ {
648
+ "internalType": "uint256",
649
+ "name": "poolFeeVarAmount",
650
+ "type": "uint256"
651
+ },
652
+ {
653
+ "internalType": "uint256",
654
+ "name": "bundleFeeVarAmount",
655
+ "type": "uint256"
656
+ },
657
+ {
658
+ "internalType": "uint256",
659
+ "name": "distributionFeeVarAmount",
660
+ "type": "uint256"
661
+ },
662
+ {
663
+ "internalType": "uint256",
664
+ "name": "distributionOwnerFeeFixAmount",
665
+ "type": "uint256"
666
+ },
667
+ {
668
+ "internalType": "uint256",
669
+ "name": "distributionOwnerFeeVarAmount",
670
+ "type": "uint256"
671
+ },
672
+ {
673
+ "internalType": "uint256",
674
+ "name": "commissionAmount",
675
+ "type": "uint256"
676
+ },
677
+ {
678
+ "internalType": "uint256",
679
+ "name": "discountAmount",
680
+ "type": "uint256"
681
+ }
682
+ ],
683
+ "internalType": "struct IPolicy.Premium",
684
+ "name": "premium",
685
+ "type": "tuple"
686
+ },
687
+ {
688
+ "internalType": "Amount",
689
+ "name": "actualAmountTransferred",
690
+ "type": "uint96"
691
+ }
692
+ ],
693
+ "name": "processSale",
694
+ "outputs": [],
695
+ "stateMutability": "nonpayable",
696
+ "type": "function"
697
+ },
698
+ {
699
+ "inputs": [
700
+ {
701
+ "internalType": "contract IInstance",
702
+ "name": "instance",
703
+ "type": "address"
704
+ },
705
+ {
706
+ "internalType": "NftId",
707
+ "name": "policyNftId",
708
+ "type": "uint96"
709
+ },
710
+ {
711
+ "components": [
712
+ {
713
+ "internalType": "NftId",
714
+ "name": "productNftId",
715
+ "type": "uint96"
716
+ },
717
+ {
718
+ "internalType": "NftId",
719
+ "name": "bundleNftId",
720
+ "type": "uint96"
721
+ },
722
+ {
723
+ "internalType": "ReferralId",
724
+ "name": "referralId",
725
+ "type": "bytes8"
726
+ },
727
+ {
728
+ "internalType": "RiskId",
729
+ "name": "riskId",
730
+ "type": "bytes8"
731
+ },
732
+ {
733
+ "internalType": "Amount",
734
+ "name": "sumInsuredAmount",
735
+ "type": "uint96"
736
+ },
737
+ {
738
+ "internalType": "Amount",
739
+ "name": "premiumAmount",
740
+ "type": "uint96"
741
+ },
742
+ {
743
+ "internalType": "Amount",
744
+ "name": "premiumPaidAmount",
745
+ "type": "uint96"
746
+ },
524
747
  {
525
748
  "internalType": "Seconds",
526
749
  "name": "lifetime",
@@ -533,7 +756,7 @@
533
756
  },
534
757
  {
535
758
  "internalType": "bytes",
536
- "name": "policyData",
759
+ "name": "processData",
537
760
  "type": "bytes"
538
761
  },
539
762
  {
@@ -547,9 +770,14 @@
547
770
  "type": "uint16"
548
771
  },
549
772
  {
550
- "internalType": "uint256",
773
+ "internalType": "Amount",
774
+ "name": "claimAmount",
775
+ "type": "uint96"
776
+ },
777
+ {
778
+ "internalType": "Amount",
551
779
  "name": "payoutAmount",
552
- "type": "uint256"
780
+ "type": "uint96"
553
781
  },
554
782
  {
555
783
  "internalType": "Timestamp",
@@ -568,16 +796,16 @@
568
796
  }
569
797
  ],
570
798
  "internalType": "struct IPolicy.PolicyInfo",
571
- "name": "applicationInfo",
799
+ "name": "policyInfo",
572
800
  "type": "tuple"
573
801
  },
574
802
  {
575
- "internalType": "uint256",
576
- "name": "premiumAmount",
577
- "type": "uint256"
803
+ "internalType": "Amount",
804
+ "name": "payoutAmount",
805
+ "type": "uint96"
578
806
  }
579
807
  ],
580
- "name": "lockCollateral",
808
+ "name": "reduceCollateral",
581
809
  "outputs": [],
582
810
  "stateMutability": "nonpayable",
583
811
  "type": "function"
@@ -636,19 +864,19 @@
636
864
  "type": "bytes8"
637
865
  },
638
866
  {
639
- "internalType": "uint256",
867
+ "internalType": "Amount",
640
868
  "name": "sumInsuredAmount",
641
- "type": "uint256"
869
+ "type": "uint96"
642
870
  },
643
871
  {
644
- "internalType": "uint256",
872
+ "internalType": "Amount",
645
873
  "name": "premiumAmount",
646
- "type": "uint256"
874
+ "type": "uint96"
647
875
  },
648
876
  {
649
- "internalType": "uint256",
877
+ "internalType": "Amount",
650
878
  "name": "premiumPaidAmount",
651
- "type": "uint256"
879
+ "type": "uint96"
652
880
  },
653
881
  {
654
882
  "internalType": "Seconds",
@@ -662,7 +890,7 @@
662
890
  },
663
891
  {
664
892
  "internalType": "bytes",
665
- "name": "policyData",
893
+ "name": "processData",
666
894
  "type": "bytes"
667
895
  },
668
896
  {
@@ -676,9 +904,14 @@
676
904
  "type": "uint16"
677
905
  },
678
906
  {
679
- "internalType": "uint256",
907
+ "internalType": "Amount",
908
+ "name": "claimAmount",
909
+ "type": "uint96"
910
+ },
911
+ {
912
+ "internalType": "Amount",
680
913
  "name": "payoutAmount",
681
- "type": "uint256"
914
+ "type": "uint96"
682
915
  },
683
916
  {
684
917
  "internalType": "Timestamp",
@@ -794,9 +1027,9 @@
794
1027
  {
795
1028
  "inputs": [
796
1029
  {
797
- "internalType": "uint256",
1030
+ "internalType": "Amount",
798
1031
  "name": "maxCapitalAmount",
799
- "type": "uint256"
1032
+ "type": "uint96"
800
1033
  }
801
1034
  ],
802
1035
  "name": "setMaxCapitalAmount",
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/39ed64a6d94bda54f955e31d7771246c.json"
4
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "_format": "hh-sol-artifact-1",
3
3
  "contractName": "Pool",
4
- "sourceName": "contracts/components/Pool.sol",
4
+ "sourceName": "contracts/pool/Pool.sol",
5
5
  "abi": [
6
6
  {
7
7
  "inputs": [
@@ -137,6 +137,11 @@
137
137
  "name": "ErrorComponentWalletAllowanceTooSmall",
138
138
  "type": "error"
139
139
  },
140
+ {
141
+ "inputs": [],
142
+ "name": "ErrorComponentWalletNotComponent",
143
+ "type": "error"
144
+ },
140
145
  {
141
146
  "inputs": [
142
147
  {
@@ -276,6 +281,19 @@
276
281
  "name": "Initialized",
277
282
  "type": "event"
278
283
  },
284
+ {
285
+ "anonymous": false,
286
+ "inputs": [
287
+ {
288
+ "indexed": false,
289
+ "internalType": "uint256",
290
+ "name": "limit",
291
+ "type": "uint256"
292
+ }
293
+ ],
294
+ "name": "LogComponentTokenHandlerApproved",
295
+ "type": "event"
296
+ },
279
297
  {
280
298
  "anonymous": false,
281
299
  "inputs": [
@@ -337,9 +355,9 @@
337
355
  },
338
356
  {
339
357
  "indexed": false,
340
- "internalType": "uint256",
358
+ "internalType": "Amount",
341
359
  "name": "collateralizationAmount",
342
- "type": "uint256"
360
+ "type": "uint96"
343
361
  }
344
362
  ],
345
363
  "name": "LogPoolVerifiedByPool",
@@ -420,9 +438,9 @@
420
438
  "type": "bytes"
421
439
  },
422
440
  {
423
- "internalType": "uint256",
441
+ "internalType": "Amount",
424
442
  "name": "collateralizationAmount",
425
- "type": "uint256"
443
+ "type": "uint96"
426
444
  }
427
445
  ],
428
446
  "name": "applicationMatchesBundle",
@@ -436,6 +454,19 @@
436
454
  "stateMutability": "view",
437
455
  "type": "function"
438
456
  },
457
+ {
458
+ "inputs": [
459
+ {
460
+ "internalType": "uint256",
461
+ "name": "spendingLimitAmount",
462
+ "type": "uint256"
463
+ }
464
+ ],
465
+ "name": "approveTokenHandler",
466
+ "outputs": [],
467
+ "stateMutability": "nonpayable",
468
+ "type": "function"
469
+ },
439
470
  {
440
471
  "inputs": [],
441
472
  "name": "authority",
@@ -668,19 +699,19 @@
668
699
  "type": "uint64"
669
700
  },
670
701
  {
671
- "internalType": "uint256",
702
+ "internalType": "Amount",
672
703
  "name": "maxCapitalAmount",
673
- "type": "uint256"
704
+ "type": "uint96"
674
705
  },
675
706
  {
676
- "internalType": "uint256",
707
+ "internalType": "Amount",
677
708
  "name": "balanceAmount",
678
- "type": "uint256"
709
+ "type": "uint96"
679
710
  },
680
711
  {
681
- "internalType": "uint256",
712
+ "internalType": "Amount",
682
713
  "name": "feeAmount",
683
- "type": "uint256"
714
+ "type": "uint96"
684
715
  },
685
716
  {
686
717
  "internalType": "bool",
@@ -795,11 +826,11 @@
795
826
  },
796
827
  {
797
828
  "inputs": [],
798
- "name": "getRegistryAddress",
829
+ "name": "getToken",
799
830
  "outputs": [
800
831
  {
801
- "internalType": "address",
802
- "name": "",
832
+ "internalType": "contract IERC20Metadata",
833
+ "name": "token",
803
834
  "type": "address"
804
835
  }
805
836
  ],
@@ -808,11 +839,11 @@
808
839
  },
809
840
  {
810
841
  "inputs": [],
811
- "name": "getToken",
842
+ "name": "getTokenHandler",
812
843
  "outputs": [
813
844
  {
814
- "internalType": "contract IERC20Metadata",
815
- "name": "token",
845
+ "internalType": "contract TokenHandler",
846
+ "name": "tokenHandler",
816
847
  "type": "address"
817
848
  }
818
849
  ],
@@ -1224,9 +1255,9 @@
1224
1255
  {
1225
1256
  "inputs": [
1226
1257
  {
1227
- "internalType": "uint256",
1258
+ "internalType": "Amount",
1228
1259
  "name": "maxCapitalAmount",
1229
- "type": "uint256"
1260
+ "type": "uint96"
1230
1261
  }
1231
1262
  ],
1232
1263
  "name": "setMaxCapitalAmount",
@@ -1268,9 +1299,9 @@
1268
1299
  "type": "uint96"
1269
1300
  },
1270
1301
  {
1271
- "internalType": "uint256",
1302
+ "internalType": "Amount",
1272
1303
  "name": "amount",
1273
- "type": "uint256"
1304
+ "type": "uint96"
1274
1305
  }
1275
1306
  ],
1276
1307
  "name": "stake",
@@ -1325,9 +1356,9 @@
1325
1356
  "type": "uint96"
1326
1357
  },
1327
1358
  {
1328
- "internalType": "uint256",
1359
+ "internalType": "Amount",
1329
1360
  "name": "amount",
1330
- "type": "uint256"
1361
+ "type": "uint96"
1331
1362
  }
1332
1363
  ],
1333
1364
  "name": "unstake",
@@ -1358,9 +1389,9 @@
1358
1389
  "type": "bytes"
1359
1390
  },
1360
1391
  {
1361
- "internalType": "uint256",
1392
+ "internalType": "Amount",
1362
1393
  "name": "collateralizationAmount",
1363
- "type": "uint256"
1394
+ "type": "uint96"
1364
1395
  }
1365
1396
  ],
1366
1397
  "name": "verifyApplication",
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/39ed64a6d94bda54f955e31d7771246c.json"
4
+ }