@etherisc/gif-next 0.0.2-89c8f37-711 → 0.0.2-89ff2e2-420

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 (530) hide show
  1. package/README.md +88 -9
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1046 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +752 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/{shared/ComponentVerifyingService.sol/ComponentVerifyingService.json → accounting/IAccountingService.sol/IAccountingService.json} +387 -112
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +673 -262
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -0
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +456 -24
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +549 -209
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +215 -18
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +265 -16
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +473 -17
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +164 -487
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +431 -36
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +83 -387
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +629 -365
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +186 -128
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +84 -198
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +437 -126
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1461 -0
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2026 -0
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -0
  49. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1404 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1152 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1628 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2452 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
  65. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  66. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
  67. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  68. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +540 -65
  69. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +290 -57
  71. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  72. package/artifacts/contracts/instance/Instance.sol/Instance.json +549 -166
  73. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1034 -311
  75. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +369 -68
  77. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1689 -773
  79. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +303 -227
  81. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +106 -106
  83. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +921 -718
  85. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  87. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  88. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  89. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  90. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  91. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  92. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
  94. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  95. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
  96. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  98. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  99. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  100. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  103. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  104. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  105. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +108 -355
  106. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  107. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +429 -37
  108. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  109. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  110. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +91 -140
  111. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  112. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
  113. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  114. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +84 -323
  115. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  116. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +169 -190
  117. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  118. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +140 -98
  119. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  120. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +132 -421
  121. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  122. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +430 -35
  123. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  124. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +469 -344
  125. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  126. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +161 -115
  127. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  128. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +308 -101
  129. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  130. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +120 -236
  131. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  132. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +682 -340
  133. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  134. package/artifacts/contracts/pool/Pool.sol/Pool.json +110 -416
  135. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  136. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +546 -0
  137. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  138. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +901 -550
  139. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  140. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +193 -107
  141. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  142. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +324 -180
  143. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  144. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +122 -100
  145. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  146. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +261 -439
  147. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  148. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +430 -35
  149. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  150. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +443 -235
  151. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  152. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +158 -124
  153. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  154. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +272 -9
  155. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  156. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +319 -16
  157. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  158. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +376 -102
  159. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +157 -83
  161. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  162. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +245 -233
  163. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  164. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +88 -8
  165. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  166. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +482 -303
  167. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  168. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  169. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  170. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +159 -109
  171. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  172. package/artifacts/contracts/product/PricingService.sol/PricingService.json +224 -338
  173. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  174. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +128 -138
  175. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  176. package/artifacts/contracts/product/Product.sol/Product.json +253 -431
  177. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  178. package/artifacts/contracts/product/RiskService.sol/RiskService.json +688 -0
  179. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  180. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +736 -0
  181. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  182. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  183. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  184. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +342 -42
  185. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  186. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +144 -41
  187. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  188. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  189. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  190. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  191. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  192. package/artifacts/contracts/registry/Registry.sol/Registry.json +548 -103
  193. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  194. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +795 -394
  195. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  196. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1053 -0
  197. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  198. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
  199. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  200. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +104 -90
  201. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  202. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
  203. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  204. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  205. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  206. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +483 -253
  207. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  208. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +489 -20
  209. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  210. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +15 -15
  211. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  212. package/artifacts/contracts/shared/Component.sol/Component.json +67 -277
  213. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  214. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +438 -647
  215. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  216. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +140 -136
  217. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  218. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  219. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  220. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  221. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  225. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  226. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +80 -100
  227. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  228. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +394 -300
  229. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  230. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +91 -140
  231. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  232. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
  233. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  234. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  235. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  236. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  237. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  238. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  239. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  240. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
  241. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  242. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  243. package/artifacts/contracts/shared/IService.sol/IService.json +55 -2
  244. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  245. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
  246. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  247. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +83 -322
  248. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  249. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
  250. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  251. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  252. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  253. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  254. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  255. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
  256. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  257. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  258. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  259. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
  260. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  261. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  262. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  263. package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
  264. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  265. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +585 -12
  266. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  267. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  268. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  269. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  270. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  271. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +312 -133
  272. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  273. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +155 -23
  274. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  275. package/artifacts/contracts/staking/Staking.sol/Staking.json +410 -390
  276. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  277. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
  278. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  279. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
  280. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  281. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +144 -101
  282. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  283. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +91 -67
  284. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  285. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +224 -171
  286. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  287. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +121 -95
  288. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  289. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +205 -150
  290. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  291. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +91 -50
  292. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  293. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  294. package/artifacts/contracts/type/Amount.sol/AmountLib.json +35 -11
  295. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  296. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  297. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  298. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  299. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  300. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/Fee.sol/FeeLib.json +94 -38
  302. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  303. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  304. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  305. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  306. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  308. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  309. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  310. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  311. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
  312. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  313. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  314. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  316. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  318. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  320. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
  322. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +69 -2
  324. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  326. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  328. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  330. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
  332. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
  334. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +73 -36
  336. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  337. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  338. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
  340. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  341. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  342. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +81 -80
  343. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  344. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
  345. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  346. package/contracts/accounting/AccountingService.sol +274 -0
  347. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  348. package/contracts/accounting/IAccountingService.sol +47 -0
  349. package/contracts/authorization/AccessAdmin.sol +456 -267
  350. package/contracts/authorization/AccessAdminLib.sol +396 -0
  351. package/contracts/authorization/AccessManagerCloneable.sol +146 -4
  352. package/contracts/authorization/Authorization.sol +159 -203
  353. package/contracts/authorization/IAccess.sol +25 -6
  354. package/contracts/authorization/IAccessAdmin.sol +87 -79
  355. package/contracts/authorization/IAuthorization.sol +9 -36
  356. package/contracts/authorization/IServiceAuthorization.sol +57 -17
  357. package/contracts/authorization/ServiceAuthorization.sol +254 -24
  358. package/contracts/distribution/BasicDistribution.sol +20 -17
  359. package/contracts/distribution/BasicDistributionAuthorization.sol +30 -10
  360. package/contracts/distribution/Distribution.sol +42 -90
  361. package/contracts/distribution/DistributionService.sol +242 -131
  362. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  363. package/contracts/distribution/IDistributionComponent.sol +4 -11
  364. package/contracts/distribution/IDistributionService.sol +47 -29
  365. package/contracts/examples/fire/DamageLevel.sol +59 -0
  366. package/contracts/examples/fire/FirePool.sol +86 -0
  367. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  368. package/contracts/examples/fire/FireProduct.sol +433 -0
  369. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  370. package/contracts/examples/fire/FireUSD.sol +26 -0
  371. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  372. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  373. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  374. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  375. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  376. package/contracts/examples/unpermissioned/SimpleProduct.sol +385 -0
  377. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  378. package/contracts/instance/BundleSet.sol +42 -38
  379. package/contracts/instance/IInstance.sol +101 -42
  380. package/contracts/instance/IInstanceService.sol +52 -31
  381. package/contracts/instance/Instance.sol +189 -97
  382. package/contracts/instance/InstanceAdmin.sol +275 -158
  383. package/contracts/instance/InstanceAuthorizationV3.sol +120 -58
  384. package/contracts/instance/InstanceReader.sol +478 -251
  385. package/contracts/instance/InstanceService.sol +298 -229
  386. package/contracts/instance/InstanceServiceManager.sol +6 -7
  387. package/contracts/instance/InstanceStore.sol +23 -2
  388. package/contracts/instance/RiskSet.sol +118 -0
  389. package/contracts/instance/base/BalanceStore.sol +3 -5
  390. package/contracts/instance/base/ObjectCounter.sol +1 -2
  391. package/contracts/instance/base/ObjectLifecycle.sol +11 -4
  392. package/contracts/instance/base/ObjectSet.sol +31 -33
  393. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  394. package/contracts/instance/module/IBundle.sol +6 -5
  395. package/contracts/instance/module/IComponents.sol +30 -19
  396. package/contracts/instance/module/IDistribution.sol +21 -8
  397. package/contracts/instance/module/IPolicy.sol +50 -29
  398. package/contracts/instance/module/IRisk.sol +5 -0
  399. package/contracts/oracle/BasicOracle.sol +1 -4
  400. package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
  401. package/contracts/oracle/IOracle.sol +9 -4
  402. package/contracts/oracle/IOracleService.sol +2 -1
  403. package/contracts/oracle/Oracle.sol +7 -19
  404. package/contracts/oracle/OracleService.sol +117 -85
  405. package/contracts/oracle/OracleServiceManager.sol +6 -6
  406. package/contracts/pool/BasicPool.sol +37 -28
  407. package/contracts/pool/BasicPoolAuthorization.sol +38 -11
  408. package/contracts/pool/BundleService.sol +200 -135
  409. package/contracts/pool/BundleServiceManager.sol +6 -6
  410. package/contracts/pool/IBundleService.sol +39 -38
  411. package/contracts/pool/IPoolComponent.sol +19 -15
  412. package/contracts/pool/IPoolService.sol +97 -77
  413. package/contracts/pool/Pool.sol +145 -130
  414. package/contracts/pool/PoolLib.sol +359 -0
  415. package/contracts/pool/PoolService.sol +413 -233
  416. package/contracts/pool/PoolServiceManager.sol +4 -4
  417. package/contracts/product/ApplicationService.sol +143 -46
  418. package/contracts/product/ApplicationServiceManager.sol +4 -4
  419. package/contracts/product/BasicProduct.sol +10 -13
  420. package/contracts/product/BasicProductAuthorization.sol +32 -12
  421. package/contracts/product/ClaimService.sol +385 -161
  422. package/contracts/product/ClaimServiceManager.sol +4 -4
  423. package/contracts/product/IApplicationService.sol +29 -3
  424. package/contracts/product/IClaimService.sol +44 -8
  425. package/contracts/product/IPolicyService.sol +61 -39
  426. package/contracts/product/IPricingService.sol +11 -10
  427. package/contracts/product/IProductComponent.sol +27 -5
  428. package/contracts/product/{IProductService.sol → IRiskService.sol} +8 -8
  429. package/contracts/product/PolicyService.sol +431 -285
  430. package/contracts/product/PolicyServiceLib.sol +139 -0
  431. package/contracts/product/PolicyServiceManager.sol +4 -4
  432. package/contracts/product/PricingService.sol +90 -84
  433. package/contracts/product/PricingServiceManager.sol +4 -4
  434. package/contracts/product/Product.sol +170 -99
  435. package/contracts/product/RiskService.sol +157 -0
  436. package/contracts/product/RiskServiceManager.sol +39 -0
  437. package/contracts/registry/ChainNft.sol +72 -40
  438. package/contracts/registry/IRegistry.sol +64 -28
  439. package/contracts/registry/IRegistryService.sol +5 -12
  440. package/contracts/registry/IRelease.sol +29 -0
  441. package/contracts/registry/ITransferInterceptor.sol +1 -2
  442. package/contracts/registry/Registry.sol +357 -203
  443. package/contracts/registry/RegistryAdmin.sol +110 -287
  444. package/contracts/registry/RegistryAuthorization.sol +284 -0
  445. package/contracts/registry/RegistryService.sol +37 -48
  446. package/contracts/registry/RegistryServiceManager.sol +3 -3
  447. package/contracts/registry/ReleaseAdmin.sol +195 -0
  448. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  449. package/contracts/registry/ReleaseRegistry.sol +275 -240
  450. package/contracts/registry/ServiceAuthorizationV3.sol +202 -57
  451. package/contracts/registry/TokenRegistry.sol +12 -13
  452. package/contracts/shared/Component.sol +65 -135
  453. package/contracts/shared/ComponentService.sol +411 -384
  454. package/contracts/shared/ComponentServiceManager.sol +8 -5
  455. package/contracts/shared/ContractLib.sol +311 -0
  456. package/contracts/shared/IComponent.sol +6 -18
  457. package/contracts/shared/IComponentService.sol +42 -40
  458. package/contracts/shared/IInstanceLinkedComponent.sol +6 -32
  459. package/contracts/shared/ILifecycle.sol +3 -1
  460. package/contracts/shared/INftOwnable.sol +2 -0
  461. package/contracts/shared/IPolicyHolder.sol +12 -22
  462. package/contracts/shared/IRegisterable.sol +22 -1
  463. package/contracts/shared/IService.sol +3 -5
  464. package/contracts/shared/InitializableERC165.sol +10 -2
  465. package/contracts/shared/InstanceLinkedComponent.sol +72 -50
  466. package/contracts/shared/KeyValueStore.sol +1 -1
  467. package/contracts/shared/Lifecycle.sol +15 -4
  468. package/contracts/shared/NftOwnable.sol +29 -9
  469. package/contracts/shared/PolicyHolder.sol +18 -54
  470. package/contracts/shared/Registerable.sol +52 -21
  471. package/contracts/shared/RegistryLinked.sol +9 -14
  472. package/contracts/shared/Service.sol +20 -35
  473. package/contracts/shared/TokenHandler.sol +310 -26
  474. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  475. package/contracts/staking/IStaking.sol +48 -20
  476. package/contracts/staking/IStakingService.sol +21 -11
  477. package/contracts/staking/Staking.sol +198 -109
  478. package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +95 -45
  479. package/contracts/staking/StakingManager.sol +8 -6
  480. package/contracts/staking/StakingReader.sol +40 -24
  481. package/contracts/staking/StakingService.sol +96 -39
  482. package/contracts/staking/StakingServiceManager.sol +6 -5
  483. package/contracts/staking/StakingStore.sol +3 -2
  484. package/contracts/staking/TargetManagerLib.sol +8 -4
  485. package/contracts/type/Amount.sol +15 -0
  486. package/contracts/type/ClaimId.sol +6 -1
  487. package/contracts/type/Fee.sol +8 -8
  488. package/contracts/type/Key32.sol +2 -2
  489. package/contracts/type/Key32Set.sol +62 -0
  490. package/contracts/type/NftId.sol +7 -0
  491. package/contracts/type/ObjectType.sol +73 -37
  492. package/contracts/type/PayoutId.sol +10 -10
  493. package/contracts/type/RiskId.sol +38 -6
  494. package/contracts/type/RoleId.sol +61 -55
  495. package/contracts/type/Seconds.sol +25 -1
  496. package/contracts/type/Selector.sol +5 -0
  497. package/contracts/type/StateId.sol +15 -1
  498. package/contracts/type/String.sol +12 -0
  499. package/contracts/type/Timestamp.sol +4 -5
  500. package/contracts/type/UFixed.sol +37 -126
  501. package/contracts/type/Version.sol +54 -5
  502. package/contracts/upgradeability/ProxyManager.sol +81 -45
  503. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +7 -1
  504. package/contracts/upgradeability/Versionable.sol +6 -3
  505. package/package.json +5 -4
  506. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  507. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  508. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  509. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  510. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  511. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  512. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  513. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  514. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  515. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  516. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  517. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
  518. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  519. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  520. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  521. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -470
  522. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  523. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
  524. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  525. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  526. package/contracts/instance/module/IAccess.sol +0 -46
  527. package/contracts/product/ProductService.sol +0 -99
  528. package/contracts/product/ProductServiceManager.sol +0 -39
  529. package/contracts/shared/ComponentVerifyingService.sol +0 -117
  530. package/contracts/shared/InitializableCustom.sol +0 -177
