@etherisc/gif-next 0.0.2-743affe-003 → 0.0.2-76249b0-812

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 (663) hide show
  1. package/README.md +179 -14
  2. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  3. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1416 -0
  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/distribution/IDistributionComponent.sol/IDistributionComponent.json +975 -0
  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 +4 -0
  13. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +778 -0
  14. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  15. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +297 -1797
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +650 -0
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +437 -2044
  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 +4 -0
  25. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1701 -0
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1053 -0
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +734 -0
  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/base/Cloneable.sol/Cloneable.json +190 -0
  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 +4 -0
  41. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +129 -0
  42. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  43. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  44. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  45. package/artifacts/contracts/instance/module/{access/IAccess.sol/IAccess.json → IComponents.sol/IComponents.json} +2 -2
  46. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  47. package/artifacts/contracts/instance/module/{distribution/IDistribution.sol → IDistribution.sol}/IDistribution.json +1 -1
  48. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  49. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  50. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  51. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  52. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  53. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  54. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  55. package/artifacts/contracts/{instance/base/ModuleBase.sol/ModuleBase.json → oracle/IOracle.sol/IOracle.json} +2 -2
  56. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  57. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +759 -0
  58. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  59. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +662 -0
  60. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  61. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1146 -0
  62. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  63. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +997 -0
  64. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  65. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +718 -0
  66. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  67. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1105 -0
  68. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  69. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +746 -0
  70. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  71. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → pool/IBundleService.sol/IBundleService.json} +330 -314
  72. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  73. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +1154 -0
  74. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  75. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1065 -0
  76. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  77. package/artifacts/contracts/pool/Pool.sol/Pool.json +1565 -0
  78. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  79. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1432 -0
  80. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  81. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +738 -0
  82. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  83. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +834 -0
  84. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  85. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +722 -0
  86. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  87. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1278 -0
  88. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  89. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +810 -0
  90. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  91. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IApplicationService.sol/IApplicationService.json} +292 -182
  92. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  93. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +759 -0
  94. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  95. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +707 -0
  96. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  97. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +313 -261
  98. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  99. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +995 -0
  100. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  101. package/artifacts/contracts/{instance/base/ServiceBase.sol/ServiceBase.json → product/IProductService.sol/IProductService.json} +168 -161
  102. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  103. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1146 -0
  104. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  105. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +754 -0
  106. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  107. package/artifacts/contracts/product/PricingService.sol/PricingService.json +983 -0
  108. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  109. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +778 -0
  110. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  111. package/artifacts/contracts/product/Product.sol/Product.json +1397 -0
  112. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  113. package/artifacts/contracts/product/ProductService.sol/ProductService.json +679 -0
  114. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  115. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +694 -0
  116. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  117. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +60 -2
  118. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  119. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +396 -61
  120. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  121. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +610 -168
  122. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  123. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  124. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  125. package/artifacts/contracts/registry/Registry.sol/Registry.json +630 -235
  126. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  127. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +407 -0
  128. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  129. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +871 -317
  130. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  131. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +709 -0
  132. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  133. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +1292 -0
  134. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +4 -0
  135. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +137 -0
  136. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  137. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +661 -0
  138. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
  139. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
  140. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
  141. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1715 -0
  142. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
  143. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1728 -0
  144. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
  145. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1806 -0
  146. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
  147. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1824 -0
  148. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  149. package/artifacts/contracts/shared/Component.sol/Component.json +896 -0
  150. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  151. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1490 -0
  152. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  153. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +792 -0
  154. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  155. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +290 -157
  156. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  157. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  158. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
  159. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
  160. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
  161. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
  162. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  163. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +631 -0
  164. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  165. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +867 -0
  166. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  167. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +705 -0
  168. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  169. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +77 -169
  170. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  171. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -1
  172. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  173. package/artifacts/contracts/{instance/module/component/IComponent.sol/IComponentModule.json → shared/INftOwnable.sol/INftOwnable.json} +66 -52
  174. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  175. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
  176. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  177. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +65 -8
  178. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  179. package/artifacts/contracts/{registry → shared}/IRegistryLinked.sol/IRegistryLinked.json +13 -2
  180. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  181. package/artifacts/contracts/{instance/base → shared}/IService.sol/IService.json +143 -154
  182. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  183. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
  184. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  185. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  186. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  187. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1036 -0
  188. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  189. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +571 -0
  190. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  191. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -0
  192. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  193. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
  194. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  195. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +244 -0
  196. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  197. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
  198. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  199. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +369 -62
  200. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  201. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +205 -12
  202. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  203. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  204. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  205. package/artifacts/contracts/{instance/base/InstanceBase.sol/InstanceBase.json → shared/Service.sol/Service.json} +233 -195
  206. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  207. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +150 -0
  208. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  209. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  210. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  211. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
  212. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  213. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  214. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  215. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +993 -0
  216. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  217. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +444 -0
  218. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  219. package/artifacts/contracts/staking/Staking.sol/Staking.json +2045 -0
  220. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  221. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +777 -0
  222. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  223. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  224. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  225. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1324 -0
  226. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  227. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +726 -0
  228. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  229. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2189 -0
  230. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  231. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  232. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  233. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  234. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  235. package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
  236. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  237. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  238. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  239. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  240. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  241. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  242. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  243. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  244. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  245. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  246. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  247. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  248. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  249. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  250. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  251. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +105 -0
  252. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  253. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  254. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  255. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  256. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  257. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  258. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  259. package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
  260. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  261. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +156 -0
  262. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  263. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  264. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  265. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  266. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  267. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +293 -0
  268. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  269. package/artifacts/contracts/{types/ChainId.sol/ChainIdLib.json → type/UFixed.sol/MathLib.json} +4 -4
  270. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  271. package/artifacts/contracts/{types/UFixed.sol/UFixedMathLib.json → type/UFixed.sol/UFixedLib.json} +4 -4
  272. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  273. package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
  274. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  275. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +49 -0
  276. package/contracts/distribution/Distribution.sol +261 -0
  277. package/contracts/distribution/DistributionService.sol +298 -0
  278. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  279. package/contracts/distribution/IDistributionComponent.sol +66 -0
  280. package/contracts/distribution/IDistributionService.sol +81 -0
  281. package/contracts/instance/BundleManager.sol +126 -0
  282. package/contracts/instance/IInstance.sol +74 -46
  283. package/contracts/instance/IInstanceService.sol +81 -0
  284. package/contracts/instance/Instance.sol +220 -69
  285. package/contracts/instance/InstanceAdmin.sol +331 -0
  286. package/contracts/instance/InstanceAuthorizationsLib.sol +377 -0
  287. package/contracts/instance/InstanceReader.sol +390 -0
  288. package/contracts/instance/InstanceService.sol +362 -0
  289. package/contracts/instance/InstanceServiceManager.sol +44 -0
  290. package/contracts/instance/InstanceStore.sol +281 -0
  291. package/contracts/instance/base/BalanceStore.sol +118 -0
  292. package/contracts/instance/base/Cloneable.sol +51 -0
  293. package/contracts/instance/base/ObjectCounter.sol +21 -0
  294. package/contracts/instance/base/ObjectManager.sol +82 -0
  295. package/contracts/instance/module/IAccess.sol +46 -0
  296. package/contracts/instance/module/IBundle.sol +20 -0
  297. package/contracts/instance/module/IComponents.sol +52 -0
  298. package/contracts/instance/module/IDistribution.sol +42 -0
  299. package/contracts/instance/module/IPolicy.sol +84 -0
  300. package/contracts/instance/module/IRisk.sol +11 -0
  301. package/contracts/{test/Usdc.sol → mock/Dip.sol} +5 -5
  302. package/contracts/oracle/IOracle.sol +20 -0
  303. package/contracts/oracle/IOracleComponent.sol +32 -0
  304. package/contracts/oracle/IOracleService.sol +65 -0
  305. package/contracts/oracle/Oracle.sol +145 -0
  306. package/contracts/oracle/OracleService.sol +277 -0
  307. package/contracts/oracle/OracleServiceManager.sol +42 -0
  308. package/contracts/pool/BundleService.sol +296 -0
  309. package/contracts/pool/BundleServiceManager.sol +42 -0
  310. package/contracts/pool/IBundleService.sol +106 -0
  311. package/contracts/pool/IPoolComponent.sol +112 -0
  312. package/contracts/pool/IPoolService.sol +150 -0
  313. package/contracts/pool/Pool.sol +299 -0
  314. package/contracts/pool/PoolService.sol +453 -0
  315. package/contracts/pool/PoolServiceManager.sol +42 -0
  316. package/contracts/product/ApplicationService.sol +254 -0
  317. package/contracts/product/ApplicationServiceManager.sol +38 -0
  318. package/contracts/product/ClaimService.sol +442 -0
  319. package/contracts/product/ClaimServiceManager.sol +38 -0
  320. package/contracts/product/IApplicationService.sol +62 -0
  321. package/contracts/product/IClaimService.sol +99 -0
  322. package/contracts/product/IPolicyService.sol +78 -0
  323. package/contracts/product/IPricingService.sol +39 -0
  324. package/contracts/product/IProductComponent.sol +42 -0
  325. package/contracts/product/IProductService.sol +33 -0
  326. package/contracts/product/PolicyService.sol +475 -0
  327. package/contracts/product/PolicyServiceManager.sol +42 -0
  328. package/contracts/product/PricingService.sol +301 -0
  329. package/contracts/product/PricingServiceManager.sol +42 -0
  330. package/contracts/product/Product.sol +377 -0
  331. package/contracts/product/ProductService.sol +124 -0
  332. package/contracts/product/ProductServiceManager.sol +42 -0
  333. package/contracts/registry/ChainNft.sol +55 -25
  334. package/contracts/registry/IRegistry.sol +84 -35
  335. package/contracts/registry/IRegistryService.sol +56 -16
  336. package/contracts/registry/ITransferInterceptor.sol +1 -0
  337. package/contracts/registry/Registry.sol +405 -334
  338. package/contracts/registry/RegistryAdmin.sol +237 -0
  339. package/contracts/registry/RegistryService.sol +158 -275
  340. package/contracts/registry/RegistryServiceManager.sol +58 -0
  341. package/contracts/registry/ReleaseManager.sol +600 -0
  342. package/contracts/registry/ServiceAuthorizationsLib.sol +173 -0
  343. package/contracts/registry/TokenRegistry.sol +315 -0
  344. package/contracts/shared/AccessManagerCustom.sol +736 -0
  345. package/contracts/shared/AccessManagerExtended.sol +470 -0
  346. package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
  347. package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
  348. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
  349. package/contracts/shared/Component.sol +281 -0
  350. package/contracts/shared/ComponentService.sol +618 -0
  351. package/contracts/shared/ComponentServiceManager.sol +35 -0
  352. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  353. package/contracts/shared/ERC165.sol +16 -10
  354. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  355. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
  356. package/contracts/shared/IComponent.sol +70 -0
  357. package/contracts/shared/IComponentService.sol +102 -0
  358. package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
  359. package/contracts/shared/IKeyValueStore.sol +53 -0
  360. package/contracts/{instance/base → shared}/ILifecycle.sol +4 -4
  361. package/contracts/shared/INftOwnable.sol +23 -0
  362. package/contracts/shared/IPolicyHolder.sol +45 -0
  363. package/contracts/shared/IRegisterable.sol +5 -12
  364. package/contracts/shared/IRegistryLinked.sol +11 -0
  365. package/contracts/shared/IService.sol +18 -0
  366. package/contracts/shared/IVersionable.sol +5 -48
  367. package/contracts/shared/InitializableCustom.sol +177 -0
  368. package/contracts/shared/InstanceLinkedComponent.sol +144 -0
  369. package/contracts/shared/KeyValueStore.sol +127 -0
  370. package/contracts/{instance/base → shared}/Lifecycle.sol +38 -8
  371. package/contracts/shared/NftIdSetManager.sol +65 -0
  372. package/contracts/shared/NftOwnable.sol +107 -0
  373. package/contracts/shared/PolicyHolder.sol +102 -0
  374. package/contracts/shared/ProxyManager.sol +127 -43
  375. package/contracts/shared/Registerable.sol +33 -75
  376. package/contracts/shared/RegistryLinked.sol +43 -0
  377. package/contracts/shared/Service.sol +77 -0
  378. package/contracts/shared/TokenHandler.sol +58 -0
  379. package/contracts/shared/UpgradableProxyWithAdmin.sol +2 -2
  380. package/contracts/shared/Versionable.sol +5 -93
  381. package/contracts/staking/IStaking.sol +168 -0
  382. package/contracts/staking/IStakingService.sol +149 -0
  383. package/contracts/staking/StakeManagerLib.sol +179 -0
  384. package/contracts/staking/Staking.sol +551 -0
  385. package/contracts/staking/StakingManager.sol +54 -0
  386. package/contracts/staking/StakingReader.sol +187 -0
  387. package/contracts/staking/StakingService.sol +406 -0
  388. package/contracts/staking/StakingServiceManager.sol +45 -0
  389. package/contracts/staking/StakingStore.sol +572 -0
  390. package/contracts/staking/TargetManagerLib.sol +207 -0
  391. package/contracts/{types → type}/AddressSet.sol +1 -1
  392. package/contracts/type/Amount.sol +128 -0
  393. package/contracts/{types → type}/Blocknumber.sol +21 -3
  394. package/contracts/type/ClaimId.sol +75 -0
  395. package/contracts/type/DistributorType.sol +55 -0
  396. package/contracts/type/Fee.sol +66 -0
  397. package/contracts/{types → type}/Key32.sol +8 -3
  398. package/contracts/{types → type}/NftId.sol +21 -15
  399. package/contracts/type/NftIdSet.sol +62 -0
  400. package/contracts/{types → type}/ObjectType.sol +57 -20
  401. package/contracts/type/PayoutId.sol +82 -0
  402. package/contracts/type/Referral.sol +89 -0
  403. package/contracts/type/RequestId.sol +75 -0
  404. package/contracts/{types → type}/RiskId.sol +1 -1
  405. package/contracts/type/RoleId.sol +146 -0
  406. package/contracts/type/Seconds.sol +81 -0
  407. package/contracts/{types → type}/StateId.sol +39 -5
  408. package/contracts/{types → type}/Timestamp.sol +27 -14
  409. package/contracts/{types → type}/UFixed.sol +129 -12
  410. package/contracts/{types → type}/Version.sol +6 -2
  411. package/package.json +8 -7
  412. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  413. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -213
  414. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  415. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -445
  416. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  417. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -177
  418. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  419. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -343
  420. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  421. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -474
  422. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  423. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -373
  424. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  425. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -602
  426. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  427. package/artifacts/contracts/components/Product.sol/Product.json +0 -502
  428. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  429. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  430. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  431. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  432. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  433. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  434. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  435. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  436. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  437. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  438. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  439. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  440. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  441. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  442. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  443. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  444. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  445. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  446. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  447. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  448. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  449. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  450. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  451. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  452. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  453. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  454. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  455. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  456. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  457. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  458. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  459. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  460. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  461. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  462. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  463. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  464. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  465. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  466. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  467. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  468. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  469. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  470. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  471. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  472. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -710
  473. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  474. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  475. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  476. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  477. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  478. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  479. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  480. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  481. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  482. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  483. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -297
  484. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  485. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  486. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -297
  487. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  488. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -117
  489. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  490. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  491. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  492. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.dbg.json +0 -4
  493. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.json +0 -10
  494. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistribution.dbg.json +0 -4
  495. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.dbg.json +0 -4
  496. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.json +0 -10
  497. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  498. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  499. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -284
  500. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  501. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -284
  502. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  503. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  504. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  505. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -164
  506. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  507. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -164
  508. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  509. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  510. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -113
  511. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  512. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -131
  513. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  514. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
  515. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  516. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -638
  517. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  518. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  519. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  520. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -638
  521. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  522. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -690
  523. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  524. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -526
  525. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  526. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  527. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -369
  528. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  529. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  530. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  531. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -649
  532. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  533. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -964
  534. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  535. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -457
  536. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  537. package/artifacts/contracts/registry/RegistryInstaller.sol/RegistryInstaller.dbg.json +0 -4
  538. package/artifacts/contracts/registry/RegistryInstaller.sol/RegistryInstaller.json +0 -344
  539. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  540. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  541. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.dbg.json +0 -4
  542. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.json +0 -445
  543. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  544. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  545. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  546. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -602
  547. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  548. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -632
  549. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  550. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -191
  551. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  552. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  553. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  554. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -472
  555. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  556. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  557. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  558. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  559. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  560. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -270
  561. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  562. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -338
  563. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  564. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  565. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  566. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  567. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  568. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  569. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  570. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
  571. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  572. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  573. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  574. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  575. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  576. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  577. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.dbg.json +0 -4
  578. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.json +0 -99
  579. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  580. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  581. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -30
  582. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  583. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  584. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  585. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  586. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  587. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  588. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  589. package/contracts/components/BaseComponent.sol +0 -79
  590. package/contracts/components/Distribution.sol +0 -155
  591. package/contracts/components/IBaseComponent.sol +0 -19
  592. package/contracts/components/IDistributionComponent.sol +0 -47
  593. package/contracts/components/IPoolComponent.sol +0 -65
  594. package/contracts/components/IProductComponent.sol +0 -39
  595. package/contracts/components/Pool.sol +0 -246
  596. package/contracts/components/Product.sol +0 -299
  597. package/contracts/experiment/errors/Require.sol +0 -38
  598. package/contracts/experiment/errors/Revert.sol +0 -44
  599. package/contracts/experiment/inheritance/A.sol +0 -53
  600. package/contracts/experiment/inheritance/B.sol +0 -28
  601. package/contracts/experiment/inheritance/C.sol +0 -34
  602. package/contracts/experiment/inheritance/IA.sol +0 -13
  603. package/contracts/experiment/inheritance/IB.sol +0 -10
  604. package/contracts/experiment/inheritance/IC.sol +0 -12
  605. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  606. package/contracts/experiment/statemachine/ISM.sol +0 -25
  607. package/contracts/experiment/statemachine/SM.sol +0 -57
  608. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  609. package/contracts/experiment/types/TypeA.sol +0 -47
  610. package/contracts/experiment/types/TypeB.sol +0 -29
  611. package/contracts/instance/IInstanceLinked.sol +0 -8
  612. package/contracts/instance/base/ComponentServiceBase.sol +0 -49
  613. package/contracts/instance/base/IInstanceBase.sol +0 -23
  614. package/contracts/instance/base/IKeyValueStore.sol +0 -50
  615. package/contracts/instance/base/IService.sol +0 -15
  616. package/contracts/instance/base/InstanceBase.sol +0 -89
  617. package/contracts/instance/base/KeyValueStore.sol +0 -161
  618. package/contracts/instance/base/ModuleBase.sol +0 -57
  619. package/contracts/instance/base/ServiceBase.sol +0 -43
  620. package/contracts/instance/module/access/Access.sol +0 -149
  621. package/contracts/instance/module/access/IAccess.sol +0 -53
  622. package/contracts/instance/module/bundle/BundleModule.sol +0 -134
  623. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  624. package/contracts/instance/module/component/ComponentModule.sol +0 -71
  625. package/contracts/instance/module/component/IComponent.sol +0 -28
  626. package/contracts/instance/module/distribution/DistributionModule.sol +0 -17
  627. package/contracts/instance/module/distribution/IDistribution.sol +0 -10
  628. package/contracts/instance/module/policy/IPolicy.sol +0 -63
  629. package/contracts/instance/module/policy/PolicyModule.sol +0 -91
  630. package/contracts/instance/module/pool/IPoolModule.sol +0 -41
  631. package/contracts/instance/module/pool/PoolModule.sol +0 -95
  632. package/contracts/instance/module/risk/IRisk.sol +0 -26
  633. package/contracts/instance/module/risk/RiskModule.sol +0 -62
  634. package/contracts/instance/module/treasury/ITreasury.sol +0 -84
  635. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  636. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -131
  637. package/contracts/instance/service/ComponentOwnerService.sol +0 -272
  638. package/contracts/instance/service/DistributionService.sol +0 -54
  639. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  640. package/contracts/instance/service/IDistributionService.sol +0 -12
  641. package/contracts/instance/service/IPoolService.sol +0 -37
  642. package/contracts/instance/service/IProductService.sol +0 -107
  643. package/contracts/instance/service/PoolService.sol +0 -149
  644. package/contracts/instance/service/ProductService.sol +0 -509
  645. package/contracts/registry/IChainNft.sol +0 -22
  646. package/contracts/registry/IRegistryLinked.sol +0 -8
  647. package/contracts/registry/RegistryInstaller.sol +0 -100
  648. package/contracts/shared/IOwnable.sol +0 -6
  649. package/contracts/test/TestDistribution.sol +0 -22
  650. package/contracts/test/TestFee.sol +0 -25
  651. package/contracts/test/TestPool.sol +0 -27
  652. package/contracts/test/TestProduct.sol +0 -74
  653. package/contracts/test/TestRegisterable.sol +0 -18
  654. package/contracts/test/TestRoleId.sol +0 -14
  655. package/contracts/test/TestService.sol +0 -26
  656. package/contracts/test/TestToken.sol +0 -26
  657. package/contracts/test/TestVersion.sol +0 -44
  658. package/contracts/test/TestVersionable.sol +0 -17
  659. package/contracts/types/ChainId.sol +0 -38
  660. package/contracts/types/Fee.sol +0 -56
  661. package/contracts/types/NftIdSet.sol +0 -60
  662. package/contracts/types/ReferralId.sol +0 -48
  663. package/contracts/types/RoleId.sol +0 -38
