@etherisc/gif-next 0.0.2-a1053ad-624 → 0.0.2-a105567-464

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 (564) hide show
  1. package/README.md +76 -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 +567 -246
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +384 -155
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +431 -2918
  20. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  21. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +692 -0
  22. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  23. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +204 -0
  24. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  25. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +719 -406
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +585 -243
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +382 -76
  30. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  31. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3468 -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/{AccessManagedSimple.sol/AccessManagedSimple.json → base/Cloneable.sol/Cloneable.json} +91 -2
  36. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  37. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +256 -0
  38. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  39. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +30 -112
  40. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  41. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  42. package/artifacts/contracts/instance/module/{ISetup.sol/ISetup.json → IComponents.sol/IComponents.json} +2 -2
  43. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  44. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  45. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  46. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  47. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  48. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  49. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1097 -0
  50. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  51. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +742 -0
  52. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  53. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → pool/IBundleService.sol/IBundleService.json} +297 -358
  54. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  55. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +1154 -0
  56. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  57. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1050 -0
  58. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  59. package/artifacts/contracts/pool/Pool.sol/Pool.json +1565 -0
  60. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  61. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1417 -0
  62. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  63. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +738 -0
  64. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  65. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +826 -0
  66. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  67. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +718 -0
  68. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  69. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1270 -0
  70. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  71. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +806 -0
  72. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  73. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IApplicationService.sol/IApplicationService.json} +233 -200
  74. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  75. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +759 -0
  76. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  77. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +707 -0
  78. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  79. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +259 -284
  80. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  81. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +995 -0
  82. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  83. package/artifacts/contracts/{instance/base/IService.sol/IService.json → product/IProductService.sol/IProductService.json} +132 -166
  84. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  85. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1138 -0
  86. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  87. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +750 -0
  88. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  89. package/artifacts/contracts/product/PricingService.sol/PricingService.json +975 -0
  90. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  91. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +774 -0
  92. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  93. package/artifacts/contracts/product/Product.sol/Product.json +1397 -0
  94. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  95. package/artifacts/contracts/product/ProductService.sol/ProductService.json +679 -0
  96. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  97. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +694 -0
  98. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  99. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
  100. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  101. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +534 -59
  102. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  103. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +438 -200
  104. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  105. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  106. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  107. package/artifacts/contracts/registry/Registry.sol/Registry.json +857 -309
  108. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  109. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +407 -0
  110. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  111. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +506 -352
  112. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  113. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +339 -134
  114. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  115. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +1292 -0
  116. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +4 -0
  117. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +137 -0
  118. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  119. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +643 -0
  120. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
  121. package/artifacts/contracts/{instance/IAccessManagerSimple.sol/IAccessManagerSimple.json → shared/AccessManagerCustom.sol/AccessManagerCustom.json} +122 -11
  122. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
  123. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1715 -0
  124. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
  125. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1728 -0
  126. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
  127. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1806 -0
  128. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
  129. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1824 -0
  130. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  131. package/artifacts/contracts/shared/Component.sol/Component.json +896 -0
  132. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  133. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1475 -0
  134. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  135. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +788 -0
  136. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  137. package/artifacts/contracts/{instance/base/ServiceBase.sol/ServiceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +225 -167
  138. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  139. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  140. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
  141. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
  142. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
  143. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
  144. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  145. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +631 -0
  146. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  147. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +860 -0
  148. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  149. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +705 -0
  150. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  151. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +50 -1
  152. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  153. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -1
  154. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  155. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +34 -30
  156. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  157. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
  158. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  159. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +15 -35
  160. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  161. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +35 -0
  162. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  163. package/artifacts/contracts/{components/BaseComponent.sol/BaseComponent.json → shared/IService.sol/IService.json} +97 -78
  164. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  165. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
  166. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  167. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  168. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  169. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1036 -0
  170. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  171. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +581 -0
  172. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  173. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -0
  174. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  175. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
  176. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  177. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +115 -29
  178. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  179. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
  180. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  181. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +330 -62
  182. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  183. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +132 -53
  184. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  185. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  186. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  187. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/Service.sol/Service.json} +193 -180
  188. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  189. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
  190. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  191. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  192. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  193. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
  194. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  195. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1441 -0
  196. package/artifacts/contracts/staking/IStakingManager.sol/IStakingManager.dbg.json +4 -0
  197. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → staking/IStakingManager.sol/IStakingManager.json} +10 -10
  198. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  199. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +890 -0
  200. package/artifacts/contracts/staking/IStakingStore.sol/IStakingStore.dbg.json +4 -0
  201. package/artifacts/contracts/staking/IStakingStore.sol/IStakingStore.json +357 -0
  202. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  203. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +402 -0
  204. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  205. package/artifacts/contracts/staking/Staking.sol/Staking.json +2008 -0
  206. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  207. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
  208. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  209. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +390 -0
  210. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  211. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1213 -0
  212. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  213. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +722 -0
  214. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  215. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1682 -0
  216. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  217. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +494 -0
  218. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  219. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  220. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  221. package/artifacts/contracts/type/Amount.sol/AmountLib.json +281 -0
  222. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  223. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  224. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  225. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  226. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  227. package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
  228. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  229. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  230. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  231. package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
  232. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  233. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +185 -0
  234. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  235. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  236. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  237. package/artifacts/contracts/{types → type}/ObjectType.sol/ObjectTypeLib.json +3 -3
  238. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  239. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  240. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  241. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  242. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  243. package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
  244. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  245. package/artifacts/contracts/{types → type}/RoleId.sol/RoleIdLib.json +5 -5
  246. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  247. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +174 -0
  248. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  249. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  250. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  251. package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +39 -8
  252. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  253. package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
  254. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  255. package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
  256. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  257. package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
  258. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  259. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +49 -0
  260. package/contracts/distribution/Distribution.sol +261 -0
  261. package/contracts/distribution/DistributionService.sol +298 -0
  262. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  263. package/contracts/distribution/IDistributionComponent.sol +66 -0
  264. package/contracts/distribution/IDistributionService.sol +81 -0
  265. package/contracts/instance/BundleManager.sol +126 -0
  266. package/contracts/instance/IInstance.sol +67 -16
  267. package/contracts/instance/IInstanceService.sol +72 -8
  268. package/contracts/instance/Instance.sol +158 -359
  269. package/contracts/instance/InstanceAdmin.sol +331 -0
  270. package/contracts/instance/InstanceAuthorizationsLib.sol +349 -0
  271. package/contracts/instance/InstanceReader.sol +151 -66
  272. package/contracts/instance/InstanceService.sol +318 -58
  273. package/contracts/instance/InstanceServiceManager.sol +12 -24
  274. package/contracts/instance/InstanceStore.sol +260 -0
  275. package/contracts/instance/base/BalanceStore.sol +118 -0
  276. package/contracts/instance/base/Cloneable.sol +51 -0
  277. package/contracts/instance/base/ObjectManager.sol +82 -0
  278. package/contracts/instance/module/IAccess.sol +29 -21
  279. package/contracts/instance/module/IBundle.sol +8 -7
  280. package/contracts/instance/module/IComponents.sol +52 -0
  281. package/contracts/instance/module/IDistribution.sol +7 -4
  282. package/contracts/instance/module/IPolicy.sol +56 -17
  283. package/contracts/instance/module/IRisk.sol +1 -1
  284. package/contracts/{test/Usdc.sol → mock/Dip.sol} +5 -5
  285. package/contracts/pool/BundleService.sol +296 -0
  286. package/contracts/pool/BundleServiceManager.sol +42 -0
  287. package/contracts/pool/IBundleService.sol +106 -0
  288. package/contracts/pool/IPoolComponent.sol +112 -0
  289. package/contracts/pool/IPoolService.sol +147 -0
  290. package/contracts/pool/Pool.sol +299 -0
  291. package/contracts/pool/PoolService.sol +424 -0
  292. package/contracts/pool/PoolServiceManager.sol +42 -0
  293. package/contracts/product/ApplicationService.sol +254 -0
  294. package/contracts/product/ApplicationServiceManager.sol +38 -0
  295. package/contracts/product/ClaimService.sol +437 -0
  296. package/contracts/product/ClaimServiceManager.sol +38 -0
  297. package/contracts/product/IApplicationService.sol +62 -0
  298. package/contracts/product/IClaimService.sol +93 -0
  299. package/contracts/product/IPolicyService.sol +78 -0
  300. package/contracts/product/IPricingService.sol +39 -0
  301. package/contracts/product/IProductComponent.sol +42 -0
  302. package/contracts/product/IProductService.sol +33 -0
  303. package/contracts/product/PolicyService.sol +473 -0
  304. package/contracts/product/PolicyServiceManager.sol +42 -0
  305. package/contracts/product/PricingService.sol +301 -0
  306. package/contracts/product/PricingServiceManager.sol +42 -0
  307. package/contracts/product/Product.sol +377 -0
  308. package/contracts/product/ProductService.sol +124 -0
  309. package/contracts/product/ProductServiceManager.sol +42 -0
  310. package/contracts/registry/ChainNft.sol +14 -0
  311. package/contracts/registry/IRegistry.sol +81 -12
  312. package/contracts/registry/IRegistryService.sol +54 -20
  313. package/contracts/registry/ITransferInterceptor.sol +1 -0
  314. package/contracts/registry/Registry.sol +405 -243
  315. package/contracts/registry/RegistryAdmin.sol +237 -0
  316. package/contracts/registry/RegistryService.sol +124 -297
  317. package/contracts/registry/RegistryServiceManager.sol +26 -32
  318. package/contracts/registry/ReleaseManager.sol +599 -0
  319. package/contracts/registry/ServiceAuthorizationsLib.sol +173 -0
  320. package/contracts/registry/TokenRegistry.sol +358 -0
  321. package/contracts/{instance/AccessManagerSimple.sol → shared/AccessManagerCustom.sol} +277 -223
  322. package/contracts/shared/AccessManagerExtended.sol +470 -0
  323. package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
  324. package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
  325. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
  326. package/contracts/shared/Component.sol +286 -0
  327. package/contracts/shared/ComponentService.sol +596 -0
  328. package/contracts/shared/ComponentServiceManager.sol +35 -0
  329. package/contracts/shared/ComponentVerifyingService.sol +111 -0
  330. package/contracts/shared/ERC165.sol +15 -9
  331. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  332. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
  333. package/contracts/shared/IComponent.sol +74 -0
  334. package/contracts/shared/IComponentService.sol +91 -0
  335. package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
  336. package/contracts/{instance/base → shared}/IKeyValueStore.sol +14 -10
  337. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -3
  338. package/contracts/shared/INftOwnable.sol +13 -12
  339. package/contracts/shared/IPolicyHolder.sol +45 -0
  340. package/contracts/shared/IRegisterable.sol +4 -6
  341. package/contracts/shared/IRegistryLinked.sol +11 -0
  342. package/contracts/shared/IService.sol +18 -0
  343. package/contracts/shared/IVersionable.sol +5 -48
  344. package/contracts/shared/InitializableCustom.sol +177 -0
  345. package/contracts/shared/InstanceLinkedComponent.sol +144 -0
  346. package/contracts/shared/KeyValueStore.sol +130 -0
  347. package/contracts/{instance/base → shared}/Lifecycle.sol +28 -7
  348. package/contracts/shared/NftIdSetManager.sol +65 -0
  349. package/contracts/shared/NftOwnable.sol +60 -89
  350. package/contracts/shared/PolicyHolder.sol +102 -0
  351. package/contracts/shared/ProxyManager.sol +131 -26
  352. package/contracts/shared/Registerable.sol +26 -40
  353. package/contracts/shared/RegistryLinked.sol +43 -0
  354. package/contracts/shared/Service.sol +77 -0
  355. package/contracts/shared/TokenHandler.sol +37 -6
  356. package/contracts/shared/Versionable.sol +4 -92
  357. package/contracts/staking/IStaking.sol +152 -0
  358. package/contracts/staking/IStakingManager.sol +15 -0
  359. package/contracts/staking/IStakingService.sol +162 -0
  360. package/contracts/staking/IStakingStore.sol +130 -0
  361. package/contracts/staking/StakeManagerLib.sol +156 -0
  362. package/contracts/staking/Staking.sol +496 -0
  363. package/contracts/staking/StakingManager.sol +54 -0
  364. package/contracts/staking/StakingReader.sol +146 -0
  365. package/contracts/staking/StakingService.sol +376 -0
  366. package/contracts/staking/StakingServiceManager.sol +45 -0
  367. package/contracts/staking/StakingStore.sol +331 -0
  368. package/contracts/staking/TargetManagerLib.sol +179 -0
  369. package/contracts/{types → type}/AddressSet.sol +1 -1
  370. package/contracts/type/Amount.sol +114 -0
  371. package/contracts/{types → type}/Blocknumber.sol +21 -3
  372. package/contracts/type/ClaimId.sol +75 -0
  373. package/contracts/{types → type}/DistributorType.sol +2 -2
  374. package/contracts/{types → type}/Fee.sol +33 -23
  375. package/contracts/{types → type}/NftId.sol +18 -12
  376. package/contracts/type/NftIdSet.sol +62 -0
  377. package/contracts/{types → type}/ObjectType.sol +26 -9
  378. package/contracts/type/PayoutId.sol +82 -0
  379. package/contracts/{types → type}/Referral.sol +5 -1
  380. package/contracts/{types → type}/RiskId.sol +1 -1
  381. package/contracts/type/RoleId.sol +143 -0
  382. package/contracts/type/Seconds.sol +71 -0
  383. package/contracts/{types → type}/StateId.sol +28 -6
  384. package/contracts/{types → type}/Timestamp.sol +18 -13
  385. package/contracts/{types → type}/UFixed.sol +1 -0
  386. package/contracts/{types → type}/Version.sol +6 -2
  387. package/package.json +3 -3
  388. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  389. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  390. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -610
  391. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  392. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -267
  393. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  394. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  395. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  396. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -249
  397. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  398. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  399. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  400. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -774
  401. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  402. package/artifacts/contracts/components/Product.sol/Product.json +0 -754
  403. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  404. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  405. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  406. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  407. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  408. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  409. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  410. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  411. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  412. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  413. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  414. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  415. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  416. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  417. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  418. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  419. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  420. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  421. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  422. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  423. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  424. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  425. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  426. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  427. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  428. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  429. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  430. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  431. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  432. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  433. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  434. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  435. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  436. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  437. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  438. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  439. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  440. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  441. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  442. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +0 -4
  443. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +0 -4
  444. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +0 -1119
  445. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
  446. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  447. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -917
  448. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  449. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  450. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  451. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  452. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  453. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  454. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  455. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  456. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  457. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  458. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  459. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  460. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  461. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  462. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  463. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  464. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  465. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  466. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  467. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  468. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  469. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  470. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  471. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  472. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  473. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  474. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  475. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  476. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  477. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  478. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  479. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  480. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  481. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  482. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  483. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  484. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  485. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  486. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  487. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  488. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  489. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  490. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  491. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  492. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  493. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  494. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  495. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  496. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  497. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  498. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  499. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  500. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  501. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  502. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  503. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  504. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  505. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  506. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  507. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  508. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  509. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  510. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  511. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  512. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  513. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  514. package/contracts/components/BaseComponent.sol +0 -86
  515. package/contracts/components/Distribution.sol +0 -166
  516. package/contracts/components/IBaseComponent.sol +0 -24
  517. package/contracts/components/IDistributionComponent.sol +0 -43
  518. package/contracts/components/IPoolComponent.sol +0 -62
  519. package/contracts/components/IProductComponent.sol +0 -35
  520. package/contracts/components/Pool.sol +0 -259
  521. package/contracts/components/Product.sol +0 -297
  522. package/contracts/experiment/cloning/Cloner.sol +0 -47
  523. package/contracts/experiment/errors/Require.sol +0 -38
  524. package/contracts/experiment/errors/Revert.sol +0 -44
  525. package/contracts/experiment/inheritance/A.sol +0 -53
  526. package/contracts/experiment/inheritance/B.sol +0 -28
  527. package/contracts/experiment/inheritance/C.sol +0 -34
  528. package/contracts/experiment/inheritance/IA.sol +0 -13
  529. package/contracts/experiment/inheritance/IB.sol +0 -10
  530. package/contracts/experiment/inheritance/IC.sol +0 -12
  531. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  532. package/contracts/experiment/statemachine/ISM.sol +0 -25
  533. package/contracts/experiment/statemachine/SM.sol +0 -57
  534. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  535. package/contracts/experiment/types/TypeA.sol +0 -47
  536. package/contracts/experiment/types/TypeB.sol +0 -29
  537. package/contracts/instance/AccessManagedSimple.sol +0 -114
  538. package/contracts/instance/IAccessManagerSimple.sol +0 -391
  539. package/contracts/instance/InstanceAccessManager.sol +0 -288
  540. package/contracts/instance/base/ComponentServiceBase.sol +0 -49
  541. package/contracts/instance/base/IInstanceBase.sol +0 -23
  542. package/contracts/instance/base/IService.sol +0 -15
  543. package/contracts/instance/base/KeyValueStore.sol +0 -172
  544. package/contracts/instance/base/ServiceBase.sol +0 -44
  545. package/contracts/instance/module/ISetup.sol +0 -43
  546. package/contracts/instance/module/ITreasury.sol +0 -23
  547. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  548. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  549. package/contracts/instance/service/IDistributionService.sol +0 -12
  550. package/contracts/instance/service/IPoolService.sol +0 -37
  551. package/contracts/instance/service/IProductService.sol +0 -107
  552. package/contracts/shared/ContractDeployerLib.sol +0 -72
  553. package/contracts/test/TestFee.sol +0 -25
  554. package/contracts/test/TestRegisterable.sol +0 -18
  555. package/contracts/test/TestRoleId.sol +0 -14
  556. package/contracts/test/TestService.sol +0 -26
  557. package/contracts/test/TestToken.sol +0 -26
  558. package/contracts/test/TestVersion.sol +0 -44
  559. package/contracts/test/TestVersionable.sol +0 -17
  560. package/contracts/types/ChainId.sol +0 -38
  561. package/contracts/types/NftIdSet.sol +0 -60
  562. package/contracts/types/NumberId.sol +0 -52
  563. package/contracts/types/RoleId.sol +0 -82
  564. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -1,20 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../types/NftId.sol";
