@etherisc/gif-next 0.0.2-bafc958-412 → 0.0.2-bb3faee-097

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 (540) hide show
  1. package/README.md +84 -7
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1075 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +790 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +843 -0
  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 +204 -302
  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 +123 -186
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +634 -225
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +229 -86
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +102 -160
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +429 -77
  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 +1 -1
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +247 -226
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +430 -35
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +711 -318
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +430 -35
  49. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +2 -2
  51. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +293 -265
  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 +1 -1
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +175 -175
  57. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +363 -233
  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 +1 -1
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +986 -379
  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 +567 -67
  69. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +385 -60
  71. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  72. package/artifacts/contracts/instance/Instance.sol/Instance.json +597 -100
  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 +1612 -816
  79. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +411 -131
  81. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +153 -64
  83. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +830 -625
  85. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
  87. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  88. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
  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 +161 -183
  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 +116 -109
  111. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  112. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +98 -11
  113. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  114. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +137 -135
  115. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  116. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +201 -81
  117. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  118. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +187 -56
  119. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  120. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +185 -191
  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 +355 -279
  125. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  126. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +182 -87
  127. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  128. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +247 -121
  129. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  130. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +152 -156
  131. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  132. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +478 -227
  133. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  134. package/artifacts/contracts/pool/Pool.sol/Pool.json +165 -174
  135. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  136. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  137. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  138. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +743 -379
  139. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  140. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +237 -66
  141. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  142. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +361 -57
  143. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  144. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +176 -53
  145. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  146. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +297 -234
  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 +370 -159
  151. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  152. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +194 -83
  153. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  154. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +296 -9
  155. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  156. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +242 -24
  157. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  158. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +299 -48
  159. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +140 -37
  161. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  162. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +270 -202
  163. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  164. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +286 -21
  165. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  166. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +451 -151
  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 +213 -74
  171. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  172. package/artifacts/contracts/product/PricingService.sol/PricingService.json +201 -129
  173. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  174. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +167 -68
  175. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  176. package/artifacts/contracts/product/Product.sol/Product.json +287 -224
  177. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  178. package/artifacts/contracts/product/RiskService.sol/RiskService.json +372 -82
  179. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  180. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +176 -53
  181. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  182. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  183. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  184. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +144 -33
  185. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  186. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +169 -37
  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 +188 -69
  193. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  194. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +753 -454
  195. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  196. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1074 -0
  197. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  198. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +139 -181
  199. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  200. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +151 -48
  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 +478 -258
  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 +120 -60
  211. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  212. package/artifacts/contracts/shared/Component.sol/Component.json +113 -93
  213. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  214. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +502 -519
  215. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  216. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +198 -89
  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 +93 -68
  227. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  228. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +432 -290
  229. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  230. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +116 -109
  231. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  232. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +42 -6
  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 +35 -0
  237. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  238. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +16 -6
  239. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  240. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +167 -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 +84 -2
  244. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  245. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
  246. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  247. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +136 -134
  248. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  249. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +48 -7
  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 +37 -2
  256. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  257. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +18 -8
  258. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  259. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +171 -38
  260. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  261. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  262. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  263. package/artifacts/contracts/shared/Service.sol/Service.json +89 -2
  264. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  265. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +327 -73
  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 +1 -1
  269. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +88 -24
  270. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  271. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1492 -173
  272. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  273. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +235 -123
  274. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
  275. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
  276. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  277. package/artifacts/contracts/staking/Staking.sol/Staking.json +1657 -284
  278. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  279. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
  280. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  281. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +210 -69
  282. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  283. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +295 -183
  284. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  285. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +286 -173
  286. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  287. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +154 -55
  288. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  289. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1588 -765
  290. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
  291. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
  292. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  293. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +160 -88
  294. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  295. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  296. package/artifacts/contracts/type/Amount.sol/AmountLib.json +35 -11
  297. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  298. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +45 -19
  299. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  300. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  301. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  302. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  303. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  304. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  305. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  306. package/artifacts/contracts/type/Fee.sol/FeeLib.json +94 -38
  307. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  308. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  309. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  310. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  311. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  312. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  313. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  314. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  315. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  316. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
  317. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  318. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  319. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  320. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  321. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  323. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  324. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +69 -7
  325. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  326. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
  327. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  328. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +45 -2
  329. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  330. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  331. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  332. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  333. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  334. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  335. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  336. package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
  337. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  338. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +3 -3
  339. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  340. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +73 -36
  341. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  342. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  343. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  344. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
  345. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  346. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
  347. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  348. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +128 -38
  349. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  350. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
  351. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  352. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
  353. package/contracts/accounting/AccountingService.sol +274 -0
  354. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  355. package/contracts/accounting/IAccountingService.sol +47 -0
  356. package/contracts/authorization/AccessAdmin.sol +457 -266
  357. package/contracts/authorization/AccessAdminLib.sol +396 -0
  358. package/contracts/authorization/AccessManagerCloneable.sol +146 -4
  359. package/contracts/authorization/Authorization.sol +159 -207
  360. package/contracts/authorization/IAccess.sol +25 -6
  361. package/contracts/authorization/IAccessAdmin.sol +87 -79
  362. package/contracts/authorization/IAuthorization.sol +9 -37
  363. package/contracts/authorization/IServiceAuthorization.sol +57 -17
  364. package/contracts/authorization/ServiceAuthorization.sol +255 -25
  365. package/contracts/distribution/BasicDistribution.sol +20 -17
  366. package/contracts/distribution/BasicDistributionAuthorization.sol +30 -10
  367. package/contracts/distribution/Distribution.sol +43 -91
  368. package/contracts/distribution/DistributionService.sol +224 -112
  369. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  370. package/contracts/distribution/IDistributionComponent.sol +4 -11
  371. package/contracts/distribution/IDistributionService.sol +38 -24
  372. package/contracts/examples/fire/DamageLevel.sol +59 -0
  373. package/contracts/examples/fire/FirePool.sol +24 -14
  374. package/contracts/examples/fire/FirePoolAuthorization.sol +2 -1
  375. package/contracts/examples/fire/FireProduct.sol +223 -106
  376. package/contracts/examples/fire/FireProductAuthorization.sol +29 -0
  377. package/contracts/examples/fire/FireUSD.sol +1 -1
  378. package/contracts/examples/unpermissioned/SimpleDistribution.sol +43 -12
  379. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  380. package/contracts/examples/unpermissioned/SimpleOracle.sol +8 -12
  381. package/contracts/examples/unpermissioned/SimplePool.sol +36 -10
  382. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  383. package/contracts/examples/unpermissioned/SimpleProduct.sol +134 -48
  384. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  385. package/contracts/instance/BundleSet.sol +42 -38
  386. package/contracts/instance/IInstance.sol +100 -18
  387. package/contracts/instance/IInstanceService.sol +59 -34
  388. package/contracts/instance/Instance.sol +188 -70
  389. package/contracts/instance/InstanceAdmin.sol +276 -178
  390. package/contracts/instance/InstanceAuthorizationV3.sol +118 -56
  391. package/contracts/instance/InstanceReader.sol +472 -270
  392. package/contracts/instance/InstanceService.sol +273 -240
  393. package/contracts/instance/InstanceServiceManager.sol +6 -7
  394. package/contracts/instance/InstanceStore.sol +13 -2
  395. package/contracts/instance/RiskSet.sol +126 -0
  396. package/contracts/instance/base/BalanceStore.sol +4 -6
  397. package/contracts/instance/base/ObjectCounter.sol +1 -2
  398. package/contracts/instance/base/ObjectLifecycle.sol +6 -8
  399. package/contracts/instance/base/ObjectSet.sol +31 -33
  400. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  401. package/contracts/instance/module/IBundle.sol +6 -5
  402. package/contracts/instance/module/IComponents.sol +29 -13
  403. package/contracts/instance/module/IDistribution.sol +21 -8
  404. package/contracts/instance/module/IPolicy.sol +30 -9
  405. package/contracts/instance/module/IRisk.sol +5 -0
  406. package/contracts/oracle/BasicOracle.sol +2 -5
  407. package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
  408. package/contracts/oracle/IOracle.sol +9 -4
  409. package/contracts/oracle/IOracleService.sol +2 -1
  410. package/contracts/oracle/Oracle.sol +7 -20
  411. package/contracts/oracle/OracleService.sol +117 -86
  412. package/contracts/oracle/OracleServiceManager.sol +6 -6
  413. package/contracts/pool/BasicPool.sol +34 -38
  414. package/contracts/pool/BasicPoolAuthorization.sol +34 -11
  415. package/contracts/pool/BundleService.sol +115 -167
  416. package/contracts/pool/BundleServiceManager.sol +6 -6
  417. package/contracts/pool/IBundleService.sol +28 -46
  418. package/contracts/pool/IPoolComponent.sol +19 -15
  419. package/contracts/pool/IPoolService.sol +77 -67
  420. package/contracts/pool/Pool.sol +140 -133
  421. package/contracts/pool/PoolLib.sol +341 -0
  422. package/contracts/pool/PoolService.sol +355 -250
  423. package/contracts/pool/PoolServiceManager.sol +4 -4
  424. package/contracts/product/ApplicationService.sol +108 -29
  425. package/contracts/product/ApplicationServiceManager.sol +4 -4
  426. package/contracts/product/BasicProduct.sol +10 -14
  427. package/contracts/product/BasicProductAuthorization.sol +32 -12
  428. package/contracts/product/ClaimService.sol +318 -175
  429. package/contracts/product/ClaimServiceManager.sol +4 -4
  430. package/contracts/product/IApplicationService.sol +28 -3
  431. package/contracts/product/IClaimService.sol +21 -7
  432. package/contracts/product/IPolicyService.sol +41 -12
  433. package/contracts/product/IPricingService.sol +10 -9
  434. package/contracts/product/IProductComponent.sol +27 -4
  435. package/contracts/product/IRiskService.sol +25 -10
  436. package/contracts/product/PolicyService.sol +350 -278
  437. package/contracts/product/PolicyServiceLib.sol +139 -0
  438. package/contracts/product/PolicyServiceManager.sol +4 -4
  439. package/contracts/product/PricingService.sol +59 -54
  440. package/contracts/product/PricingServiceManager.sol +4 -4
  441. package/contracts/product/Product.sol +153 -85
  442. package/contracts/product/RiskService.sol +129 -36
  443. package/contracts/product/RiskServiceManager.sol +4 -4
  444. package/contracts/registry/ChainNft.sol +10 -11
  445. package/contracts/registry/IRegistry.sol +31 -27
  446. package/contracts/registry/IRegistryService.sol +5 -12
  447. package/contracts/registry/IRelease.sol +29 -0
  448. package/contracts/registry/ITransferInterceptor.sol +1 -2
  449. package/contracts/registry/Registry.sol +51 -17
  450. package/contracts/registry/RegistryAdmin.sol +107 -380
  451. package/contracts/registry/RegistryAuthorization.sol +336 -0
  452. package/contracts/registry/RegistryService.sol +37 -48
  453. package/contracts/registry/RegistryServiceManager.sol +3 -3
  454. package/contracts/registry/ReleaseAdmin.sol +195 -0
  455. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  456. package/contracts/registry/ReleaseRegistry.sol +278 -244
  457. package/contracts/registry/ServiceAuthorizationV3.sol +204 -61
  458. package/contracts/registry/TokenRegistry.sol +61 -59
  459. package/contracts/shared/Component.sol +65 -119
  460. package/contracts/shared/ComponentService.sol +422 -376
  461. package/contracts/shared/ComponentServiceManager.sol +8 -5
  462. package/contracts/shared/ContractLib.sol +312 -0
  463. package/contracts/shared/IComponent.sol +6 -18
  464. package/contracts/shared/IComponentService.sol +43 -40
  465. package/contracts/shared/IInstanceLinkedComponent.sol +3 -22
  466. package/contracts/shared/IKeyValueStore.sol +1 -1
  467. package/contracts/shared/ILifecycle.sol +3 -1
  468. package/contracts/shared/INftOwnable.sol +4 -0
  469. package/contracts/shared/IPolicyHolder.sol +12 -13
  470. package/contracts/shared/IRegisterable.sol +22 -1
  471. package/contracts/shared/IService.sol +3 -5
  472. package/contracts/shared/InitializableERC165.sol +9 -1
  473. package/contracts/shared/InstanceLinkedComponent.sol +71 -49
  474. package/contracts/shared/KeyValueStore.sol +4 -4
  475. package/contracts/shared/Lifecycle.sol +15 -4
  476. package/contracts/shared/NftOwnable.sol +29 -7
  477. package/contracts/shared/PolicyHolder.sol +15 -8
  478. package/contracts/shared/Registerable.sol +50 -19
  479. package/contracts/shared/RegistryLinked.sol +7 -13
  480. package/contracts/shared/Service.sol +18 -33
  481. package/contracts/shared/TokenHandler.sol +275 -72
  482. package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
  483. package/contracts/staking/IStaking.sol +271 -72
  484. package/contracts/staking/IStakingService.sol +45 -78
  485. package/contracts/staking/ITargetLimitHandler.sol +17 -0
  486. package/contracts/staking/Staking.sol +522 -223
  487. package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +55 -84
  488. package/contracts/staking/StakingManager.sol +12 -9
  489. package/contracts/staking/StakingReader.sol +70 -82
  490. package/contracts/staking/StakingService.sol +62 -148
  491. package/contracts/staking/StakingServiceManager.sol +7 -5
  492. package/contracts/staking/StakingStore.sol +1087 -330
  493. package/contracts/staking/TargetHandler.sol +132 -0
  494. package/contracts/staking/TargetManagerLib.sol +69 -46
  495. package/contracts/type/Amount.sol +19 -0
  496. package/contracts/type/Blocknumber.sol +15 -15
  497. package/contracts/type/ChainId.sol +101 -0
  498. package/contracts/type/ClaimId.sol +6 -1
  499. package/contracts/type/Fee.sol +8 -8
  500. package/contracts/type/Key32.sol +2 -2
  501. package/contracts/type/Key32Set.sol +62 -0
  502. package/contracts/type/NftId.sol +7 -0
  503. package/contracts/type/ObjectType.sol +70 -38
  504. package/contracts/type/PayoutId.sol +10 -10
  505. package/contracts/type/RiskId.sol +27 -9
  506. package/contracts/type/RoleId.sol +61 -55
  507. package/contracts/type/Seconds.sol +19 -0
  508. package/contracts/type/Selector.sol +5 -0
  509. package/contracts/type/StateId.sol +14 -1
  510. package/contracts/type/String.sol +12 -0
  511. package/contracts/type/Timestamp.sol +4 -7
  512. package/contracts/type/UFixed.sol +38 -126
  513. package/contracts/type/Version.sol +54 -5
  514. package/contracts/upgradeability/IVersionable.sol +3 -0
  515. package/contracts/upgradeability/ProxyManager.sol +93 -45
  516. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
  517. package/contracts/upgradeability/Versionable.sol +8 -5
  518. package/package.json +5 -4
  519. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  520. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  521. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  522. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  523. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  524. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  525. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
  526. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +0 -427
  527. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  528. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  529. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  530. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -440
  531. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +0 -4
  532. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +0 -164
  533. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  534. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
  535. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  536. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  537. package/contracts/instance/module/IAccess.sol +0 -46
  538. package/contracts/shared/ComponentVerifyingService.sol +0 -117
  539. package/contracts/shared/InitializableCustom.sol +0 -177
  540. package/contracts/staking/StakingLifecycle.sol +0 -23
