@etherisc/gif-next 0.0.2-750c7cb-311 → 0.0.2-7560591-936

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 +85 -8
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1007 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +744 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +496 -255
  10. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
  12. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +673 -0
  14. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
  16. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +277 -20
  18. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  19. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +395 -203
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +143 -19
  23. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +19 -0
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  26. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +68 -5
  27. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +158 -467
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +265 -31
  31. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +89 -355
  33. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +382 -359
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +143 -129
  37. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +84 -198
  39. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  40. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +252 -126
  41. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  42. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  43. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  44. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1445 -0
  45. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  46. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +644 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  48. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2002 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  50. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +644 -0
  51. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  52. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1388 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +644 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1152 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1612 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +644 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2389 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  66. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +644 -0
  67. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  68. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
  69. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  70. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +236 -39
  71. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  72. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +144 -93
  73. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  74. package/artifacts/contracts/instance/Instance.sol/Instance.json +256 -123
  75. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +737 -327
  77. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +209 -94
  79. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1074 -309
  81. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +172 -278
  83. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +106 -106
  85. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  86. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +897 -638
  87. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  88. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  89. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  90. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  91. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  92. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  94. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  95. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
  96. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  97. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
  98. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  99. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  100. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  104. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  105. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  106. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  107. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +116 -333
  108. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  109. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +247 -33
  110. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  111. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  112. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +91 -140
  113. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  114. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
  115. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  116. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +92 -293
  117. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  118. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +153 -190
  119. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  120. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +132 -98
  121. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  122. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +132 -333
  123. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  124. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +265 -31
  125. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  126. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +164 -424
  127. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  128. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +116 -146
  129. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  130. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +90 -148
  131. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  132. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +122 -182
  133. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  134. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +317 -300
  135. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  136. package/artifacts/contracts/pool/Pool.sol/Pool.json +120 -332
  137. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  138. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
  139. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  140. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +444 -570
  141. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  142. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +134 -124
  143. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  144. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +194 -178
  145. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  146. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +110 -100
  147. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  148. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +254 -394
  149. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  150. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +265 -31
  151. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  152. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +403 -246
  153. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  154. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +147 -125
  155. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  156. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +136 -9
  157. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  158. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +293 -17
  159. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +248 -83
  161. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  162. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +157 -83
  163. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  164. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +245 -233
  165. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  166. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +88 -8
  167. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  168. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +316 -318
  169. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  170. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
  171. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  172. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +130 -116
  173. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  174. package/artifacts/contracts/product/PricingService.sol/PricingService.json +230 -336
  175. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  176. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +119 -141
  177. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  178. package/artifacts/contracts/product/Product.sol/Product.json +246 -386
  179. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  180. package/artifacts/contracts/product/RiskService.sol/RiskService.json +688 -0
  181. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  182. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +736 -0
  183. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  184. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  185. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  186. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +342 -42
  187. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  188. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +144 -41
  189. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  190. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  191. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  192. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  193. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  194. package/artifacts/contracts/registry/Registry.sol/Registry.json +548 -103
  195. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  196. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +640 -368
  197. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  198. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
  199. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  200. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
  201. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  202. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +104 -90
  203. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  204. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1954 -0
  205. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  206. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  207. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  208. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +431 -253
  209. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  210. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +66 -8
  211. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  212. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +15 -15
  213. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  214. package/artifacts/contracts/shared/Component.sol/Component.json +80 -252
  215. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  216. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +526 -682
  217. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  218. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +142 -146
  219. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  220. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +57 -111
  221. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +597 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  225. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  226. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  229. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  230. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +80 -100
  231. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  232. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +463 -300
  233. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  234. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +91 -140
  235. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  236. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
  237. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  238. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  239. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  240. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  241. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  242. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  243. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  244. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
  245. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  246. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  247. package/artifacts/contracts/shared/IService.sol/IService.json +55 -2
  248. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  249. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
  250. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  251. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +91 -292
  252. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  253. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
  254. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  255. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  256. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  257. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  258. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  259. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
  260. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  261. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  262. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  263. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
  264. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  265. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  266. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  267. package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
  268. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  269. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +544 -18
  270. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  271. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  272. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  273. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  274. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  275. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +196 -143
  276. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  277. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +152 -20
  278. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  279. package/artifacts/contracts/staking/Staking.sol/Staking.json +287 -390
  280. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  281. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
  282. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  283. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
  284. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  285. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +132 -113
  286. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  287. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +41 -73
  288. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  289. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +205 -168
  290. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  291. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +113 -95
  292. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  293. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +205 -150
  294. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  295. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +90 -49
  296. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  297. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  298. package/artifacts/contracts/type/Amount.sol/AmountLib.json +35 -11
  299. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  300. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  302. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  303. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  304. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  305. package/artifacts/contracts/type/Fee.sol/FeeLib.json +94 -38
  306. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  307. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  308. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  309. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  310. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  311. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  312. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  313. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  314. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
  316. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  318. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  320. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  322. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  324. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +79 -15
  326. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +26 -2
  328. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  330. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  332. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  334. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  336. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
  337. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  338. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +73 -36
  339. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  340. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  341. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  342. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
  343. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  344. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  345. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +81 -80
  346. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  347. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
  348. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  349. package/contracts/accounting/AccountingService.sol +262 -0
  350. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  351. package/contracts/accounting/IAccountingService.sol +45 -0
  352. package/contracts/authorization/AccessAdmin.sol +338 -225
  353. package/contracts/authorization/AccessAdminLib.sol +183 -0
  354. package/contracts/authorization/AccessManagerCloneable.sol +146 -4
  355. package/contracts/authorization/Authorization.sol +350 -203
  356. package/contracts/authorization/IAccess.sol +13 -4
  357. package/contracts/authorization/IAccessAdmin.sol +69 -35
  358. package/contracts/authorization/IAuthorization.sol +33 -7
  359. package/contracts/authorization/IServiceAuthorization.sol +3 -1
  360. package/contracts/authorization/ServiceAuthorization.sol +26 -10
  361. package/contracts/distribution/BasicDistribution.sol +20 -17
  362. package/contracts/distribution/BasicDistributionAuthorization.sol +22 -9
  363. package/contracts/distribution/Distribution.sol +37 -88
  364. package/contracts/distribution/DistributionService.sol +167 -118
  365. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  366. package/contracts/distribution/IDistributionComponent.sol +1 -10
  367. package/contracts/distribution/IDistributionService.sol +31 -25
  368. package/contracts/examples/fire/DamageLevel.sol +59 -0
  369. package/contracts/examples/fire/FirePool.sol +86 -0
  370. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  371. package/contracts/examples/fire/FireProduct.sol +433 -0
  372. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  373. package/contracts/examples/fire/FireUSD.sol +26 -0
  374. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  375. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  376. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  377. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  378. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  379. package/contracts/examples/unpermissioned/SimpleProduct.sol +373 -0
  380. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  381. package/contracts/instance/BundleSet.sol +42 -38
  382. package/contracts/instance/IInstance.sol +64 -44
  383. package/contracts/instance/IInstanceService.sol +27 -31
  384. package/contracts/instance/Instance.sol +120 -70
  385. package/contracts/instance/InstanceAdmin.sol +287 -103
  386. package/contracts/instance/InstanceAuthorizationV3.sol +92 -61
  387. package/contracts/instance/InstanceReader.sol +281 -39
  388. package/contracts/instance/InstanceService.sol +207 -191
  389. package/contracts/instance/InstanceServiceManager.sol +6 -7
  390. package/contracts/instance/InstanceStore.sol +23 -2
  391. package/contracts/instance/RiskSet.sol +118 -0
  392. package/contracts/instance/base/ObjectCounter.sol +1 -2
  393. package/contracts/instance/base/ObjectLifecycle.sol +10 -1
  394. package/contracts/instance/base/ObjectSet.sol +31 -33
  395. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  396. package/contracts/instance/module/IBundle.sol +6 -5
  397. package/contracts/instance/module/IComponents.sol +29 -13
  398. package/contracts/instance/module/IDistribution.sol +21 -8
  399. package/contracts/instance/module/IPolicy.sol +49 -28
  400. package/contracts/instance/module/IRisk.sol +5 -0
  401. package/contracts/oracle/BasicOracle.sol +1 -4
  402. package/contracts/oracle/BasicOracleAuthorization.sol +3 -12
  403. package/contracts/oracle/IOracle.sol +9 -4
  404. package/contracts/oracle/IOracleService.sol +2 -1
  405. package/contracts/oracle/Oracle.sol +7 -19
  406. package/contracts/oracle/OracleService.sol +113 -81
  407. package/contracts/oracle/OracleServiceManager.sol +6 -6
  408. package/contracts/pool/BasicPool.sol +32 -25
  409. package/contracts/pool/BasicPoolAuthorization.sol +27 -9
  410. package/contracts/pool/BundleService.sol +93 -148
  411. package/contracts/pool/BundleServiceManager.sol +6 -6
  412. package/contracts/pool/IBundleService.sol +16 -36
  413. package/contracts/pool/IPoolComponent.sol +19 -15
  414. package/contracts/pool/IPoolService.sol +86 -70
  415. package/contracts/pool/Pool.sol +139 -124
  416. package/contracts/pool/PoolLib.sol +216 -0
  417. package/contracts/pool/PoolService.sol +497 -301
  418. package/contracts/pool/PoolServiceManager.sol +4 -4
  419. package/contracts/product/ApplicationService.sol +87 -43
  420. package/contracts/product/ApplicationServiceManager.sol +4 -4
  421. package/contracts/product/BasicProduct.sol +10 -13
  422. package/contracts/product/BasicProductAuthorization.sol +24 -11
  423. package/contracts/product/ClaimService.sol +364 -156
  424. package/contracts/product/ClaimServiceManager.sol +4 -4
  425. package/contracts/product/IApplicationService.sol +9 -2
  426. package/contracts/product/IClaimService.sol +43 -8
  427. package/contracts/product/IPolicyService.sol +44 -34
  428. package/contracts/product/IPricingService.sol +11 -10
  429. package/contracts/product/IProductComponent.sol +27 -5
  430. package/contracts/product/{IProductService.sol → IRiskService.sol} +8 -8
  431. package/contracts/product/PolicyService.sol +408 -300
  432. package/contracts/product/PolicyServiceLib.sol +65 -0
  433. package/contracts/product/PolicyServiceManager.sol +4 -4
  434. package/contracts/product/PricingService.sol +69 -60
  435. package/contracts/product/PricingServiceManager.sol +4 -4
  436. package/contracts/product/Product.sol +153 -97
  437. package/contracts/product/RiskService.sol +154 -0
  438. package/contracts/product/RiskServiceManager.sol +39 -0
  439. package/contracts/registry/ChainNft.sol +72 -40
  440. package/contracts/registry/IRegistry.sol +64 -28
  441. package/contracts/registry/IRegistryService.sol +5 -12
  442. package/contracts/registry/IRelease.sol +29 -0
  443. package/contracts/registry/ITransferInterceptor.sol +1 -2
  444. package/contracts/registry/Registry.sol +357 -203
  445. package/contracts/registry/RegistryAdmin.sol +162 -269
  446. package/contracts/registry/RegistryAuthorization.sol +267 -0
  447. package/contracts/registry/RegistryService.sol +37 -48
  448. package/contracts/registry/RegistryServiceManager.sol +3 -3
  449. package/contracts/registry/ReleaseAdmin.sol +253 -0
  450. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  451. package/contracts/registry/ReleaseRegistry.sol +272 -240
  452. package/contracts/registry/ServiceAuthorizationV3.sol +183 -52
  453. package/contracts/registry/TokenRegistry.sol +10 -9
  454. package/contracts/shared/Component.sol +66 -137
  455. package/contracts/shared/ComponentService.sol +436 -378
  456. package/contracts/shared/ComponentServiceManager.sol +8 -5
  457. package/contracts/shared/ComponentVerifyingService.sol +28 -17
  458. package/contracts/shared/ContractLib.sol +281 -0
  459. package/contracts/shared/IComponent.sol +5 -18
  460. package/contracts/shared/IComponentService.sol +44 -40
  461. package/contracts/shared/IInstanceLinkedComponent.sol +2 -28
  462. package/contracts/shared/ILifecycle.sol +3 -1
  463. package/contracts/shared/INftOwnable.sol +2 -0
  464. package/contracts/shared/IPolicyHolder.sol +12 -22
  465. package/contracts/shared/IRegisterable.sol +23 -1
  466. package/contracts/shared/IService.sol +3 -5
  467. package/contracts/shared/InitializableERC165.sol +10 -2
  468. package/contracts/shared/InstanceLinkedComponent.sol +73 -50
  469. package/contracts/shared/KeyValueStore.sol +1 -1
  470. package/contracts/shared/Lifecycle.sol +15 -4
  471. package/contracts/shared/NftOwnable.sol +29 -9
  472. package/contracts/shared/PolicyHolder.sol +15 -52
  473. package/contracts/shared/Registerable.sol +52 -21
  474. package/contracts/shared/RegistryLinked.sol +9 -14
  475. package/contracts/shared/Service.sol +15 -32
  476. package/contracts/shared/TokenHandler.sol +309 -29
  477. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  478. package/contracts/staking/IStaking.sol +25 -13
  479. package/contracts/staking/IStakingService.sol +16 -4
  480. package/contracts/staking/Staking.sol +103 -73
  481. package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +95 -45
  482. package/contracts/staking/StakingManager.sol +8 -6
  483. package/contracts/staking/StakingReader.sol +18 -21
  484. package/contracts/staking/StakingService.sol +82 -25
  485. package/contracts/staking/StakingServiceManager.sol +6 -5
  486. package/contracts/staking/StakingStore.sol +2 -1
  487. package/contracts/staking/TargetManagerLib.sol +7 -3
  488. package/contracts/type/Amount.sol +15 -0
  489. package/contracts/type/ClaimId.sol +6 -1
  490. package/contracts/type/Fee.sol +8 -8
  491. package/contracts/type/Key32.sol +2 -2
  492. package/contracts/type/Key32Set.sol +62 -0
  493. package/contracts/type/NftId.sol +7 -0
  494. package/contracts/type/ObjectType.sol +57 -34
  495. package/contracts/type/PayoutId.sol +10 -10
  496. package/contracts/type/RiskId.sol +38 -6
  497. package/contracts/type/RoleId.sol +23 -15
  498. package/contracts/type/Seconds.sol +8 -0
  499. package/contracts/type/Selector.sol +5 -0
  500. package/contracts/type/StateId.sol +15 -1
  501. package/contracts/type/Timestamp.sol +0 -5
  502. package/contracts/type/UFixed.sol +37 -126
  503. package/contracts/type/Version.sol +54 -5
  504. package/contracts/upgradeability/ProxyManager.sol +79 -43
  505. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +7 -1
  506. package/contracts/upgradeability/Versionable.sol +2 -2
  507. package/package.json +5 -4
  508. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  509. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  510. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  511. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  512. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  513. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  514. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  515. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  516. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  517. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  518. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  519. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  520. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  521. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  522. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -470
  523. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  524. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
  525. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  526. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  527. package/contracts/instance/module/IAccess.sol +0 -46
  528. package/contracts/product/ProductService.sol +0 -99
  529. package/contracts/product/ProductServiceManager.sol +0 -39
  530. package/contracts/shared/InitializableCustom.sol +0 -177
