@etherisc/gif-next 0.0.2-e876b87-961 → 0.0.2-e8a628e-326

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 (529) hide show
  1. package/README.md +90 -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 +640 -269
  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 +409 -33
  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 +525 -213
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +179 -19
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +246 -16
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +420 -27
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +132 -290
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +381 -46
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +64 -163
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +585 -231
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +170 -78
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +44 -125
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +401 -78
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  40. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +160 -214
  42. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +380 -45
  44. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +308 -327
  46. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +380 -45
  48. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  49. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  50. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +215 -247
  51. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  54. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +95 -155
  55. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  56. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +278 -223
  57. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  60. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +944 -454
  61. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
  63. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
  64. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +498 -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/IBaseStore.sol/IBaseStore.dbg.json +4 -0
  68. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +470 -0
  69. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  70. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +541 -50
  71. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  72. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +407 -17
  73. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  74. package/artifacts/contracts/instance/Instance.sol/Instance.json +606 -106
  75. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +990 -359
  77. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +337 -61
  79. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1069 -481
  81. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +424 -81
  83. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +102 -52
  85. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  86. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +648 -948
  87. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
  88. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +1759 -0
  89. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  90. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
  91. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  92. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
  93. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  94. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  95. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  96. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  97. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  98. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  99. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
  100. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  101. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  102. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  104. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  105. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  106. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  107. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  108. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  109. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +83 -165
  110. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  111. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +379 -47
  112. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  113. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  114. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +48 -64
  115. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  116. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +56 -3
  117. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  118. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +67 -101
  119. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  120. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +157 -81
  121. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  122. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +134 -46
  123. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  124. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +106 -163
  125. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  126. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +380 -45
  127. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  128. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +317 -344
  129. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  130. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +125 -93
  131. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  132. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +219 -146
  133. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  134. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +63 -118
  135. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  136. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +380 -214
  137. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  138. package/artifacts/contracts/pool/Pool.sol/Pool.json +76 -149
  139. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  140. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  141. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  142. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +621 -413
  143. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  144. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +168 -68
  145. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  146. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +327 -62
  147. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  148. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +123 -43
  149. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  150. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +199 -213
  151. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  152. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +380 -45
  153. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  154. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +294 -189
  155. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  156. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +134 -86
  157. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  158. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +268 -10
  159. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +181 -19
  161. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  162. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +167 -56
  163. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  164. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +77 -3
  165. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  166. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +175 -171
  167. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  168. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +258 -22
  169. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  170. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +296 -194
  171. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  172. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  173. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  174. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +150 -78
  175. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  176. package/artifacts/contracts/product/PricingService.sol/PricingService.json +139 -114
  177. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  178. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +112 -60
  179. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  180. package/artifacts/contracts/product/Product.sol/Product.json +193 -207
  181. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  182. package/artifacts/contracts/product/RiskService.sol/RiskService.json +338 -87
  183. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  184. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +123 -43
  185. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  186. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  187. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  188. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +78 -19
  189. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  190. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +56 -3
  191. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  192. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  193. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  194. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  195. package/artifacts/contracts/registry/Registry.sol/Registry.json +116 -57
  196. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  197. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +727 -453
  198. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  199. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1074 -0
  200. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  201. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +89 -37
  202. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  203. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +99 -39
  204. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  205. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
  206. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  207. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  208. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  209. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +386 -64
  210. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  211. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +437 -26
  212. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  213. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +120 -60
  214. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  215. package/artifacts/contracts/shared/Component.sol/Component.json +66 -86
  216. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  217. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +308 -542
  218. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  219. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +136 -84
  220. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  221. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +544 -4
  222. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  225. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  226. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  228. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  229. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +48 -50
  230. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  231. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +171 -356
  232. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  233. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +48 -64
  234. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  235. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +43 -6
  236. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  237. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  238. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +19 -0
  239. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  240. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  241. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +139 -1
  242. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  243. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  244. package/artifacts/contracts/shared/IService.sol/IService.json +56 -3
  245. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  246. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
  247. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  248. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +66 -100
  249. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  250. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +43 -6
  251. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -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 +21 -2
  256. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  257. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
  258. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  259. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +137 -62
  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 +51 -11
  264. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  265. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +289 -112
  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 +70 -30
  270. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  271. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1446 -154
  272. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  273. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +214 -110
  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 +1583 -286
  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 +140 -69
  282. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  283. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +294 -177
  284. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  285. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +257 -162
  286. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  287. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +102 -46
  288. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  289. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1632 -818
  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 +11 -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 +2 -2
  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 +2 -2
  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/String.sol/StrLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
  336. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  337. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +3 -3
  338. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +61 -37
  340. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  341. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  342. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  343. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
  344. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  345. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
  346. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  347. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +79 -25
  348. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  349. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
  350. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  351. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
  352. package/contracts/accounting/AccountingService.sol +274 -0
  353. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  354. package/contracts/accounting/IAccountingService.sol +47 -0
  355. package/contracts/authorization/AccessAdmin.sol +429 -245
  356. package/contracts/authorization/AccessAdminLib.sol +396 -0
  357. package/contracts/authorization/AccessManagerCloneable.sol +146 -4
  358. package/contracts/authorization/Authorization.sol +142 -262
  359. package/contracts/authorization/IAccess.sol +25 -7
  360. package/contracts/authorization/IAccessAdmin.sol +87 -80
  361. package/contracts/authorization/IAuthorization.sol +9 -43
  362. package/contracts/authorization/IServiceAuthorization.sol +55 -17
  363. package/contracts/authorization/ServiceAuthorization.sol +248 -34
  364. package/contracts/distribution/BasicDistribution.sol +18 -16
  365. package/contracts/distribution/BasicDistributionAuthorization.sol +30 -10
  366. package/contracts/distribution/Distribution.sol +43 -81
  367. package/contracts/distribution/DistributionService.sol +192 -99
  368. package/contracts/distribution/DistributionServiceManager.sol +1 -1
  369. package/contracts/distribution/IDistributionComponent.sol +3 -10
  370. package/contracts/distribution/IDistributionService.sol +38 -24
  371. package/contracts/examples/fire/FirePool.sol +21 -8
  372. package/contracts/examples/fire/FirePoolAuthorization.sol +2 -1
  373. package/contracts/examples/fire/FireProduct.sol +38 -20
  374. package/contracts/examples/fire/FireProductAuthorization.sol +2 -1
  375. package/contracts/examples/unpermissioned/SimpleDistribution.sol +39 -8
  376. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  377. package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -8
  378. package/contracts/examples/unpermissioned/SimplePool.sol +32 -6
  379. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  380. package/contracts/examples/unpermissioned/SimpleProduct.sol +132 -46
  381. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  382. package/contracts/instance/BaseStore.sol +97 -0
  383. package/contracts/instance/BundleSet.sol +42 -38
  384. package/contracts/instance/IBaseStore.sol +43 -0
  385. package/contracts/instance/IInstance.sol +109 -19
  386. package/contracts/instance/IInstanceService.sol +61 -14
  387. package/contracts/instance/Instance.sol +191 -65
  388. package/contracts/instance/InstanceAdmin.sol +271 -171
  389. package/contracts/instance/InstanceAuthorizationV3.sol +139 -58
  390. package/contracts/instance/InstanceReader.sol +451 -312
  391. package/contracts/instance/InstanceService.sol +315 -214
  392. package/contracts/instance/InstanceServiceManager.sol +1 -1
  393. package/contracts/instance/InstanceStore.sol +14 -30
  394. package/contracts/instance/ProductStore.sol +110 -0
  395. package/contracts/instance/RiskSet.sol +126 -0
  396. package/contracts/instance/TargetNames.sol +10 -0
  397. package/contracts/instance/base/BalanceStore.sol +4 -6
  398. package/contracts/instance/base/ObjectCounter.sol +1 -2
  399. package/contracts/instance/base/ObjectLifecycle.sol +6 -8
  400. package/contracts/instance/base/ObjectSet.sol +31 -33
  401. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  402. package/contracts/instance/module/IBundle.sol +6 -5
  403. package/contracts/instance/module/IComponents.sol +20 -9
  404. package/contracts/instance/module/IDistribution.sol +21 -8
  405. package/contracts/instance/module/IPolicy.sol +28 -7
  406. package/contracts/instance/module/IRisk.sol +5 -0
  407. package/contracts/oracle/BasicOracle.sol +2 -4
  408. package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
  409. package/contracts/oracle/IOracle.sol +9 -4
  410. package/contracts/oracle/Oracle.sol +3 -5
  411. package/contracts/oracle/OracleService.sol +98 -79
  412. package/contracts/oracle/OracleServiceManager.sol +1 -1
  413. package/contracts/pool/BasicPool.sol +25 -17
  414. package/contracts/pool/BasicPoolAuthorization.sol +34 -10
  415. package/contracts/pool/BundleService.sol +75 -182
  416. package/contracts/pool/BundleServiceManager.sol +1 -1
  417. package/contracts/pool/IBundleService.sol +28 -55
  418. package/contracts/pool/IPoolComponent.sol +1 -7
  419. package/contracts/pool/IPoolService.sol +65 -62
  420. package/contracts/pool/Pool.sol +109 -111
  421. package/contracts/pool/PoolLib.sol +341 -0
  422. package/contracts/pool/PoolService.sol +299 -229
  423. package/contracts/pool/PoolServiceManager.sol +1 -1
  424. package/contracts/product/ApplicationService.sol +93 -25
  425. package/contracts/product/ApplicationServiceManager.sol +1 -1
  426. package/contracts/product/BasicProduct.sol +9 -13
  427. package/contracts/product/BasicProductAuthorization.sol +32 -11
  428. package/contracts/product/ClaimService.sol +221 -207
  429. package/contracts/product/ClaimServiceManager.sol +1 -1
  430. package/contracts/product/IApplicationService.sol +28 -3
  431. package/contracts/product/IClaimService.sol +18 -5
  432. package/contracts/product/IPolicyService.sol +34 -12
  433. package/contracts/product/IPricingService.sol +1 -0
  434. package/contracts/product/IProductComponent.sol +4 -1
  435. package/contracts/product/IRiskService.sol +25 -10
  436. package/contracts/product/PolicyService.sol +258 -304
  437. package/contracts/product/PolicyServiceLib.sol +139 -0
  438. package/contracts/product/PolicyServiceManager.sol +1 -1
  439. package/contracts/product/PricingService.sol +52 -46
  440. package/contracts/product/PricingServiceManager.sol +3 -3
  441. package/contracts/product/Product.sol +104 -66
  442. package/contracts/product/RiskService.sol +128 -34
  443. package/contracts/product/RiskServiceManager.sol +1 -1
  444. package/contracts/registry/ChainNft.sol +4 -2
  445. package/contracts/registry/IRegistry.sol +25 -24
  446. package/contracts/registry/IRelease.sol +29 -0
  447. package/contracts/registry/Registry.sol +31 -12
  448. package/contracts/registry/RegistryAdmin.sol +107 -364
  449. package/contracts/registry/RegistryAuthorization.sol +336 -0
  450. package/contracts/registry/RegistryService.sol +4 -4
  451. package/contracts/registry/RegistryServiceManager.sol +1 -1
  452. package/contracts/registry/ReleaseAdmin.sol +195 -0
  453. package/contracts/registry/ReleaseLifecycle.sol +2 -0
  454. package/contracts/registry/ReleaseRegistry.sol +158 -134
  455. package/contracts/registry/ServiceAuthorizationV3.sol +200 -52
  456. package/contracts/registry/TokenRegistry.sol +61 -59
  457. package/contracts/shared/Component.sol +56 -113
  458. package/contracts/shared/ComponentService.sol +392 -406
  459. package/contracts/shared/ComponentServiceManager.sol +1 -1
  460. package/contracts/shared/ContractLib.sol +277 -3
  461. package/contracts/shared/IComponent.sol +2 -18
  462. package/contracts/shared/IComponentService.sol +28 -38
  463. package/contracts/shared/IInstanceLinkedComponent.sol +0 -11
  464. package/contracts/shared/IKeyValueStore.sol +9 -1
  465. package/contracts/shared/INftOwnable.sol +2 -0
  466. package/contracts/shared/IRegisterable.sol +15 -5
  467. package/contracts/shared/IService.sol +3 -5
  468. package/contracts/shared/InitializableERC165.sol +9 -1
  469. package/contracts/shared/InstanceLinkedComponent.sol +8 -27
  470. package/contracts/shared/KeyValueStore.sol +3 -3
  471. package/contracts/shared/NftOwnable.sol +8 -6
  472. package/contracts/shared/PolicyHolder.sol +4 -3
  473. package/contracts/shared/Registerable.sol +41 -20
  474. package/contracts/shared/RegistryLinked.sol +7 -13
  475. package/contracts/shared/Service.sol +13 -30
  476. package/contracts/shared/TokenHandler.sol +264 -105
  477. package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
  478. package/contracts/staking/IStaking.sol +271 -72
  479. package/contracts/staking/IStakingService.sol +45 -75
  480. package/contracts/staking/ITargetLimitHandler.sol +17 -0
  481. package/contracts/staking/Staking.sol +521 -220
  482. package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +55 -84
  483. package/contracts/staking/StakingManager.sol +4 -3
  484. package/contracts/staking/StakingReader.sol +58 -77
  485. package/contracts/staking/StakingService.sol +62 -148
  486. package/contracts/staking/StakingServiceManager.sol +6 -4
  487. package/contracts/staking/StakingStore.sol +1093 -330
  488. package/contracts/staking/TargetHandler.sol +132 -0
  489. package/contracts/staking/TargetManagerLib.sol +69 -46
  490. package/contracts/type/Amount.sol +4 -0
  491. package/contracts/type/Blocknumber.sol +15 -15
  492. package/contracts/type/ChainId.sol +101 -0
  493. package/contracts/type/Fee.sol +8 -8
  494. package/contracts/type/Key32.sol +2 -2
  495. package/contracts/type/Key32Set.sol +62 -0
  496. package/contracts/type/NftId.sol +6 -0
  497. package/contracts/type/ObjectType.sol +69 -38
  498. package/contracts/type/RiskId.sol +26 -8
  499. package/contracts/type/RoleId.sol +63 -45
  500. package/contracts/type/Seconds.sol +19 -0
  501. package/contracts/type/Selector.sol +5 -0
  502. package/contracts/type/String.sol +12 -0
  503. package/contracts/type/Timestamp.sol +4 -7
  504. package/contracts/type/UFixed.sol +35 -127
  505. package/contracts/type/Version.sol +54 -5
  506. package/contracts/upgradeability/IVersionable.sol +3 -0
  507. package/contracts/upgradeability/ProxyManager.sol +26 -12
  508. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
  509. package/contracts/upgradeability/Versionable.sol +6 -3
  510. package/package.json +4 -4
  511. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +0 -4
  512. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +0 -1196
  513. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  514. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  515. package/artifacts/contracts/shared/ComponentServiceHelperLib.sol/ComponentServiceHelperLib.dbg.json +0 -4
  516. package/artifacts/contracts/shared/ComponentServiceHelperLib.sol/ComponentServiceHelperLib.json +0 -206
  517. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
  518. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +0 -474
  519. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  520. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -440
  521. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +0 -4
  522. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +0 -205
  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/ReleaseAccessManager.sol +0 -38
  526. package/contracts/instance/module/IAccess.sol +0 -46
  527. package/contracts/shared/ComponentServiceHelperLib.sol +0 -118
  528. package/contracts/shared/ComponentVerifyingService.sol +0 -126
  529. package/contracts/staking/StakingLifecycle.sol +0 -23