@@ -41,6 +41,17 @@
41
41
  "name": "AccessManagedUnauthorized",
42
42
  "type": "error"
43
43
  },
44
+ {
45
+ "inputs": [
46
+ {
47
+ "internalType": "address",
48
+ "name": "authority",
49
+ "type": "address"
50
+ }
51
+ ],
52
+ "name": "ErrorAuthorityInvalid",
53
+ "type": "error"
54
+ },
44
55
  {
45
56
  "inputs": [
46
57
  {
@@ -68,6 +79,22 @@
68
79
  "name": "ErrorNftOwnableInitialOwnerZero",
69
80
  "type": "error"
70
81
  },
82
+ {
83
+ "inputs": [
84
+ {
85
+ "internalType": "NftId",
86
+ "name": "nftId",
87
+ "type": "uint96"
88
+ },
89
+ {
90
+ "internalType": "ObjectType",
91
+ "name": "expectedObjectType",
92
+ "type": "uint8"
93
+ }
94
+ ],
95
+ "name": "ErrorNftOwnableInvalidType",
96
+ "type": "error"
97
+ },
71
98
  {
72
99
  "inputs": [
73
100
  {
@@ -101,6 +128,38 @@
101
128
  "name": "ErrorPoolServiceBundleOwnerRoleAlreadySet",
102
129
  "type": "error"
103
130
  },
131
+ {
132
+ "inputs": [
133
+ {
134
+ "internalType": "NftId",
135
+ "name": "bundleNftId",
136
+ "type": "uint96"
137
+ },
138
+ {
139
+ "internalType": "NftId",
140
+ "name": "poolNftId",
141
+ "type": "uint96"
142
+ }
143
+ ],
144
+ "name": "ErrorPoolServiceBundlePoolMismatch",
145
+ "type": "error"
146
+ },
147
+ {
148
+ "inputs": [
149
+ {
150
+ "internalType": "Amount",
151
+ "name": "amount",
152
+ "type": "uint96"
153
+ },
154
+ {
155
+ "internalType": "Amount",
156
+ "name": "limit",
157
+ "type": "uint96"
158
+ }
159
+ ],
160
+ "name": "ErrorPoolServiceFeesWithdrawAmountExceedsLimit",
161
+ "type": "error"
162
+ },
104
163
  {
105
164
  "inputs": [
106
165
  {
@@ -117,9 +176,67 @@
117
176
  "name": "ErrorPoolServiceInvalidTransferAmount",
118
177
  "type": "error"
119
178
  },
179
+ {
180
+ "inputs": [
181
+ {
182
+ "internalType": "NftId",
183
+ "name": "poolNftId",
184
+ "type": "uint96"
185
+ },
186
+ {
187
+ "internalType": "Amount",
188
+ "name": "maxBalanceAmount",
189
+ "type": "uint96"
190
+ },
191
+ {
192
+ "internalType": "Amount",
193
+ "name": "currentBalanceAmount",
194
+ "type": "uint96"
195
+ },
196
+ {
197
+ "internalType": "Amount",
198
+ "name": "transferAmount",
199
+ "type": "uint96"
200
+ }
201
+ ],
202
+ "name": "ErrorPoolServiceMaxBalanceAmountExceeded",
203
+ "type": "error"
204
+ },
205
+ {
206
+ "inputs": [
207
+ {
208
+ "internalType": "NftId",
209
+ "name": "policyNftId",
210
+ "type": "uint96"
211
+ },
212
+ {
213
+ "internalType": "NftId",
214
+ "name": "productNftId",
215
+ "type": "uint96"
216
+ },
217
+ {
218
+ "internalType": "NftId",
219
+ "name": "expectedProductNftId",
220
+ "type": "uint96"
221
+ }
222
+ ],
223
+ "name": "ErrorPoolServicePolicyPoolMismatch",
224
+ "type": "error"
225
+ },
226
+ {
227
+ "inputs": [
228
+ {
229
+ "internalType": "NftId",
230
+ "name": "poolNftId",
231
+ "type": "uint96"
232
+ }
233
+ ],
234
+ "name": "ErrorPoolServicePoolNotExternallyManaged",
235
+ "type": "error"
236
+ },
120
237
  {
121
238
  "inputs": [],
122
- "name": "ErrorServiceNotImplemented",
239
+ "name": "ErrorRegisterableNotActive",
123
240
  "type": "error"
124
241
  },
125
242
  {
@@ -132,7 +249,255 @@
132
249
  "type": "address"
133
250
  }
134
251
  ],
135
- "name": "AuthorityUpdated",
252
+ "name": "AuthorityUpdated",
253
+ "type": "event"
254
+ },
255
+ {
256
+ "anonymous": false,
257
+ "inputs": [
258
+ {
259
+ "indexed": false,
260
+ "internalType": "NftId",
261
+ "name": "poolNftId",
262
+ "type": "uint96"
263
+ },
264
+ {
265
+ "indexed": false,
266
+ "internalType": "NftId",
267
+ "name": "bundleNftId",
268
+ "type": "uint96"
269
+ },
270
+ {
271
+ "indexed": false,
272
+ "internalType": "NftId",
273
+ "name": "applicationNftId",
274
+ "type": "uint96"
275
+ },
276
+ {
277
+ "indexed": false,
278
+ "internalType": "Amount",
279
+ "name": "totalCollateralAmount",
280
+ "type": "uint96"
281
+ }
282
+ ],
283
+ "name": "LogPoolServiceApplicationVerified",
284
+ "type": "event"
285
+ },
286
+ {
287
+ "anonymous": false,
288
+ "inputs": [
289
+ {
290
+ "indexed": false,
291
+ "internalType": "NftId",
292
+ "name": "instanceNftId",
293
+ "type": "uint96"
294
+ },
295
+ {
296
+ "indexed": false,
297
+ "internalType": "NftId",
298
+ "name": "poolNftId",
299
+ "type": "uint96"
300
+ },
301
+ {
302
+ "indexed": false,
303
+ "internalType": "NftId",
304
+ "name": "bundleNftId",
305
+ "type": "uint96"
306
+ }
307
+ ],
308
+ "name": "LogPoolServiceBundleClosed",
309
+ "type": "event"
310
+ },
311
+ {
312
+ "anonymous": false,
313
+ "inputs": [
314
+ {
315
+ "indexed": false,
316
+ "internalType": "NftId",
317
+ "name": "instanceNftId",
318
+ "type": "uint96"
319
+ },
320
+ {
321
+ "indexed": false,
322
+ "internalType": "NftId",
323
+ "name": "poolNftId",
324
+ "type": "uint96"
325
+ },
326
+ {
327
+ "indexed": false,
328
+ "internalType": "NftId",
329
+ "name": "bundleNftId",
330
+ "type": "uint96"
331
+ }
332
+ ],
333
+ "name": "LogPoolServiceBundleCreated",
334
+ "type": "event"
335
+ },
336
+ {
337
+ "anonymous": false,
338
+ "inputs": [
339
+ {
340
+ "indexed": false,
341
+ "internalType": "NftId",
342
+ "name": "instanceNftId",
343
+ "type": "uint96"
344
+ },
345
+ {
346
+ "indexed": false,
347
+ "internalType": "NftId",
348
+ "name": "poolNftId",
349
+ "type": "uint96"
350
+ },
351
+ {
352
+ "indexed": false,
353
+ "internalType": "NftId",
354
+ "name": "bundleNftId",
355
+ "type": "uint96"
356
+ },
357
+ {
358
+ "indexed": false,
359
+ "internalType": "Amount",
360
+ "name": "amount",
361
+ "type": "uint96"
362
+ },
363
+ {
364
+ "indexed": false,
365
+ "internalType": "Amount",
366
+ "name": "netAmount",
367
+ "type": "uint96"
368
+ }
369
+ ],
370
+ "name": "LogPoolServiceBundleStaked",
371
+ "type": "event"
372
+ },
373
+ {
374
+ "anonymous": false,
375
+ "inputs": [
376
+ {
377
+ "indexed": false,
378
+ "internalType": "NftId",
379
+ "name": "instanceNftId",
380
+ "type": "uint96"
381
+ },
382
+ {
383
+ "indexed": false,
384
+ "internalType": "NftId",
385
+ "name": "poolNftId",
386
+ "type": "uint96"
387
+ },
388
+ {
389
+ "indexed": false,
390
+ "internalType": "NftId",
391
+ "name": "bundleNftId",
392
+ "type": "uint96"
393
+ },
394
+ {
395
+ "indexed": false,
396
+ "internalType": "Amount",
397
+ "name": "amount",
398
+ "type": "uint96"
399
+ },
400
+ {
401
+ "indexed": false,
402
+ "internalType": "Amount",
403
+ "name": "netAmount",
404
+ "type": "uint96"
405
+ }
406
+ ],
407
+ "name": "LogPoolServiceBundleUnstaked",
408
+ "type": "event"
409
+ },
410
+ {
411
+ "anonymous": false,
412
+ "inputs": [
413
+ {
414
+ "indexed": false,
415
+ "internalType": "NftId",
416
+ "name": "poolNftId",
417
+ "type": "uint96"
418
+ },
419
+ {
420
+ "indexed": false,
421
+ "internalType": "NftId",
422
+ "name": "bundleNftId",
423
+ "type": "uint96"
424
+ },
425
+ {
426
+ "indexed": false,
427
+ "internalType": "NftId",
428
+ "name": "applicationNftId",
429
+ "type": "uint96"
430
+ },
431
+ {
432
+ "indexed": false,
433
+ "internalType": "Amount",
434
+ "name": "totalCollateralAmount",
435
+ "type": "uint96"
436
+ },
437
+ {
438
+ "indexed": false,
439
+ "internalType": "Amount",
440
+ "name": "lockedCollateralAmount",
441
+ "type": "uint96"
442
+ }
443
+ ],
444
+ "name": "LogPoolServiceCollateralLocked",
445
+ "type": "event"
446
+ },
447
+ {
448
+ "anonymous": false,
449
+ "inputs": [
450
+ {
451
+ "indexed": false,
452
+ "internalType": "NftId",
453
+ "name": "bundleNftId",
454
+ "type": "uint96"
455
+ },
456
+ {
457
+ "indexed": false,
458
+ "internalType": "NftId",
459
+ "name": "policyNftId",
460
+ "type": "uint96"
461
+ },
462
+ {
463
+ "indexed": false,
464
+ "internalType": "Amount",
465
+ "name": "remainingCollateralAmount",
466
+ "type": "uint96"
467
+ }
468
+ ],
469
+ "name": "LogPoolServiceCollateralReleased",
470
+ "type": "event"
471
+ },
472
+ {
473
+ "anonymous": false,
474
+ "inputs": [
475
+ {
476
+ "indexed": false,
477
+ "internalType": "NftId",
478
+ "name": "bundleNftId",
479
+ "type": "uint96"
480
+ },
481
+ {
482
+ "indexed": false,
483
+ "internalType": "address",
484
+ "name": "recipient",
485
+ "type": "address"
486
+ },
487
+ {
488
+ "indexed": false,
489
+ "internalType": "address",
490
+ "name": "tokenAddress",
491
+ "type": "address"
492
+ },
493
+ {
494
+ "indexed": false,
495
+ "internalType": "Amount",
496
+ "name": "amount",
497
+ "type": "uint96"
498
+ }
499
+ ],
500
+ "name": "LogPoolServiceFeesWithdrawn",
136
501
  "type": "event"
137
502
  },
138
503
  {
@@ -141,23 +506,23 @@
141
506
  {
142
507
  "indexed": false,
143
508
  "internalType": "NftId",
144
- "name": "instanceNftId",
509
+ "name": "poolNftId",
145
510
  "type": "uint96"
146
511
  },
147
512
  {
148
513
  "indexed": false,
149
- "internalType": "NftId",
150
- "name": "poolNftId",
514
+ "internalType": "Amount",
515
+ "name": "previousMaxCapitalAmount",
151
516
  "type": "uint96"
152
517
  },
153
518
  {
154
519
  "indexed": false,
155
- "internalType": "NftId",
156
- "name": "bundleNftId",
520
+ "internalType": "Amount",
521
+ "name": "currentMaxCapitalAmount",
157
522
  "type": "uint96"
158
523
  }
159
524
  ],
160
- "name": "LogPoolServiceBundleClosed",
525
+ "name": "LogPoolServiceMaxBalanceAmountUpdated",
161
526
  "type": "event"
162
527
  },
163
528
  {
@@ -166,42 +531,47 @@
166
531
  {
167
532
  "indexed": false,
168
533
  "internalType": "NftId",
169
- "name": "instanceNftId",
534
+ "name": "poolNftId",
170
535
  "type": "uint96"
171
536
  },
172
537
  {
173
538
  "indexed": false,
174
539
  "internalType": "NftId",
175
- "name": "poolNftId",
540
+ "name": "bundleNftId",
176
541
  "type": "uint96"
177
542
  },
178
543
  {
179
544
  "indexed": false,
180
545
  "internalType": "NftId",
181
- "name": "bundleNftId",
546
+ "name": "policyNftId",
182
547
  "type": "uint96"
183
- }
184
- ],
185
- "name": "LogPoolServiceBundleCreated",
186
- "type": "event"
187
- },
188
- {
189
- "anonymous": false,
190
- "inputs": [
548
+ },
191
549
  {
192
550
  "indexed": false,
193
- "internalType": "NftId",
194
- "name": "poolNftId",
551
+ "internalType": "PayoutId",
552
+ "name": "payoutId",
553
+ "type": "uint40"
554
+ },
555
+ {
556
+ "indexed": false,
557
+ "internalType": "Amount",
558
+ "name": "netPayoutAmount",
195
559
  "type": "uint96"
196
560
  },
197
561
  {
198
562
  "indexed": false,
199
- "internalType": "RoleId",
200
- "name": "bundleOwnerRole",
201
- "type": "uint64"
563
+ "internalType": "Amount",
564
+ "name": "processingFeeAmount",
565
+ "type": "uint96"
566
+ },
567
+ {
568
+ "indexed": false,
569
+ "internalType": "address",
570
+ "name": "payoutBeneficiary",
571
+ "type": "address"
202
572
  }
203
573
  ],
204
- "name": "LogPoolServiceBundleOwnerRoleSet",
574
+ "name": "LogPoolServicePayoutProcessed",
205
575
  "type": "event"
206
576
  },
207
577
  {
@@ -210,103 +580,122 @@
210
580
  {
211
581
  "indexed": false,
212
582
  "internalType": "NftId",
213
- "name": "poolNftId",
583
+ "name": "policyNftId",
214
584
  "type": "uint96"
215
585
  },
216
586
  {
217
587
  "indexed": false,
218
- "internalType": "Amount",
219
- "name": "previousMaxCapitalAmount",
220
- "type": "uint96"
588
+ "internalType": "ClaimId",
589
+ "name": "claimId",
590
+ "type": "uint16"
221
591
  },
222
592
  {
223
593
  "indexed": false,
224
594
  "internalType": "Amount",
225
- "name": "currentMaxCapitalAmount",
595
+ "name": "availableAmount",
226
596
  "type": "uint96"
227
597
  }
228
598
  ],
229
- "name": "LogPoolServiceMaxCapitalAmountUpdated",
599
+ "name": "LogPoolServiceProcessFundedClaim",
230
600
  "type": "event"
231
601
  },
