@etherisc/gif-next 0.0.2-ff1bf36-818 → 0.0.2-ff596ab-857

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 (539) 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 +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/{shared/ComponentVerifyingService.sol/ComponentVerifyingService.json → accounting/IAccountingService.sol/IAccountingService.json} +408 -104
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +673 -262
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -0
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +456 -24
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +549 -209
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +215 -18
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +265 -16
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +473 -17
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +196 -441
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +431 -36
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +115 -325
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +682 -375
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +218 -130
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +102 -160
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +478 -108
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1484 -0
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2053 -0
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -0
  49. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1439 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1647 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2585 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
  65. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  66. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
  67. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  68. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +567 -67
  69. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +385 -60
  71. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  72. package/artifacts/contracts/instance/Instance.sol/Instance.json +573 -165
  73. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1034 -311
  75. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +369 -68
  77. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1688 -735
  79. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +399 -231
  81. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +143 -105
  83. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +973 -650
  85. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
  87. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  88. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
  89. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  90. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  91. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  92. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
  94. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  95. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
  96. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  98. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  99. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  100. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  103. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  104. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  105. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +148 -317
  106. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  107. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +429 -37
  108. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  109. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  110. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +116 -109
  111. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  112. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +98 -11
  113. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  114. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +124 -269
  115. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  116. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +198 -190
  117. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  118. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +177 -97
  119. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  120. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +173 -326
  121. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  122. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +430 -35
  123. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  124. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +352 -380
  125. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  126. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +174 -126
  127. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  128. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +247 -121
  129. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  130. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +154 -158
  131. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  132. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +500 -269
  133. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  134. package/artifacts/contracts/pool/Pool.sol/Pool.json +152 -308
  135. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  136. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  137. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  138. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +723 -515
  139. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  140. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +218 -110
  141. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  142. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +357 -173
  143. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  144. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +165 -97
  145. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  146. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +305 -389
  147. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  148. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +430 -35
  149. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  150. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +458 -253
  151. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  152. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +187 -123
  153. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  154. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +296 -9
  155. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  156. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +335 -19
  157. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  158. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +300 -64
  159. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +183 -80
  161. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  162. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +270 -202
  163. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  164. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +286 -21
  165. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  166. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +428 -287
  167. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  168. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  169. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  170. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +193 -121
  171. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  172. package/artifacts/contracts/product/PricingService.sol/PricingService.json +247 -332
  173. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  174. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +165 -137
  175. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  176. package/artifacts/contracts/product/Product.sol/Product.json +278 -362
  177. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  178. package/artifacts/contracts/product/RiskService.sol/RiskService.json +364 -186
  179. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  180. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +166 -94
  181. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  182. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  183. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  184. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +359 -48
  185. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  186. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +169 -37
  187. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  188. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  189. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  190. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  191. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  192. package/artifacts/contracts/registry/Registry.sol/Registry.json +565 -109
  193. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  194. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +791 -377
  195. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  196. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1074 -0
  197. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  198. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +136 -290
  199. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  200. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +141 -89
  201. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  202. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
  203. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  204. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  205. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  206. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +483 -253
  207. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  208. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +489 -20
  209. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  210. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +120 -60
  211. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  212. package/artifacts/contracts/shared/Component.sol/Component.json +100 -227
  213. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  214. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +496 -625
  215. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  216. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +188 -130
  217. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  218. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  219. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  220. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  221. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  225. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  226. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +93 -68
  227. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  228. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +432 -290
  229. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  230. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +116 -109
  231. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  232. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +42 -6
  233. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  234. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  235. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  236. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +35 -0
  237. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  238. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  239. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  240. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +167 -0
  241. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  242. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  243. package/artifacts/contracts/shared/IService.sol/IService.json +84 -2
  244. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  245. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
  246. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  247. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +123 -268
  248. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  249. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +48 -7
  250. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  251. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  252. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  253. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  254. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  255. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +41 -57
  256. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  257. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  258. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  259. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +141 -97
  260. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  261. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  262. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  263. package/artifacts/contracts/shared/Service.sol/Service.json +86 -111
  264. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  265. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +327 -73
  266. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  267. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  268. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  269. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +88 -24
  270. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  271. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1512 -167
  272. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  273. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +235 -123
  274. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
  275. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
  276. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  277. package/artifacts/contracts/staking/Staking.sol/Staking.json +1646 -402
  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 +193 -107
  282. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  283. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +295 -183
  284. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  285. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +282 -281
  286. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  287. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +144 -96
  288. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  289. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1645 -790
  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 +180 -77
  294. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  295. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  296. package/artifacts/contracts/type/Amount.sol/AmountLib.json +35 -11
  297. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  298. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +45 -19
  299. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  300. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  301. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  302. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  303. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  304. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  305. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  306. package/artifacts/contracts/type/Fee.sol/FeeLib.json +94 -38
  307. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  308. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  309. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  310. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  311. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  312. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  313. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  314. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  315. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  316. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
  317. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  318. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  319. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  320. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  321. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  323. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  324. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -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 +69 -2
  329. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  330. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  331. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  332. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  333. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  334. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  335. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  336. package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
  337. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  338. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +3 -3
  339. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  340. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +73 -36
  341. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  342. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  343. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  344. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
  345. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  346. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
  347. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  348. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +118 -79
  349. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  350. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
  351. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  352. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
  353. package/contracts/accounting/AccountingService.sol +274 -0
  354. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  355. package/contracts/accounting/IAccountingService.sol +47 -0
  356. package/contracts/authorization/AccessAdmin.sol +458 -269
  357. package/contracts/authorization/AccessAdminLib.sol +396 -0
  358. package/contracts/authorization/AccessManagerCloneable.sol +146 -4
  359. package/contracts/authorization/Authorization.sol +159 -207
  360. package/contracts/authorization/IAccess.sol +25 -6
  361. package/contracts/authorization/IAccessAdmin.sol +87 -79
  362. package/contracts/authorization/IAuthorization.sol +9 -37
  363. package/contracts/authorization/IServiceAuthorization.sol +57 -17
  364. package/contracts/authorization/ServiceAuthorization.sol +255 -25
  365. package/contracts/distribution/BasicDistribution.sol +20 -17
  366. package/contracts/distribution/BasicDistributionAuthorization.sol +30 -10
  367. package/contracts/distribution/Distribution.sol +44 -92
  368. package/contracts/distribution/DistributionService.sol +243 -117
  369. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  370. package/contracts/distribution/IDistributionComponent.sol +4 -11
  371. package/contracts/distribution/IDistributionService.sol +46 -26
  372. package/contracts/examples/fire/DamageLevel.sol +59 -0
  373. package/contracts/examples/fire/FirePool.sol +86 -0
  374. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  375. package/contracts/examples/fire/FireProduct.sol +433 -0
  376. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  377. package/contracts/examples/fire/FireUSD.sol +26 -0
  378. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  379. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  380. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  381. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  382. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  383. package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
  384. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  385. package/contracts/instance/BundleSet.sol +42 -38
  386. package/contracts/instance/IInstance.sol +100 -18
  387. package/contracts/instance/IInstanceService.sol +59 -34
  388. package/contracts/instance/Instance.sol +189 -71
  389. package/contracts/instance/InstanceAdmin.sol +276 -178
  390. package/contracts/instance/InstanceAuthorizationV3.sol +120 -58
  391. package/contracts/instance/InstanceReader.sol +477 -253
  392. package/contracts/instance/InstanceService.sol +279 -246
  393. package/contracts/instance/InstanceServiceManager.sol +6 -7
  394. package/contracts/instance/InstanceStore.sol +23 -2
  395. package/contracts/instance/RiskSet.sol +126 -0
  396. package/contracts/instance/base/BalanceStore.sol +4 -6
  397. package/contracts/instance/base/ObjectCounter.sol +1 -2
  398. package/contracts/instance/base/ObjectLifecycle.sol +12 -8
  399. package/contracts/instance/base/ObjectSet.sol +31 -33
  400. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  401. package/contracts/instance/module/IBundle.sol +6 -5
  402. package/contracts/instance/module/IComponents.sol +29 -13
  403. package/contracts/instance/module/IDistribution.sol +21 -8
  404. package/contracts/instance/module/IPolicy.sol +49 -28
  405. package/contracts/instance/module/IRisk.sol +5 -0
  406. package/contracts/oracle/BasicOracle.sol +2 -5
  407. package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
  408. package/contracts/oracle/IOracle.sol +9 -4
  409. package/contracts/oracle/IOracleService.sol +2 -1
  410. package/contracts/oracle/Oracle.sol +9 -21
  411. package/contracts/oracle/OracleService.sol +119 -87
  412. package/contracts/oracle/OracleServiceManager.sol +6 -6
  413. package/contracts/pool/BasicPool.sol +34 -38
  414. package/contracts/pool/BasicPoolAuthorization.sol +34 -11
  415. package/contracts/pool/BundleService.sol +117 -167
  416. package/contracts/pool/BundleServiceManager.sol +6 -6
  417. package/contracts/pool/IBundleService.sol +28 -46
  418. package/contracts/pool/IPoolComponent.sol +19 -15
  419. package/contracts/pool/IPoolService.sol +80 -73
  420. package/contracts/pool/Pool.sol +142 -137
  421. package/contracts/pool/PoolLib.sol +341 -0
  422. package/contracts/pool/PoolService.sol +361 -288
  423. package/contracts/pool/PoolServiceManager.sol +4 -4
  424. package/contracts/product/ApplicationService.sol +111 -34
  425. package/contracts/product/ApplicationServiceManager.sol +4 -4
  426. package/contracts/product/BasicProduct.sol +11 -14
  427. package/contracts/product/BasicProductAuthorization.sol +32 -12
  428. package/contracts/product/ClaimService.sol +383 -169
  429. package/contracts/product/ClaimServiceManager.sol +4 -4
  430. package/contracts/product/IApplicationService.sol +28 -3
  431. package/contracts/product/IClaimService.sol +47 -11
  432. package/contracts/product/IPolicyService.sol +47 -29
  433. package/contracts/product/IPricingService.sol +11 -10
  434. package/contracts/product/IProductComponent.sol +27 -5
  435. package/contracts/product/IRiskService.sol +25 -10
  436. package/contracts/product/PolicyService.sol +375 -314
  437. package/contracts/product/PolicyServiceLib.sol +139 -0
  438. package/contracts/product/PolicyServiceManager.sol +4 -4
  439. package/contracts/product/PricingService.sol +85 -83
  440. package/contracts/product/PricingServiceManager.sol +4 -4
  441. package/contracts/product/Product.sol +177 -94
  442. package/contracts/product/RiskService.sol +130 -37
  443. package/contracts/product/RiskServiceManager.sol +4 -4
  444. package/contracts/registry/ChainNft.sol +72 -40
  445. package/contracts/registry/IRegistry.sol +70 -32
  446. package/contracts/registry/IRegistryService.sol +5 -12
  447. package/contracts/registry/IRelease.sol +29 -0
  448. package/contracts/registry/ITransferInterceptor.sol +1 -2
  449. package/contracts/registry/Registry.sol +367 -207
  450. package/contracts/registry/RegistryAdmin.sol +114 -297
  451. package/contracts/registry/RegistryAuthorization.sol +336 -0
  452. package/contracts/registry/RegistryService.sol +38 -49
  453. package/contracts/registry/RegistryServiceManager.sol +3 -3
  454. package/contracts/registry/ReleaseAdmin.sol +195 -0
  455. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  456. package/contracts/registry/ReleaseRegistry.sol +279 -239
  457. package/contracts/registry/ServiceAuthorizationV3.sol +205 -63
  458. package/contracts/registry/TokenRegistry.sol +61 -59
  459. package/contracts/shared/Component.sol +69 -123
  460. package/contracts/shared/ComponentService.sol +424 -378
  461. package/contracts/shared/ComponentServiceManager.sol +8 -5
  462. package/contracts/shared/ContractLib.sol +312 -0
  463. package/contracts/shared/IComponent.sol +6 -18
  464. package/contracts/shared/IComponentService.sol +43 -40
  465. package/contracts/shared/IInstanceLinkedComponent.sol +3 -22
  466. package/contracts/shared/IKeyValueStore.sol +1 -1
  467. package/contracts/shared/ILifecycle.sol +3 -1
  468. package/contracts/shared/INftOwnable.sol +4 -0
  469. package/contracts/shared/IPolicyHolder.sol +12 -22
  470. package/contracts/shared/IRegisterable.sol +22 -1
  471. package/contracts/shared/IService.sol +3 -5
  472. package/contracts/shared/InitializableERC165.sol +10 -2
  473. package/contracts/shared/InstanceLinkedComponent.sol +73 -51
  474. package/contracts/shared/KeyValueStore.sol +4 -4
  475. package/contracts/shared/Lifecycle.sol +15 -4
  476. package/contracts/shared/NftOwnable.sol +31 -9
  477. package/contracts/shared/PolicyHolder.sol +18 -54
  478. package/contracts/shared/Registerable.sol +52 -21
  479. package/contracts/shared/RegistryLinked.sol +9 -14
  480. package/contracts/shared/Service.sol +20 -35
  481. package/contracts/shared/TokenHandler.sol +275 -72
  482. package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
  483. package/contracts/staking/IStaking.sol +271 -71
  484. package/contracts/staking/IStakingService.sol +45 -78
  485. package/contracts/staking/ITargetLimitHandler.sol +17 -0
  486. package/contracts/staking/Staking.sol +523 -222
  487. package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +70 -81
  488. package/contracts/staking/StakingManager.sol +12 -9
  489. package/contracts/staking/StakingReader.sol +70 -82
  490. package/contracts/staking/StakingService.sol +63 -149
  491. package/contracts/staking/StakingServiceManager.sol +7 -5
  492. package/contracts/staking/StakingStore.sol +1093 -330
  493. package/contracts/staking/TargetHandler.sol +132 -0
  494. package/contracts/staking/TargetManagerLib.sol +73 -46
  495. package/contracts/type/Amount.sol +19 -0
  496. package/contracts/type/Blocknumber.sol +15 -15
  497. package/contracts/type/ChainId.sol +101 -0
  498. package/contracts/type/ClaimId.sol +6 -1
  499. package/contracts/type/Fee.sol +8 -8
  500. package/contracts/type/Key32.sol +2 -2
  501. package/contracts/type/Key32Set.sol +62 -0
  502. package/contracts/type/NftId.sol +7 -0
  503. package/contracts/type/ObjectType.sol +73 -37
  504. package/contracts/type/PayoutId.sol +10 -10
  505. package/contracts/type/RiskId.sol +38 -6
  506. package/contracts/type/RoleId.sol +61 -55
  507. package/contracts/type/Seconds.sol +27 -0
  508. package/contracts/type/Selector.sol +5 -0
  509. package/contracts/type/StateId.sol +15 -1
  510. package/contracts/type/String.sol +12 -0
  511. package/contracts/type/Timestamp.sol +4 -7
  512. package/contracts/type/UFixed.sol +38 -126
  513. package/contracts/type/Version.sol +54 -5
  514. package/contracts/upgradeability/IVersionable.sol +3 -0
  515. package/contracts/upgradeability/ProxyManager.sol +93 -45
  516. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
  517. package/contracts/upgradeability/Versionable.sol +8 -5
  518. package/package.json +5 -4
  519. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  520. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  521. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  522. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  523. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  524. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  525. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
  526. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  527. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  528. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  529. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -387
  530. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +0 -4
  531. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +0 -164
  532. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  533. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
  534. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  535. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  536. package/contracts/instance/module/IAccess.sol +0 -46
  537. package/contracts/shared/ComponentVerifyingService.sol +0 -117
  538. package/contracts/shared/InitializableCustom.sol +0 -177
  539. package/contracts/staking/StakingLifecycle.sol +0 -23