@@ -0,0 +1,274 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Amount, AmountLib} from "../type/Amount.sol";
5
+ import {Fee} from "../type/Fee.sol";
6
+ import {IAccountingService} from "./IAccountingService.sol";
7
+ import {InstanceStore} from "../instance/InstanceStore.sol";
8
+
9
+ import {Amount, AmountLib} from "../type/Amount.sol";
10
+ import {Fee} from "../type/Fee.sol";
11
+ import {NftId} from "../type/NftId.sol";
12
+ import {ObjectType, ACCOUNTING, BUNDLE, DISTRIBUTION, DISTRIBUTOR, POOL, PRODUCT} from "../type/ObjectType.sol";
13
+ import {Service} from "../shared/Service.sol";
14
+
15
+
16
+ contract AccountingService is
17
+ Service,
18
+ IAccountingService
19
+ {
20
+ bool private constant INCREASE = true;
21
+ bool private constant DECREASE = false;
22
+
23
+ function _initialize(
24
+ address owner,
25
+ bytes memory data
26
+ )
27
+ internal
28
+ virtual override
29
+ initializer()
30
+ {
31
+ (
32
+ address authority,
33
+ address registry
34
+ ) = abi.decode(data, (address, address));
35
+
36
+ __Service_init(authority, registry, owner);
37
+ _registerInterface(type(IAccountingService).interfaceId);
38
+ }
39
+
40
+ function decreaseComponentFees(
41
+ InstanceStore instanceStore,
42
+ NftId componentNftId,
43
+ Amount feeAmount
44
+ )
45
+ external
46
+ virtual
47
+ restricted()
48
+ {
49
+ _changeTargetBalance(DECREASE, instanceStore, componentNftId, AmountLib.zero(), feeAmount);
50
+ }
51
+
52
+
53
+ function increaseProductFees(
54
+ InstanceStore instanceStore,
55
+ NftId productNftId,
56
+ Amount feeAmount
57
+ )
58
+ external
59
+ virtual
60
+ restricted()
61
+ {
62
+ _checkNftType(productNftId, PRODUCT());
63
+ _changeTargetBalance(INCREASE, instanceStore, productNftId, AmountLib.zero(), feeAmount);
64
+ }
65
+
66
+ function increaseProductFeesForPool(
67
+ InstanceStore instanceStore,
68
+ NftId productNftId,
69
+ Amount feeAmount
70
+ )
71
+ external
72
+ virtual
73
+ restricted()
74
+ {
75
+ _checkNftType(productNftId, PRODUCT());
76
+ _changeTargetBalance(INCREASE, instanceStore, productNftId, AmountLib.zero(), feeAmount);
77
+ }
78
+
79
+
80
+ function decreaseProductFees(InstanceStore instanceStore, NftId productNftId, Amount feeAmount)
81
+ external
82
+ virtual
83
+ restricted()
84
+ {
85
+ _checkNftType(productNftId, PRODUCT());
86
+ _changeTargetBalance(DECREASE, instanceStore, productNftId, AmountLib.zero(), feeAmount);
87
+ }
88
+
89
+ function increaseDistributionBalance(
90
+ InstanceStore instanceStore,
91
+ NftId distributionNftId,
92
+ Amount amount,
93
+ Amount feeAmount
94
+ )
95
+ external
96
+ virtual
97
+ restricted()
98
+ {
99
+ _checkNftType(distributionNftId, DISTRIBUTION());
100
+ _changeTargetBalance(INCREASE, instanceStore, distributionNftId, amount, feeAmount);
101
+ }
102
+
103
+
104
+ function decreaseDistributionBalance(
105
+ InstanceStore instanceStore,
106
+ NftId distributionNftId,
107
+ Amount amount,
108
+ Amount feeAmount
109
+ )
110
+ external
111
+ virtual
112
+ restricted()
113
+ {
114
+ _checkNftType(distributionNftId, DISTRIBUTION());
115
+ _changeTargetBalance(DECREASE, instanceStore, distributionNftId, amount, feeAmount);
116
+ }
117
+
118
+ function increaseDistributorBalance(
119
+ InstanceStore instanceStore,
120
+ NftId distributorNftId,
121
+ Amount amount,
122
+ Amount feeAmount
123
+ )
124
+ external
125
+ virtual
126
+ restricted()
127
+ {
128
+ _checkNftType(distributorNftId, DISTRIBUTOR());
129
+ _changeTargetBalance(INCREASE, instanceStore, distributorNftId, amount, feeAmount);
130
+ }
131
+
132
+ function decreaseDistributorBalance(
133
+ InstanceStore instanceStore,
134
+ NftId distributorNftId,
135
+ Amount amount,
136
+ Amount feeAmount
137
+ )
138
+ external
139
+ virtual
140
+ restricted()
141
+ {
142
+ _checkNftType(distributorNftId, DISTRIBUTOR());
143
+ _changeTargetBalance(DECREASE, instanceStore, distributorNftId, amount, feeAmount);
144
+ }
145
+
146
+ function increasePoolBalance(
147
+ InstanceStore instanceStore,
148
+ NftId poolNftId,
149
+ Amount amount,
150
+ Amount feeAmount
151
+ )
152
+ public
153
+ virtual
154
+ restricted()
155
+ {
156
+ _checkNftType(poolNftId, POOL());
157
+ _changeTargetBalance(INCREASE, instanceStore, poolNftId, amount, feeAmount);
158
+ }
159
+
160
+ function decreasePoolBalance(
161
+ InstanceStore instanceStore,
162
+ NftId poolNftId,
163
+ Amount amount,
164
+ Amount feeAmount
165
+ )
166
+ public
167
+ virtual
168
+ restricted()
169
+ {
170
+ _checkNftType(poolNftId, POOL());
171
+ _changeTargetBalance(DECREASE, instanceStore, poolNftId, amount, feeAmount);
172
+ }
173
+
174
+ function increaseBundleBalance(
175
+ InstanceStore instanceStore,
176
+ NftId bundleNftId,
177
+ Amount amount,
178
+ Amount feeAmount
179
+ )
180
+ external
181
+ virtual
182
+ restricted()
183
+ {
184
+ _checkNftType(bundleNftId, BUNDLE());
185
+ _changeTargetBalance(INCREASE, instanceStore, bundleNftId, amount, feeAmount);
186
+ }
187
+
188
+ function decreaseBundleBalance(
189
+ InstanceStore instanceStore,
190
+ NftId bundleNftId,
191
+ Amount amount,
192
+ Amount feeAmount
193
+ )
194
+ external
195
+ virtual
196
+ restricted()
197
+ {
198
+ _checkNftType(bundleNftId, BUNDLE());
199
+ _changeTargetBalance(DECREASE, instanceStore, bundleNftId, amount, feeAmount);
200
+ }
201
+
202
+ function increaseBundleBalanceForPool(
203
+ InstanceStore instanceStore,
204
+ NftId bundleNftId,
205
+ Amount amount,
206
+ Amount feeAmount
207
+ )
208
+ external
209
+ virtual
210
+ restricted()
211
+ {
212
+ _checkNftType(bundleNftId, BUNDLE());
213
+ _changeTargetBalance(INCREASE, instanceStore, bundleNftId, amount, feeAmount);
214
+ }
215
+
216
+ function decreaseBundleBalanceForPool(
217
+ InstanceStore instanceStore,
218
+ NftId bundleNftId,
219
+ Amount amount,
220
+ Amount feeAmount
221
+ )
222
+ external
223
+ virtual
224
+ restricted()
225
+ {
226
+ _checkNftType(bundleNftId, BUNDLE());
227
+ _changeTargetBalance(DECREASE, instanceStore, bundleNftId, amount, feeAmount);
228
+ }
229
+
230
+
231
+ //-------- internal functions ------------------------------------------//
232
+
233
+ function _changeTargetBalance(
234
+ bool increase,
235
+ InstanceStore instanceStore,
236
+ NftId targetNftId,
237
+ Amount amount,
238
+ Amount feeAmount
239
+ )
240
+ internal
241
+ virtual
242
+ {
243
+ Amount totalAmount = amount + feeAmount;
244
+
245
+ if(increase) {
246
+ if(totalAmount.gtz()) { instanceStore.increaseBalance(targetNftId, totalAmount); }
247
+ if(feeAmount.gtz()) { instanceStore.increaseFees(targetNftId, feeAmount); }
248
+ } else {
249
+ if(totalAmount.gtz()) { instanceStore.decreaseBalance(targetNftId, totalAmount); }
250
+ if(feeAmount.gtz()) { instanceStore.decreaseFees(targetNftId, feeAmount); }
251
+ }
252
+ }
253
+
254
+
255
+ function _logUpdateFee(NftId productNftId, string memory name, Fee memory feeBefore, Fee memory feeAfter)
256
+ internal
257
+ virtual
258
+ {
259
+ emit LogComponentServiceUpdateFee(
260
+ productNftId,
261
+ name,
262
+ feeBefore.fractionalFee,
263
+ feeBefore.fixedFee,
264
+ feeAfter.fractionalFee,
265
+ feeAfter.fixedFee
266
+ );
267
+ }
268
+
269
+ function _getDomain() internal pure virtual override returns(ObjectType) {
270
+ return ACCOUNTING();
271
+ }
272
+
273
+
274
+ }
@@ -0,0 +1,38 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {AccountingService} from "./AccountingService.sol";
5
+ import {IVersionable} from "../upgradeability/IVersionable.sol";
6
+ import {ProxyManager} from "../upgradeability/ProxyManager.sol";
7
+
8
+ contract AccountingServiceManager is ProxyManager {
9
+
10
+ AccountingService private _accountingService;
11
+
12
+ /// @dev initializes proxy manager with service implementation
13
+ constructor(
14
+ address authority,
15
+ address registry,
16
+ bytes32 salt
17
+ )
18
+ {
19
+ AccountingService svc = new AccountingService();
20
+ bytes memory data = abi.encode(authority, registry);
21
+ IVersionable versionable = initialize(
22
+ registry,
23
+ address(svc),
24
+ data,
25
+ salt);
26
+
27
+ _accountingService = AccountingService(address(versionable));
28
+ }
29
+
30
+ //--- view functions ----------------------------------------------------//
31
+ function getAccountingService()
32
+ external
33
+ view
34
+ returns (AccountingService)
35
+ {
36
+ return _accountingService;
37
+ }
38
+ }
@@ -0,0 +1,47 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+
5
+ import {Amount} from "../type/Amount.sol";
6
+ import {InstanceStore} from "../instance/InstanceStore.sol";
7
+ import {IService} from "../shared/IService.sol";
8
+ import {NftId} from "../type/NftId.sol";
9
+ import {UFixed} from "../type/UFixed.sol";
10
+
11
+ /// @dev component base class
12
+ /// component examples are staking, product, distribution, pool and oracle
13
+ interface IAccountingService is
14
+ IService
15
+ {
16
+ event LogComponentServiceUpdateFee(
17
+ NftId nftId,
18
+ string feeName,
19
+ UFixed previousFractionalFee,
20
+ Amount previousFixedFee,
21
+ UFixed newFractionalFee,
22
+ Amount newFixedFee
23
+ );
24
+
25
+ function decreaseComponentFees(InstanceStore instanceStore, NftId componentNftId, Amount feeAmount) external;
26
+
27
+ function increaseProductFees(InstanceStore instanceStore, NftId productNftId, Amount feeAmount) external;
28
+ function decreaseProductFees(InstanceStore instanceStore, NftId productNftId, Amount feeAmount) external;
29
+
30
+ function increaseProductFeesForPool(InstanceStore instanceStore, NftId productNftId, Amount feeAmount) external;
31
+
32
+ function increaseDistributionBalance(InstanceStore instanceStore, NftId distributionNftId, Amount amount, Amount feeAmount) external;
33
+ function decreaseDistributionBalance(InstanceStore instanceStore, NftId distributionNftId, Amount amount, Amount feeAmount) external;
34
+
35
+ function increaseDistributorBalance(InstanceStore instanceStore, NftId distributorNftId, Amount amount, Amount feeAmount) external;
36
+ function decreaseDistributorBalance(InstanceStore instanceStore, NftId distributorNftId, Amount amount, Amount feeAmount) external;
37
+
38
+ function increasePoolBalance(InstanceStore instanceStore, NftId poolNftId, Amount amount, Amount feeAmount) external;
39
+ function decreasePoolBalance(InstanceStore instanceStore, NftId poolNftId, Amount amount, Amount feeAmount) external;
40
+
41
+ function increaseBundleBalance(InstanceStore instanceStore, NftId bundleNftId, Amount amount, Amount feeAmount) external;
42
+ function decreaseBundleBalance(InstanceStore instanceStore, NftId bundleNftId, Amount amount, Amount feeAmount) external;
43
+
44
+ function increaseBundleBalanceForPool(InstanceStore instanceStore, NftId bundleNftId, Amount amount, Amount feeAmount) external;
45
+ function decreaseBundleBalanceForPool(InstanceStore instanceStore, NftId bundleNftId, Amount amount, Amount feeAmount) external;
46
+
47
+ }