232
602
  {
233
- "inputs": [],
234
- "name": "authority",
235
- "outputs": [
236
- {
237
- "internalType": "address",
238
- "name": "",
239
- "type": "address"
240
- }
241
- ],
242
- "stateMutability": "view",
243
- "type": "function"
244
- },
245
- {
603
+ "anonymous": false,
246
604
  "inputs": [
247
605
  {
248
- "internalType": "UFixed",
249
- "name": "collateralizationLevel",
250
- "type": "uint256"
606
+ "indexed": false,
607
+ "internalType": "NftId",
608
+ "name": "poolNftId",
609
+ "type": "uint96"
251
610
  },
252
611
  {
253
- "internalType": "UFixed",
254
- "name": "retentionLevel",
255
- "type": "uint256"
612
+ "indexed": false,
613
+ "internalType": "NftId",
614
+ "name": "bundleNftId",
615
+ "type": "uint96"
256
616
  },
257
617
  {
618
+ "indexed": false,
258
619
  "internalType": "Amount",
259
- "name": "sumInsuredAmount",
620
+ "name": "bundleNetAmount",
260
621
  "type": "uint96"
261
- }
262
- ],
263
- "name": "calculateRequiredCollateral",
264
- "outputs": [
622
+ },
265
623
  {
624
+ "indexed": false,
266
625
  "internalType": "Amount",
267
- "name": "localCollateralAmount",
626
+ "name": "bundleFeeAmount",
268
627
  "type": "uint96"
269
628
  },
270
629
  {
630
+ "indexed": false,
271
631
  "internalType": "Amount",
272
- "name": "totalCollateralAmount",
632
+ "name": "poolFeeAmount",
273
633
  "type": "uint96"
274
634
  }
275
635
  ],
