@etherisc/gif-next 0.0.2-b72409c-493 → 0.0.2-b7f4834-822

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 (546) 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 +254 -157
  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 +202 -96
  10. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  11. package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +121 -320
  12. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
  13. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +6 -6
  14. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  15. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +320 -1995
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +155 -72
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +452 -2749
  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 +762 -340
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +238 -218
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +119 -86
  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 +1 -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/{ObjectManager.sol → base/ObjectManager.sol}/ObjectManager.json +3 -3
  40. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  41. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +10 -118
  42. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  43. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  44. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  45. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  46. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  47. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  48. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  49. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  50. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → oracle/IOracle.sol/IOracle.json} +2 -2
  51. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  52. package/artifacts/contracts/{components/IProductComponent.sol/IProductComponent.json → oracle/IOracleComponent.sol/IOracleComponent.json} +221 -192
  53. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  54. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +662 -0
  55. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  56. package/artifacts/contracts/{components/Product.sol/Product.json → oracle/Oracle.sol/Oracle.json} +255 -266
  57. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  58. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +997 -0
  59. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  60. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +718 -0
  61. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  62. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1105 -0
  63. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  64. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +746 -0
  65. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  66. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +213 -153
  67. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  68. package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +288 -88
  69. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  70. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1065 -0
  71. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  72. package/artifacts/contracts/{components → pool}/Pool.sol/Pool.json +298 -89
  73. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  74. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1432 -0
  75. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  76. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +738 -0
  77. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  78. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +834 -0
  79. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  80. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +722 -0
  81. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  82. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1278 -0
  83. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  84. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +810 -0
  85. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  86. package/artifacts/contracts/{instance/service/IClaimService.sol/IClaimService.json → product/IApplicationService.sol/IApplicationService.json} +191 -101
  87. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  88. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +759 -0
  89. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  90. package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +268 -101
  91. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  92. package/artifacts/contracts/{instance/service/IApplicationService.sol/IApplicationService.json → product/IPricingService.sol/IPricingService.json} +141 -161
  93. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  94. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +995 -0
  95. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  96. package/artifacts/contracts/{instance/service → product}/IProductService.sol/IProductService.json +75 -72
  97. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  98. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1146 -0
  99. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  100. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +754 -0
  101. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  102. package/artifacts/contracts/product/PricingService.sol/PricingService.json +983 -0
  103. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  104. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +778 -0
  105. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  106. package/artifacts/contracts/product/Product.sol/Product.json +1397 -0
  107. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  108. package/artifacts/contracts/product/ProductService.sol/ProductService.json +679 -0
  109. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  110. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +694 -0
  111. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  112. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  113. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  114. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +179 -29
  115. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  116. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +305 -85
  117. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  118. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  119. package/artifacts/contracts/registry/Registry.sol/Registry.json +415 -43
  120. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  121. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +407 -0
  122. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  123. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +343 -105
  124. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  125. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +93 -54
  126. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  127. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +834 -89
  128. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +4 -0
  129. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +137 -0
  130. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  131. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +316 -153
  132. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
  133. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
  134. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
  135. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1715 -0
  136. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
  137. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1728 -0
  138. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
  139. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1806 -0
  140. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
  141. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1824 -0
  142. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  143. package/artifacts/contracts/{components → shared}/Component.sol/Component.json +144 -80
  144. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  145. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1490 -0
  146. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  147. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +792 -0
  148. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  149. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +95 -121
  150. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  151. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  152. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
  153. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
  154. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
  155. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
  156. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  157. package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +180 -54
  158. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  159. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +867 -0
  160. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  161. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +705 -0
  162. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  163. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +50 -11
  164. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  165. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -1
  166. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  167. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +3 -10
  168. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  169. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +87 -9
  170. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  171. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +3 -10
  172. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  173. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
  174. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  175. package/artifacts/contracts/shared/IService.sol/IService.json +91 -27
  176. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  177. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  178. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  179. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  180. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1036 -0
  181. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  182. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +571 -0
  183. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  184. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -0
  185. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  186. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
  187. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  188. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -22
  189. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  190. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +98 -26
  191. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  192. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +70 -35
  193. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  194. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +23 -22
  195. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  196. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  197. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  198. package/artifacts/contracts/shared/Service.sol/Service.json +98 -29
  199. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  200. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
  201. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  202. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  203. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  204. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  205. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  206. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  207. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +993 -0
  208. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  209. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +444 -0
  210. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  211. package/artifacts/contracts/staking/Staking.sol/Staking.json +2045 -0
  212. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  213. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +777 -0
  214. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  215. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  216. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  217. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1324 -0
  218. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  219. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +726 -0
  220. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  221. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2189 -0
  222. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  223. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  224. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  225. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  226. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  227. package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
  228. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  229. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  230. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  231. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  232. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  233. package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
  234. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  235. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  236. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  237. package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
  238. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  239. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  240. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  241. package/artifacts/contracts/{types → type}/NftIdSet.sol/LibNftIdSet.json +3 -3
  242. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  243. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +105 -0
  244. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  245. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  246. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  247. package/artifacts/contracts/{types → type}/Referral.sol/ReferralLib.json +5 -5
  248. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  249. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  250. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  251. package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
  252. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  253. package/artifacts/contracts/{types → type}/RoleId.sol/RoleIdLib.json +5 -5
  254. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  255. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  256. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  257. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  258. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  259. package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +33 -7
  260. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  261. package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
  262. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  263. package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
  264. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  265. package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
  266. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  267. package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
  268. package/contracts/{components → distribution}/Distribution.sol +47 -66
  269. package/contracts/distribution/DistributionService.sol +298 -0
  270. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  271. package/contracts/{components → distribution}/IDistributionComponent.sol +11 -16
  272. package/contracts/{instance/service → distribution}/IDistributionService.sol +20 -37
  273. package/contracts/instance/BundleManager.sol +8 -9
  274. package/contracts/instance/IInstance.sol +51 -67
  275. package/contracts/instance/IInstanceService.sol +30 -21
  276. package/contracts/instance/Instance.sol +124 -215
  277. package/contracts/instance/InstanceAdmin.sol +331 -0
  278. package/contracts/instance/InstanceAuthorizationsLib.sol +377 -0
  279. package/contracts/instance/InstanceReader.sol +157 -57
  280. package/contracts/instance/InstanceService.sol +189 -322
  281. package/contracts/instance/InstanceServiceManager.sol +11 -21
  282. package/contracts/instance/InstanceStore.sol +281 -0
  283. package/contracts/instance/base/BalanceStore.sol +118 -0
  284. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +1 -1
  285. package/contracts/instance/base/ObjectCounter.sol +21 -0
  286. package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +7 -7
  287. package/contracts/instance/module/IAccess.sol +5 -13
  288. package/contracts/instance/module/IBundle.sol +8 -9
  289. package/contracts/instance/module/IComponents.sol +22 -5
  290. package/contracts/instance/module/IDistribution.sol +7 -6
  291. package/contracts/instance/module/IPolicy.sol +28 -16
  292. package/contracts/instance/module/IRisk.sol +1 -1
  293. package/contracts/{test/TestToken.sol → mock/Dip.sol} +5 -5
  294. package/contracts/oracle/IOracle.sol +20 -0
  295. package/contracts/oracle/IOracleComponent.sol +32 -0
  296. package/contracts/oracle/IOracleService.sol +65 -0
  297. package/contracts/oracle/Oracle.sol +145 -0
  298. package/contracts/oracle/OracleService.sol +277 -0
  299. package/contracts/oracle/OracleServiceManager.sol +42 -0
  300. package/contracts/pool/BundleService.sol +296 -0
  301. package/contracts/pool/BundleServiceManager.sol +42 -0
  302. package/contracts/pool/IBundleService.sol +106 -0
  303. package/contracts/{components → pool}/IPoolComponent.sol +17 -18
  304. package/contracts/pool/IPoolService.sol +150 -0
  305. package/contracts/{components → pool}/Pool.sol +57 -57
  306. package/contracts/pool/PoolService.sol +453 -0
  307. package/contracts/pool/PoolServiceManager.sol +42 -0
  308. package/contracts/product/ApplicationService.sol +254 -0
  309. package/contracts/{instance/service → product}/ApplicationServiceManager.sol +11 -8
  310. package/contracts/product/ClaimService.sol +442 -0
  311. package/contracts/{instance/service → product}/ClaimServiceManager.sol +11 -8
  312. package/contracts/{instance/service → product}/IApplicationService.sol +15 -35
  313. package/contracts/product/IClaimService.sol +99 -0
  314. package/contracts/{instance/service → product}/IPolicyService.sol +37 -31
  315. package/contracts/product/IPricingService.sol +39 -0
  316. package/contracts/product/IProductComponent.sol +42 -0
  317. package/contracts/product/IProductService.sol +33 -0
  318. package/contracts/product/PolicyService.sol +475 -0
  319. package/contracts/product/PolicyServiceManager.sol +42 -0
  320. package/contracts/product/PricingService.sol +301 -0
  321. package/contracts/product/PricingServiceManager.sol +42 -0
  322. package/contracts/{components → product}/Product.sol +191 -107
  323. package/contracts/product/ProductService.sol +124 -0
  324. package/contracts/product/ProductServiceManager.sol +42 -0
  325. package/contracts/registry/ChainNft.sol +8 -1
  326. package/contracts/registry/IRegistry.sol +44 -21
  327. package/contracts/registry/IRegistryService.sol +39 -37
  328. package/contracts/registry/Registry.sol +192 -83
  329. package/contracts/registry/RegistryAdmin.sol +237 -0
  330. package/contracts/registry/RegistryService.sol +69 -86
  331. package/contracts/registry/RegistryServiceManager.sol +21 -25
  332. package/contracts/registry/ReleaseManager.sol +459 -181
  333. package/contracts/registry/ServiceAuthorizationsLib.sol +173 -0
  334. package/contracts/registry/TokenRegistry.sol +261 -62
  335. package/contracts/shared/AccessManagerCustom.sol +736 -0
  336. package/contracts/shared/AccessManagerExtended.sol +470 -0
  337. package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
  338. package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
  339. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
  340. package/contracts/shared/Component.sol +281 -0
  341. package/contracts/shared/ComponentService.sol +618 -0
  342. package/contracts/shared/ComponentServiceManager.sol +35 -0
  343. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  344. package/contracts/shared/ERC165.sol +1 -1
  345. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  346. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
  347. package/contracts/{components → shared}/IComponent.sol +23 -27
  348. package/contracts/shared/IComponentService.sol +102 -0
  349. package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
  350. package/contracts/{instance/base → shared}/IKeyValueStore.sol +15 -11
  351. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -3
  352. package/contracts/shared/INftOwnable.sol +2 -2
  353. package/contracts/shared/IPolicyHolder.sol +29 -10
  354. package/contracts/shared/IRegistryLinked.sol +0 -1
  355. package/contracts/shared/IService.sol +7 -7
  356. package/contracts/shared/IVersionable.sol +1 -1
  357. package/contracts/shared/InitializableCustom.sol +177 -0
  358. package/contracts/shared/InstanceLinkedComponent.sol +144 -0
  359. package/contracts/shared/KeyValueStore.sol +127 -0
  360. package/contracts/{instance/base → shared}/Lifecycle.sol +26 -5
  361. package/contracts/shared/NftIdSetManager.sol +65 -0
  362. package/contracts/shared/NftOwnable.sol +3 -16
  363. package/contracts/shared/PolicyHolder.sol +40 -19
  364. package/contracts/shared/ProxyManager.sol +34 -4
  365. package/contracts/shared/Registerable.sol +13 -12
  366. package/contracts/shared/RegistryLinked.sol +0 -5
  367. package/contracts/shared/Service.sol +29 -10
  368. package/contracts/shared/TokenHandler.sol +27 -2
  369. package/contracts/shared/Versionable.sol +1 -1
  370. package/contracts/staking/IStaking.sol +168 -0
  371. package/contracts/staking/IStakingService.sol +149 -0
  372. package/contracts/staking/StakeManagerLib.sol +179 -0
  373. package/contracts/staking/Staking.sol +551 -0
  374. package/contracts/staking/StakingManager.sol +54 -0
  375. package/contracts/staking/StakingReader.sol +187 -0
  376. package/contracts/staking/StakingService.sol +406 -0
  377. package/contracts/staking/StakingServiceManager.sol +45 -0
  378. package/contracts/staking/StakingStore.sol +572 -0
  379. package/contracts/staking/TargetManagerLib.sol +207 -0
  380. package/contracts/{types → type}/AddressSet.sol +1 -1
  381. package/contracts/type/Amount.sol +128 -0
  382. package/contracts/{types → type}/Blocknumber.sol +20 -3
  383. package/contracts/{types → type}/ClaimId.sol +25 -2
  384. package/contracts/{types → type}/Fee.sol +33 -24
  385. package/contracts/{types → type}/NftId.sol +14 -16
  386. package/contracts/{types → type}/NftIdSet.sol +2 -2
  387. package/contracts/{types → type}/ObjectType.sol +26 -15
  388. package/contracts/{types → type}/PayoutId.sol +33 -5
  389. package/contracts/{types → type}/Referral.sol +1 -1
  390. package/contracts/type/RequestId.sol +75 -0
  391. package/contracts/{types → type}/RiskId.sol +1 -1
  392. package/contracts/{types → type}/RoleId.sol +58 -9
  393. package/contracts/{types → type}/Seconds.sol +27 -0
  394. package/contracts/{types → type}/StateId.sol +33 -4
  395. package/contracts/{types → type}/Timestamp.sol +10 -1
  396. package/contracts/{types → type}/Version.sol +1 -1
  397. package/package.json +3 -3
  398. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  399. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  400. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  401. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  402. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  403. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  404. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  405. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  406. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  407. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  408. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  409. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  410. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1311
  411. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  412. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  413. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  414. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  415. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  416. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -532
  417. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  418. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
  419. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  420. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  421. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  422. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
  423. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -968
  424. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
  425. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -665
  426. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  427. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1093
  428. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  429. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -661
  430. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
  431. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -754
  432. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
  433. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -637
  434. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  435. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1732
  436. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  437. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -805
  438. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
  439. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  440. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
  441. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  442. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  443. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  444. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -428
  445. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  446. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  447. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1021
  448. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  449. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -689
  450. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  451. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -824
  452. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  453. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -657
  454. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  455. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -777
  456. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  457. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -649
  458. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  459. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  460. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  461. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  462. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  463. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  464. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  465. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
  466. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  467. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  468. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  469. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -521
  470. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  471. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  472. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  473. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  474. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  475. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
  476. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  477. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  478. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  479. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  480. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  481. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  482. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  483. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
  484. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +0 -100
  485. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  486. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  487. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  488. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  489. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  490. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -166
  491. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  492. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  493. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  494. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  495. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  496. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
  497. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +0 -100
  498. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  499. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  500. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  501. package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +0 -4
  502. package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +0 -124
  503. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  504. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  505. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  506. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  507. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  508. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  509. package/contracts/components/Component.sol +0 -251
  510. package/contracts/components/IProductComponent.sol +0 -40
  511. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -13
  512. package/contracts/instance/InstanceAccessManager.sol +0 -522
  513. package/contracts/instance/base/ComponentService.sol +0 -134
  514. package/contracts/instance/base/KeyValueStore.sol +0 -175
  515. package/contracts/instance/module/ISetup.sol +0 -33
  516. package/contracts/instance/module/ITreasury.sol +0 -23
  517. package/contracts/instance/service/ApplicationService.sol +0 -350
  518. package/contracts/instance/service/BundleService.sol +0 -336
  519. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  520. package/contracts/instance/service/ClaimService.sol +0 -151
  521. package/contracts/instance/service/DistributionService.sol +0 -467
  522. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  523. package/contracts/instance/service/IBundleService.sol +0 -62
  524. package/contracts/instance/service/IClaimService.sol +0 -61
  525. package/contracts/instance/service/IPoolService.sol +0 -35
  526. package/contracts/instance/service/IProductService.sol +0 -40
  527. package/contracts/instance/service/PolicyService.sol +0 -403
  528. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  529. package/contracts/instance/service/PoolService.sol +0 -220
  530. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  531. package/contracts/instance/service/ProductService.sol +0 -241
  532. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  533. package/contracts/registry/RegistryAccessManager.sol +0 -216
  534. package/contracts/shared/ContractDeployerLib.sol +0 -72
  535. package/contracts/test/TestFee.sol +0 -25
  536. package/contracts/test/TestRegisterable.sol +0 -18
  537. package/contracts/test/TestRoleId.sol +0 -14
  538. package/contracts/test/TestService.sol +0 -25
  539. package/contracts/test/TestVersion.sol +0 -44
  540. package/contracts/test/TestVersionable.sol +0 -17
  541. package/contracts/test/Usdc.sol +0 -26
  542. package/contracts/types/ChainId.sol +0 -38
  543. package/contracts/types/NumberId.sol +0 -52
  544. /package/contracts/{types → type}/DistributorType.sol +0 -0
  545. /package/contracts/{types → type}/Key32.sol +0 -0
  546. /package/contracts/{types → type}/UFixed.sol +0 -0