@@ -20,7 +20,7 @@ import {NftId} from "../type/NftId.sol";
20
20
  import {ObjectType, COMPONENT, INSTANCE, PRODUCT} from "../type/ObjectType.sol";
21
21
  import {VersionPart} from "../type/Version.sol";
22
22
  import {RoleId, RoleIdLib} from "../type/RoleId.sol";
23
- import {IAccess} from "../instance/module/IAccess.sol";
23
+ import {IAccess} from "../authorization/IAccess.sol";
24
24
  import {TokenHandler} from "../shared/TokenHandler.sol";
25
25
  import {VersionPart} from "../type/Version.sol";
26
26
 
@@ -40,32 +40,24 @@ abstract contract InstanceLinkedComponent is
40
40
  IComponentService _componentService;
41
41
  }
42
42
 
43
- function lock() external onlyOwner {
44
- IInstanceService(_getServiceAddress(INSTANCE())).setComponentLocked(true);
45
- }
46
-
47
- function unlock() external onlyOwner {
48
- IInstanceService(_getServiceAddress(INSTANCE())).setComponentLocked(false);
49
- }
50
-
51
43
  /// @inheritdoc IInstanceLinkedComponent
52
44
  function withdrawFees(Amount amount)
53
45
  external
54
46
  virtual