276
- "stateMutability": "pure",
277
- "type": "function"
636
+ "name": "LogPoolServiceSaleProcessed",
637
+ "type": "event"
278
638
  },
279
639
  {
640
+ "anonymous": false,
280
641
  "inputs": [
281
642
  {
282
- "internalType": "contract InstanceReader",
283
- "name": "instanceReader",
284
- "type": "address"
285
- },
286
- {
643
+ "indexed": false,
287
644
  "internalType": "NftId",
288
- "name": "productNftId",
645
+ "name": "poolNftId",
289
646
  "type": "uint96"
290
647
  },
291
648
  {
649
+ "indexed": false,
650
+ "internalType": "address",
651
+ "name": "poolOwner",
652
+ "type": "address"
653
+ },
654
+ {
655
+ "indexed": false,
292
656
  "internalType": "Amount",
293
- "name": "sumInsuredAmount",
657
+ "name": "amount",
294
658
  "type": "uint96"
295
659
  }
296
660
  ],
297
- "name": "calculateRequiredCollateral",
298
- "outputs": [
661
+ "name": "LogPoolServiceWalletDefunded",
662
+ "type": "event"
663
+ },
664
+ {
665
+ "anonymous": false,
666
+ "inputs": [
299
667
  {
300
- "internalType": "Amount",
301
- "name": "localCollateralAmount",
668
+ "indexed": false,
669
+ "internalType": "NftId",
670
+ "name": "poolNftId",
302
671
  "type": "uint96"
303
672
  },
304
673
  {
674
+ "indexed": false,
675
+ "internalType": "address",
676
+ "name": "poolOwner",
677
+ "type": "address"
678
+ },
679
+ {
680
+ "indexed": false,
305
681
  "internalType": "Amount",
306
- "name": "totalCollateralAmount",
682
+ "name": "amount",
307
683
  "type": "uint96"
308
684
  }
309
685
  ],
686
+ "name": "LogPoolServiceWalletFunded",
687
+ "type": "event"
688
+ },
689
+ {
690
+ "inputs": [],
691
+ "name": "authority",
692
+ "outputs": [
693
+ {
694
+ "internalType": "address",
695
+ "name": "",
696
+ "type": "address"
697
+ }
698
+ ],
310
699
  "stateMutability": "view",
311
700
  "type": "function"
312
701
  },
@@ -325,52 +714,27 @@
325
714
  },