@@ -0,0 +1,281 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
5
+ import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
6
+ import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
7
+ import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
8
+
9
+ import {Amount} from "../type/Amount.sol";
10
+ import {IComponent} from "./IComponent.sol";
11
+ import {IComponents} from "../instance/module/IComponents.sol";
12
+ import {NftId, NftIdLib} from "../type/NftId.sol";
13
+ import {ObjectType} from "../type/ObjectType.sol";
14
+ import {Registerable} from "../shared/Registerable.sol";
15
+ import {TokenHandler} from "../shared/TokenHandler.sol";
16
+ import {VersionPartLib} from "../type/Version.sol";
17
+
18
+ abstract contract Component is
19
+ AccessManagedUpgradeable,
20
+ Registerable,
21
+ IComponent
22
+ {
23
+ // keccak256(abi.encode(uint256(keccak256("gif-next.contracts.component.Component.sol")) - 1)) & ~bytes32(uint256(0xff));
24
+ bytes32 public constant COMPONENT_LOCATION_V1 = 0xffe8d4462baed26a47154f4b8f6db497d2f772496965791d25bd456e342b7f00;
25
+
26
+ struct ComponentStorage {
27
+ string _name; // unique (per instance) component name
28
+ IERC20Metadata _token; // token for this component
29
+ TokenHandler _tokenHandler;
30
+ address _wallet;
31
+ bool _isInterceptor;
32
+ bytes _data;
33
+ }
34
+
35
+
36
+ modifier onlyChainNft() {
37
+ if(msg.sender != getRegistry().getChainNftAddress()) {
38
+ revert ErrorComponentNotChainNft(msg.sender);
39
+ }
40
+ _;
41
+ }
42
+
43
+
44
+ function _getComponentStorage() private pure returns (ComponentStorage storage $) {
45
+ assembly {
46
+ $.slot := COMPONENT_LOCATION_V1
47
+ }
48
+ }
49
+
50
+ function initializeComponent(
51
+ address authority,
52
+ address registry,
53
+ NftId parentNftId,
54
+ string memory name,
55
+ address token,
56
+ ObjectType componentType,
57
+ bool isInterceptor,
58
+ address initialOwner,
59
+ bytes memory registryData, // writeonly data that will saved in the object info record of the registry
60
+ bytes memory componentData // other component specific data
61
+ )
62
+ public
63
+ virtual
64
+ onlyInitializing()
65
+ {
66
+ initializeRegisterable(registry, parentNftId, componentType, isInterceptor, initialOwner, registryData);
67
+ __AccessManaged_init(authority);
68
+
69
+ if (token == address(0)) {
70
+ revert ErrorComponentTokenAddressZero();
71
+ }
72
+
73
+ if (bytes(name).length == 0) {
74
+ revert ErrorComponentNameLengthZero();
75
+ }
76
+
77
+ // set component state
78
+ ComponentStorage storage $ = _getComponentStorage();
79
+ $._name = name;
80
+ $._token = IERC20Metadata(token);
81
+ $._tokenHandler = TokenHandler(address(0));
82
+ $._wallet = address(this);
83
+ $._isInterceptor = isInterceptor;
84
+ $._data = componentData;
85
+
86
+ registerInterface(type(IAccessManaged).interfaceId);
87
+ registerInterface(type(IComponent).interfaceId);
88
+ }
89
+
90
+
91
+ function approveTokenHandler(Amount spendingLimitAmount)
92
+ external
93
+ virtual
94
+ onlyOwner
95
+ {
96
+ approveTokenHandler(address(getToken()), spendingLimitAmount);
97
+ }
98
+
99
+ function approveTokenHandler(address token, Amount spendingLimitAmount)
100
+ public
101
+ virtual
102
+ onlyOwner
103
+ {
104
+ if(getWallet() != address(this)) {
105
+ revert ErrorComponentWalletNotComponent();
106
+ }
107
+
108
+ IERC20Metadata(token).approve(
109
+ address(getTokenHandler()),
110
+ spendingLimitAmount.toInt());
111
+
112
+ emit LogComponentTokenHandlerApproved(address(getTokenHandler()), spendingLimitAmount);
113
+ }
114
+
115
+ function setWallet(address newWallet)
116
+ external
117
+ virtual
118
+ override
119
+ onlyOwner
120
+ {
121
+ // checks
122
+ address currentWallet = getWallet();
123
+ IERC20Metadata token = getToken();
124
+ uint256 currentBalance = token.balanceOf(currentWallet);
125
+
126
+ if (currentBalance > 0) {
127
+ if (currentWallet == address(this)) {
128
+ // move tokens from component smart contract to external wallet
129
+ } else {
130
+ // move tokens from external wallet to component smart contract or another external wallet
131
+ uint256 allowance = token.allowance(currentWallet, address(this));
132
+ if (allowance < currentBalance) {
133
+ revert ErrorComponentWalletAllowanceTooSmall(currentWallet, newWallet, allowance, currentBalance);
134
+ }
135
+ }
136
+ }
137
+
138
+ // effects
139
+ _setWallet(newWallet);
140
+
141
+ // interactions
142
+ if (currentBalance > 0) {
143
+ // transfer tokens from current wallet to new wallet
144
+ if (currentWallet == address(this)) {
145
+ // transferFrom requires self allowance too
146
+ token.approve(address(this), currentBalance);
147
+ }
148
+
149
+ SafeERC20.safeTransferFrom(token, currentWallet, newWallet, currentBalance);
150
+ emit LogComponentWalletTokensTransferred(currentWallet, newWallet, currentBalance);
151
+ }
152
+ }
153
+
154
+
155
+ /// @dev callback function for nft mints
156
+ /// may only be called by chain nft contract.
157
+ /// override internal function _nftMint to implement custom behaviour
158
+ function nftMint(address to, uint256 tokenId)
159
+ external
160
+ onlyChainNft
161
+ {
162
+ _nftMint(to, tokenId);
163
+ }
164
+
165
+ /// @dev callback function for nft transfers
166
+ /// may only be called by chain nft contract.
167
+ /// override internal function _nftTransferFrom to implement custom behaviour
168
+ function nftTransferFrom(address from, address to, uint256 tokenId)
169
+ external
170
+ onlyChainNft
171
+ {
172
+ _nftTransferFrom(from, to, tokenId);
173
+ }
174
+
175
+
176
+ function getWallet() public view virtual returns (address walletAddress) {
177
+ return getComponentInfo().wallet;
178
+ }
179
+
180
+ function getTokenHandler() public virtual view returns (TokenHandler tokenHandler) {
181
+ return getComponentInfo().tokenHandler;
182
+ }
183
+
184
+ function getToken() public view virtual returns (IERC20Metadata token) {
185
+ return getComponentInfo().token;
186
+ }
187
+
188
+ function getName() public view override returns(string memory name) {
189
+ return getComponentInfo().name;
190
+ }
191
+
192
+ function getComponentInfo() public virtual view returns (IComponents.ComponentInfo memory info) {
193
+ if (isRegistered()) {
194
+ return _getComponentInfo();
195
+ } else {
196
+ return getInitialComponentInfo();
197
+ }
198
+ }
199
+
200
+ /// @dev defines initial component specification
201
+ /// overwrite this function according to your use case
202
+ function getInitialComponentInfo() public virtual view returns (IComponents.ComponentInfo memory info) {
203
+ return _getComponentInfo();
204
+ }
205
+
206
+
207
+ function isNftInterceptor() public virtual view returns(bool isInterceptor) {
208
+ if (isRegistered()) {
209
+ return getRegistry().getObjectInfo(address(this)).isInterceptor;
210
+ } else {
211
+ return _getComponentStorage()._isInterceptor;
212
+ }
213
+ }
214
+
215
+
216
+ function isRegistered() public virtual view returns (bool) {
217
+ return getRegistry().getNftId(address(this)).gtz();
218
+ }
219
+
220
+
221
+ /// @dev internal function for nft transfers.
222
+ /// handling logic that deals with nft transfers need to overwrite this function
223
+ function _nftMint(address to, uint256 tokenId)
224
+ internal
225
+ virtual
226
+ { }
227
+
228
+ /// @dev internal function for nft transfers.
229
+ /// handling logic that deals with nft transfers need to overwrite this function
230
+ function _nftTransferFrom(address from, address to, uint256 tokenId)
231
+ internal
232
+ virtual
233
+ { }
234
+
235
+
236
+ /// @dev depending on the source of the component information this function needs to be overwritten.
237
+ /// eg for instance linked components that externally store this information with the instance store contract
238
+ function _setWallet(address newWallet) internal virtual {
239
+ ComponentStorage storage $ = _getComponentStorage();
240
+ address currentWallet = $._wallet;
241
+
242
+ if (newWallet == address(0)) {
243
+ revert ErrorComponentWalletAddressZero();
244
+ }
245
+
246
+ if (newWallet == currentWallet) {
247
+ revert ErrorComponentWalletAddressIsSameAsCurrent();
248
+ }
249
+
250
+ $._wallet = newWallet;
251
+ emit LogComponentWalletAddressChanged(currentWallet, newWallet);
252
+
253
+ }
254
+
255
+
256
+ /// @dev for component contracts that hold its own component information
257
+ /// this function creates and sets a token hanlder for the components tokens
258
+ function _createAndSetTokenHandler()
259
+ internal
260
+ {
261
+ ComponentStorage storage $ = _getComponentStorage();
262
+ $._tokenHandler = new TokenHandler(address($._token));
263
+ }
264
+
265
+
266
+ /// @dev depending on the source of the component information this function needs to be overwritten.
267
+ /// eg for instance linked components that externally store this information with the instance store contract
268
+ function _getComponentInfo() internal virtual view returns (IComponents.ComponentInfo memory info) {
269
+ ComponentStorage storage $ = _getComponentStorage();
270
+
271
+ return IComponents.ComponentInfo({
272
+ name: $._name,
273
+ productNftId: NftIdLib.zero(),
274
+ token: $._token,
275
+ tokenHandler: $._tokenHandler,
276
+ wallet: $._wallet, // initial wallet address
277
+ data: $._data // user specific component data
278
+ });
279
+ }
280
+
281
+ }