@etherisc/gif-next 0.0.2-77c72ae-504 → 0.0.2-782a7d8-939

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 (552) hide show
  1. package/README.md +8 -84
  2. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  3. package/artifacts/contracts/{components → distribution}/Distribution.sol/Distribution.json +310 -283
  4. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  5. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1349 -0
  6. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  7. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +818 -0
  8. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  9. package/artifacts/contracts/{components → distribution}/IDistributionComponent.sol/IDistributionComponent.json +233 -201
  10. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  11. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +814 -0
  12. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
  13. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +68 -54
  14. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  15. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +315 -2127
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +229 -77
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +456 -2872
  20. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  21. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +708 -0
  22. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  23. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +228 -0
  24. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  25. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +642 -327
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +295 -277
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +119 -78
  30. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  31. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3642 -0
  32. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  33. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  34. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  35. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +6 -1
  36. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  37. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  38. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  39. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +256 -0
  40. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  41. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +25 -150
  42. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  43. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  44. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  45. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  46. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  47. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  48. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  49. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  50. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  51. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → oracle/IOracle.sol/IOracle.json} +2 -2
  52. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  53. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +759 -0
  54. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  55. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +662 -0
  56. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  57. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1146 -0
  58. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  59. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +997 -0
  60. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  61. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +718 -0
  62. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  63. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1105 -0
  64. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  65. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +746 -0
  66. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  67. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +286 -218
  68. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  69. package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +480 -213
  70. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  71. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1065 -0
  72. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  73. package/artifacts/contracts/{components → pool}/Pool.sol/Pool.json +527 -284
  74. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  75. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1432 -0
  76. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  77. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +738 -0
  78. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  79. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +834 -0
  80. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  81. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +722 -0
  82. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  83. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1278 -0
  84. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  85. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +810 -0
  86. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  87. package/artifacts/contracts/{instance/service → product}/IApplicationService.sol/IApplicationService.json +134 -97
  88. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  89. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +759 -0
  90. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  91. package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +272 -137
  92. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  93. package/artifacts/contracts/{instance/service/IDistributionService.sol/IDistributionService.json → product/IPricingService.sol/IPricingService.json} +249 -193
  94. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  95. package/artifacts/contracts/{components → product}/IProductComponent.sol/IProductComponent.json +408 -219
  96. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  97. package/artifacts/contracts/{instance/service → product}/IProductService.sol/IProductService.json +85 -71
  98. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  99. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1146 -0
  100. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  101. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +754 -0
  102. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  103. package/artifacts/contracts/product/PricingService.sol/PricingService.json +983 -0
  104. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  105. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +778 -0
  106. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  107. package/artifacts/contracts/{components → product}/Product.sol/Product.json +433 -282
  108. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  109. package/artifacts/contracts/product/ProductService.sol/ProductService.json +679 -0
  110. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  111. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +694 -0
  112. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  113. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
  114. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  115. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +188 -19
  116. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  117. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +305 -74
  118. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  119. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  120. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  121. package/artifacts/contracts/registry/Registry.sol/Registry.json +430 -34
  122. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  123. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +413 -0
  124. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  125. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +344 -95
  126. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  127. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +93 -54
  128. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  129. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +834 -89
  130. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +4 -0
  131. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +137 -0
  132. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  133. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +316 -153
  134. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
  135. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
  136. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
  137. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1715 -0
  138. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
  139. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1728 -0
  140. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
  141. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1806 -0
  142. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
  143. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1824 -0
  144. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  145. package/artifacts/contracts/{components → shared}/Component.sol/Component.json +209 -166
  146. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  147. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1490 -0
  148. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  149. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +792 -0
  150. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  151. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +96 -111
  152. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  153. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  154. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
  155. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
  156. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
  157. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
  158. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  159. package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +222 -104
  160. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  161. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +867 -0
  162. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  163. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +705 -0
  164. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  165. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +50 -11
  166. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  167. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -1
  168. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  169. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +3 -10
  170. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  171. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +87 -9
  172. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  173. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +3 -10
  174. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  175. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
  176. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  177. package/artifacts/contracts/shared/IService.sol/IService.json +101 -26
  178. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  179. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  180. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  181. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  182. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1036 -0
  183. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  184. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +571 -0
  185. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  186. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -0
  187. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  188. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
  189. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  190. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -22
  191. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  192. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +98 -26
  193. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  194. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +70 -35
  195. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  196. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +24 -23
  197. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  198. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  199. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  200. package/artifacts/contracts/shared/Service.sol/Service.json +109 -29
  201. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  202. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
  203. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  204. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  205. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  206. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  207. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  208. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  209. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +993 -0
  210. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  211. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +444 -0
  212. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  213. package/artifacts/contracts/staking/Staking.sol/Staking.json +2045 -0
  214. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  215. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +777 -0
  216. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  217. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +597 -0
  218. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  219. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1324 -0
  220. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  221. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +726 -0
  222. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  223. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2189 -0
  224. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  225. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  226. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  227. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  228. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  229. package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
  230. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  231. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  232. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  233. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  234. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  235. package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
  236. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  237. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  238. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  239. package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
  240. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  241. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  242. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  243. package/artifacts/contracts/{types → type}/NftIdSet.sol/LibNftIdSet.json +3 -3
  244. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  245. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +105 -0
  246. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  247. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  248. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  249. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  250. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  251. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  252. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  253. package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
  254. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  255. package/artifacts/contracts/{types → type}/RoleId.sol/RoleIdLib.json +5 -5
  256. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  257. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  258. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  259. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  260. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  261. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +293 -0
  262. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  263. package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
  264. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  265. package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
  266. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  267. package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
  268. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  269. package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
  270. package/contracts/{components → distribution}/Distribution.sol +53 -100
  271. package/contracts/distribution/DistributionService.sol +298 -0
  272. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  273. package/contracts/distribution/IDistributionComponent.sol +66 -0
  274. package/contracts/distribution/IDistributionService.sol +81 -0
  275. package/contracts/instance/BundleManager.sol +15 -14
  276. package/contracts/instance/IInstance.sol +56 -66
  277. package/contracts/instance/IInstanceService.sol +40 -18
  278. package/contracts/instance/Instance.sol +139 -194
  279. package/contracts/instance/InstanceAdmin.sol +331 -0
  280. package/contracts/instance/InstanceAuthorizationsLib.sol +377 -0
  281. package/contracts/instance/InstanceReader.sol +159 -62
  282. package/contracts/instance/InstanceService.sol +226 -340
  283. package/contracts/instance/InstanceServiceManager.sol +11 -21
  284. package/contracts/instance/InstanceStore.sol +281 -0
  285. package/contracts/instance/base/BalanceStore.sol +118 -0
  286. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +8 -3
  287. package/contracts/instance/base/ObjectCounter.sol +21 -0
  288. package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +12 -14
  289. package/contracts/instance/module/IAccess.sol +19 -20
  290. package/contracts/instance/module/IBundle.sol +8 -8
  291. package/contracts/instance/module/{ISetup.sol → IComponents.sol} +24 -19
  292. package/contracts/instance/module/IDistribution.sol +7 -4
  293. package/contracts/instance/module/IPolicy.sol +53 -16
  294. package/contracts/instance/module/IRisk.sol +1 -1
  295. package/contracts/{test/TestToken.sol → mock/Dip.sol} +5 -5
  296. package/contracts/oracle/IOracle.sol +20 -0
  297. package/contracts/oracle/IOracleComponent.sol +32 -0
  298. package/contracts/oracle/IOracleService.sol +65 -0
  299. package/contracts/oracle/Oracle.sol +145 -0
  300. package/contracts/oracle/OracleService.sol +277 -0
  301. package/contracts/oracle/OracleServiceManager.sol +42 -0
  302. package/contracts/pool/BundleService.sol +296 -0
  303. package/contracts/pool/BundleServiceManager.sol +42 -0
  304. package/contracts/pool/IBundleService.sol +106 -0
  305. package/contracts/pool/IPoolComponent.sol +112 -0
  306. package/contracts/pool/IPoolService.sol +150 -0
  307. package/contracts/pool/Pool.sol +299 -0
  308. package/contracts/pool/PoolService.sol +453 -0
  309. package/contracts/pool/PoolServiceManager.sol +42 -0
  310. package/contracts/product/ApplicationService.sol +254 -0
  311. package/contracts/{instance/service → product}/ApplicationServiceManager.sol +11 -8
  312. package/contracts/product/ClaimService.sol +442 -0
  313. package/contracts/{instance/service → product}/ClaimServiceManager.sol +11 -8
  314. package/contracts/{instance/service → product}/IApplicationService.sol +16 -36
  315. package/contracts/product/IClaimService.sol +99 -0
  316. package/contracts/{instance/service → product}/IPolicyService.sol +37 -48
  317. package/contracts/product/IPricingService.sol +39 -0
  318. package/contracts/product/IProductComponent.sol +42 -0
  319. package/contracts/product/IProductService.sol +33 -0
  320. package/contracts/product/PolicyService.sol +475 -0
  321. package/contracts/product/PolicyServiceManager.sol +42 -0
  322. package/contracts/product/PricingService.sol +301 -0
  323. package/contracts/product/PricingServiceManager.sol +42 -0
  324. package/contracts/product/Product.sol +377 -0
  325. package/contracts/product/ProductService.sol +124 -0
  326. package/contracts/product/ProductServiceManager.sol +42 -0
  327. package/contracts/registry/ChainNft.sol +16 -1
  328. package/contracts/registry/IRegistry.sol +46 -21
  329. package/contracts/registry/IRegistryService.sol +39 -37
  330. package/contracts/registry/ITransferInterceptor.sol +1 -0
  331. package/contracts/registry/Registry.sol +209 -97
  332. package/contracts/registry/RegistryAdmin.sol +237 -0
  333. package/contracts/registry/RegistryService.sol +69 -86
  334. package/contracts/registry/RegistryServiceManager.sol +21 -25
  335. package/contracts/registry/ReleaseManager.sol +459 -181
  336. package/contracts/registry/ServiceAuthorizationsLib.sol +173 -0
  337. package/contracts/registry/TokenRegistry.sol +261 -62
  338. package/contracts/shared/AccessManagerCustom.sol +736 -0
  339. package/contracts/shared/AccessManagerExtended.sol +470 -0
  340. package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
  341. package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
  342. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
  343. package/contracts/shared/Component.sol +281 -0
  344. package/contracts/shared/ComponentService.sol +618 -0
  345. package/contracts/shared/ComponentServiceManager.sol +35 -0
  346. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  347. package/contracts/shared/ERC165.sol +1 -1
  348. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  349. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
  350. package/contracts/shared/IComponent.sol +70 -0
  351. package/contracts/shared/IComponentService.sol +102 -0
  352. package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
  353. package/contracts/{instance/base → shared}/IKeyValueStore.sol +15 -11
  354. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -3
  355. package/contracts/shared/INftOwnable.sol +2 -2
  356. package/contracts/shared/IPolicyHolder.sol +29 -10
  357. package/contracts/shared/IRegistryLinked.sol +0 -1
  358. package/contracts/shared/IService.sol +7 -5
  359. package/contracts/shared/IVersionable.sol +1 -1
  360. package/contracts/shared/InitializableCustom.sol +177 -0
  361. package/contracts/shared/InstanceLinkedComponent.sol +144 -0
  362. package/contracts/shared/KeyValueStore.sol +127 -0
  363. package/contracts/{instance/base → shared}/Lifecycle.sol +37 -7
  364. package/contracts/shared/NftIdSetManager.sol +65 -0
  365. package/contracts/shared/NftOwnable.sol +3 -16
  366. package/contracts/shared/PolicyHolder.sol +40 -19
  367. package/contracts/shared/ProxyManager.sol +34 -4
  368. package/contracts/shared/Registerable.sol +15 -14
  369. package/contracts/shared/RegistryLinked.sol +0 -5
  370. package/contracts/shared/Service.sol +29 -10
  371. package/contracts/shared/TokenHandler.sol +37 -6
  372. package/contracts/shared/Versionable.sol +1 -1
  373. package/contracts/staking/IStaking.sol +168 -0
  374. package/contracts/staking/IStakingService.sol +149 -0
  375. package/contracts/staking/StakeManagerLib.sol +179 -0
  376. package/contracts/staking/Staking.sol +551 -0
  377. package/contracts/staking/StakingManager.sol +54 -0
  378. package/contracts/staking/StakingReader.sol +187 -0
  379. package/contracts/staking/StakingService.sol +406 -0
  380. package/contracts/staking/StakingServiceManager.sol +45 -0
  381. package/contracts/staking/StakingStore.sol +572 -0
  382. package/contracts/staking/TargetManagerLib.sol +207 -0
  383. package/contracts/{types → type}/AddressSet.sol +1 -1
  384. package/contracts/type/Amount.sol +128 -0
  385. package/contracts/{types → type}/Blocknumber.sol +21 -3
  386. package/contracts/{types → type}/ClaimId.sol +25 -2
  387. package/contracts/{types → type}/Fee.sol +33 -23
  388. package/contracts/{types → type}/NftId.sol +21 -15
  389. package/contracts/{types → type}/NftIdSet.sol +2 -2
  390. package/contracts/{types → type}/ObjectType.sol +26 -14
  391. package/contracts/{types → type}/PayoutId.sol +33 -5
  392. package/contracts/{types → type}/Referral.sol +5 -1
  393. package/contracts/type/RequestId.sol +75 -0
  394. package/contracts/{types → type}/RiskId.sol +1 -1
  395. package/contracts/{types → type}/RoleId.sol +69 -13
  396. package/contracts/type/Seconds.sol +81 -0
  397. package/contracts/{types → type}/StateId.sol +34 -4
  398. package/contracts/{types → type}/Timestamp.sol +23 -14
  399. package/contracts/{types → type}/UFixed.sol +1 -0
  400. package/contracts/{types → type}/Version.sol +2 -1
  401. package/package.json +4 -3
  402. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  403. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  404. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  405. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  406. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  407. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  408. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  409. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  410. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  411. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  412. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -984
  413. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  414. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -261
  415. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  416. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  417. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  418. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  419. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  420. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  421. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  422. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  423. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  424. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
  425. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -858
  426. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
  427. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -657
  428. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  429. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1085
  430. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  431. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -661
  432. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
  433. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -743
  434. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
  435. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -637
  436. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  437. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -935
  438. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  439. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -677
  440. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
  441. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  442. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
  443. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.json +0 -398
  444. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  445. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  446. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  447. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -336
  448. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  449. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  450. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1109
  451. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  452. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -717
  453. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  454. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -716
  455. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  456. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -649
  457. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  458. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -766
  459. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  460. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -649
  461. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  462. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  463. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  464. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  465. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  466. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  467. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  468. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
  469. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  470. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  471. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  472. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -510
  473. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  474. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  475. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  476. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  477. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  478. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
  479. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  480. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  481. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  482. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  483. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  484. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  485. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  486. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
  487. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +0 -100
  488. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  489. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  490. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  491. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  492. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  493. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  494. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  495. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  496. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  497. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  498. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  499. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
  500. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +0 -100
  501. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  502. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  503. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  504. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  505. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  506. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  507. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  508. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  509. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  510. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  511. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  512. package/contracts/components/Component.sol +0 -241
  513. package/contracts/components/IComponent.sol +0 -54
  514. package/contracts/components/IDistributionComponent.sol +0 -100
  515. package/contracts/components/IPoolComponent.sol +0 -87
  516. package/contracts/components/IProductComponent.sol +0 -39
  517. package/contracts/components/Pool.sol +0 -254
  518. package/contracts/components/Product.sol +0 -285
  519. package/contracts/instance/InstanceAccessManager.sol +0 -297
  520. package/contracts/instance/base/ComponentService.sol +0 -134
  521. package/contracts/instance/base/KeyValueStore.sol +0 -172
  522. package/contracts/instance/module/ITreasury.sol +0 -23
  523. package/contracts/instance/service/ApplicationService.sol +0 -268
  524. package/contracts/instance/service/BundleService.sol +0 -298
  525. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  526. package/contracts/instance/service/ClaimService.sol +0 -151
  527. package/contracts/instance/service/DistributionService.sol +0 -277
  528. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  529. package/contracts/instance/service/IBundleService.sol +0 -54
  530. package/contracts/instance/service/IClaimService.sol +0 -61
  531. package/contracts/instance/service/IDistributionService.sol +0 -65
  532. package/contracts/instance/service/IPoolService.sol +0 -20
  533. package/contracts/instance/service/IProductService.sol +0 -40
  534. package/contracts/instance/service/PolicyService.sol +0 -474
  535. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  536. package/contracts/instance/service/PoolService.sol +0 -109
  537. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  538. package/contracts/instance/service/ProductService.sol +0 -233
  539. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  540. package/contracts/registry/RegistryAccessManager.sol +0 -216
  541. package/contracts/shared/ContractDeployerLib.sol +0 -72
  542. package/contracts/test/TestFee.sol +0 -25
  543. package/contracts/test/TestRegisterable.sol +0 -18
  544. package/contracts/test/TestRoleId.sol +0 -14
  545. package/contracts/test/TestService.sol +0 -25
  546. package/contracts/test/TestVersion.sol +0 -44
  547. package/contracts/test/TestVersionable.sol +0 -17
  548. package/contracts/test/Usdc.sol +0 -26
  549. package/contracts/types/ChainId.sol +0 -38
  550. package/contracts/types/NumberId.sol +0 -52
  551. /package/contracts/{types → type}/DistributorType.sol +0 -0
  552. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -3,249 +3,215 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