@@ -4,133 +4,141 @@ pragma solidity ^0.8.20;
4
4
  import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
5
5
 
6
6
  import {IAccess} from "./IAccess.sol";
7
+ import {IAuthorization} from "./IAuthorization.sol";
8
+ import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
9
+ import {IRelease} from "../registry/IRelease.sol";
10
+
11
+ import {NftId} from "../type/NftId.sol";
12
+ import {ObjectType} from "../type/ObjectType.sol";
7
13
  import {RoleId} from "../type/RoleId.sol";
8
- import {Selector} from "../type/Selector.sol";
9
14
  import {Str} from "../type/String.sol";
10
- import {Timestamp} from "../type/Timestamp.sol";
15
+ import {VersionPart} from "../type/Version.sol";
11
16
 
17
+ /// @dev Base interface for registry admin, release admin, and instance admin
12
18
  interface IAccessAdmin is
13
19
  IAccessManaged,
14
- IAccess
20
+ IAccess,
21
+ IRegistryLinked,
22
+ IRelease
15
23
  {
16
24
 
17
- // roles
18
- event LogRoleCreated(RoleId roleId, RoleType roleType, RoleId roleAdminId, string name);
19
- event LogTargetCreated(address target, string name);
20
- event LogFunctionCreated(address target, Selector selector, string name);
25
+ // roles, targets and functions
26
+ event LogAccessAdminRoleCreated(string admin, RoleId roleId, RoleType roleType, RoleId roleAdminId, string name);
27
+ event LogAccessAdminTargetCreated(string admin, string name, bool managed, address target, RoleId roleId);
28
+
29
+ event LogAccessAdminRoleGranted(string admin, address account, string roleName);
30
+ event LogAccessAdminRoleRevoked(string admin, address account, string roleName);
31
+ event LogAccessAdminFunctionGranted(string admin, address target, string func);
21
32
 
22
33
  // only deployer modifier
23
- error ErrorNotDeployer();
34
+ error ErrorAccessAdminNotDeployer();
24
35
 
25
36
  // only role admin modifier
26
- error ErrorNotAdminOfRole(RoleId adminRoleId);
37
+ error ErrorAccessAdminNotAdminOfRole(RoleId adminRoleId, address account);
27
38
 
28
39
  // only role owner modifier
29
- error ErrorNotRoleOwner(RoleId roleId);
40
+ error ErrorAccessAdminNotRoleOwner(RoleId roleId, address account);
41
+
42
+ // role management
43
+ error ErrorAccessAdminInvalidUserOfAdminRole();
44
+ error ErrorAccessAdminInvalidUserOfPublicRole();
45
+ error ErrorAccessAdminRoleNotCustom(RoleId roleId);
46
+
47
+ // initialization
48
+ error ErrorAccessAdminNotRegistry(address registry);
49
+ error ErrorAccessAdminAuthorityNotContract(address authority);
50
+ error ErrorAccessAdminAccessManagerNotAccessManager(address authority);
51
+ error ErrorAccessAdminAccessManagerEmptyName();
52
+
53
+ // check target
54
+ error ErrorAccessAdminInvalidTargetType(address target, TargetType targetType);
55
+ error ErrorAccessAdminInvalidServiceType(address target, TargetType serviceTargetType);
56
+ error ErrorAccessAdminTargetNotCreated(address target);
57
+ error ErrorAccessAdminTargetNotRegistered(address target);
58
+ error ErrorAccessAdminTargetTypeMismatch(address target, ObjectType expectedType, ObjectType actualType);
59
+
60
+ // check authorization
61
+ error ErrorAccessAdminAlreadyInitialized(address authorization);
62
+ error ErrorAccessAdminNotAuthorization(address authorization);
63
+ error ErrorAccessAdminNotServiceAuthorization(address serviceAuthorization);
64
+ error ErrorAccessAdminDomainMismatch(address authorization, ObjectType expectedDomain, ObjectType actualDomain);
65
+ error ErrorAccessAdminReleaseMismatch(address authorization, VersionPart expectedRelease, VersionPart actualRelease);
66
+
67
+ // link to nft
68
+ error ErrorAccessAdminNotRegistered(address registerable);
30
69
 
31
70
  // initialize authority
32
- error ErrorAuthorityAlreadySet();
33
- error ErrorAdminRoleMissing();
71
+ error ErrorAccessAdminAdminRoleMissing();
34
72
 
35
73
  // create role
36
- error ErrorRoleAlreadyCreated(RoleId roleId, string name);
37
- error ErrorRoleAdminNotExisting(RoleId adminRoleId);
38
- error ErrorRoleNameEmpty(RoleId roleId);
39
- error ErrorRoleNameAlreadyExists(RoleId roleId, string name, RoleId existingRoleId);
74
+ error ErrorAccessAdminRoleAlreadyCreated(RoleId roleId, string name);
75
+ error ErrorAccessAdminRoleAdminNotExisting(RoleId adminRoleId);
76
+ error ErrorAccessAdminRoleNameEmpty(RoleId roleId);
77
+ error ErrorAccessAdminRoleNameAlreadyExists(RoleId roleId, string name, RoleId existingRoleId);
40
78
 
41
79
  // grant/revoke/renounce role
42
- error ErrorRoleUnknown(RoleId roleId);
43
- error ErrorRoleIsLocked(RoleId roleId);
44
- error ErrorRoleIsDisabled(RoleId roleId);
45
- error ErrorRoleMembersLimitReached(RoleId roleId, uint256 memberCountLimit);
46
- error ErrorRoleRemovalDisabled(RoleId roleId);
80
+ error ErrorAccessAdminRoleUnknown(RoleId roleId);
81
+ error ErrorAccessAdminRoleIsLocked(RoleId roleId);
82
+ error ErrorAccessAdminRoleIsPaused(RoleId roleId);
83
+ error ErrorAccessAdminRoleMembersLimitReached(RoleId roleId, uint256 memberCountLimit);
84
+ error ErrorAccessAdminRoleMemberNotContract(RoleId roleId, address notContract);
85
+ error ErrorAccessAdminRoleMemberRemovalDisabled(RoleId roleId, address expectedMember);
47
86
 
48
87
  // create target
49
- error ErrorTargetAlreadyCreated(address target, string name);
50
- error ErrorTargetNameEmpty(address target);
51
- error ErrorTargetNameAlreadyExists(address target, string name, address existingTarget);
52
- error ErrorTargetNotAccessManaged(address target);
53
- error ErrorTargetAuthorityMismatch(address expectedAuthority, address actualAuthority);
88
+ error ErrorAccessAdminTargetAlreadyCreated(address target, string name);
89
+ error ErrorAccessAdminTargetNameEmpty(address target);
90
+ error ErrorAccessAdminTargetNameAlreadyExists(address target, string name, address existingTarget);
91
+ error ErrorAccessAdminTargetNotAccessManaged(address target);
92
+ error ErrorAccessAdminTargetAuthorityMismatch(address expectedAuthority, address actualAuthority);
54
93
 
55
94
  // lock target
56
- error ErrorTagetNotLockable();
95
+ error ErrorAccessAdminTagetNotLockable();
96
+ error ErrorAccessAdminTargetAlreadyLocked(address target, bool isLocked);
57
97
 
58
98
  // authorize target functions
59
- error ErrorAuthorizeForAdminRoleInvalid(address target);
99
+ error ErrorAccessAdminAuthorizeForAdminRoleInvalid(address target);
100
+
101
+ // toFunction
102
+ error ErrorAccessAdminSelectorZero();
103
+ error ErrorAccessAdminFunctionNameEmpty();
60
104
 
61
105
  // check target
62
- error ErrorTargetUnknown(address target);
63
-
64
- /// @dev Set the disabled status of the speicified role.
65
- /// Role disabling only prevents the role from being granted to new accounts.
66
- /// Existing role members may still execute functions that are authorized for that role.
67
- /// Permissioned: the caller must have the manager role (getManagerRole).
68
- // TODO move to instance admin
69
- // function setRoleDisabled(RoleId roleId, bool disabled) external;
70
-
71
- /// @dev Grant the specified account the provided role.
72
- /// Permissioned: the caller must have the roles admin role.
73
- // TODO move to instance admin
74
- // function grantRole(address account, RoleId roleId) external;
75
-
76
- /// @dev Revoke the provided role from the specified account.
77
- /// Permissioned: the caller must have the roles admin role.
78
- // TODO move to instance admin
79
- // function revokeRole(address account, RoleId roleId) external;
80
-
81
- /// @dev Removes the provided role from the caller
82
- // TODO move to instance admin
83
- // function renounceRole(RoleId roleId) external;
84
-
85
- /// @dev Set the locked status of the speicified contract.
86
- /// IMPORTANT: using this function the AccessManager might itself be put into locked state from which it cannot be unlocked again.
87
- /// Overwrite this function if a different use case specific behaviour is required.
88
- /// Alternatively, add specific function to just unlock this contract without a restricted() modifier.
89
- /// Permissioned: the caller must have the manager role (getManagerRole).
90
- // TODO move to instance admin
91
- // function setTargetLocked(address target, bool locked) external;
92
-
93
- /// @dev Specifies which functions of the target can be accessed by the provided role.
94
- /// Previously existing authorizations will be overwritten.
95
- /// Authorizing the admin role is not allowed, use function unauthorizedFunctions for this.
96
- /// Permissioned: the caller must have the manager role (getManagerRole).
97
- // TODO move to instance admin
98
- // function authorizeFunctions(address target, RoleId roleId, FunctionInfo[] memory functions) external;
99
-
100
- /// @dev Specifies for which functionss to remove any previous authorization
101
- /// Permissioned: the caller must have the manager role (getManagerRole).
102
- // TODO move to instance admin
103
- // function unauthorizeFunctions(address target, FunctionInfo[] memory functions) external;
106
+ error ErrorAccessAdminTargetUnknown(address target);
104
107
 
105
108
  //--- view functions ----------------------------------------------------//
106
109
 
110
+ function getAuthorization() external view returns (IAuthorization authorization);
111
+ function getLinkedNftId() external view returns (NftId linkedNftId);
112
+ function getLinkedOwner() external view returns (address linkedOwner);
113
+
114
+ function isLocked() external view returns (bool locked);
115
+
107
116
  function roles() external view returns (uint256 numberOfRoles);
108
117
  function getRoleId(uint256 idx) external view returns (RoleId roleId);
109
118
  function getAdminRole() external view returns (RoleId roleId);
110
119
  function getPublicRole() external view returns (RoleId roleId);
111
120
 
112
121
  function roleExists(RoleId roleId) external view returns (bool exists);
122
+ function roleExists(string memory roleName) external view returns (bool exists);
123
+ function getRoleForName(string memory name) external view returns (RoleId roleId);
113
124
  function getRoleInfo(RoleId roleId) external view returns (RoleInfo memory roleInfo);
114
- function getRoleForName(Str name) external view returns (RoleNameInfo memory);
125
+ function isRoleActive(RoleId roleId) external view returns (bool isActive);
126
+ function isRoleCustom(RoleId roleId) external view returns (bool isCustom);
115
127
 
116
- function hasRole(address account, RoleId roleId) external view returns (bool);
117
- function hasAdminRole(address account, RoleId roleId) external view returns (bool);
128
+ function isRoleMember(RoleId roleId, address account) external view returns (bool);
129
+ function isRoleAdmin(RoleId roleId, address account) external view returns (bool);
118
130
  function roleMembers(RoleId roleId) external view returns (uint256 numberOfMembers);
119
131
  function getRoleMember(RoleId roleId, uint256 idx) external view returns (address account);
120
132
 
121
133
  function targetExists(address target) external view returns (bool exists);
122
- function isTargetLocked(address target) external view returns (bool locked);
134
+ function getTargetForName(Str name) external view returns (address target);
123
135
  function targets() external view returns (uint256 numberOfTargets);
124
136
  function getTargetAddress(uint256 idx) external view returns (address target);
125
137
  function getTargetInfo(address target) external view returns (TargetInfo memory targetInfo);
126
- function getTargetForName(Str name) external view returns (address target);
138
+ function isTargetLocked(address target) external view returns (bool locked);
127
139
 
128
140
  function authorizedFunctions(address target) external view returns (uint256 numberOfFunctions);
129
141
  function getAuthorizedFunction(address target, uint256 idx) external view returns (FunctionInfo memory func, RoleId roleId);
130
- function canCall(address caller, address target, Selector selector) external view returns (bool can);
131
142
 
132
- function toRole(RoleId adminRoleId, RoleType roleType, uint32 maxMemberCount, string memory name) external view returns (RoleInfo memory);
133
- function toFunction(bytes4 selector, string memory name) external view returns (FunctionInfo memory);
134
- function isAccessManaged(address target) external view returns (bool);
135
143
  function deployer() external view returns (address);
136
144
  }