55
- onlyOwner()
56
47
  restricted()
48
+ onlyOwner()
57
49
  returns (Amount withdrawnAmount)
58
50
  {
59
51
  return _withdrawFees(amount);
60
52
  }
61
53
 
62
54
  /// @inheritdoc IInstanceLinkedComponent
63
- function getInstance() public view override returns (IInstance instance) {
55
+ function getInstance() public view virtual override returns (IInstance instance) {
64
56
  return _getInstanceLinkedComponentStorage()._instance;
65
57
  }
66
58
 
67
59
  /// @inheritdoc IInstanceLinkedComponent
68
- function getAuthorization() external view returns (IAuthorization authorization) {
60
+ function getAuthorization() external view virtual returns (IAuthorization authorization) {
69
61
  return _getInstanceLinkedComponentStorage()._initialAuthorization;
70
62
  }
71
63
 
@@ -75,11 +67,10 @@ abstract contract InstanceLinkedComponent is
75
67
  }
76
68
  }
77
69
 
78
- function _initializeInstanceLinkedComponent(
70
+ function __InstanceLinkedComponent_init(
79
71
  address registry,
80
72
  NftId parentNftId,
81
73
  string memory name,
82
- address token,
83
74
  ObjectType componentType,
84
75
  IAuthorization authorization,
85
76
  bool isInterceptor,
@@ -102,12 +93,11 @@ abstract contract InstanceLinkedComponent is
102
93
  IRegistry(registry).getObjectAddress(instanceNftId));
103
94
 
104
95
  // set component specific parameters
105
- _initializeComponent(
96
+ __Component_init(
106
97
  $._instance.authority(), // instance linked components need to point to instance admin
107
98
  registry,
108
99
  parentNftId,
109
100
  name,
110
- token,
111
101
  componentType,
112
102
  isInterceptor,
113
103
  initialOwner,
@@ -120,7 +110,6 @@ abstract contract InstanceLinkedComponent is
120
110
  $._componentService = IComponentService(_getServiceAddress(COMPONENT()));
121
111
 
122
112
  // register interfaces
123
- _registerInterface(type(IAccessManaged).interfaceId);
124
113
  _registerInterface(type(IInstanceLinkedComponent).interfaceId);
125
114
  }
126
115
 
@@ -142,7 +131,7 @@ abstract contract InstanceLinkedComponent is
142
131
 
143
132
  // if not product parent is product, and parent of product is instance
144
133
  IRegistry registry = _checkAndGetRegistry(registryAddress, parentNftId, PRODUCT());
145
- return registry.getObjectInfo(parentNftId).parentNftId;
134
+ return registry.getParentNftId(parentNftId);
146
135
  }
147
136
 
148
137
  /// @dev checks the and gets registry.
@@ -181,7 +170,7 @@ abstract contract InstanceLinkedComponent is
181
170
  info = _getInstanceReader().getComponentInfo(getNftId());
182
171
 
183
172
  // check if also registered with instance
184
- if (info.wallet != address(0)) {
173
+ if (address(info.tokenHandler) != address(0)) {
185
174
  return info;
186
175
  }
187
176
  }
@@ -202,12 +191,4 @@ abstract contract InstanceLinkedComponent is
202
191
  {
203
192
  return _getInstanceLinkedComponentStorage()._componentService.withdrawFees(amount);
204
193
  }
205
-
206
-
207
- /// @dev returns the service address for the specified domain
208
- /// gets address via lookup from registry using the major version form the linked instance
209
- function _getServiceAddress(ObjectType domain) internal view returns (address service) {
210
- VersionPart release = _getInstanceLinkedComponentStorage()._instance.getRelease();
211
- return getRegistry().getServiceAddress(domain, release);
212
- }
213
194
  }
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {Blocknumber, blockBlocknumber, zeroBlocknumber} from "../type/Blocknumber.sol";
4
+ import {Blocknumber, BlocknumberLib} from "../type/Blocknumber.sol";
5
5
  import {Key32, KeyId, Key32Lib} from "../type/Key32.sol";