@@ -0,0 +1,62 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {NftId} from "../type/NftId.sol";
5
+
6
+ // based on https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/structs/EnumerableSet.sol
7
+ library LibNftIdSet {
8
+
9
+ struct Set {
10
+ NftId[] ids;
11
+ mapping(NftId nftid => uint256 index) at;
12
+ }
13
+
14
+ error ErrorNftIdSetAlreadyAdded(NftId nftId);
15
+ error ErrorNftIdSetNotInSet(NftId nftId);
16
+
17
+
18
+ function add(Set storage set, NftId nftId) external {
19
+ if (set.at[nftId] > 0) {
20
+ revert ErrorNftIdSetAlreadyAdded(nftId);
21
+ }
22
+
23
+ set.ids.push(nftId);
24
+ set.at[nftId] = set.ids.length;
25
+ }
26
+
27
+ function remove(Set storage set, NftId nftId) external {
28
+ uint256 nftIdIndex = set.at[nftId];
29
+
30
+ if (nftIdIndex == 0) {
31
+ revert ErrorNftIdSetNotInSet(nftId);
32
+ }
33
+
34
+ uint256 toDeleteIndex = nftIdIndex - 1;
35
+ uint256 lastIndex = set.ids.length - 1;
36
+
37
+ if (lastIndex != toDeleteIndex) {
38
+ NftId lastId = set.ids[lastIndex];
39
+ set.ids[toDeleteIndex] = lastId;
40
+ set.at[lastId] = nftIdIndex; // Replace lastValue's index to valueIndex
41
+ }
42
+
43
+ set.ids.pop();
44
+ delete set.at[nftId];
45
+ }
46
+
47
+ function isEmpty(Set storage set) external view returns(bool empty) {
48
+ return set.ids.length == 0;
49
+ }
50
+
51
+ function contains(Set storage set, NftId nftId) external view returns(bool inSet) {
52
+ return set.at[nftId] > 0;
53
+ }
54
+
55
+ function size(Set storage set) external view returns(uint256 length) {
56
+ return set.ids.length;
57
+ }
58
+
59
+ function getElementAt(Set storage set, uint256 index) external view returns(NftId nftId) {
60
+ return set.ids[index];
61
+ }
62
+ }
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
2
+ pragma solidity ^0.8.20;
3
3
 