@@ -1,54 +1,26 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IAccess} from "../authorization/IAccess.sol";
5
- import {ObjectType} from "../type/ObjectType.sol";
6
- import {RoleId} from "../type/RoleId.sol";
4
+ import {IServiceAuthorization} from "./IServiceAuthorization.sol";
7
5
  import {Str} from "../type/String.sol";
8
- import {VersionPart} from "../type/Version.sol";
6
+
9
7
 
10
8
  interface IAuthorization is
11
- IAccess
9
+ IServiceAuthorization
12
10
  {
13
11
 
14
- /// @dev Returns the release (VersionPart) for which the authorizations are defined by this contract.
15
- /// Matches with the release returned by the linked service authorization.
16
- function getRelease() external view returns(VersionPart release);
17
-
18
- /// @dev Returns the list of involved roles.
19
- function getRoles() external view returns(RoleId[] memory roles);
20
-
21
- /// @dev Returns the service role for the specified service domain.
22
- function getServiceRole(ObjectType serviceDomain) external pure returns (RoleId serviceRoleId);
23
-
24
- /// @dev Returns the name for the provided role id.
25
- function getRoleInfo(RoleId roleId) external view returns (RoleInfo memory roleInfo);
26
-
27
- /// @dev Returns true iff the specified role id exists.
28
- function roleExists(RoleId roleId) external view returns(bool exists);
12
+ /// @dev Returns the token hander name.
13
+ /// Only components have a token handler.
14
+ function getTokenHandlerName() external view returns(string memory name);
29
15
 
30
- /// @dev Returns the main target id name as string.
31
- /// This name is used to derive the target id and a corresponding target role name
32
- /// Overwrite this function to change the basic pool target name.
33
- function getTargetName() external view returns (string memory name);
34
-
35
- /// @dev Returns the main target.
36
- function getTarget() external view returns(Str target);
16
+ /// @dev Returns the token hander target.
17
+ /// Only components have a token handler.
18
+ function getTokenHandlerTarget() external view returns(Str target);
37
19
 
38
20
  /// @dev Returns the complete list of targets.
39
21
  function getTargets() external view returns(Str[] memory targets);
40
22
 
41
23
  /// @dev Returns true iff the specified target exists.
42
24
  function targetExists(Str target) external view returns(bool exists);
43
-
44
- /// @dev Returns the role id associated with the target.
45
- /// If no role is associated with the target the zero role id is returned.
46
- function getTargetRole(Str target) external view returns(RoleId roleId);
47
-
48
- /// @dev For the given target the list of authorized role ids is returned
49
- function getAuthorizedRoles(Str target) external view returns(RoleId[] memory roleIds);
50
-
51
- /// @dev For the given target and role id the list of authorized functions is returned
52
- function getAuthorizedFunctions(Str target, RoleId roleId) external view returns(FunctionInfo[] memory authorizatedFunctions);
53
25
  }
