@etherisc/gif-next 0.0.2-9dd41ff-671 → 0.0.2-9e03baf-990

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 (543) hide show
  1. package/README.md +75 -9
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1293 -0
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  7. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +414 -0
  8. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  9. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1060 -0
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +295 -0
  14. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
  16. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +4 -0
  17. package/artifacts/contracts/{shared/AccessManagerCustom.sol/AccessManagerCustom.json → authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json} +28 -25
  18. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  20. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  21. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1324 -0
  22. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +470 -0
  24. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  25. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +219 -596
  26. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  27. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +340 -444
  28. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +144 -133
  30. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +226 -309
  32. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +215 -94
  34. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  35. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  36. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  37. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1429 -0
  38. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  39. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +502 -0
  40. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +1979 -0
  42. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
  44. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  46. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  47. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1430 -0
  48. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  49. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1177 -0
  50. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1606 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2281 -0
  54. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  55. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  56. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  57. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +112 -91
  58. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  59. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +170 -84
  60. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  61. package/artifacts/contracts/instance/Instance.sol/Instance.json +127 -238
  62. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  63. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1183 -276
  64. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  65. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +561 -0
  66. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  67. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +874 -395
  68. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  69. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +255 -242
  70. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  71. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +122 -103
  72. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  73. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1210 -389
  74. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  75. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  76. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  77. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +0 -53
  78. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  79. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  80. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  81. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  82. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  83. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  84. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  85. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +21 -0
  86. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  87. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  88. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  89. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  90. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  91. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  92. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  93. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  94. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +961 -0
  95. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  96. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +478 -0
  97. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  98. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  99. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  100. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +776 -0
  101. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  102. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +709 -0
  103. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  104. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +877 -0
  105. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  106. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +982 -0
  107. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  108. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +746 -0
  109. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  110. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1254 -0
  111. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  112. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +502 -0
  113. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  114. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +507 -345
  115. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  116. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +194 -111
  117. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  118. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +275 -46
  119. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  120. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +214 -400
  121. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  122. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +490 -282
  123. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  124. package/artifacts/contracts/pool/Pool.sol/Pool.json +224 -621
  125. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  126. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +634 -640
  127. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  128. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +124 -117
  129. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  130. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +132 -282
  131. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  132. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +112 -97
  133. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  134. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1148 -0
  135. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  136. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +470 -0
  137. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  138. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +333 -299
  139. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  140. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +153 -114
  141. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  142. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +54 -1
  143. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  144. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +196 -7
  145. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  146. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +361 -81
  147. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  148. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +154 -86
  149. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  150. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +365 -221
  151. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  152. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +44 -57
  153. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  154. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +422 -406
  155. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  156. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +128 -137
  157. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  158. package/artifacts/contracts/product/PricingService.sol/PricingService.json +248 -348
  159. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  160. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +143 -116
  161. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  162. package/artifacts/contracts/product/Product.sol/Product.json +364 -475
  163. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  164. package/artifacts/contracts/product/RiskService.sol/RiskService.json +638 -0
  165. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  166. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +718 -0
  167. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  168. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  169. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  170. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +400 -50
  171. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  172. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +112 -64
  173. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  174. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  175. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  176. package/artifacts/contracts/registry/Registry.sol/Registry.json +840 -107
  177. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  178. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1743 -149
  179. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  180. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +180 -200
  181. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  182. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +105 -86
  183. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  184. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  185. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  186. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1067 -0
  187. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  188. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
  189. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  190. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +314 -136
  191. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  192. package/artifacts/contracts/shared/Component.sol/Component.json +120 -317
  193. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  194. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1406 -213
  195. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  196. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +834 -0
  197. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  198. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +474 -0
  199. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  200. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +111 -0
  201. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  202. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +114 -130
  203. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  204. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1402 -0
  205. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  206. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +711 -0
  207. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  208. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +46 -14
  209. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  210. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  211. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  212. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +23 -1
  213. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  214. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +16 -30
  215. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  216. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +36 -1
  217. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  218. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  219. package/artifacts/contracts/shared/IService.sol/IService.json +49 -1
  220. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  221. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  222. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  223. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +799 -0
  224. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  225. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +538 -0
  226. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  227. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  228. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  229. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  230. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  231. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +48 -70
  232. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  233. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +20 -124
  234. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  235. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +67 -103
  236. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  237. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  238. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  239. package/artifacts/contracts/shared/Service.sol/Service.json +54 -119
  240. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  241. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +735 -27
  242. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  243. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +395 -0
  244. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  245. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  246. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  247. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1435 -0
  248. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  249. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +573 -53
  250. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  251. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  252. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  253. package/artifacts/contracts/staking/Staking.sol/Staking.json +1816 -0
  254. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  255. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  256. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  257. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +780 -0
  258. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  259. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +587 -0
  260. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  261. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +661 -182
  262. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  263. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +125 -90
  264. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  265. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2283 -0
  266. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  267. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  268. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  269. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  270. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  271. package/artifacts/contracts/type/Amount.sol/AmountLib.json +121 -4
  272. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  273. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +53 -2
  274. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  275. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  276. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  277. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
  278. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  279. package/artifacts/contracts/type/Fee.sol/FeeLib.json +39 -34
  280. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  281. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  282. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  283. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +47 -4
  284. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  285. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  286. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  287. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +149 -2
  288. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  289. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  290. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  291. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
  292. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  294. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  295. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +60 -4
  296. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  297. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +219 -6
  298. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  299. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +124 -2
  300. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  302. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  304. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  305. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  306. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  308. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  309. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
  310. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  311. package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
  312. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  313. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +71 -2
  314. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
  316. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
  318. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  319. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  320. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  321. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
  322. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  323. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  324. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  325. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  326. package/contracts/authorization/AccessAdmin.sol +596 -0
  327. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  328. package/contracts/authorization/Authorization.sol +289 -0
  329. package/contracts/authorization/IAccess.sol +49 -0
  330. package/contracts/authorization/IAccessAdmin.sol +137 -0
  331. package/contracts/authorization/IAuthorization.sol +60 -0
  332. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  333. package/contracts/authorization/ReleaseAccessManager.sol +38 -0
  334. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  335. package/contracts/distribution/BasicDistribution.sol +139 -0
  336. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  337. package/contracts/distribution/Distribution.sol +156 -156
  338. package/contracts/distribution/DistributionService.sol +177 -173
  339. package/contracts/distribution/DistributionServiceManager.sol +8 -11
  340. package/contracts/distribution/IDistributionComponent.sol +28 -47
  341. package/contracts/distribution/IDistributionService.sol +24 -10
  342. package/contracts/examples/fire/DamageLevel.sol +59 -0
  343. package/contracts/examples/fire/FirePool.sol +86 -0
  344. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  345. package/contracts/examples/fire/FireProduct.sol +431 -0
  346. package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
  347. package/contracts/examples/fire/FireUSD.sol +26 -0
  348. package/contracts/examples/unpermissioned/SimpleDistribution.sol +58 -0
  349. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  350. package/contracts/examples/unpermissioned/SimplePool.sol +108 -0
  351. package/contracts/examples/unpermissioned/SimpleProduct.sol +345 -0
  352. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
  353. package/contracts/instance/IInstance.sol +28 -39
  354. package/contracts/instance/IInstanceService.sol +30 -32
  355. package/contracts/instance/Instance.sol +124 -122
  356. package/contracts/instance/InstanceAdmin.sol +208 -285
  357. package/contracts/instance/InstanceAuthorizationV3.sol +194 -0
  358. package/contracts/instance/InstanceReader.sol +194 -67
  359. package/contracts/instance/InstanceService.sol +246 -130
  360. package/contracts/instance/InstanceServiceManager.sol +8 -13
  361. package/contracts/instance/InstanceStore.sol +142 -66
  362. package/contracts/instance/base/BalanceStore.sol +123 -0
  363. package/contracts/instance/base/Cloneable.sol +2 -25
  364. package/contracts/instance/base/ObjectCounter.sol +21 -0
  365. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  366. package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +11 -14
  367. package/contracts/instance/module/IAccess.sol +2 -0
  368. package/contracts/instance/module/IBundle.sol +1 -4
  369. package/contracts/instance/module/IComponents.sol +22 -13
  370. package/contracts/instance/module/IDistribution.sol +0 -1
  371. package/contracts/instance/module/IPolicy.sol +33 -26
  372. package/contracts/mock/Dip.sol +26 -0
  373. package/contracts/oracle/BasicOracle.sol +47 -0
  374. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  375. package/contracts/oracle/IOracle.sol +36 -0
  376. package/contracts/oracle/IOracleComponent.sol +33 -0
  377. package/contracts/oracle/IOracleService.sol +66 -0
  378. package/contracts/oracle/Oracle.sol +156 -0
  379. package/contracts/oracle/OracleService.sol +292 -0
  380. package/contracts/oracle/OracleServiceManager.sol +39 -0
  381. package/contracts/pool/BasicPool.sol +175 -0
  382. package/contracts/pool/BasicPoolAuthorization.sol +68 -0
  383. package/contracts/pool/BundleService.sol +314 -213
  384. package/contracts/pool/BundleServiceManager.sol +8 -11
  385. package/contracts/pool/IBundleService.sol +46 -24
  386. package/contracts/pool/IPoolComponent.sol +23 -75
  387. package/contracts/pool/IPoolService.sol +105 -47
  388. package/contracts/pool/Pool.sol +211 -168
  389. package/contracts/pool/PoolService.sol +448 -232
  390. package/contracts/pool/PoolServiceManager.sol +6 -9
  391. package/contracts/product/ApplicationService.sol +156 -84
  392. package/contracts/product/ApplicationServiceManager.sol +6 -6
  393. package/contracts/product/BasicProduct.sol +49 -0
  394. package/contracts/product/BasicProductAuthorization.sol +42 -0
  395. package/contracts/product/ClaimService.sol +333 -162
  396. package/contracts/product/ClaimServiceManager.sol +6 -6
  397. package/contracts/product/IApplicationService.sol +2 -1
  398. package/contracts/product/IClaimService.sol +35 -5
  399. package/contracts/product/IPolicyService.sol +41 -39
  400. package/contracts/product/IPricingService.sol +13 -11
  401. package/contracts/product/IProductComponent.sol +28 -10
  402. package/contracts/product/{IProductService.sol → IRiskService.sol} +2 -9
  403. package/contracts/product/PolicyService.sol +521 -204
  404. package/contracts/product/PolicyServiceManager.sol +6 -9
  405. package/contracts/product/PricingService.sol +107 -83
  406. package/contracts/product/PricingServiceManager.sol +5 -8
  407. package/contracts/product/Product.sol +199 -146
  408. package/contracts/product/RiskService.sol +96 -0
  409. package/contracts/product/RiskServiceManager.sol +39 -0
  410. package/contracts/registry/ChainNft.sol +75 -38
  411. package/contracts/registry/IRegistry.sol +85 -24
  412. package/contracts/registry/IRegistryService.sol +9 -6
  413. package/contracts/registry/ITransferInterceptor.sol +1 -2
  414. package/contracts/registry/Registry.sol +439 -179
  415. package/contracts/registry/RegistryAdmin.sol +396 -77
  416. package/contracts/registry/RegistryService.sol +73 -64
  417. package/contracts/registry/RegistryServiceManager.sol +6 -13
  418. package/contracts/registry/ReleaseLifecycle.sol +30 -0
  419. package/contracts/registry/ReleaseRegistry.sol +485 -0
  420. package/contracts/registry/ServiceAuthorizationV3.sol +203 -0
  421. package/contracts/registry/TokenRegistry.sol +261 -64
  422. package/contracts/shared/Component.sol +128 -170
  423. package/contracts/shared/ComponentService.sol +732 -94
  424. package/contracts/shared/ComponentServiceManager.sol +38 -0
  425. package/contracts/shared/ComponentVerifyingService.sol +128 -0
  426. package/contracts/shared/ContractLib.sol +54 -0
  427. package/contracts/shared/IComponent.sol +24 -47
  428. package/contracts/shared/IComponentService.sol +130 -0
  429. package/contracts/shared/IInstanceLinkedComponent.sol +41 -0
  430. package/contracts/{instance/base → shared}/IKeyValueStore.sol +7 -6
  431. package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
  432. package/contracts/shared/INftOwnable.sol +3 -1
  433. package/contracts/shared/IPolicyHolder.sol +12 -17
  434. package/contracts/shared/IRegisterable.sol +11 -0
  435. package/contracts/shared/IService.sol +9 -2
  436. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +4 -4
  437. package/contracts/shared/InstanceLinkedComponent.sol +205 -0
  438. package/contracts/{instance/base → shared}/KeyValueStore.sol +36 -74
  439. package/contracts/shared/Lifecycle.sol +88 -0
  440. package/contracts/shared/NftIdSet.sol +65 -0
  441. package/contracts/shared/NftOwnable.sol +32 -22
  442. package/contracts/shared/PolicyHolder.sol +18 -50
  443. package/contracts/shared/Registerable.sol +21 -13
  444. package/contracts/shared/RegistryLinked.sol +9 -14
  445. package/contracts/shared/Service.sol +48 -36
  446. package/contracts/shared/TokenHandler.sol +375 -13
  447. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  448. package/contracts/staking/IStaking.sol +173 -0
  449. package/contracts/staking/IStakingService.sol +103 -48
  450. package/contracts/staking/StakeManagerLib.sol +224 -0
  451. package/contracts/staking/Staking.sol +505 -0
  452. package/contracts/staking/StakingLifecycle.sol +23 -0
  453. package/contracts/staking/StakingManager.sol +52 -0
  454. package/contracts/staking/StakingReader.sol +190 -0
  455. package/contracts/staking/StakingService.sol +331 -47
  456. package/contracts/staking/StakingServiceManager.sol +11 -7
  457. package/contracts/staking/StakingStore.sol +605 -0
  458. package/contracts/staking/TargetManagerLib.sol +211 -0
  459. package/contracts/type/AddressSet.sol +1 -1
  460. package/contracts/type/Amount.sol +44 -3
  461. package/contracts/type/Blocknumber.sol +26 -3
  462. package/contracts/type/ClaimId.sol +6 -1
  463. package/contracts/type/Fee.sol +17 -16
  464. package/contracts/type/NftId.sol +15 -16
  465. package/contracts/type/NftIdSet.sol +1 -1
  466. package/contracts/type/ObjectType.sol +176 -62
  467. package/contracts/type/PayoutId.sol +10 -10
  468. package/contracts/type/Referral.sol +2 -1
  469. package/contracts/type/RequestId.sol +75 -0
  470. package/contracts/type/RiskId.sol +17 -3
  471. package/contracts/type/RoleId.sol +98 -75
  472. package/contracts/type/Seconds.sol +48 -1
  473. package/contracts/type/Selector.sol +102 -0
  474. package/contracts/type/StateId.sol +41 -2
  475. package/contracts/type/String.sol +53 -0
  476. package/contracts/type/Timestamp.sol +17 -3
  477. package/contracts/type/UFixed.sol +38 -9
  478. package/contracts/type/Version.sol +4 -2
  479. package/contracts/{shared → upgradeability}/ProxyManager.sol +73 -41
  480. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  481. package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
  482. package/package.json +11 -7
  483. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  484. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
  485. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
  486. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -188
  487. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  488. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  489. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  490. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -581
  491. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  492. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
  493. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  494. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
  495. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  496. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  497. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  498. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  499. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  500. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -883
  501. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  502. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -711
  503. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  504. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1018
  505. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
  506. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
  507. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1715
  508. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
  509. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1728
  510. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
  511. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1747
  512. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
  513. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1765
  514. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  515. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  516. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  517. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  518. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
  519. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
  520. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
  521. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1594
  522. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  523. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  524. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -630
  525. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  526. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  527. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  528. package/contracts/instance/InstanceAuthorizationsLib.sol +0 -320
  529. package/contracts/instance/base/Lifecycle.sol +0 -121
  530. package/contracts/instance/module/ISetup.sol +0 -33
  531. package/contracts/instance/module/ITreasury.sol +0 -23
  532. package/contracts/product/ProductService.sol +0 -212
  533. package/contracts/product/ProductServiceManager.sol +0 -42
  534. package/contracts/registry/ReleaseManager.sol +0 -465
  535. package/contracts/shared/AccessManagerCustom.sol +0 -736
  536. package/contracts/shared/AccessManagerExtended.sol +0 -469
  537. package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
  538. package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -125
  539. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
  540. package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +0 -13
  541. package/contracts/shared/IAccessManagerExtended.sol +0 -74
  542. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -17
  543. /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