5
- import {ObjectType} from "../../types/ObjectType.sol";
6
- import {RoleId} from "../../types/RoleId.sol";
7
- import {IBaseComponent} from "../../components/IBaseComponent.sol";
8
- import {IService} from "../base/IService.sol";
9
-
10
- // TODO rename to registry service
11
- interface IComponentOwnerService is IService {
12
-
13
- // TODO move to product/pool services
14
- function lock(IBaseComponent component) external;
15
-
16
- // TODO move to product/pool services
17
- function unlock(IBaseComponent component) external;
18
-
19
- function getRoleForType(ObjectType cType) external pure returns (RoleId role);
20
- }
@@ -1,12 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../types/NftId.sol";
5
- import {Fee} from "../../types/Fee.sol";
6
- import {IService} from "../base/IService.sol";
7
-
8
- interface IDistributionService is IService {
9
- function setFees(
10
- Fee memory distributionFee
11
- ) external;
12
- }
@@ -1,37 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../types/NftId.sol";
5
- import {Fee} from "../../types/Fee.sol";
6
- import {IService} from "../base/IService.sol";
7
-
8
- interface IPoolService is IService {
9
- function setFees(
10
- Fee memory poolFee,
11
- Fee memory stakingFee,
12
- Fee memory performanceFee
13
- ) external;
14
-
15
- function createBundle(
16
- address owner,
17
- Fee memory fee,
18
- uint256 amount,
19
- uint256 lifetime,
20
- bytes calldata filter
21
- ) external returns(NftId bundleNftId);
22
-
23
- function setBundleFee(
24
- NftId bundleNftId,
25
- Fee memory fee
26
- ) external;
27
-
28
- // function fundBundle(NftId bundleNftId, uint256 amount) external returns(uint256 netAmount);
29
-
30
- // function defundBundle(NftId bundleNftId, uint256 amount) external returns(uint256 netAmount);
31
-
32
- // function lockBundle(NftId bundleNftId) external;
33
-
34
- // function unlockBundle(NftId bundleNftId) external;
35
-
36
- // function closeBundle(NftId bundleNftId) external;
37
- }
@@ -1,107 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRisk} from "../module/IRisk.sol";
5
- import {IService} from "../base/IService.sol";
6
-
7
- import {NftId} from "../../types/NftId.sol";
8
- import {ReferralId} from "../../types/Referral.sol";
9
- import {RiskId} from "../../types/RiskId.sol";
10
- import {StateId} from "../../types/StateId.sol";
11
- import {Timestamp} from "../../types/Timestamp.sol";
12
- import {UFixed} from "../../types/UFixed.sol";
13
- import {Fee} from "../../types/Fee.sol";
14
-
15
- interface IProductService is IService {
16
- function setFees(
17
- Fee memory productFee,
18
- Fee memory processingFee
19
- ) external;
20
-
21
- function createRisk(
22
- RiskId riskId,
23
- bytes memory data
24
- ) external;
25
-
26
-
27
- function setRiskInfo(
28
- RiskId riskId,
29
- IRisk.RiskInfo memory data
30
- ) external;
31
-
32
-
33
- function updateRiskState(
34
- RiskId riskId,
35
- StateId state
36
- ) external;
37
-
38
-
39
- function calculatePremium(
40
- RiskId riskId,
41
- uint256 sumInsuredAmount,
42
- uint256 lifetime,
43
- bytes memory applicationData,
44
- NftId bundleNftId,
45
- ReferralId referralId
46
- )
47
- external
48
- view
49
- returns (
50
- uint256 premiumAmount,
51
- uint256 productFeeAmount,
52
- uint256 poolFeeAmount,
53
- uint256 bundleFeeAmount,
54
- uint256 distributionFeeAmount
55
- );
56
-
57
-
58
- function createApplication(
59
- address applicationOwner,
60
- RiskId riskId,
61
- uint256 sumInsuredAmount,
62
- uint256 lifetime,
63
- bytes memory applicationData,
64
- NftId bundleNftId,
65
- ReferralId referralId
66
- ) external returns (NftId nftId);
67
-
68
- /**
69
- * @dev revokes the application represented by {policyNftId}.
70
- * an application can only be revoked in applied state.
71
- * only the application holder may revoke an application.
72
- */
73
- function revoke(NftId policyNftId) external;
74
-
75
- /**
76
- * @dev underwrites the policy represented by {policyNftId}.
77
- * optionally collects premiums and activates the policy.
78
- * - premium payment is only attempted if requirePremiumPayment is set to true
79
- * - activation is only done if activateAt is a non-zero timestamp
80
- */
81
- function underwrite(
82
- NftId policyNftId,
83
- bool requirePremiumPayment,
84
- Timestamp activateAt
85
- ) external;
86
-
87
- // function decline(uint256 nftId) external;
88
- // function expire(uint256 nftId) external;
89
-
90
- function collectPremium(NftId policyNftId, Timestamp activateAt) external;
91
-
92
- function activate(NftId policyNftId, Timestamp activateAt) external;
93
-
94
-
95
- function close(NftId nftId) external;
96
-
97
- // function createClaim(uint256 nftId, uint256 claimAmount) external;
98
- // function confirmClaim(uint256 nftId, uint256 claimId, uint256 claimAmount) external;
99
- // function declineClaim(uint256 nftId, uint256 claimId) external;
100
- // function closeClaim(uint256 nftId, uint256 claimId) external;
101
-
102
- function calculateRequiredCollateral(
103
- UFixed collateralizationLevel,
104
- uint256 sumInsuredAmount
105
- ) external pure returns(uint256 collateralAmount);
106
-
107
- }
@@ -1,72 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- library ContractDeployerLib {
5
-
6
- event LogContractDeployed(address contractAddress);
7
-
8
- error ErrorCreationCodeHashMismatch(bytes32 expectedHash, bytes32 actualHash);
9
-
10
- /// @dev deploys a new contract using the provided creation code
11
- function deploy(
12
- bytes memory creationCode,
13
- bytes32 expectedCreationCodeHash
14
- )
15
- public
16
- returns (address contractAdress)
17
- {
18
- // check against expected hash, if provided
19
- if (expectedCreationCodeHash != bytes32(0)) {
20
- bytes32 creationCodeHash = getHash(creationCode);
21
- if (creationCodeHash != expectedCreationCodeHash) {
22
- revert ErrorCreationCodeHashMismatch(expectedCreationCodeHash, creationCodeHash);
23
- }
24
- }
25
-
26
- // solhint-disable no-inline-assembly
27
- assembly {
28
- contractAdress := create(0, add(creationCode, 0x20), mload(creationCode))
29
-
30
- if iszero(extcodesize(contractAdress)) {
31
- revert(0, 0)
32
- }
33
- }
34
- // solhint enable
35
-
36
- emit LogContractDeployed(contractAdress);
37
- }
38
-
39
- /// @dev gets the creation code for the new contract
40
- // for terminology see eg https://www.rareskills.io/post/ethereum-contract-creation-code
41
- function getCreationCode(
42
- bytes memory byteCodeWithInitCode, // what you get with type(<Contract>).creationCode
43
- bytes memory encodedConstructorArguments // what you get with
44
- )
45
- public
46
- pure
47
- returns (bytes memory creationCode)
48
- {
49
- return abi.encodePacked(byteCodeWithInitCode, encodedConstructorArguments);
50
- }
51
-
52
-
53
- function matchesWithHash(
54
- bytes memory creationCode,
55
- bytes32 expectedHash
56
- )
57
- public
58
- pure
59
- returns (bool isMatching)
60
- {
61
- return getHash(creationCode) == expectedHash;
62
- }
63
-
64
-
65
- function getHash(bytes memory creationCode)
66
- public
67
- pure
68
- returns (bytes32 hash)
69
- {
70
- return keccak256(creationCode);
71
- }
72
- }
@@ -1,25 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {UFixed, UFixedLib} from "../types/UFixed.sol";
5
- import {Fee, FeeLib} from "../types/Fee.sol";
6
-
7
- contract TestFee {
8
-
9
- function createFee(
10
- uint256 fractionalValue,
11
- int8 exponent,
12
- uint256 fixedValue
13
- )
14
- external
15
- pure
16
- returns(Fee memory fee)
17
- {
18
- return FeeLib.toFee(UFixedLib.toUFixed(fractionalValue, exponent), fixedValue);
19
- }
20
-
21
- function getZeroFee() external pure returns(Fee memory fee) {
22
- return FeeLib.zeroFee();
23
- }
24
-
25
- }
@@ -1,18 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../contracts/types/NftId.sol";
5
- import {ObjectType, TOKEN} from "../../contracts/types/ObjectType.sol";
6
- import {IRegistry} from "../../contracts/registry/IRegistry.sol";
7
- import {Registerable} from "../../contracts/shared/Registerable.sol";
8
-
9
- contract TestRegisterable is Registerable {
10
-
11
- constructor(address registry, NftId registryNftId, ObjectType objectType, bool isInterceptor, address initialOwner)
12
- //Registerable(registry, registryNftId)
13
- // solhint-disable-next-line no-empty-blocks
14
- {
15
- bytes memory data = "";
16
- _initializeRegisterable(registry, registryNftId, objectType, isInterceptor, initialOwner, data);
17
- }
18
- }
@@ -1,14 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {RoleId, RoleIdLib, PRODUCT_OWNER_ROLE_NAME, PRODUCT_OWNER_ROLE, POOL_OWNER_ROLE_NAME, POOL_OWNER_ROLE} from "../../contracts/types/RoleId.sol";
5
-
6
- contract TestRoleId {
7
- function getRole(uint256 roleNum) external pure returns (RoleId) { return RoleIdLib.toRoleId(roleNum); }
8
-
9
- function getProductOwnerRoleName() external pure returns (string memory) { return PRODUCT_OWNER_ROLE_NAME(); }
10
- function getProductOwnerRole() external pure returns (RoleId) { return PRODUCT_OWNER_ROLE(); }
11
-
12
- function getPoolOwnerRoleName() external pure returns (string memory) { return POOL_OWNER_ROLE_NAME(); }
13
- function getPoolOwnerRole() external pure returns (RoleId) { return POOL_OWNER_ROLE(); }
14
- }
@@ -1,26 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../contracts/types/NftId.sol";
5
- import {Version, VersionLib} from "../../contracts/types/Version.sol";
6
- import {ServiceBase} from "../../contracts/instance/base/ServiceBase.sol";
7
-
8
- import {IVersionable} from "../../contracts/shared/IVersionable.sol";
9
- import {Versionable} from "../../contracts/shared/Versionable.sol";
10
-
11
- //import {IService} from "../../contracts/instance/base/IService.sol";
12
-
13
- contract TestService is ServiceBase {
14
-
15
- string public constant NAME = "TestService";
16
-
17
- constructor(address registry, NftId registryNftId, address initialOwner)
18
- // solhint-disable-next-line no-empty-blocks
19
- {
20
- _initializeServiceBase(registry, registryNftId, initialOwner);
21
- }
22
-
23
- function getName() public pure override returns(string memory name) {
24
- return NAME;
25
- }
26
- }
@@ -1,26 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
5
-
6
- contract TestUsdc is ERC20 {
7
-
8
- // https://etherscan.io/token/0xc719d010b63e5bbf2c0551872cd5316ed26acd83#readContract
9
- string public constant NAME = "USDC - Test";
10
- string public constant SYMBOL = "USDC";
11
- uint8 public constant DECIMALS = 6;
12
- uint256 public constant INITIAL_SUPPLY = 10**9 * 10**DECIMALS; // 1 Billion 1'000'000'000
13
- // decimals == 18 (openzeppelin erc20 default)
14
- constructor()
15
- ERC20(NAME, SYMBOL)
16
- {
17
- _mint(
18
- _msgSender(),
19
- INITIAL_SUPPLY
20
- );
21
- }
22
-
23
- function decimals() public pure override returns(uint8) {
24
- return DECIMALS;
25
- }
26
- }
@@ -1,44 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Version, VersionPart, VersionLib} from "../types/Version.sol";
5
-
6
- contract TestVersion {
7
-
8
- function createVersion(uint major, uint minor, uint patch) external pure returns(Version) {
9
- return VersionLib.toVersion(major, minor, patch);
10
- }
11
-
12
- function createVersionPart(uint versionPart) external pure returns(VersionPart) {
13
- return VersionLib.toVersionPart(uint8(versionPart));
14
- }
15
-
16
- function getVersionParts(Version version)
17
- external
18
- pure
19
- returns(
20
- VersionPart major,
21
- VersionPart minor,
22
- VersionPart patch
23
- )
24
- {
25
- return version.toVersionParts();
26
- }
27
-
28
- function getMajorPart(Version version) external pure returns(VersionPart major) {
29
- return version.toMajorPart();
30
- }
31
-
32
- function getZeroVersion() external pure returns(Version) {
33
- return VersionLib.zeroVersion();
34
- }
35
-
36
- function isSameVersion(Version a, Version b) external pure returns(bool) {
37
- return a == b;
38
- }
39
-
40
- function isLargerVersion(Version a, Version b) external pure returns(bool) {
41
- return a > b;
42
- }
43
-
44
- }
@@ -1,17 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Version, VersionLib} from "../../contracts/types/Version.sol";
5
- import {Versionable} from "../../contracts/shared/Versionable.sol";
6
-
7
- contract TestVersionable is Versionable {
8
-
9
- function getVersion()
10
- public
11
- pure
12
- virtual override
13
- returns(Version)
14
- {
15
- return VersionLib.toVersion(3,0,0);
16
- }
17
- }
@@ -1,38 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- /// @dev bytes5 (uint40) allows for chain ids up to 13 digits
5
- type ChainId is bytes5;
6
-
7
- // type bindings
8
- using {eqChainId as ==, neChainId as !=, ChainIdLib.toInt} for ChainId global;
9
-
10
- // general pure free functions
11
- /// @dev Converts the uint256 to a ChainId.
12
- function toChainId(uint256 chainId) pure returns (ChainId) {
13
- return ChainId.wrap(bytes5(uint40(chainId)));
14
- }
15
-
16
- /// @dev Return the ChainId for the chain the contract is deployed to
17
- function thisChainId() view returns (ChainId) {
18
- return toChainId(block.chainid);
19
- }
20
-
21
- // pure free functions for operators
22
- /// @dev Returns true if the values are equal (==).
23
- function eqChainId(ChainId a, ChainId b) pure returns (bool isSame) {
24
- return ChainId.unwrap(a) == ChainId.unwrap(b);
25
- }
26
-
27
- /// @dev Returns true if the values are not equal (!=).
28
- function neChainId(ChainId a, ChainId b) pure returns (bool isDifferent) {
29
- return ChainId.unwrap(a) != ChainId.unwrap(b);
30
- }
31
-
32
- // library functions that operate on user defined type
33
- library ChainIdLib {
34
- /// @dev Converts the ChainId to a uint256.
35
- function toInt(ChainId chainId) internal pure returns (uint256) {
36
- return uint256(uint40(ChainId.unwrap(chainId)));
37
- }
38
- }
@@ -1,60 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../types/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
- function add(Set storage set, NftId nftId) external returns(bool added) {
15
- if (set.at[nftId] == 0) {
16
- set.ids.push(nftId);
17
- set.at[nftId] = set.ids.length;
18
- return true;
19
- } else {
20
- return false;
21
- }
22
- }
23
-
24
- function remove(Set storage set, NftId nftId) external returns(bool removed) {
25
- uint256 nftIdIndex = set.at[nftId];
26
-
27
- if (nftIdIndex > 0) {
28
- uint256 toDeleteIndex = nftIdIndex - 1;
29
- uint256 lastIndex = set.ids.length - 1;
30
-
31
- if (lastIndex != toDeleteIndex) {
32
- NftId lastId = set.ids[lastIndex];
33
- set.ids[toDeleteIndex] = lastId;
34
- set.at[lastId] = nftIdIndex; // Replace lastValue's index to valueIndex
35
- }
36
-
37
- set.ids.pop();
38
- delete set.at[nftId];
39
- return true;
40
- } else {
41
- return false;
42
- }
43
- }
44
-
45
- function isEmpty(Set storage set) external view returns(bool empty) {
46
- return set.ids.length == 0;
47
- }
48
-
49
- function contains(Set storage set, NftId nftId) external view returns(bool inSet) {
50
- return set.at[nftId] > 0;
51
- }
52
-
53
- function getLength(Set storage set) external view returns(uint256 length) {
54
- return set.ids.length;
55
- }
56
-
57
- function getElementAt(Set storage set, uint256 index) external view returns(NftId nftId) {
58
- return set.ids[index];
59
- }
60
- }
@@ -1,52 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- // uint32 allows for 4'294'967'296 individual items
5
- type NumberId is uint32;
6
-
7
- // type bindings
8
- using {
9
- eqNumberId as ==,
10
- neNumberId as !=,
11
- NumberIdLib.eqz,
12
- NumberIdLib.gtz,
13
- NumberIdLib.toInt
14
- } for NumberId global;
15
-
16
-
17
- // pure free functions for operators
18
- function eqNumberId(NumberId a, NumberId b) pure returns (bool isSame) {
19
- return NumberId.unwrap(a) == NumberId.unwrap(b);
20
- }
21
-
22
- function neNumberId(NumberId a, NumberId b) pure returns (bool isDifferent) {
23
- return NumberId.unwrap(a) != NumberId.unwrap(b);
24
- }
25
-
26
- // library functions that operate on user defined type
27
- library NumberIdLib {
28
- /// @dev Converts the NumberId to a uint.
29
- function zero() public pure returns (NumberId) {
30
- return NumberId.wrap(0);
31
- }
32
-
33
- /// @dev Converts an uint into a NumberId.
34
- function toNumberId(uint256 a) public pure returns (NumberId) {
35
- return NumberId.wrap(uint32(a));
36
- }
37
-
38
- /// @dev Converts the NumberId to a uint.
39
- function toInt(NumberId a) public pure returns (uint32) {
40
- return uint32(NumberId.unwrap(a));
41
- }
42
-
43
- /// @dev Returns true if the value is non-zero (> 0).
44
- function gtz(NumberId a) public pure returns (bool) {
45
- return NumberId.unwrap(a) > 0;
46
- }
47
-
48
- /// @dev Returns true if the value is zero (== 0).
49
- function eqz(NumberId a) public pure returns (bool) {
50
- return NumberId.unwrap(a) == 0;
51
- }
52
- }
@@ -1,82 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
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
- // general pure free functions
20
- function DISTRIBUTION_OWNER_ROLE_NAME() pure returns (string memory) { return "DistributionOwnerRole"; }
21
- function ORACLE_OWNER_ROLE_NAME() pure returns (string memory) { return "OracleOwnerRole"; }
22
- function POOL_OWNER_ROLE_NAME() pure returns (string memory) { return "PoolOwnerRole"; }
23
- function PRODUCT_OWNER_ROLE_NAME() pure returns (string memory) { return "ProductOwnerRole"; }
24
-
25
- // TODO correct numbers (maybe they are already defined in RegistryService)
26
- function DISTRIBUTION_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(100); }
27
- function ORACLE_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(200); }
28
- function POOL_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(300); }
29
- function PRODUCT_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(400); }
30
-
31
- function DISTRIBUTION_REGISTRAR_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1000); }
32
- function POLICY_REGISTRAR_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1100); }
33
- function BUNDLE_REGISTRAR_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1200); }
34
- function POOL_REGISTRAR_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1300); }
35
- function PRODUCT_REGISTRAR_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1400); }
36
-
37
- // @dev Returns true iff role ids a and b are identical
38
- function eqRoleId(RoleId a, RoleId b) pure returns (bool isSame) {
39
- return RoleId.unwrap(a) == RoleId.unwrap(b);
40
- }
41
-
42
- // @dev Returns true iff role ids a and b are different
43
- function neRoleId(RoleId a, RoleId b) pure returns (bool isDifferent) {
44
- return RoleId.unwrap(a) != RoleId.unwrap(b);
45
- }
46
-
47
- library RoleIdLib {
48
- /// @dev Converts the RoleId to a uint.
49
- function zero() public pure returns (RoleId) {
50
- return RoleId.wrap(0);
51
- }
52
-
53
- /// @dev Converts an uint into a RoleId.
54
- function toRoleId(uint256 a) public pure returns (RoleId) {
55
- return RoleId.wrap(uint64(a));
56
- }
57
-
58
- /// @dev Converts the RoleId to a uint.
59
- function toInt(RoleId a) public pure returns (uint64) {
60
- return uint64(RoleId.unwrap(a));
61
- }
62
-
63
- /// @dev Returns true if the value is non-zero (> 0).
64
- function gtz(RoleId a) public pure returns (bool) {
65
- return RoleId.unwrap(a) > 0;
66
- }
67
-
68
- /// @dev Returns true if the value is zero (== 0).
69
- function eqz(RoleId a) public pure returns (bool) {
70
- return RoleId.unwrap(a) == 0;
71
- }
72
-
73
- /// @dev Returns the key32 value for the specified id and object type.
74
- function toKey32(RoleId a) public pure returns (Key32 key) {
75
- return Key32Lib.toKey32(ROLE(), toKeyId(a));
76
- }
77
-
78
- /// @dev Returns the key id value for the specified id
79
- function toKeyId(RoleId a) public pure returns (KeyId keyId) {
80
- return KeyId.wrap(bytes31(uint248(RoleId.unwrap(a))));
81
- }
82
- }
File without changes