326
715
  {
327
716
  "inputs": [
328
- {
329
- "internalType": "address",
330
- "name": "owner",
331
- "type": "address"
332
- },
333
- {
334
- "components": [
335
- {
336
- "internalType": "UFixed",
337
- "name": "fractionalFee",
338
- "type": "uint256"
339
- },
340
- {
341
- "internalType": "uint256",
342
- "name": "fixedFee",
343
- "type": "uint256"
344
- }
345
- ],
346
- "internalType": "struct Fee",
347
- "name": "fee",
348
- "type": "tuple"
349
- },
350
717
  {
351
718
  "internalType": "Amount",
352
- "name": "stakingAmount",
719
+ "name": "amount",
353
720
  "type": "uint96"
354
- },
355
- {
356
- "internalType": "Seconds",
357
- "name": "lifetime",
358
- "type": "uint40"
359
- },
360
- {
361
- "internalType": "bytes",
362
- "name": "filter",
363
- "type": "bytes"
364
721
  }
365
722
  ],
366
- "name": "createBundle",
367
- "outputs": [
723
+ "name": "defundPoolWallet",
724
+ "outputs": [],
725
+ "stateMutability": "nonpayable",
726
+ "type": "function"
727
+ },
728
+ {
729
+ "inputs": [
368
730
  {
369
- "internalType": "NftId",
370
- "name": "bundleNftId",
731
+ "internalType": "Amount",
732
+ "name": "amount",
371
733
  "type": "uint96"
372
734
  }
373
735
  ],
736
+ "name": "fundPoolWallet",
737
+ "outputs": [],
374
738
  "stateMutability": "nonpayable",
375
739
  "type": "function"
376
740
  },
@@ -476,6 +840,19 @@
476
840
  "stateMutability": "view",
477
841
  "type": "function"
478
842
  },