@@ -6,29 +6,20 @@ import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessMana
6
6
  import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
7
7
  import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
8
8
 
9
+ import {Amount, AmountLib} from "../type/Amount.sol";
9
10
  import {IComponent} from "./IComponent.sol";
10
11
  import {IComponents} from "../instance/module/IComponents.sol";
11
- import {IInstanceService} from "../instance/IInstanceService.sol";
12
- import {IInstance} from "../instance/IInstance.sol";
13
- import {InstanceAdmin} from "../instance/InstanceAdmin.sol";
14
- import {InstanceReader} from "../instance/InstanceReader.sol";
15
- import {IRegistry} from "../registry/IRegistry.sol";
16
- import {NftId} from "../type/NftId.sol";
17
- import {ObjectType, INSTANCE, PRODUCT} from "../type/ObjectType.sol";
18
- import {VersionPart} from "../type/Version.sol";
12
+ import {IComponentService} from "./IComponentService.sol";
13
+ import {NftId, NftIdLib} from "../type/NftId.sol";
14
+ import {ObjectType, COMPONENT} from "../type/ObjectType.sol";
19
15
  import {Registerable} from "../shared/Registerable.sol";
20
- import {RoleId, RoleIdLib} from "../type/RoleId.sol";
21
- import {IAccess} from "../instance/module/IAccess.sol";
22
16
  import {TokenHandler} from "../shared/TokenHandler.sol";