5
5
 
6
- import {Key32, KeyId, Key32Lib} from "../types/Key32.sol";
7
- import {NftId} from "../types/NftId.sol";
8
- import {ClaimId} from "../types/ClaimId.sol";
9
- import {NumberId} from "../types/NumberId.sol";
10
- import {ObjectType, BUNDLE, DISTRIBUTION, INSTANCE, POLICY, POOL, ROLE, PRODUCT, TARGET, COMPONENT, DISTRIBUTOR, DISTRIBUTOR_TYPE} from "../types/ObjectType.sol";
11
- import {RiskId, RiskIdLib} from "../types/RiskId.sol";
12
- import {RoleId, RoleIdLib} from "../types/RoleId.sol";
13
- import {StateId, ACTIVE} from "../types/StateId.sol";
14
- import {TimestampLib} from "../types/Timestamp.sol";
15
- import {VersionPart} from "../types/Version.sol";
16
-
17
- import {ERC165} from "../shared/ERC165.sol";
6
+ import {Key32} from "../type/Key32.sol";
7
+ import {NftId} from "../type/NftId.sol";
8
+ import {RiskId} from "../type/RiskId.sol";
9
+ import {ObjectType, BUNDLE, DISTRIBUTION, INSTANCE, POLICY, POOL, ROLE, PRODUCT, TARGET, COMPONENT, DISTRIBUTOR, DISTRIBUTOR_TYPE} from "../type/ObjectType.sol";
10
+ import {RoleId, RoleIdLib, eqRoleId, ADMIN_ROLE, INSTANCE_ROLE, INSTANCE_OWNER_ROLE} from "../type/RoleId.sol";
11
+ import {VersionPart, VersionPartLib} from "../type/Version.sol";
12
+ import {ClaimId} from "../type/ClaimId.sol";
13
+ import {ReferralId} from "../type/Referral.sol";
14
+ import {PayoutId} from "../type/PayoutId.sol";
15
+ import {DistributorType} from "../type/DistributorType.sol";
16
+
18
17
  import {Registerable} from "../shared/Registerable.sol";