843
+ {
844
+ "inputs": [],
845
+ "name": "getRelease",
846
+ "outputs": [
847
+ {
848
+ "internalType": "VersionPart",
849
+ "name": "release",
850
+ "type": "uint8"
851
+ }
852
+ ],
853
+ "stateMutability": "view",
854
+ "type": "function"
855
+ },
479
856
  {
480
857
  "inputs": [],
481
858
  "name": "getRoleId",
@@ -486,7 +863,7 @@
486
863
  "type": "uint64"
487
864
  }
488
865
  ],
489
- "stateMutability": "pure",
866
+ "stateMutability": "view",
490
867
  "type": "function"
491
868
  },
492
869
  {
@@ -520,6 +897,19 @@
520
897
  "stateMutability": "nonpayable",
521
898
  "type": "function"
522
899
  },
900
+ {
901
+ "inputs": [],
902
+ "name": "isActive",
903
+ "outputs": [
904
+ {
905
+ "internalType": "bool",
906
+ "name": "active",
907
+ "type": "bool"
908
+ }
909
+ ],
910
+ "stateMutability": "view",
911
+ "type": "function"
912
+ },
523
913
  {
524
914
  "inputs": [],
525
915
  "name": "isConsumingScheduledOp",
@@ -588,7 +978,89 @@
588
978
  },
589
979
  {
590
980
  "internalType": "Amount",
591
- "name": "totalCollateralAmount",
981
+ "name": "totalCollateralAmount",
982
+ "type": "uint96"
983
+ }
984
+ ],
985
+ "stateMutability": "nonpayable",
986
+ "type": "function"
987
+ },
988
+ {
989
+ "inputs": [
990
+ {
991
+ "internalType": "NftId",
992
+ "name": "policyNftId",
993
+ "type": "uint96"
994
+ },
995
+ {
996
+ "internalType": "ClaimId",
997
+ "name": "claimId",
998
+ "type": "uint16"
999
+ },
1000
+ {
1001
+ "internalType": "Amount",
1002
+ "name": "availableAmount",
1003
+ "type": "uint96"
1004
+ }
1005
+ ],
1006
+ "name": "processFundedClaim",
1007
+ "outputs": [],
1008
+ "stateMutability": "nonpayable",
1009
+ "type": "function"
1010
+ },
1011
+ {
1012
+ "inputs": [
1013
+ {
1014
+ "internalType": "contract InstanceReader",
1015
+ "name": "instanceReader",
1016
+ "type": "address"
1017
+ },
1018
+ {
1019
+ "internalType": "contract InstanceStore",
1020
+ "name": "instanceStore",
1021
+ "type": "address"
1022
+ },
1023
+ {
1024
+ "internalType": "NftId",
1025
+ "name": "productNftId",
1026
+ "type": "uint96"
1027
+ },
1028
+ {
1029
+ "internalType": "NftId",
1030
+ "name": "policyNftId",
1031
+ "type": "uint96"
1032
+ },
1033
+ {
1034
+ "internalType": "NftId",
1035
+ "name": "bundleNftId",
1036
+ "type": "uint96"
1037
+ },
1038
+ {
1039
+ "internalType": "PayoutId",
1040
+ "name": "payoutId",
1041
+ "type": "uint40"
1042
+ },
1043
+ {
1044
+ "internalType": "Amount",
1045
+ "name": "payoutAmount",
1046
+ "type": "uint96"
1047
+ },
1048
+ {
1049
+ "internalType": "address",
1050
+ "name": "payoutBeneficiary",
1051
+ "type": "address"
1052
+ }
1053
+ ],
1054
+ "name": "processPayout",
1055
+ "outputs": [
1056
+ {
1057
+ "internalType": "Amount",
1058
+ "name": "netPayoutAmount",
1059
+ "type": "uint96"
1060
+ },
1061
+ {
1062
+ "internalType": "Amount",
1063
+ "name": "processingFeeAmount",
592
1064
  "type": "uint96"
593
1065
  }
594
1066
  ],
@@ -620,82 +1092,82 @@
620
1092
  "type": "uint96"
621
1093
  },
622
1094
  {
623
- "internalType": "uint256",
1095
+ "internalType": "Amount",
624
1096
  "name": "netPremiumAmount",
625
- "type": "uint256"
1097
+ "type": "uint96"
626
1098
  },