4
4
  type ObjectType is uint8;
5
5
 
@@ -8,43 +8,64 @@ using {
8
8
  eqObjectType as ==,
9
9
  neObjectType as !=,
10
10
  ObjectTypeLib.toInt,
11
+ ObjectTypeLib.eqz,
11
12
  ObjectTypeLib.gtz
12
13
  } for ObjectType global;
13
14
 
14
15
  // general pure free functions
15
16
 
17
+ function RELEASE() pure returns (ObjectType) {
18
+ return toObjectType(1);
19
+ }
20
+
16
21
  function PROTOCOL() pure returns (ObjectType) {
17
22
  return toObjectType(10);
18
23
  }
19
24
 
20
- function REGISTRY() pure returns (ObjectType) {
25
+ function ROLE() pure returns (ObjectType) {
21
26
  return toObjectType(20);
22
27
  }
23
28
 
24
- function TOKEN() pure returns (ObjectType) {
29
+ function TARGET() pure returns (ObjectType) {
25
30
  return toObjectType(30);
26
31
  }
27
32
 
28
- function SERVICE() pure returns (ObjectType) {
33
+ function REGISTRY() pure returns (ObjectType) {
29
34
  return toObjectType(40);
30
35
  }
31
36
 
32
- function INSTANCE() pure returns (ObjectType) {
37
+ function STAKING() pure returns (ObjectType) {
38
+ return toObjectType(45);
39
+ }
40
+
41
+ function TOKEN() pure returns (ObjectType) {
33
42
  return toObjectType(50);
34
43
  }
35
44
 
36
- function STAKE() pure returns (ObjectType) {
45
+ function SERVICE() pure returns (ObjectType) {
37
46
  return toObjectType(60);
38
47
  }
39
48
 
49
+ function INSTANCE() pure returns (ObjectType) {
50
+ return toObjectType(70);
51
+ }
52
+
53
+ function STAKE() pure returns (ObjectType) {
54
+ return toObjectType(80);
55
+ }
56
+
40
57
  function COMPONENT() pure returns (ObjectType) {
41
58
  return toObjectType(100);
42
59
  }
43
60
 
44
- function TREASURY() pure returns (ObjectType) {
61
+ function PRODUCT_SETUP() pure returns (ObjectType) {
45
62
  return toObjectType(101);
46
63
  }
47
64
 
65
+ function REQUEST() pure returns (ObjectType) {
66
+ return toObjectType(105);
67
+ }
68
+
48
69
  function PRODUCT() pure returns (ObjectType) {
49
70
  return toObjectType(110);
50
71
  }
@@ -53,6 +74,18 @@ function DISTRIBUTION() pure returns (ObjectType) {
53
74
  return toObjectType(120);
54
75
  }
55
76
 
77
+ function DISTRIBUTOR_TYPE() pure returns (ObjectType) {
78
+ return toObjectType(121);
79
+ }
80
+
81
+ function DISTRIBUTOR() pure returns (ObjectType) {
82
+ return toObjectType(122);
83
+ }
84
+
85
+ function REFERRAL() pure returns (ObjectType) {
86
+ return toObjectType(123);
87
+ }
88
+
56
89
  function ORACLE() pure returns (ObjectType) {
57
90
  return toObjectType(130);
58
91
  }
@@ -61,28 +94,32 @@ function POOL() pure returns (ObjectType) {
61
94
  return toObjectType(140);
62
95
  }
63
96
 
97
+ function BUNDLE() pure returns (ObjectType) {
98
+ return toObjectType(220);
99
+ }
100
+
64
101
  function RISK() pure returns (ObjectType) {
65
102
  return toObjectType(200);
66
103
  }
67
104
 
68
- function POLICY() pure returns (ObjectType) {
105
+ function APPLICATION() pure returns (ObjectType) {
69
106
  return toObjectType(210);
70
107
  }
71
108
 
72
- function REFERRAL() pure returns (ObjectType) {
73
- return toObjectType(212);
109
+ function POLICY() pure returns (ObjectType) {
110
+ return toObjectType(211);
74
111
  }
75
112
 
76
113
  function CLAIM() pure returns (ObjectType) {
77
- return toObjectType(214);
114
+ return toObjectType(212);
78
115
  }
79
116
 
80
117
  function PAYOUT() pure returns (ObjectType) {
81
- return toObjectType(216);
118
+ return toObjectType(213);
82
119
  }
83
120
 
84
- function BUNDLE() pure returns (ObjectType) {
85
- return toObjectType(220);
121
+ function PRICE() pure returns (ObjectType) {
122
+ return toObjectType(230);
86
123
  }
87
124
 
88
125
  /// @dev Converts the uint8 to a ObjectType.
@@ -90,11 +127,6 @@ function toObjectType(uint256 objectType) pure returns (ObjectType) {
90
127
  return ObjectType.wrap(uint8(objectType));
91
128
  }
92
129
 
93
- /// @dev Return the ObjectType zero (0)
94
- function zeroObjectType() pure returns (ObjectType) {
95
- return ObjectType.wrap(0);
96
- }
97
-
98
130
  // pure free functions for operators
99
131
  function eqObjectType(ObjectType a, ObjectType b) pure returns (bool isSame) {
100
132
  return ObjectType.unwrap(a) == ObjectType.unwrap(b);
@@ -109,6 +141,11 @@ function neObjectType(
109
141
 
110
142
  // library functions that operate on user defined type
111
143
  library ObjectTypeLib {
144
+
145
+ function zero() public pure returns (ObjectType) {
146
+ return ObjectType.wrap(0);
147
+ }
148
+
112
149
  /// @dev Converts the NftId to a uint256.
113
150
  function toInt(ObjectType objectType) public pure returns (uint96) {
114
151
  return uint96(ObjectType.unwrap(objectType));
@@ -128,4 +165,4 @@ library ObjectTypeLib {
128
165
  function eq(ObjectType a, ObjectType b) public pure returns (bool isSame) {
129
166
  return eqObjectType(a, b);
130
167
  }
131
- }
168
+ }
@@ -0,0 +1,82 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ // uint24 allows for 65'535 claims with 255 payouts each per policy
5
+ type PayoutId is uint24;
6
+
7
+ import {ClaimId} from "./ClaimId.sol";
8
+ import {PAYOUT} from "./ObjectType.sol";
9
+ import {Key32, KeyId, Key32Lib} from "./Key32.sol";
10
+ import {NftId} from "./NftId.sol";
11
+
12
+ // type bindings
13
+ using {
14
+ eqPayoutId as ==,
15
+ nePayoutId as !=,
16
+ PayoutIdLib.eqz,
17
+ PayoutIdLib.gtz,
18
+ PayoutIdLib.toInt,
19
+ PayoutIdLib.toClaimId,
20
+ PayoutIdLib.toPayoutNo,
21
+ PayoutIdLib.toKey32
22
+ } for PayoutId global;
23
+
24
+
25
+ // pure free functions for operators
26
+ function eqPayoutId(PayoutId a, PayoutId b) pure returns (bool isSame) {
27
+ return PayoutId.unwrap(a) == PayoutId.unwrap(b);
28
+ }
29
+
30
+ function nePayoutId(PayoutId a, PayoutId b) pure returns (bool isDifferent) {
31
+ return PayoutId.unwrap(a) != PayoutId.unwrap(b);
32
+ }
33
+
34
+ // library functions that operate on user defined type
35
+ library PayoutIdLib {
36
+ /// @dev Converts the PayoutId to a uint.
37
+ function zero() public pure returns (PayoutId) {
38
+ return PayoutId.wrap(0);
39
+ }
40
+
41
+ /// @dev Converts an uint into a PayoutId.
42
+ function toPayoutId(ClaimId claimId, uint8 payoutNo) public pure returns (PayoutId) {
43
+ return PayoutId.wrap((ClaimId.unwrap(claimId) << 8) + payoutNo);
44
+ }
45
+
46
+ function toClaimId(PayoutId payoutId) public pure returns (ClaimId) {
47
+ return ClaimId.wrap(uint16(PayoutId.unwrap(payoutId) >> 8));
48
+ }
49
+
50
+ function toPayoutNo(PayoutId payoutId) public pure returns (uint8) {
51
+ return uint8(PayoutId.unwrap(payoutId) & 255);
52
+ }
53
+
54
+ /// @dev Converts the PayoutId to a uint.
55
+ function toInt(PayoutId a) public pure returns (uint24) {
56
+ return uint24(PayoutId.unwrap(a));
57
+ }
58
+
59
+ /// @dev Returns true if the value is non-zero (> 0).
60
+ function gtz(PayoutId a) public pure returns (bool) {
61
+ return PayoutId.unwrap(a) > 0;
62
+ }
63
+
64
+ /// @dev Returns true if the value is zero (== 0).
65
+ function eqz(PayoutId a) public pure returns (bool) {
66
+ return PayoutId.unwrap(a) == 0;
67
+ }
68
+
69
+ /// @dev Converts the PayoutId and NftId to a Key32.
70
+ function toKey32(PayoutId payoutId, NftId policyNftId) public pure returns (Key32) {
71
+ return Key32Lib.toKey32(PAYOUT(), toKeyId(payoutId, policyNftId));
72
+ }
73
+
74
+ /// @dev Converts the PayoutId and NftId to a Key32.
75
+ function toKeyId(PayoutId payoutId, NftId policyNftId) public pure returns (KeyId) {
76
+ return KeyId.wrap(
77
+ bytes31(
78
+ bytes15(
79
+ uint120(
80
+ (NftId.unwrap(policyNftId) << 24) + PayoutId.unwrap(payoutId)))));
81
+ }
82
+ }
@@ -0,0 +1,89 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Key32, KeyId, Key32Lib} from "./Key32.sol";
5
+ import {NftId} from "./NftId.sol";
6
+ import {REFERRAL} from "./ObjectType.sol";
7
+
8
+ type ReferralId is bytes8;
9
+ type ReferralStatus is uint8;
10
+
11
+ // type bindings
12
+ using {
13
+ eqReferralId as ==,
14
+ neReferralId as !=,
15
+ ReferralLib.toKey32
16
+ } for ReferralId global;
17
+
18
+ using {
19
+ eqReferralStatus as ==,
20
+ neReferralStatus as !=
21
+ } for ReferralStatus global;
22
+
23
+ // general pure free functions
24
+
25
+ // @dev Returns true iff a and b are identical
26
+ function eqReferralId(ReferralId a, ReferralId b) pure returns (bool isSame) {
27
+ return ReferralId.unwrap(a) == ReferralId.unwrap(b);
28
+ }
29
+
30
+ // @dev Returns true iff a and b are different
31
+ function neReferralId(ReferralId a, ReferralId b) pure returns (bool isDifferent) {
32
+ return ReferralId.unwrap(a) != ReferralId.unwrap(b);
33
+ }
34
+
35
+ // @dev Returns true iff a and b are identical
36
+ function eqReferralStatus(ReferralStatus a, ReferralStatus b) pure returns (bool isSame) {
37
+ return ReferralStatus.unwrap(a) == ReferralStatus.unwrap(b);
38
+ }
39
+
40
+ // @dev Returns true iff a and b are different
41
+ function neReferralStatus(ReferralStatus a, ReferralStatus b) pure returns (bool isDifferent) {
42
+ return ReferralStatus.unwrap(a) != ReferralStatus.unwrap(b);
43
+ }
44
+
45
+ function REFERRAL_OK() pure returns (ReferralStatus) {
46
+ return ReferralStatus.wrap(10);
47
+ }
48
+
49
+ function REFERRAL_ERROR_UNKNOWN() pure returns (ReferralStatus) {
50
+ return ReferralStatus.wrap(100);
51
+ }
52
+
53
+ function REFERRAL_ERROR_EXPIRED() pure returns (ReferralStatus) {
54
+ return ReferralStatus.wrap(110);
55
+ }
56
+
57
+ function REFERRAL_ERROR_EXHAUSTED() pure returns (ReferralStatus) {
58
+ return ReferralStatus.wrap(120);
59
+ }
60
+
61
+ library ReferralLib {
62
+
63
+ function zero() public pure returns (ReferralId) {
64
+ return ReferralId.wrap(bytes8(0));
65
+ }
66
+
67
+ // @dev Converts a referral string into an id.
68
+ function toReferralId(NftId distributionNftId, string memory referral) public pure returns (ReferralId) {
69
+ return ReferralId.wrap(bytes8(keccak256(abi.encode(distributionNftId, referral))));
70
+ }
71
+
72
+ function toReferralStatus(uint8 status) public pure returns (ReferralStatus) {
73
+ return ReferralStatus.wrap(status);
74
+ }
75
+
76
+ /// @dev Returns the key32 value for the specified nft id and object type.
77
+ function toKey32(ReferralId id) public pure returns (Key32 key) {
78
+ return Key32Lib.toKey32(REFERRAL(), toKeyId(id));
79
+ }
80
+
81
+ /// @dev Returns the key id value for the specified nft id
82
+ function toKeyId(ReferralId id) public pure returns (KeyId keyId) {
83
+ return KeyId.wrap(bytes31(ReferralId.unwrap(id)));
84
+ }
85
+
86
+ function eqz(ReferralId id) public pure returns (bool) {
87
+ return eqReferralId(id, zero());
88
+ }
89
+ }
@@ -0,0 +1,75 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Key32, KeyId, Key32Lib} from "./Key32.sol";
5
+ import {REQUEST} from "./ObjectType.sol";
6
+
7
+ type RequestId is uint64;
8
+
9
+ // type bindings
10
+ using {
11
+ eqRequestId as ==,
12
+ neRequestId as !=,
13
+ RequestIdLib.eqz,
14
+ RequestIdLib.gtz,
15
+ RequestIdLib.toInt,
16
+ RequestIdLib.toKey32
17
+ } for RequestId global;
18
+
19
+ // general pure free functions
20
+
21
+ function eqRequestId(RequestId a, RequestId b) pure returns (bool isSame) {
22
+ return RequestIdLib.eq(a, b);
23
+ }
24
+
25
+ function neRequestId(RequestId a, RequestId b) pure returns (bool isSame) {
26
+ return RequestIdLib.ne(a, b);
27
+ }
28
+
29
+ library RequestIdLib {
30
+
31
+ // @dev zero element to refer to a non existing/initialized request
32
+ function zero() public pure returns (RequestId) {
33
+ return RequestId.wrap(0);
34
+ }
35
+
36
+ // @dev Converts an int id into a request id.
37
+ function toRequestId(uint256 id) public pure returns (RequestId) {
38
+ return RequestId.wrap(uint64(id));
39
+ }
40
+
41
+ // @dev Converts a request id back to an int value.
42
+ function toInt(RequestId requestId) public pure returns (uint256) {
43
+ return RequestId.unwrap(requestId);
44
+ }
45
+
46
+ // @dev Returns true iff request id a == 0
47
+ function eqz(RequestId a) public pure returns (bool) {
48
+ return RequestId.unwrap(a) == 0;
49
+ }
50
+
51
+ // @dev Returns true iff request id a > 0
52
+ function gtz(RequestId a) public pure returns (bool) {
53
+ return RequestId.unwrap(a) > 0;
54
+ }
55
+
56
+ // @dev Returns true iff risk ids a and b are identical
57
+ function eq(RequestId a, RequestId b) public pure returns (bool isSame) {
58
+ return RequestId.unwrap(a) == RequestId.unwrap(b);
59
+ }
60
+
61
+ // @dev Returns true iff risk ids a and b are different
62
+ function ne(RequestId a, RequestId b) public pure returns (bool isSame) {
63
+ return RequestId.unwrap(a) != RequestId.unwrap(b);
64
+ }
65
+
66
+ /// @dev Returns the key32 value for the specified nft id and object type.
67
+ function toKey32(RequestId id) public pure returns (Key32 key) {
68
+ return Key32Lib.toKey32(REQUEST(), toKeyId(id));
69
+ }
70
+
71
+ /// @dev Returns the key id value for the specified nft id
72
+ function toKeyId(RequestId id) public pure returns (KeyId keyId) {
73
+ return KeyId.wrap(bytes31(uint248(RequestId.unwrap(id))));
74
+ }
75
+ }
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
2
+ pragma solidity ^0.8.20;
3
3
 
4
4
  import {Key32, KeyId, Key32Lib} from "./Key32.sol";
5
5
  import {RISK} from "./ObjectType.sol";
@@ -0,0 +1,146 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Key32, KeyId, Key32Lib} from "./Key32.sol";
5
+ import {ROLE} from "./ObjectType.sol";
6
+
7
+ type RoleId is uint64;
8
+
9
+ // type bindings
10
+ using {
11
+ eqRoleId as ==,
12
+ neRoleId as !=,
13
+ RoleIdLib.eqz,
14
+ RoleIdLib.gtz,
15
+ RoleIdLib.toInt,
16
+ RoleIdLib.toKey32
17
+ } for RoleId global;
18
+
19
+
20
+ /// @dev role id needs to match with oz AccessManager.ADMIN_ROLE
21
+ function ADMIN_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(type(uint64).min); }
22
+
23
+ /// @dev role id needs to match with oz AccessManager.PUBLIC_ROLE
24
+ function PUBLIC_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(type(uint64).max); }
25
+
26
+ // general pure free functions
27
+
28
+ /// @dev cental role for gif release management.
29
+ /// this role is necessary to call ReleaseManager.createNextRelease/activateNextRelease
30
+ /// the actual deployment of a release requires the GIF_MANAGER_ROLE.
31
+ /// GIF_ADMIN_ROLE is the admin of the GIF_MANAGER_ROLE.
32
+ /// only a single holder may hold this role at any time
33
+ function GIF_ADMIN_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1500); }
34
+
35
+ /// @dev role for token whith/blacklisting, deploying and registering the services for a new major release
36
+ /// registering services for a new major release is only possible after a new initial release has been created by the GIF_ADMIN_ROLE
37
+ /// token white/blacklisting is possible for any active release
38
+ function GIF_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1600); }
39
+
40
+ /// @dev instance specific role to register/own a distribution component
41
+ function DISTRIBUTION_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2); }
42
+
43
+ /// @dev instance specific role to register/own an oracle component
44
+ function ORACLE_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(3); }
45
+
46
+ /// @dev instance specific role to register/own a pool component
47
+ function POOL_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(4); }
48
+
49
+ /// @dev instance specific role to register/own a product component
50
+ function PRODUCT_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(5); }
51
+
52
+ /// @dev role associated with an instance contract
53
+ /// this role is the admin role for the INSTANCE_OWNER_ROLE
54
+ function INSTANCE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2600); }
55
+
56
+ /// @dev required role to register/own an instance
57
+ /// allows instance specific target, role and access management
58
+ function INSTANCE_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1900); }
59
+
60
+ function REGISTRY_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1800); }
61
+
62
+ /// @dev instance specific role for instance service
63
+ function INSTANCE_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2000); }
64
+
65
+ /// @dev role for creating gif target on instance service
66
+ function CAN_CREATE_GIF_TARGET__ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1700); }
67
+
68
+ /// @dev role for registering gif components
69
+ function COMPONENT_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2001); }
70
+
71
+ /// @dev instance specific role for distribution service
72
+ function DISTRIBUTION_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2100); }
73
+
74
+ /// @dev instance specific role for oracle service
75
+ function ORACLE_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2150); }
76
+
77
+ /// @dev instance specific role for pool service
78
+ function POOL_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2200); }
79
+
80
+ /// @dev instance specific role for product service
81
+ function PRODUCT_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2300); }
82
+
83
+ /// @dev instance specific role for application service
84
+ function APPLICATION_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2400); }
85
+
86
+ /// @dev instance specific role for policy service
87
+ function POLICY_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2410); }
88
+
89
+ /// @dev instance specific role for claim service
90
+ function CLAIM_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2420); }
91
+
92
+ /// @dev instance specific role for bundle service
93
+ function BUNDLE_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2500); }
94
+
95
+ /// @dev instance specific role for pricing service
96
+ function PRICING_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2800); }
97
+
98
+ /// @dev instance specific role for staking service
99
+ function STAKING_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2900); }
100
+
101
+ // @dev Returns true iff role ids a and b are identical
102
+ function eqRoleId(RoleId a, RoleId b) pure returns (bool isSame) {
103
+ return RoleId.unwrap(a) == RoleId.unwrap(b);
104
+ }
105
+
106
+ // @dev Returns true iff role ids a and b are different
107
+ function neRoleId(RoleId a, RoleId b) pure returns (bool isDifferent) {
108
+ return RoleId.unwrap(a) != RoleId.unwrap(b);
109
+ }
110
+
111
+ library RoleIdLib {
112
+ /// @dev Converts the RoleId to a uint.
113
+ function zero() public pure returns (RoleId) {
114
+ return RoleId.wrap(0);
115
+ }
116
+
117
+ /// @dev Converts an uint into a RoleId.
118
+ function toRoleId(uint256 a) public pure returns (RoleId) {
119
+ return RoleId.wrap(uint64(a));
120
+ }
121
+
122
+ /// @dev Converts the RoleId to a uint.
123
+ function toInt(RoleId a) public pure returns (uint64) {
124
+ return uint64(RoleId.unwrap(a));
125
+ }
126
+
127
+ /// @dev Returns true if the value is non-zero (> 0).
128
+ function gtz(RoleId a) public pure returns (bool) {
129
+ return RoleId.unwrap(a) > 0;
130
+ }
131
+
132
+ /// @dev Returns true if the value is zero (== 0).
133
+ function eqz(RoleId a) public pure returns (bool) {
134
+ return RoleId.unwrap(a) == 0;
135
+ }
136
+
137
+ /// @dev Returns the key32 value for the specified id and object type.
138
+ function toKey32(RoleId a) public pure returns (Key32 key) {
139
+ return Key32Lib.toKey32(ROLE(), toKeyId(a));
140
+ }
141
+
142
+ /// @dev Returns the key id value for the specified id
143
+ function toKeyId(RoleId a) public pure returns (KeyId keyId) {
144
+ return KeyId.wrap(bytes31(uint248(RoleId.unwrap(a))));
145
+ }
146
+ }