18
+ import {TokenHandler} from "../shared/TokenHandler.sol";
19
+ import {AccessManagerExtendedInitializeable} from "../shared/AccessManagerExtendedInitializeable.sol";
20
+
21
+ import {IRegistry} from "../registry/IRegistry.sol";
19
22
 
20
23
  import {IInstance} from "./IInstance.sol";
21
24
  import {InstanceReader} from "./InstanceReader.sol";
22
- import {InstanceAccessManager} from "./InstanceAccessManager.sol";
25
+ import {InstanceAdmin} from "./InstanceAdmin.sol";
23
26
  import {BundleManager} from "./BundleManager.sol";
27
+ import {InstanceStore} from "./InstanceStore.sol";
24
28
 
25
- import {KeyValueStore} from "./base/KeyValueStore.sol";
29
+ import {KeyValueStore} from "../shared/KeyValueStore.sol";
26
30
 
27
- import {IAccess} from "./module/IAccess.sol";
28
31
  import {IBundle} from "./module/IBundle.sol";
32
+ import {IComponents} from "./module/IComponents.sol";
29
33
  import {IDistribution} from "./module/IDistribution.sol";
30
34
  import {IPolicy} from "./module/IPolicy.sol";
31
35
  import {IRisk} from "./module/IRisk.sol";