@@ -1,22 +1,21 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
5
4
  import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
6
5
  import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
7
- import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
8
6
 
9
- import {Amount, AmountLib} from "../type/Amount.sol";
7
+ import {Amount} from "../type/Amount.sol";
10
8
  import {IComponent} from "./IComponent.sol";
11
9
  import {IComponents} from "../instance/module/IComponents.sol";
12
- import {NftId, NftIdLib} from "../type/NftId.sol";
13
- import {ObjectType} from "../type/ObjectType.sol";
10
+ import {IComponentService} from "./IComponentService.sol";
11
+ import {NftId} from "../type/NftId.sol";
12
+ import {ObjectType, COMPONENT} from "../type/ObjectType.sol";
14
13
  import {Registerable} from "../shared/Registerable.sol";
15
14
  import {TokenHandler} from "../shared/TokenHandler.sol";
16
- import {VersionPartLib} from "../type/Version.sol";
15
+ import {Version, VersionLib} from "../type/Version.sol";
16
+
17
17
 
18
18
  abstract contract Component is
19
- AccessManagedUpgradeable,
20
19
  Registerable,
21
20
  IComponent
22
21
  {
@@ -25,10 +24,9 @@ abstract contract Component is
25
24
 
26
25
  struct ComponentStorage {
27
26
  string _name; // unique (per instance) component name
28
- IERC20Metadata _token; // token for this component
29
- address _wallet;
30
27
  bool _isInterceptor;
31
28
  bytes _data;
29
+ IComponentService _componentService;
32
30
  }
33
31
 
34
32
 
@@ -39,147 +37,68 @@ abstract contract Component is
39
37
  _;
40
38
  }