6
6
  import {NftId} from "../type/NftId.sol";
7
7
  import {ObjectType} from "../type/ObjectType.sol";
@@ -38,7 +38,7 @@ abstract contract KeyValueStore is
38
38
  revert ErrorKeyValueStoreNoLifecycle(objectType);
39
39
  }
40
40
 
41
- Blocknumber blocknumber = blockBlocknumber();
41
+ Blocknumber blocknumber = BlocknumberLib.current();
42
42
  StateId initialState = getInitialState(objectType);
43
43
 
44
44
  // set metadata
@@ -102,7 +102,7 @@ abstract contract KeyValueStore is
102
102
  }
103
103
 
104
104
  // update metadata
105
- metadata.updatedIn = blockBlocknumber();
105
+ metadata.updatedIn = BlocknumberLib.current();
106
106
  }
107
107
 
108
108
  function exists(Key32 key32) public view returns (bool) {
@@ -41,15 +41,15 @@ contract NftOwnable is
41
41
  }
42
42
 
43
43
  function _checkNftType(NftId nftId, ObjectType expectedObjectType) internal view {
44
- if(!getRegistry().isObjectType(nftId, expectedObjectType)) {
44
+ if(expectedObjectType.eqz() || !getRegistry().isObjectType(nftId, expectedObjectType)) {
45
45
  revert ErrorNftOwnableInvalidType(nftId, expectedObjectType);
46
46
  }
47
47
  }
48
48
 
49
49
 
50
- /// @dev initialization for upgradable contracts
51
- // used in _initializeRegisterable
52
- function _initializeNftOwnable(
50
+ /// @dev Initialization for upgradable contracts.
51
+ // used in __Registerable_init, ProxyManager._preDeployChecksAndSetup
52
+ function __NftOwnable_init(
53
53
  address registry,
54
54
  address initialOwner
55
55
  )
@@ -57,8 +57,8 @@ contract NftOwnable is
57
57
  virtual
58
58
  onlyInitializing()
59
59
  {
60
- _initializeRegistryLinked(registry);
61
- _initializeERC165();
60
+ __ERC165_init();
61
+ __RegistryLinked_init(registry);
62
62
 
63
63
  if(initialOwner == address(0)) {
64
64
  revert ErrorNftOwnableInitialOwnerZero();
@@ -114,6 +114,8 @@ contract NftOwnable is
114
114
 
115
115
  $._nftId = getRegistry().getNftIdForAddress(nftOwnableAddress);
116
116
 
117
+ emit LogNftOwnableNftLinkedToAddress($._nftId, getOwner());
118
+
117
119
  return $._nftId;
118
120
  }
119
121
 
@@ -3,12 +3,13 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
5
5
 
6
+ import {IPolicyHolder} from "./IPolicyHolder.sol";
7
+
6
8
  import {Amount} from "../type/Amount.sol";
7
9
  import {ClaimId} from "../type/ClaimId.sol";
8
10
  import {InitializableERC165} from "./InitializableERC165.sol";
9
- import {IPolicyHolder} from "./IPolicyHolder.sol";
10
11
  import {NftId} from "../type/NftId.sol";
11
- import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
12
+ import {PayoutId} from "../type/PayoutId.sol";
12
13
  import {RegistryLinked} from "./RegistryLinked.sol";
13
14
  import {Timestamp} from "../type/Timestamp.sol";
14
15
 
@@ -29,7 +30,7 @@ contract PolicyHolder is
29
30
  virtual
30
31
  onlyInitializing()
31
32
  {
32
- _initializeRegistryLinked(registryAddress);
33
+ __RegistryLinked_init(registryAddress);
33
34
  _initializeERC165();
34
35
  _registerInterface(type(IPolicyHolder).interfaceId);
35
36
  }
@@ -1,8 +1,11 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
4
+ import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
5
+ import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
5
6
 
7
+ import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
8
+ import {ContractLib} from "../shared/ContractLib.sol";
6
9
  import {NftId, NftIdLib} from "../type/NftId.sol";
7
10
  import {NftOwnable} from "../shared/NftOwnable.sol";
8
11
  import {ObjectType} from "../type/ObjectType.sol";
@@ -10,13 +13,13 @@ import {VersionPart, VersionPartLib} from "../type/Version.sol";
10
13
 
11
14
  import {IRegistry} from "../registry/IRegistry.sol";
12
15
  import {IRegisterable} from "./IRegisterable.sol";
16
+ import {IRelease} from "../registry/IRelease.sol";
13
17
 
14
- contract Registerable is
18
+ abstract contract Registerable is
19
+ AccessManagedUpgradeable,
15
20
  NftOwnable,
16
21
  IRegisterable
17
22
  {
18
- uint256 public constant GIF_RELEASE = 3;
19
-
20
23
  // keccak256(abi.encode(uint256(keccak256("gif-next.contracts.shared.Registerable.sol")) - 1)) & ~bytes32(uint256(0xff));
21
24
  bytes32 public constant REGISTERABLE_LOCATION_V1 = 0x6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa300;
22
25
 
@@ -27,7 +30,15 @@ contract Registerable is
27
30
  bytes _data;
28
31
  }
29
32
 
30
- function _initializeRegisterable(
33
+ modifier onlyActive() {
34
+ if (!isActive()) {
35
+ revert ErrorRegisterableNotActive();
36
+ }
37
+ _;
38
+ }
39
+
40
+ function __Registerable_init(
41
+ address authority,
31
42
  address registry,
32
43
  NftId parentNftId,
33
44
  ObjectType objectType,
@@ -39,25 +50,32 @@ contract Registerable is
39
50
  virtual
40
51
  onlyInitializing()
41
52
  {
42
- _initializeNftOwnable(
43
- registry,
44
- initialOwner);
45
-
46
- RegisterableStorage storage $;
47
- assembly {
48
- $.slot := REGISTERABLE_LOCATION_V1
53
+ if (!ContractLib.isAuthority(authority)) {
54
+ revert ErrorAuthorityInvalid(authority);
49
55
  }
50
56
 
57
+ __AccessManaged_init(authority);
58
+ __NftOwnable_init(registry, initialOwner);
59
+
60
+ RegisterableStorage storage $ = _getRegisterableStorage();
51
61
  $._parentNftId = parentNftId;
52
62
  $._objectType = objectType;
53
63
  $._isInterceptor = isInterceptor;
54
64
  $._data = data;
65
+
66
+ _registerInterface(type(IAccessManaged).interfaceId);
55
67
  }
56
68
 
57
69
 
58
70
  /// @inheritdoc IRegisterable
59
- function getRelease() public virtual pure returns (VersionPart release) {
60
- return VersionPartLib.toVersionPart(GIF_RELEASE);
71
+ function isActive() public virtual view returns (bool active) {
72
+ return !AccessManagerCloneable(authority()).isTargetClosed(address(this));
73
+ }
74
+
75
+
76
+ /// @inheritdoc IRelease
77
+ function getRelease() public virtual view returns (VersionPart release) {
78
+ return AccessManagerCloneable(authority()).getRelease();
61
79
  }
62
80
 
63
81
 
@@ -68,12 +86,8 @@ contract Registerable is
68
86
  virtual
69
87
  returns (IRegistry.ObjectInfo memory info)
70
88
  {
71
- RegisterableStorage storage $;
72
- assembly {
73
- $.slot := REGISTERABLE_LOCATION_V1
74
- }
75
-
76
- info = IRegistry.ObjectInfo(
89
+ RegisterableStorage storage $ = _getRegisterableStorage();
90
+ return IRegistry.ObjectInfo(
77
91
  NftIdLib.zero(),
78
92
  $._parentNftId,
79
93
  $._objectType,
@@ -82,4 +96,11 @@ contract Registerable is
82
96
  getOwner(),
83
97
  $._data);
84
98
  }
99
+
100
+
101
+ function _getRegisterableStorage() private pure returns (RegisterableStorage storage $) {
102
+ assembly {
103
+ $.slot := REGISTERABLE_LOCATION_V1
104
+ }
105
+ }
85
106
  }
@@ -2,6 +2,8 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
5
+
6
+ import {ContractLib} from "../shared/ContractLib.sol";
5
7
  import {IRegistry} from "../registry/IRegistry.sol";
6
8
  import {IRegistryLinked} from "./IRegistryLinked.sol";
7
9
 
@@ -15,26 +17,18 @@ contract RegistryLinked is
15
17
 
16
18
  /// @dev initialization for upgradable contracts
17
19
  // used in _initializeRegisterable
18
- function _initializeRegistryLinked(
19
- address registryAddress
20
+ function __RegistryLinked_init(
21
+ address registry
20
22
  )
21
23
  internal
22
24
  virtual
23
25
  onlyInitializing()
24
26
  {
25
- if (registryAddress.code.length == 0) {
26
- revert ErrorNotRegistry(registryAddress);
27
+ if (!ContractLib.isRegistry(registry)) {
28
+ revert ErrorNotRegistry(registry);
27
29
  }
28
30
 
29
- _registry = IRegistry(registryAddress);
30
-
31
- try _registry.supportsInterface(type(IRegistry).interfaceId) returns (bool isRegistry) {
32
- if (!isRegistry) {
33
- revert ErrorNotRegistry(registryAddress);
34
- }
35
- } catch {
36
- revert ErrorNotRegistry(registryAddress);
37
- }
31
+ _registry = IRegistry(registry);
38
32
  }
39
33
 
40
34
 
@@ -1,17 +1,15 @@
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
- import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
6
4
  import {ReentrancyGuardUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol";
7
5
 
8
6
  import {IRegistry} from "../registry/IRegistry.sol";
9
7
  import {IService} from "./IService.sol";
10
8
  import {IVersionable} from "../upgradeability/IVersionable.sol";
11
- import {ObjectType, REGISTRY, SERVICE} from "../type/ObjectType.sol";
9
+ import {ObjectType, SERVICE} from "../type/ObjectType.sol";
12
10
  import {Registerable} from "./Registerable.sol";
13
11
  import {RoleId, RoleIdLib} from "../type/RoleId.sol";
14
- import {Version, VersionLib, VersionPartLib} from "../type/Version.sol";
12
+ import {Version, VersionLib} from "../type/Version.sol";
15
13
  import {Versionable} from "../upgradeability/Versionable.sol";
16
14
 
17
15
 
@@ -19,14 +17,13 @@ import {Versionable} from "../upgradeability/Versionable.sol";
19
17
  abstract contract Service is
20
18
  Registerable,
21
19
  Versionable,
22
- AccessManagedUpgradeable,
23
20
  ReentrancyGuardUpgradeable,
24
21
  IService
25
22
  {
26
23
 
27
- function _initializeService(
28
- address registry,
24
+ function __Service_init(
29
25
  address authority, // real authority for registry service adress(0) for other services
26
+ address registry,
30
27
  address initialOwner
31
28
  )
32
29
  internal
@@ -35,17 +32,8 @@ abstract contract Service is
35
32
  {
36
33
  __ReentrancyGuard_init();
37
34
 
38
- // externally provided authority
39
- if(authority != address(0)) {
40
- __AccessManaged_init(authority);
41
- } else {
42
- address registryServiceAddress = _getServiceAddress(REGISTRY());
43
-
44
- // copy authority from already registered registry services
45
- __AccessManaged_init(IAccessManaged(registryServiceAddress).authority());
46
- }
47
-
48
- _initializeRegisterable(
35
+ __Registerable_init(
36
+ authority,
49
37
  registry,
50
38
  IRegistry(registry).getNftId(),
51
39
  SERVICE(),
@@ -53,8 +41,6 @@ abstract contract Service is
53
41
  initialOwner,
54
42
  ""); // data
55
43
 
56
-
57
- _registerInterface(type(IAccessManaged).interfaceId);
58
44
  _registerInterface(type(IService).interfaceId);
59
45
  }
60
46
 
@@ -62,22 +48,19 @@ abstract contract Service is
62
48
  return _getDomain();
63
49
  }
64
50
 
65
- function getRoleId() external virtual pure returns(RoleId serviceRoleId) {
66
- return RoleIdLib.roleForTypeAndVersion(_getDomain(), getRelease());
51
+ function getVersion() public pure virtual override (IVersionable, Versionable) returns(Version) {
52
+ return VersionLib.toVersion(3, 0, 0);
67
53
  }
68
54
 
69
- /// @inheritdoc IVersionable
70
- function getVersion()
71
- public
72
- pure
73
- virtual override (IVersionable, Versionable)
74
- returns(Version)
75
- {
76
- return VersionLib.toVersion(GIF_RELEASE,0,0);
55
+
56
+ function getRoleId() external virtual view returns(RoleId serviceRoleId) {
57
+ return RoleIdLib.toServiceRoleId(_getDomain(), getRelease());
77
58
  }
78
59
 
60
+ //--- internal functions --------------------------------------------------------//
79
61
  function _getDomain() internal virtual pure returns (ObjectType);
80
62
 
63
+
81
64
  function _getServiceAddress(ObjectType domain) internal view returns (address) {
82
65
  return getRegistry().getServiceAddress(domain, getRelease());
83
66
  }