23
- import {VersionPart} from "../type/Version.sol";
17
+ import {VersionPartLib} from "../type/Version.sol";
24
18
 
25
- // TODO discuss to inherit from oz accessmanaged
26
- // then add (Distribution|Pool|Product)Upradeable that also intherit from Versionable
27
- // same pattern as for Service which is also upgradeable
28
19
  abstract contract Component is
20
+ AccessManagedUpgradeable,
29
21
  Registerable,
30
- IComponent,
31
- AccessManagedUpgradeable
22
+ IComponent
32
23
  {
33
24
  // keccak256(abi.encode(uint256(keccak256("gif-next.contracts.component.Component.sol")) - 1)) & ~bytes32(uint256(0xff));
34
25
  bytes32 public constant COMPONENT_LOCATION_V1 = 0xffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f00;
@@ -36,18 +27,11 @@ abstract contract Component is
36
27
  struct ComponentStorage {
37
28
  string _name; // unique (per instance) component name
38
29
  IERC20Metadata _token; // token for this component
39
- IInstance _instance; // instance for this component
40
- address _wallet; // wallet for this component (default = component contract itself)
41
- InstanceReader _instanceReader; // instance reader for this component
42
- bool _isNftInterceptor; // declares if component is involved in nft transfers
43
- NftId _productNftId; // only relevant for components that are linked to a aproduct
30
+ bool _isInterceptor;
31
+ bytes _data;
32
+ IComponentService _componentService;
44
33
  }
45
34
 
46
- function _getComponentStorage() private pure returns (ComponentStorage storage $) {
47
- assembly {
48
- $.slot := COMPONENT_LOCATION_V1
49
- }
50
- }
51
35
 
52
36
  modifier onlyChainNft() {
53
37
  if(msg.sender != getRegistry().getChainNftAddress()) {
@@ -56,216 +40,190 @@ abstract contract Component is
56
40
  _;
57
41
  }
58
42
 
59
- function initializeComponent(
43
+ function _getComponentStorage() private pure returns (ComponentStorage storage $) {
44
+ assembly {
45
+ $.slot := COMPONENT_LOCATION_V1
46
+ }
47
+ }
48
+
49
+ function _initializeComponent(
50
+ address authority,
60
51
  address registry,
61
- NftId instanceNftId,
52
+ NftId parentNftId,
62
53
  string memory name,
63
54
  address token,
64
55
  ObjectType componentType,
65
56
  bool isInterceptor,
66
57
  address initialOwner,
67
- bytes memory registryData // writeonly data that will saved in the object info record of the registry
58
+ bytes memory registryData, // writeonly data that will saved in the object info record of the registry
59
+ bytes memory componentData // other component specific data
68
60
  )
69
- public
61
+ internal
70
62
  virtual
71
63
  onlyInitializing()
72
64
  {
73
- initializeRegisterable(registry, instanceNftId, componentType, isInterceptor, initialOwner, registryData);
74
-
75
- // set and check linked instance
76
- ComponentStorage storage $ = _getComponentStorage();
77
- $._instance = IInstance(
78
- getRegistry().getObjectInfo(instanceNftId).objectAddress);
65
+ if (token == address(0)) {
66
+ revert ErrorComponentTokenAddressZero();
67
+ }
79
68
 
80
- if(!$._instance.supportsInterface(type(IInstance).interfaceId)) {
81
- revert ErrorComponentNotInstance(instanceNftId);
69
+ if (bytes(name).length == 0) {
70
+ revert ErrorComponentNameLengthZero();
82
71
  }
83
72
 
84
- // initialize AccessManagedUpgradeable
85
- __AccessManaged_init($._instance.authority());
73
+ _initializeRegisterable(
74
+ registry,
75
+ parentNftId,
76
+ componentType,
77
+ isInterceptor,
78
+ initialOwner,
79
+ registryData);
80
+
81
+ __AccessManaged_init(authority);
86
82
 
87
83
  // set component state
84
+ ComponentStorage storage $ = _getComponentStorage();
88
85
  $._name = name;
89
- $._isNftInterceptor = isInterceptor;
90
- $._instanceReader = $._instance.getInstanceReader();
91
- $._wallet = address(this);
92
86
  $._token = IERC20Metadata(token);
87
+ $._isInterceptor = isInterceptor;
88
+ $._data = componentData;
89
+ $._componentService = IComponentService(_getServiceAddress(COMPONENT()));
93
90
 
94
- registerInterface(type(IAccessManaged).interfaceId);
95
- registerInterface(type(IComponent).interfaceId);
91
+ _registerInterface(type(IAccessManaged).interfaceId);
92
+ _registerInterface(type(IComponent).interfaceId);
96
93
  }
97
94
 
98
- function lock() external onlyOwner {
99
- IInstanceService(_getServiceAddress(INSTANCE())).setComponentLocked(true);
100
- }
101
-
102
- function unlock() external onlyOwner {
103
- IInstanceService(_getServiceAddress(INSTANCE())).setComponentLocked(false);
104
- }
105
-
106
- function approveTokenHandler(uint256 spendingLimitAmount) external onlyOwner {
107
- IComponents.ComponentInfo memory info = getComponentInfo();
108
-
109
- if(info.wallet != address(this)) {
110
- revert ErrorComponentWalletNotComponent();
111
- }
112
-
113
- info.token.approve(
114
- address(info.tokenHandler),
115
- spendingLimitAmount);
116
95
 
117
- emit LogComponentTokenHandlerApproved(spendingLimitAmount);
118
- }
119
-
120
- function setWallet(address newWallet)
121
- external
122
- override
123
- onlyOwner
96
+ function approveTokenHandler(IERC20Metadata token, Amount amount)
97
+ public
98
+ onlyOwner()
124
99
  {
125
- ComponentStorage storage $ = _getComponentStorage();
126
-
127
- address currentWallet = $._wallet;
128
- uint256 currentBalance = $._token.balanceOf(currentWallet);
129
-
130
- // checks
131
- if (newWallet == address(0)) {
132
- revert ErrorComponentWalletAddressZero();
133
- }
134
-
135
- if (newWallet == currentWallet) {
136
- revert ErrorComponentWalletAddressIsSameAsCurrent();
137
- }
138
-
139
- if (currentBalance > 0) {
140
- if (currentWallet == address(this)) {
141
- // move tokens from component smart contract to external wallet
142
- } else {
143
- // move tokens from external wallet to component smart contract or another external wallet
144
- uint256 allowance = $._token.allowance(currentWallet, address(this));
145
- if (allowance < currentBalance) {
146
- revert ErrorComponentWalletAllowanceTooSmall(currentWallet, newWallet, allowance, currentBalance);
147
- }
148
- }
149
- }
150
-
151
- // effects
152
- $._wallet = newWallet;
153
- emit LogComponentWalletAddressChanged(currentWallet, newWallet);
154
-
155
- // interactions
156
- if (currentBalance > 0) {
157
- // transfer tokens from current wallet to new wallet
158
- if (currentWallet == address(this)) {
159
- // transferFrom requires self allowance too
160
- $._token.approve(address(this), currentBalance);
161
- }
162
-
163
- SafeERC20.safeTransferFrom($._token, currentWallet, newWallet, currentBalance);
164
- emit LogComponentWalletTokensTransferred(currentWallet, newWallet, currentBalance);
165
- }
100
+ _approveTokenHandler(token, amount);
166
101
  }
167
102
 
168
- function setProductNftId(NftId productNftId)
169
- external
170
- override
171
- {
172
- ComponentStorage storage $ = _getComponentStorage();
173
103
 
174
- // verify caller is product service
175
- if(msg.sender != _getServiceAddress(PRODUCT())) {
176
- revert ErrorComponentNotProductService(msg.sender);
177
- }
104
+ // TODO cleanup
105
+ // /// @dev Approves the component's token hander to spend tokens up to the specified limit.
106
+ // /// When the spending limit amount equals AmountLib.max it is set to type(uint256).max.
107
+ // function approveTokenHandler(address token, Amount spendingLimitAmount)
108
+ // public
109
+ // virtual
110
+ // onlyOwner
111
+ // {
112
+ // _approveTokenHandler(token, spendingLimitAmount);
113
+ // }
178
114
 
179
- // verify component is not yet linked to a product
180
- if($._productNftId.gtz()) {
181
- revert ErrorComponentProductNftAlreadySet();
182
- }
183
-
184
- $._productNftId = productNftId;
185
- }
186
115
 
187
- function nftMint(address to, uint256 tokenId)
188
- external
189
- virtual
190
- onlyChainNft
191
- {}
116
+ // function setWallet(address newWallet)
117
+ // external
118
+ // virtual
119
+ // override
120
+ // onlyOwner
121
+ // {
122
+ // _setWallet(newWallet);
123
+ // }
192
124
 
193
125
  /// @dev callback function for nft transfers
194
126
  /// may only be called by chain nft contract.
195
- /// do not override this function to implement business logic for handling transfers
196
- /// override internal function _nftTransferFrom instead
197
- function nftTransferFrom(address from, address to, uint256 tokenId)
127
+ /// override internal function _nftTransferFrom to implement custom behaviour
128
+ function nftTransferFrom(address from, address to, uint256 tokenId, address operator)
198
129
  external
199
- virtual
200
130
  onlyChainNft
201
131
  {
202
- _nftTransferFrom(from, to, tokenId);
132
+ _nftTransferFrom(from, to, tokenId, operator);
203
133
  }
204
134
 
205
- function getWallet() public view override returns (address walletAddress)
206
- {
207
- return _getComponentStorage()._wallet;
208
- }
209
135
 
210
- function getToken() public view override returns (IERC20Metadata token) {
211
- return _getComponentStorage()._token;
136
+ function getWallet() public view virtual returns (address walletAddress) {
137
+ return getTokenHandler().getWallet();
212
138
  }
213
139
 
214
- function getTokenHandler() public view returns (TokenHandler tokenHandler) {
140
+ function getTokenHandler() public virtual view returns (TokenHandler tokenHandler) {
215
141
  return getComponentInfo().tokenHandler;
216
142
  }
217
143
 
218
- function isNftInterceptor() public view override returns(bool isInterceptor) {
219
- return _getComponentStorage()._isNftInterceptor;
144
+ function getToken() public view virtual returns (IERC20Metadata token) {
145
+ return getComponentInfo().token;
220
146
  }
221
147
 
222
- function getInstance() public view override returns (IInstance instance) {
223
- return _getComponentStorage()._instance;
148
+ function getName() public view override returns(string memory name) {
149
+ return getComponentInfo().name;
224
150
  }
225
151
 
226
- function getName() public view override returns(string memory name) {
227
- return _getComponentStorage()._name;
152
+ function getComponentInfo() public virtual view returns (IComponents.ComponentInfo memory info) {
153
+ if (isRegistered()) {
154
+ return _getComponentInfo();
155
+ } else {
156
+ return getInitialComponentInfo();
157
+ }
228
158
  }
229
159
 
230
- function getProductNftId() public view override returns (NftId productNftId) {
231
- return _getComponentStorage()._productNftId;
160
+ /// @dev defines initial component specification
161
+ /// overwrite this function according to your use case
162
+ function getInitialComponentInfo() public virtual view returns (IComponents.ComponentInfo memory info) {
163
+ return _getComponentInfo();
232
164
  }
233
165
 
234
- function getComponentInfo() public view returns (IComponents.ComponentInfo memory info) {
235
- info = _getInstanceReader().getComponentInfo(getNftId());
236
166
 
237
- // fallback to initial info (wallet is always != address(0))
238
- if(info.wallet == address(0)) {
239
- info = _getInitialInfo();
167
+ function isNftInterceptor() public virtual view returns(bool isInterceptor) {
168
+ if (isRegistered()) {
169
+ return getRegistry().getObjectInfo(address(this)).isInterceptor;
170
+ } else {
171
+ return _getComponentStorage()._isInterceptor;
240
172
  }
241
173
  }
242
174
 
243
- /// @dev defines initial component specification
244
- /// overwrite this function according to your use case
245
- function _getInitialInfo()
175
+
176
+ function isRegistered() public virtual view returns (bool) {
177
+ return getRegistry().getNftIdForAddress(address(this)).gtz();
178
+ }
179
+
180
+
181
+ function _approveTokenHandler(IERC20Metadata token, Amount amount)
246
182
  internal
247
- view
248
183
  virtual
249
- returns (IComponents.ComponentInfo memory info)
250
- { }
184
+ {
185
+ _getComponentStorage()._componentService.approveTokenHandler(
186
+ token,
187
+ amount);
188
+ }
251
189
 
252
190
 
253
191
  /// @dev internal function for nft transfers.
254
192
  /// handling logic that deals with nft transfers need to overwrite this function
255
- function _nftTransferFrom(address from, address to, uint256 tokenId)
193
+ function _nftTransferFrom(address from, address to, uint256 tokenId, address operator)
256
194
  internal
257
195
  virtual
258
196
  { }
259
197
 
260
- /// @dev returns reader for linked instance
261
- function _getInstanceReader() internal view returns (InstanceReader reader) {
262
- return _getComponentStorage()._instanceReader;
198
+
199
+ /// @dev depending on the source of the component information this function needs to be overwritten.
200
+ /// eg for instance linked components that externally store this information with the instance store contract
201
+ function _setWallet(
202
+ address newWallet
203
+ )
204
+ internal
205
+ virtual
206
+ {
207
+ _getComponentStorage()._componentService.setWallet(newWallet);
208
+ }
209
+
210
+
211
+ /// @dev depending on the source of the component information this function needs to be overwritten.
212
+ /// eg for instance linked components that externally store this information with the instance store contract
213
+ function _getComponentInfo() internal virtual view returns (IComponents.ComponentInfo memory info) {
214
+ ComponentStorage storage $ = _getComponentStorage();
215
+
216
+ return IComponents.ComponentInfo({
217
+ name: $._name,
218
+ token: $._token,
219
+ tokenHandler: TokenHandler(address(0)),
220
+ data: $._data // user specific component data
221
+ });
263
222
  }
264
223
 
265
224
  /// @dev returns the service address for the specified domain
266
225
  /// gets address via lookup from registry using the major version form the linked instance
267
- function _getServiceAddress(ObjectType domain) internal view returns (address service) {
268
- VersionPart majorVersion = _getComponentStorage()._instance.getMajorVersion();
269
- return getRegistry().getServiceAddress(domain, majorVersion);
226
+ function _getServiceAddress(ObjectType domain) internal view returns (address) {
227
+ return getRegistry().getServiceAddress(domain, getRelease());
270
228
  }
271
229
  }