32
- import {ISetup} from "./module/ISetup.sol";
33
36
 
34
- import {IDistributionService} from "./service/IDistributionService.sol";
35
- import {IPoolService} from "./service/IPoolService.sol";
36
- import {IProductService} from "./service/IProductService.sol";
37
- import {IPolicyService} from "./service/IPolicyService.sol";
38
- import {IBundleService} from "./service/IBundleService.sol";
39
- import {VersionPart, VersionPartLib} from "../types/Version.sol";
37
+ import {IDistributionService} from "../distribution/IDistributionService.sol";
38
+ import {IPoolService} from "../pool/IPoolService.sol";
39
+ import {IProductService} from "../product/IProductService.sol";
40
+ import {IPolicyService} from "../product/IPolicyService.sol";
41
+ import {IBundleService} from "../pool/IBundleService.sol";
40
42
 
41
43
  contract Instance is
42
44
  IInstance,
43
45
  AccessManagedUpgradeable,
44
- Registerable,
45
- KeyValueStore
46
+ Registerable
46
47
  {
47
-
48
48
  uint256 public constant GIF_MAJOR_VERSION = 3;
49
49
 
50
- uint64 public constant ADMIN_ROLE = type(uint64).min;
51
- uint64 public constant PUBLIC_ROLE = type(uint64).max;
52
- uint64 public constant CUSTOM_ROLE_ID_MIN = 10000;
53
-
54
- uint32 public constant EXECUTION_DELAY = 0;
55
-
56
50
  bool private _initialized;
57
51
 
58
- InstanceAccessManager internal _accessManager;
52
+ InstanceAdmin internal _instanceAdmin;
59
53
  InstanceReader internal _instanceReader;
60
54
  BundleManager internal _bundleManager;
55
+ InstanceStore internal _instanceStore;
61
56
 
62
- function initialize(address accessManagerAddress, address registryAddress, NftId registryNftId, address initialOwner)
63
- public
64
- initializer()
65
- {
66
- __AccessManaged_init(accessManagerAddress);
67
-
68
- initializeRegisterable(registryAddress, registryNftId, INSTANCE(), false, initialOwner, "");
69
- registerInterface(type(IInstance).interfaceId);
70
- }
71
-
72
- //--- ProductSetup ------------------------------------------------------//
73
- function createProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup) external restricted() {
74
- create(_toNftKey32(productNftId, PRODUCT()), abi.encode(setup));
75
- }
76
-
77
- function updateProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup, StateId newState) external restricted() {
78
- update(_toNftKey32(productNftId, PRODUCT()), abi.encode(setup), newState);
79
- }
80
-
81
- function updateProductSetupState(NftId productNftId, StateId newState) external restricted() {
82
- updateState(_toNftKey32(productNftId, PRODUCT()), newState);
83
- }
84
-
85
- //--- DistributionSetup ------------------------------------------------------//
86
- function createDistributionSetup(NftId distributionNftId, ISetup.DistributionSetupInfo memory setup) external restricted() {
87
- create(_toNftKey32(distributionNftId, DISTRIBUTION()), abi.encode(setup));
88
- }
89
-
90
- function updateDistributionSetup(NftId distributionNftId, ISetup.DistributionSetupInfo memory setup, StateId newState) external restricted() {
91
- update(_toNftKey32(distributionNftId, DISTRIBUTION()), abi.encode(setup), newState);
92
- }
93
-
94
- function updateDistributionSetupState(NftId distributionNftId, StateId newState) external restricted() {
95
- updateState(_toNftKey32(distributionNftId, DISTRIBUTION()), newState);
96
- }
97
-
98
- //--- PoolSetup ------------------------------------------------------//
99
- function createPoolSetup(NftId poolNftId, ISetup.PoolSetupInfo memory setup) external restricted() {
100
- create(_toNftKey32(poolNftId, POOL()), abi.encode(setup));
101
- }
102
-
103
- function updatePoolSetup(NftId poolNftId, ISetup.PoolSetupInfo memory setup, StateId newState) external restricted() {
104
- update(_toNftKey32(poolNftId, POOL()), abi.encode(setup), newState);
105
- }
106
-
107
- function updatePoolSetupState(NftId poolNftId, StateId newState) external restricted() {
108
- updateState(_toNftKey32(poolNftId, POOL()), newState);
109
- }
110
-
111
- //--- DistributorType -------------------------------------------------------//
112
- function createDistributorType(Key32 distributorKey, IDistribution.DistributorTypeInfo memory info) external restricted() {
113
- create(distributorKey, abi.encode(info));
114
- }
115
-
116
- function updateDistributorType(Key32 distributorKey, IDistribution.DistributorTypeInfo memory info, StateId newState) external restricted() {
117
- update(distributorKey, abi.encode(info), newState);
118
- }
119
-
120
- function updateDistributorTypeState(Key32 distributorKey, StateId newState) external restricted() {
121
- updateState(distributorKey, newState);
57
+ modifier onlyChainNft() {
58
+ if(msg.sender != getRegistry().getChainNftAddress()) {
59
+ revert();
60
+ }
61
+ _;
122
62
  }
123
63
 
124
- //--- Distributor -------------------------------------------------------//
125
- function createDistributor(NftId nftId, IDistribution.DistributorInfo memory info) external restricted() {
126
- create(toDistributorKey32(nftId), abi.encode(info));
127
- }
64
+ function initialize(address authority, address registryAddress, address initialOwner)
65
+ external
66
+ initializer()
67
+ {
68
+ if(authority == address(0)) {
69
+ revert ErrorInstanceInstanceAdminZero();
70
+ }
128
71
 
129
- function updateDistributor(NftId nftId, IDistribution.DistributorInfo memory info, StateId newState) external restricted() {
130
- update(toDistributorKey32(nftId), abi.encode(info), newState);
131
- }
72
+ __AccessManaged_init(authority);
73
+
74
+ IRegistry registry = IRegistry(registryAddress);
75
+ initializeRegisterable(registryAddress, registry.getNftId(), INSTANCE(), true, initialOwner, "");
132
76
 
133
- function updateDistributorState(NftId nftId, StateId newState) external restricted() {
134
- updateState(toDistributorKey32(nftId), newState);
77
+ registerInterface(type(IInstance).interfaceId);
135
78
  }
136
79
 
137
- //--- Referral ----------------------------------------------------------//
138
- function createReferral(Key32 referralKey, IDistribution.ReferralInfo memory referralInfo) external restricted() {
139
- create(referralKey, abi.encode(referralInfo));
140
- }
80
+ //--- Roles ------------------------------------------------------------//
141
81
 
142
- function updateReferral(Key32 referralKey, IDistribution.ReferralInfo memory referralInfo, StateId newState) external restricted() {
143
- update(referralKey, abi.encode(referralInfo), newState);
82
+ function createRole(string memory roleName, string memory adminName)
83
+ external
84
+ restricted // INSTANCE_OWNER_ROLE
85
+ returns (RoleId roleId, RoleId admin)
86
+ {
87
+ (roleId, admin) = _instanceAdmin.createRole(roleName, adminName);
144
88
  }
145
89
 
146
- function updateReferralState(Key32 referralKey, StateId newState) external restricted() {
147
- updateState(referralKey, newState);
90
+ function grantRole(RoleId roleId, address account)
91
+ external
92
+ restricted // INSTANCE_OWNER_ROLE
93
+ {
94
+ AccessManagerExtendedInitializeable(authority()).grantRole(roleId.toInt(), account, 0);
148
95
  }
149
96
 
150
- //--- Bundle ------------------------------------------------------------//
151
- function createBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle) external restricted() {
152
- create(toBundleKey32(bundleNftId), abi.encode(bundle));
97
+ function revokeRole(RoleId roleId, address account)
98
+ external
99
+ restricted // INSTANCE_OWNER_ROLE
100
+ {
101
+ AccessManagerExtendedInitializeable(authority()).revokeRole(roleId.toInt(), account);
153
102
  }
154
103
 
155
- function updateBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle, StateId newState) external restricted() {
156
- update(toBundleKey32(bundleNftId), abi.encode(bundle), newState);
157
- }
104
+ //--- Targets ------------------------------------------------------------//
158
105
 
159
- function updateBundleState(NftId bundleNftId, StateId newState) external restricted() {
160
- updateState(toBundleKey32(bundleNftId), newState);
106
+ function createTarget(address target, string memory name)
107
+ external
108
+ restricted // INSTANCE_OWNER_ROLE
109
+ {
110
+ _instanceAdmin.createTarget(target, name);
161
111
  }
162
112
 
163
- //--- Risk --------------------------------------------------------------//
164
- function createRisk(RiskId riskId, IRisk.RiskInfo memory risk) external restricted() {
165
- create(riskId.toKey32(), abi.encode(risk));
113
+ function setTargetFunctionRole(
114
+ string memory targetName,
115
+ bytes4[] calldata selectors,
116
+ RoleId roleId
117
+ )
118
+ external
119
+ restricted // INSTANCE_OWNER_ROLE
120
+ {
121
+ _instanceAdmin.setTargetFunctionRoleByInstance(targetName, selectors, roleId);
166
122
  }
167
123
 
168
- function updateRisk(RiskId riskId, IRisk.RiskInfo memory risk, StateId newState) external restricted() {
169
- update(riskId.toKey32(), abi.encode(risk), newState);
124
+ function setTargetLocked(address target, bool locked)
125
+ external
126
+ restricted // INSTANCE_OWNER_ROLE
127
+ {
128
+ _instanceAdmin.setTargetLockedByInstance(target, locked);
170
129
  }
171
130
 
172
- function updateRiskState(RiskId riskId, StateId newState) external restricted() {
173
- updateState(riskId.toKey32(), newState);
174
- }
131
+ //--- ITransferInterceptor ----------------------------------------------//
175
132
 
176
- //--- Application (Policy) ----------------------------------------------//
177
- function createApplication(NftId applicationNftId, IPolicy.PolicyInfo memory policy) external restricted() {
178
- create(toPolicyKey32(applicationNftId), abi.encode(policy));
133
+ // TODO interception of child components nfts
134
+ function nftMint(address to, uint256 tokenId) external onlyChainNft {
135
+ _instanceAdmin.transferInstanceOwnerRole(address(0), to);
179
136
  }
180
137
 
181
- function updateApplication(NftId applicationNftId, IPolicy.PolicyInfo memory policy, StateId newState) external restricted() {
182
- update(toPolicyKey32(applicationNftId), abi.encode(policy), newState);
138
+ function nftTransferFrom(address from, address to, uint256 tokenId) external onlyChainNft {
139
+ _instanceAdmin.transferInstanceOwnerRole(from, to);
183
140
  }
184
141
 
185
- function updateApplicationState(NftId applicationNftId, StateId newState) external restricted() {
186
- updateState(toPolicyKey32(applicationNftId), newState);
187
- }
142
+ //function nftBurn(address from, uint256 tokenId) external onlyChainNft {
143
+ //_instanceAdmin.transferInstanceOwnerRole(from, address(0));
144
+ //}
188
145
 
189
- //--- Policy ------------------------------------------------------------//
190
- function updatePolicy(NftId policyNftId, IPolicy.PolicyInfo memory policy, StateId newState) external restricted() {
191
- update(toPolicyKey32(policyNftId), abi.encode(policy), newState);
192
- }
146
+ //--- initial setup functions -------------------------------------------//
193
147
 
194
- function updatePolicyState(NftId policyNftId, StateId newState) external restricted() {
195
- updateState(toPolicyKey32(policyNftId), newState);
148
+ function setInstanceAdmin(InstanceAdmin accessManager) external restricted {
149
+ if(address(_instanceAdmin) != address(0)) {
150
+ revert ErrorInstanceInstanceAdminAlreadySet(address(_instanceAdmin));
151
+ }
152
+ if(accessManager.authority() != authority()) {
153
+ revert ErrorInstanceInstanceAdminAuthorityMismatch(authority());
154
+ }
155
+ _instanceAdmin = accessManager;
196
156
  }
197
-
198
- //--- Claim -------------------------------------------------------------//
199
- function createClaim(NftId policyNftId, ClaimId claimId, IPolicy.ClaimInfo memory claim) external restricted() {
200
- create(toPolicyKey32(policyNftId), abi.encode(claim));
157
+
158
+ function setBundleManager(BundleManager bundleManager) external restricted() {
159
+ if(address(_bundleManager) != address(0)) {
160
+ revert ErrorInstanceBundleManagerAlreadySet(address(_bundleManager));
161
+ }
162
+ if(bundleManager.getInstance() != Instance(this)) {
163
+ revert ErrorInstanceBundleManagerInstanceMismatch(address(this));
164
+ }
165
+ if(bundleManager.authority() != authority()) {
166
+ revert ErrorInstanceBundleManagerAuthorityMismatch(authority());
167
+ }
168
+ _bundleManager = bundleManager;
201
169
  }
202
170
 
203
- function updateClaim(NftId policyNftId, ClaimId claimId, IPolicy.ClaimInfo memory claim, StateId newState) external restricted() {
204
- update(toPolicyKey32(policyNftId), abi.encode(claim), newState);
205
- }
171
+ function setInstanceReader(InstanceReader instanceReader) external restricted() {
172
+ if(instanceReader.getInstance() != Instance(this)) {
173
+ revert ErrorInstanceInstanceReaderInstanceMismatch(address(this));
174
+ }
206
175
 
207
- function updateClaimState(NftId policyNftId, ClaimId claimId, StateId newState) external restricted() {
208
- updateState(toPolicyKey32(policyNftId), newState);
176
+ _instanceReader = instanceReader;
209
177
  }
210
178
 
211
- //--- Payout ------------------------------------------------------------//
212
- function createPayout(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout) external restricted() {
213
- create(toPolicyKey32(policyNftId), abi.encode(payout));
214
- }
179
+ //--- external view functions -------------------------------------------//
215
180
 
216
- function updatePayout(NftId policyNftId, NumberId payoutId, IPolicy.PayoutInfo memory payout, StateId newState) external restricted() {
217
- update(toPolicyKey32(policyNftId), abi.encode(payout), newState);
181
+ function getInstanceReader() external view returns (InstanceReader) {
182
+ return _instanceReader;
218
183
  }
219
184
 
220
- function updatePayoutState(NftId policyNftId, StateId newState) external restricted() {
221
- updateState(toPolicyKey32(policyNftId), newState);
185
+ function getBundleManager() external view returns (BundleManager) {
186
+ return _bundleManager;
222
187
  }
223
188
 
224
- //--- internal view/pure functions --------------------------------------//
225
- function _toNftKey32(NftId nftId, ObjectType objectType) internal pure returns (Key32) {
226
- return nftId.toKey32(objectType);
189
+ function getInstanceAdmin() external view returns (InstanceAdmin) {
190
+ return _instanceAdmin;
227
191
  }
228
192
 
229
- function toBundleKey32(NftId bundleNftId) public pure returns (Key32) {
230
- return bundleNftId.toKey32(BUNDLE());
193
+ function getInstanceAccessManager() external view returns (AccessManagerExtendedInitializeable) {
194
+ return AccessManagerExtendedInitializeable(authority());
231
195
  }
232
196
 
233
- function toPolicyKey32(NftId policyNftId) public pure returns (Key32) {
234
- return policyNftId.toKey32(POLICY());
197
+ function setInstanceStore(InstanceStore instanceStore) external restricted {
198
+ if(address(_instanceStore) != address(0)) {
199
+ revert ErrorInstanceInstanceStoreAlreadySet(address(_instanceStore));
200
+ }
201
+ if(instanceStore.authority() != authority()) {
202
+ revert ErrorInstanceInstanceStoreAuthorityMismatch(authority());
203
+ }
204
+ _instanceStore = instanceStore;
235
205
  }
236
206
 
237
- function toDistributionKey32(NftId distNftId) public pure returns (Key32) {
238
- return distNftId.toKey32(DISTRIBUTION());
207
+ function getInstanceStore() external view returns (InstanceStore) {
208
+ return _instanceStore;
239
209
  }
240
210
 
241
- function toDistributorTypeKey32(NftId distNftId) public pure returns (Key32) {
242
- return distNftId.toKey32(DISTRIBUTOR_TYPE());
211
+ function getMajorVersion() external pure returns (VersionPart majorVersion) {
212
+ return VersionPartLib.toVersionPart(GIF_MAJOR_VERSION);
243
213
  }
244
214
 
245
- function toDistributorKey32(NftId distNftId) public pure returns (Key32) {
246
- return distNftId.toKey32(DISTRIBUTOR());
247
- }
248
-
249
215
  function getDistributionService() external view returns (IDistributionService) {
250
216
  return IDistributionService(getRegistry().getServiceAddress(DISTRIBUTION(), VersionPart.wrap(3)));
251
217
  }
@@ -266,26 +232,5 @@ contract Instance is
266
232
  return IBundleService(getRegistry().getServiceAddress(BUNDLE(), VersionPart.wrap(3)));
267
233
  }
268
234
 
269
- function setInstanceReader(InstanceReader instanceReader) external restricted() {
270
- require(instanceReader.getInstance() == Instance(this), "InstanceReader instance mismatch");
271
- _instanceReader = instanceReader;
272
- }
273
-
274
- function getMajorVersion() external pure returns (VersionPart majorVersion) {
275
- return VersionPartLib.toVersionPart(GIF_MAJOR_VERSION);
276
- }
277
-
278
- function getInstanceReader() external view returns (InstanceReader) {
279
- return _instanceReader;
280
- }
281
-
282
- function setBundleManager(BundleManager bundleManager) external restricted() {
283
- require(address(_bundleManager) == address(0), "BundleManager is set");
284
- require(bundleManager.getInstance() == Instance(this), "BundleManager instance mismatch");
285
- _bundleManager = bundleManager;
286
- }
287
-
288
- function getBundleManager() external view returns (BundleManager) {
289
- return _bundleManager;
290
- }
291
- }
235
+ //--- internal view/pure functions --------------------------------------//
236
+ }