627
1099
  {
628
- "internalType": "uint256",
1100
+ "internalType": "Amount",
629
1101
  "name": "fullPremiumAmount",
630
- "type": "uint256"
1102
+ "type": "uint96"
631
1103
  },
632
1104
  {
633
- "internalType": "uint256",
1105
+ "internalType": "Amount",
634
1106
  "name": "premiumAmount",
635
- "type": "uint256"
1107
+ "type": "uint96"
636
1108
  },
637
1109
  {
638
- "internalType": "uint256",
1110
+ "internalType": "Amount",
639
1111
  "name": "productFeeFixAmount",
640
- "type": "uint256"
1112
+ "type": "uint96"
641
1113
  },
642
1114
  {
643
- "internalType": "uint256",
1115
+ "internalType": "Amount",
644
1116
  "name": "poolFeeFixAmount",
645
- "type": "uint256"
1117
+ "type": "uint96"
646
1118
  },
647
1119
  {
648
- "internalType": "uint256",
1120
+ "internalType": "Amount",
649
1121
  "name": "bundleFeeFixAmount",
650
- "type": "uint256"
1122
+ "type": "uint96"
651
1123
  },
652
1124
  {
653
- "internalType": "uint256",
1125
+ "internalType": "Amount",
654
1126
  "name": "distributionFeeFixAmount",
655
- "type": "uint256"
1127
+ "type": "uint96"
656
1128
  },
657
1129
  {
658
- "internalType": "uint256",
1130
+ "internalType": "Amount",
659
1131
  "name": "productFeeVarAmount",
660
- "type": "uint256"
1132
+ "type": "uint96"
661
1133
  },
662
1134
  {
663
- "internalType": "uint256",
1135
+ "internalType": "Amount",
664
1136
  "name": "poolFeeVarAmount",
665
- "type": "uint256"
1137
+ "type": "uint96"
666
1138
  },
667
1139
  {
668
- "internalType": "uint256",
1140
+ "internalType": "Amount",
669
1141
  "name": "bundleFeeVarAmount",
670
- "type": "uint256"
1142
+ "type": "uint96"
671
1143
  },
672
1144
  {
673
- "internalType": "uint256",
1145
+ "internalType": "Amount",
674
1146
  "name": "distributionFeeVarAmount",
675
- "type": "uint256"
1147
+ "type": "uint96"
676
1148
  },
677
1149
  {
678
- "internalType": "uint256",
1150
+ "internalType": "Amount",
679
1151
  "name": "distributionOwnerFeeFixAmount",
680
- "type": "uint256"
1152
+ "type": "uint96"
681
1153
  },
682
1154
  {
683
- "internalType": "uint256",
1155
+ "internalType": "Amount",
684
1156
  "name": "distributionOwnerFeeVarAmount",
685
- "type": "uint256"
1157
+ "type": "uint96"
686
1158
  },
687
1159
  {
688
- "internalType": "uint256",
1160
+ "internalType": "Amount",
689
1161
  "name": "commissionAmount",
690
- "type": "uint256"
1162
+ "type": "uint96"
691
1163
  },
692
1164
  {
693
- "internalType": "uint256",
1165
+ "internalType": "Amount",
694
1166
  "name": "discountAmount",
695
- "type": "uint256"
1167
+ "type": "uint96"
696
1168
  }
697
1169
  ],
698
- "internalType": "struct IPolicy.Premium",
1170
+ "internalType": "struct IPolicy.PremiumInfo",
699
1171
  "name": "premium",
700
1172
  "type": "tuple"
701
1173
  }
@@ -712,11 +1184,6 @@
712
1184
  "name": "instance",
713
1185
  "type": "address"
714
1186
  },
715
- {
716
- "internalType": "address",
717
- "name": "token",
718
- "type": "address"
719
- },
720
1187
  {
721
1188
  "internalType": "NftId",
722
1189
  "name": "policyNftId",
@@ -734,11 +1201,6 @@
734
1201
  "name": "bundleNftId",
735
1202
  "type": "uint96"
736
1203
  },
737
- {
738
- "internalType": "ReferralId",
739
- "name": "referralId",
740
- "type": "bytes8"
741
- },
742
1204
  {
743
1205
  "internalType": "RiskId",
744
1206
  "name": "riskId",
@@ -755,24 +1217,9 @@
755
1217
  "type": "uint96"
756
1218
  },
757
1219
  {
758
- "internalType": "Amount",
759
- "name": "premiumPaidAmount",
760
- "type": "uint96"
761
- },
762
- {
763
- "internalType": "Seconds",
764
- "name": "lifetime",
765
- "type": "uint40"
766
- },
767
- {
768
- "internalType": "bytes",
769
- "name": "applicationData",
770
- "type": "bytes"
771
- },
772
- {
773
- "internalType": "bytes",
774
- "name": "processData",
775
- "type": "bytes"
1220
+ "internalType": "ReferralId",
1221
+ "name": "referralId",
1222
+ "type": "bytes8"
776
1223
  },
777
1224
  {
778
1225
  "internalType": "uint16",
@@ -800,88 +1247,18 @@
800
1247
  "type": "uint40"
801
1248
  },
802
1249
  {
803
- "internalType": "Timestamp",
804
- "name": "expiredAt",
1250
+ "internalType": "Seconds",
1251
+ "name": "lifetime",
805
1252
  "type": "uint40"
806
1253
  },