41
39
 
42
- modifier onlyNftOwner(NftId nftId) {
43
- if(msg.sender != getRegistry().ownerOf(nftId)) {
44
- revert ErrorNftOwnableNotOwner(msg.sender);
45
- }
46
- _;
47
- }
48
40
 
49
41
  function _getComponentStorage() private pure returns (ComponentStorage storage $) {
42
+ // solhint-disable-next-line no-inline-assembly
50
43
  assembly {
51
44
  $.slot := COMPONENT_LOCATION_V1
52
45
  }
53
46
  }
54
47
 
55
- function initializeComponent(
48
+
49
+ function _initializeComponent(
56
50
  address authority,
57
51
  address registry,
58
52
  NftId parentNftId,
59
53
  string memory name,
60
- address token,
61
54
  ObjectType componentType,
62
55
  bool isInterceptor,
63
56
  address initialOwner,
64
57
  bytes memory registryData, // writeonly data that will saved in the object info record of the registry
65
58
  bytes memory componentData // other component specific data
66
59
  )
67
- public
60
+ internal
68
61
  virtual
69
62
  onlyInitializing()
70
63
  {
71
- initializeRegisterable(registry, parentNftId, componentType, isInterceptor, initialOwner, registryData);
72
- __AccessManaged_init(authority);
73
-
74
- if (token == address(0)) {
75
- revert ErrorComponentTokenAddressZero();
76
- }
77
-
78
64
  if (bytes(name).length == 0) {
79
65
  revert ErrorComponentNameLengthZero();
80
66
  }
81
67
 
68
+ __Registerable_init(
69
+ authority,
70
+ registry,
71
+ parentNftId,
72
+ componentType,
73
+ isInterceptor,
74
+ initialOwner,
75
+ registryData);
76
+
82
77
  // set component state
83
78
  ComponentStorage storage $ = _getComponentStorage();
84
79
  $._name = name;
85
- $._token = IERC20Metadata(token);
86
- $._wallet = address(this);
87
80
  $._isInterceptor = isInterceptor;
88
81
  $._data = componentData;
82
+ $._componentService = IComponentService(_getServiceAddress(COMPONENT()));
89
83
 
90
- registerInterface(type(IAccessManaged).interfaceId);
91
- registerInterface(type(IComponent).interfaceId);
92
- }
93
-
94
-
95
- function approveTokenHandler(Amount spendingLimitAmount)
96
- external
97
- virtual
98
- onlyOwner
99
- {
100
- approveTokenHandler(address(getToken()), spendingLimitAmount);
101
- }
102
-
103
- function approveTokenHandler(address token, Amount spendingLimitAmount)
104
- public
105
- virtual
106
- onlyOwner
107
- {
108
- if(getWallet() != address(this)) {
109
- revert ErrorComponentWalletNotComponent();
110
- }
111
-
112
- emit LogComponentTokenHandlerApproved(address(getTokenHandler()), spendingLimitAmount);
113
-
114
- IERC20Metadata(token).approve(
115
- address(getTokenHandler()),
116
- spendingLimitAmount.toInt());
84
+ _registerInterface(type(IAccessManaged).interfaceId);
85
+ _registerInterface(type(IComponent).interfaceId);
117
86
  }
118
87
 
119
- function setWallet(address newWallet)
120
- external
121
- virtual
122
- override
123
- onlyOwner
124
- {
125
- // checks
126
- address currentWallet = getWallet();
127
- IERC20Metadata token = getToken();
128
- uint256 currentBalance = token.balanceOf(currentWallet);
129
-
130
- if (currentBalance > 0) {
131
- if (currentWallet == address(this)) {
132
- // move tokens from component smart contract to external wallet
133
- } else {
134
- // move tokens from external wallet to component smart contract or another external wallet
135
- uint256 allowance = token.allowance(currentWallet, address(getTokenHandler()));
136
- if (allowance < currentBalance) {
137
- revert ErrorComponentWalletAllowanceTooSmall(currentWallet, newWallet, allowance, currentBalance);
138
- }
139
- }
140
- }
141
-
142
- // effects
143
- _setWallet(newWallet);
144
-
145
- // interactions
146
- if (currentBalance > 0) {
147
- emit LogComponentWalletTokensTransferred(currentWallet, newWallet, currentBalance);
148
-
149
- // transfer tokens from current wallet to new wallet
150
- if (currentWallet == address(this)) {
151
- // transferFrom requires self allowance too
152
- token.approve(address(getTokenHandler()), currentBalance);
153
- }
154
-
155
- getTokenHandler().transfer(currentWallet, newWallet, AmountLib.toAmount(currentBalance));
156
- }
157
- }
158
-
159
-
160
- /// @dev callback function for nft mints
161
- /// may only be called by chain nft contract.
162
- /// override internal function _nftMint to implement custom behaviour
163
- function nftMint(address to, uint256 tokenId)
164
- external
165
- onlyChainNft
166
- {
167
- _nftMint(to, tokenId);
168
- }
169
88
 
170
89
  /// @dev callback function for nft transfers
171
90
  /// may only be called by chain nft contract.
172
91
  /// override internal function _nftTransferFrom to implement custom behaviour
173
- function nftTransferFrom(address from, address to, uint256 tokenId)
92
+ function nftTransferFrom(address from, address to, uint256 tokenId, address operator)
174
93
  external
175
94
  onlyChainNft
176
95
  {
177
- _nftTransferFrom(from, to, tokenId);
96
+ _nftTransferFrom(from, to, tokenId, operator);
178
97
  }
179
98
 
180
99
 
181
100
  function getWallet() public view virtual returns (address walletAddress) {
182
- return getComponentInfo().wallet;
101
+ return getTokenHandler().getWallet();
183
102
  }
184
103
 
185
104
  function getTokenHandler() public virtual view returns (TokenHandler tokenHandler) {
@@ -187,13 +106,17 @@ abstract contract Component is
187
106
  }
188
107
 
189
108
  function getToken() public view virtual returns (IERC20Metadata token) {
190
- return getComponentInfo().token;
109
+ return getTokenHandler().TOKEN();
191
110
  }
192
111
 
193
112
  function getName() public view override returns(string memory name) {
194
113
  return getComponentInfo().name;
195
114
  }
196
115
 
116
+ function getVersion() public view virtual returns (Version version) {
117
+ return VersionLib.toVersion(1, 0, 0);
118
+ }
119
+
197
120
  function getComponentInfo() public virtual view returns (IComponents.ComponentInfo memory info) {
198
121
  if (isRegistered()) {
199
122
  return _getComponentInfo();
@@ -219,42 +142,51 @@ abstract contract Component is
219
142
 
220
143
 
221
144
  function isRegistered() public virtual view returns (bool) {
222
- return getRegistry().getNftId(address(this)).gtz();
145
+ return getRegistry().getNftIdForAddress(address(this)).gtz();
223
146
  }
224
147
 
225
148
 
226
- /// @dev internal function for nft transfers.
227
- /// handling logic that deals with nft transfers need to overwrite this function
228
- function _nftMint(address to, uint256 tokenId)
149
+ /// @dev Approves token hanlder to spend up to the specified amount of tokens.
150
+ /// Reverts if component wallet is not token handler itself.
151
+ /// Only component owner (nft holder) is authorizes to call this function.
152
+ function _approveTokenHandler(IERC20Metadata token, Amount amount)
229
153
  internal
230
154
  virtual
231
- { }
155
+ {
156
+ _getComponentStorage()._componentService.approveTokenHandler(
157
+ token,
158
+ amount);
159
+ }
160
+
232
161
 
233
162
  /// @dev internal function for nft transfers.
234
163
  /// handling logic that deals with nft transfers need to overwrite this function
235
- function _nftTransferFrom(address from, address to, uint256 tokenId)
164
+ function _nftTransferFrom(address from, address to, uint256 tokenId, address operator)
236
165
  internal
237
166
  virtual
238
- { }
167
+ // solhint-disable-next-line no-empty-blocks
168
+ {
169
+ // empty default implementation
170
+ }
239
171
 
240
172
 
241
- /// @dev depending on the source of the component information this function needs to be overwritten.
173
+ /// @dev Sets the components wallet to the specified address.
174
+ /// Depending on the source of the component information this function needs to be overwritten.
242
175
  /// eg for instance linked components that externally store this information with the instance store contract
243
- function _setWallet(address newWallet) internal virtual {
244
- ComponentStorage storage $ = _getComponentStorage();
245
- address currentWallet = $._wallet;
246
-
247
- if (newWallet == address(0)) {
248
- revert ErrorComponentWalletAddressZero();
249
- }
250
-
251
- if (newWallet == currentWallet) {
252
- revert ErrorComponentWalletAddressIsSameAsCurrent();
253
- }
254
-
255
- $._wallet = newWallet;
256
- emit LogComponentWalletAddressChanged(currentWallet, newWallet);
176
+ function _setWallet(
177
+ address newWallet
178
+ )
179
+ internal
180
+ virtual
181
+ {
182
+ _getComponentStorage()._componentService.setWallet(newWallet);
183
+ }
257
184
 
185
+ function _setLocked(bool locked)
186
+ internal
187
+ virtual
188
+ {
189
+ _getComponentStorage()._componentService.setLocked(locked);
258
190
  }
259
191
 
260
192
 
@@ -265,17 +197,14 @@ abstract contract Component is
265
197
 
266
198
  return IComponents.ComponentInfo({
267
199
  name: $._name,
268
- productNftId: NftIdLib.zero(),
269
- token: $._token,
270
200
  tokenHandler: TokenHandler(address(0)),
271
- wallet: $._wallet, // initial wallet address
272
201
  data: $._data // user specific component data
273
202
  });
274
203
  }
275
204
 
276
- function _approveTokenHandler(uint256 amount) internal {
277
- ComponentStorage storage $ = _getComponentStorage();
278
- $._token.approve(address(getComponentInfo().tokenHandler), amount);
205
+ /// @dev returns the service address for the specified domain
206
+ /// gets address via lookup from registry using the major version form the linked instance
207
+ function _getServiceAddress(ObjectType domain) internal view returns (address) {
208
+ return getRegistry().getServiceAddress(domain, getRelease());
279
209
  }
280
-
281
210
  }