54
26
 
@@ -1,38 +1,78 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
+ import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
5
+
4
6
  import {IAccess} from "../authorization/IAccess.sol";
5
7
  import {ObjectType} from "../type/ObjectType.sol";
8
+ import {RoleId} from "../type/RoleId.sol";
9
+ import {Str} from "../type/String.sol";
6
10
  import {VersionPart} from "../type/Version.sol";
7
11
 
8
- interface IServiceAuthorization {
12
+ interface IServiceAuthorization is
13
+ IERC165,
14
+ IAccess
15
+ {
9
16
 
10
- /// @dev Returns the commit hash representing the deployed release
11
- function getCommitHash()
12
- external
13
- view
14
- returns(string memory commitHash);
17
+ error ErrorAuthorizationMainTargetNameEmpty();
18
+ error ErrorAuthorizationTargetDomainZero();
19
+ error ErrorAuthorizationReleaseInvalid(uint8 release);
20
+ error ErrorAuthorizationCommitHashInvalid(string commitHash);
15
21
 
16
- /// @dev Returns the release (VersionPart) for which the service authorizations are defined by this contract.
17
- function getRelease()
18
- external
19
- view
20
- returns(VersionPart release);
22
+ /// @dev Returns the main domain of the authorization.
23
+ function getDomain() external view returns(ObjectType targetDomain);
21
24
 
22
- /// @dev Returns the service domain for the provided index.
23
- function getServiceDomain(uint idx) external view returns(ObjectType serviceDomain);
25
+ /// @dev Returns the release (VersionPart) for which the authorizations are defined by this contract.
26
+ /// Matches with the release returned by the linked service authorization.
27
+ function getRelease() external view returns(VersionPart release);
28
+
29
+ /// @dev Returns the commit hash for the related GIF release.
30
+ function getCommitHash() external view returns(string memory commitHash);
31
+
32
+ /// @dev Returns the main target id name as string.
33
+ /// This name is used to derive the target id and a corresponding target role name
34
+ /// Overwrite this function to change the basic pool target name.
35
+ function getMainTargetName() external view returns (string memory name);
36
+
37
+ /// @dev Returns the main target.
38
+ function getMainTarget() external view returns(Str target);
24
39
 
25
40
  /// @dev Returns the full list of service domains for this release.
26
41
  /// Services need to be registered for the release in revers order of this list.
27
42
  function getServiceDomains() external view returns(ObjectType[] memory serviceDomains);
28
43
 
44
+ /// @dev Returns the service domain for the provided index.
45
+ function getServiceDomain(uint256 idx) external view returns(ObjectType serviceDomain);
46
+
47
+ /// @dev Returns the service target for the specified domain.
48
+ function getServiceTarget(ObjectType serviceDomain) external view returns(Str serviceTarget);
49
+
50
+ /// @dev Returns the service target for the specified domain.
51
+ function getServiceRole(ObjectType serviceDomain) external view returns(RoleId serviceRoleId);
52
+
29
53
  /// @dev Returns the expected service address for the provided domain.
30
54
  function getServiceAddress(ObjectType serviceDomain) external view returns(address service);
31
55
 
32
- /// @dev Given the service domain this function returns the list of other service domains that are authorized to access this service.
33
- function getAuthorizedDomains(ObjectType serviceDomain) external view returns(ObjectType[] memory authorizatedDomains);
56
+ /// @dev Returns the role id associated with the target.
57
+ /// If no role is associated with the target the zero role id is returned.
58
+ function getTargetRole(Str target) external view returns(RoleId roleId);
59
+
60
+ /// @dev Returns true iff the role exists.
61
+ function roleExists(RoleId roleId) external view returns(bool exists);
62
+
63
+ /// @dev Returns the list of involved roles.
64
+ function getRoles() external view returns(RoleId[] memory roles);
65
+
66
+ /// @dev Returns the role info for the provided role id.
67
+ function getRoleInfo(RoleId roleId) external view returns (RoleInfo memory roleInfo);
68
+
69
+ /// @dev Returns the name for the provided role id.
70
+ function getRoleName(RoleId roleId) external view returns (string memory roleName);
71
+
72
+ /// @dev For the given target the list of authorized role ids is returned
73
+ function getAuthorizedRoles(Str target) external view returns(RoleId[] memory roleIds);
34
74
 
35
- /// @dev For the given service domain and authorized domain the function returns the list of authorized functions
36
- function getAuthorizedFunctions(ObjectType serviceDomain, ObjectType authorizedDomain) external view returns(IAccess.FunctionInfo[] memory authorizatedFunctions);
75
+ /// @dev For the given target and role id the list of authorized functions is returned
76
+ function getAuthorizedFunctions(Str target, RoleId roleId) external view returns(FunctionInfo[] memory authorizatedFunctions);
37
77
  }
38
78