807
1254
  {
808
1255
  "internalType": "Timestamp",
809
- "name": "closedAt",
1256
+ "name": "expiredAt",
810
1257
  "type": "uint40"
811
- }
812
- ],
813
- "internalType": "struct IPolicy.PolicyInfo",
814
- "name": "policyInfo",
815
- "type": "tuple"
816
- },
817
- {
818
- "internalType": "Amount",
819
- "name": "payoutAmount",
820
- "type": "uint96"
821
- }
822
- ],
823
- "name": "reduceCollateral",
824
- "outputs": [],
825
- "stateMutability": "nonpayable",
826
- "type": "function"
827
- },
828
- {
829
- "inputs": [
830
- {
831
- "internalType": "contract IInstance",
832
- "name": "instance",
833
- "type": "address"
834
- },
835
- {
836
- "internalType": "address",
837
- "name": "token",
838
- "type": "address"
839
- },
840
- {
841
- "internalType": "NftId",
842
- "name": "policyNftId",
843
- "type": "uint96"
844
- },
845
- {
846
- "components": [
847
- {
848
- "internalType": "NftId",
849
- "name": "productNftId",
850
- "type": "uint96"
851
- },
852
- {
853
- "internalType": "NftId",
854
- "name": "bundleNftId",
855
- "type": "uint96"
856
- },
857
- {
858
- "internalType": "ReferralId",
859
- "name": "referralId",
860
- "type": "bytes8"
861
- },
862
- {
863
- "internalType": "RiskId",
864
- "name": "riskId",
865
- "type": "bytes8"
866
- },
867
- {
868
- "internalType": "Amount",
869
- "name": "sumInsuredAmount",
870
- "type": "uint96"
871
- },
872
- {
873
- "internalType": "Amount",
874
- "name": "premiumAmount",
875
- "type": "uint96"
876
- },
877
- {
878
- "internalType": "Amount",
879
- "name": "premiumPaidAmount",
880
- "type": "uint96"
881
1258
  },
882
1259
  {
883
- "internalType": "Seconds",
884
- "name": "lifetime",
1260
+ "internalType": "Timestamp",
1261
+ "name": "closedAt",
885
1262
  "type": "uint40"
886
1263
  },
887
1264
  {
@@ -893,41 +1270,6 @@
893
1270
  "internalType": "bytes",
894
1271
  "name": "processData",
895
1272
  "type": "bytes"
896
- },
897
- {
898
- "internalType": "uint16",
899
- "name": "claimsCount",
900
- "type": "uint16"
901
- },
902
- {
903
- "internalType": "uint16",
904
- "name": "openClaimsCount",
905
- "type": "uint16"
906
- },
907
- {
908
- "internalType": "Amount",
909
- "name": "claimAmount",
910
- "type": "uint96"
911
- },
912
- {
913
- "internalType": "Amount",
914
- "name": "payoutAmount",
915
- "type": "uint96"
916
- },
917
- {
918
- "internalType": "Timestamp",
919
- "name": "activatedAt",
920
- "type": "uint40"
921
- },
922
- {
923
- "internalType": "Timestamp",
924
- "name": "expiredAt",
925
- "type": "uint40"
926
- },
927
- {
928
- "internalType": "Timestamp",
929
- "name": "closedAt",
930
- "type": "uint40"
931
1273
  }
932
1274
  ],
933
1275
  "internalType": "struct IPolicy.PolicyInfo",
@@ -956,12 +1298,12 @@
956
1298
  {
957
1299
  "inputs": [
958
1300
  {
959
- "internalType": "RoleId",
960
- "name": "bundleOwnerRole",
961
- "type": "uint64"
1301
+ "internalType": "Amount",
1302
+ "name": "maxBalanceAmount",
1303
+ "type": "uint96"
962
1304
  }
963
1305
  ],
964
- "name": "setBundleOwnerRole",
1306
+ "name": "setMaxBalanceAmount",
965
1307
  "outputs": [],
966
1308
  "stateMutability": "nonpayable",
967
1309
  "type": "function"
@@ -969,72 +1311,24 @@
969
1311
  {
970
1312
  "inputs": [
971
1313
  {
972
- "components": [
973
- {
974
- "internalType": "UFixed",
975
- "name": "fractionalFee",
976
- "type": "uint256"
977
- },
978
- {
979
- "internalType": "uint256",
980
- "name": "fixedFee",
981
- "type": "uint256"
982
- }
983
- ],
984
- "internalType": "struct Fee",
985
- "name": "poolFee",
986
- "type": "tuple"
987
- },
988
- {
989
- "components": [
990
- {
991
- "internalType": "UFixed",
992
- "name": "fractionalFee",
993
- "type": "uint256"
994
- },
995
- {
996
- "internalType": "uint256",
997
- "name": "fixedFee",
998
- "type": "uint256"
999
- }
1000
- ],
1001
- "internalType": "struct Fee",
1002
- "name": "stakingFee",
1003
- "type": "tuple"
1314
+ "internalType": "NftId",
1315
+ "name": "bundleNftId",
1316
+ "type": "uint96"
1004
1317
  },
1005
1318
  {
1006
- "components": [
1007
- {
1008
- "internalType": "UFixed",
1009
- "name": "fractionalFee",
1010
- "type": "uint256"
1011
- },
1012
- {
1013
- "internalType": "uint256",
1014
- "name": "fixedFee",
1015
- "type": "uint256"
1016
- }
1017
- ],
1018
- "internalType": "struct Fee",
1019
- "name": "performanceFee",
1020
- "type": "tuple"
1319
+ "internalType": "Amount",
1320
+ "name": "amount",
1321
+ "type": "uint96"
1021
1322
  }
1022
1323
  ],
1023
- "name": "setFees",
1024
- "outputs": [],
1025
- "stateMutability": "nonpayable",
1026
- "type": "function"
1027
- },
1028
- {
1029
- "inputs": [
1324
+ "name": "stake",
1325
+ "outputs": [
1030
1326
  {
1031
1327
  "internalType": "Amount",
1032
- "name": "maxCapitalAmount",
1328
+ "name": "netAmount",
1033
1329
  "type": "uint96"
1034
1330
  }
1035
1331
  ],
1036
- "name": "setMaxCapitalAmount",
1037
- "outputs": [],
1038
1332
  "stateMutability": "nonpayable",
1039
1333
  "type": "function"
1040
1334
  },
@@ -1057,6 +1351,30 @@
1057
1351
  "stateMutability": "view",
1058
1352
  "type": "function"
1059
1353
  },
1354
+ {
1355
+ "inputs": [
1356
+ {
1357
+ "internalType": "NftId",
1358
+ "name": "bundleNftId",
1359
+ "type": "uint96"
1360
+ },
1361
+ {
1362
+ "internalType": "Amount",
1363
+ "name": "amount",
1364
+ "type": "uint96"
1365
+ }
1366
+ ],
1367
+ "name": "unstake",
1368
+ "outputs": [
1369
+ {
1370
+ "internalType": "Amount",
1371
+ "name": "netAmount",
1372
+ "type": "uint96"
1373
+ }
1374
+ ],
1375
+ "stateMutability": "nonpayable",
1376
+ "type": "function"
1377
+ },
1060
1378
  {
1061
1379
  "inputs": [
1062
1380
  {
@@ -1069,6 +1387,30 @@
1069
1387
  "outputs": [],
1070
1388
  "stateMutability": "nonpayable",
1071
1389
  "type": "function"
1390
+ },
1391
+ {
1392
+ "inputs": [
1393
+ {
1394
+ "internalType": "NftId",
1395
+ "name": "bundleNftId",
1396
+ "type": "uint96"
1397
+ },
1398
+ {
1399
+ "internalType": "Amount",
1400
+ "name": "amount",
1401
+ "type": "uint96"
1402
+ }
1403
+ ],
1404
+ "name": "withdrawBundleFees",
1405
+ "outputs": [
1406
+ {
1407
+ "internalType": "Amount",
1408
+ "name": "withdrawnAmount",
1409
+ "type": "uint96"
1410
+ }
1411
+ ],
1412
+ "stateMutability": "nonpayable",
1413
+ "type": "function"
1072
1414
  }
1073
1415
  ],
1074
1416
  "bytecode": "0x",