@etherisc/gif-next 0.0.2-7f05179-874 → 0.0.2-7f39e38-904

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 (540) hide show
  1. package/README.md +337 -19
  2. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  3. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1410 -0
  4. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  5. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1343 -0
  6. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  7. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +799 -0
  8. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  9. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +969 -0
  10. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  11. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +808 -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 +312 -1138
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +660 -0
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +439 -1219
  20. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +4 -0
  21. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +1348 -0
  22. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  23. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +132 -0
  24. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  25. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1570 -0
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1063 -0
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +715 -0
  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/base/Cloneable.sol/Cloneable.json +190 -0
  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 +4 -0
  39. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +237 -0
  40. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  41. package/artifacts/contracts/instance/{access/IAccess.sol/IAccess.json → module/IBundle.sol/IBundle.json} +2 -2
  42. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  43. package/artifacts/contracts/instance/{treasury/ITreasury.sol/ITreasury.json → module/IComponents.sol/IComponents.json} +2 -2
  44. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  45. package/artifacts/contracts/instance/{component/IComponent.sol/IComponent.json → module/IDistribution.sol/IDistribution.json} +2 -2
  46. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  47. package/artifacts/contracts/instance/{policy → module}/IPolicy.sol/IPolicy.json +1 -1
  48. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  49. package/artifacts/contracts/instance/{pool/IPoolModule.sol/IPool.json → module/IRisk.sol/IRisk.json} +2 -2
  50. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  51. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  52. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  53. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1091 -0
  54. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  55. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +723 -0
  56. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  57. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +684 -0
  58. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  59. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +1148 -0
  60. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  61. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1044 -0
  62. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  63. package/artifacts/contracts/pool/Pool.sol/Pool.json +1559 -0
  64. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  65. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1411 -0
  66. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  67. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +719 -0
  68. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  69. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +820 -0
  70. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  71. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +699 -0
  72. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  73. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1264 -0
  74. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  75. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +787 -0
  76. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  77. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +493 -0
  78. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  79. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +753 -0
  80. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  81. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +701 -0
  82. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  83. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +530 -0
  84. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  85. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +989 -0
  86. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  87. package/artifacts/contracts/product/IProductService.sol/IProductService.json +381 -0
  88. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  89. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1132 -0
  90. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  91. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +731 -0
  92. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  93. package/artifacts/contracts/product/PricingService.sol/PricingService.json +969 -0
  94. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  95. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +755 -0
  96. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  97. package/artifacts/contracts/product/Product.sol/Product.json +1391 -0
  98. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  99. package/artifacts/contracts/product/ProductService.sol/ProductService.json +673 -0
  100. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  101. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +675 -0
  102. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  103. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +252 -2
  104. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  105. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +737 -27
  106. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  107. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +1093 -0
  108. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  109. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +52 -0
  110. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  111. package/artifacts/contracts/registry/Registry.sol/Registry.json +964 -105
  112. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +4 -0
  113. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +322 -0
  114. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  115. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1398 -0
  116. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  117. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +705 -0
  118. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  119. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +1151 -0
  120. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +4 -0
  121. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +137 -0
  122. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  123. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +653 -0
  124. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +4 -0
  125. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +1206 -0
  126. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  127. package/artifacts/contracts/shared/Component.sol/Component.json +890 -0
  128. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  129. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1461 -0
  130. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  131. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +765 -0
  132. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  133. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +520 -0
  134. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +4 -0
  135. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +73 -0
  136. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  137. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +625 -0
  138. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  139. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +854 -0
  140. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  141. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +699 -0
  142. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  143. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +478 -0
  144. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  145. package/artifacts/contracts/{instance/lifecycle/ILifecycle.sol/ILifecycleModule.json → shared/ILifecycle.sol/ILifecycle.json} +10 -77
  146. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  147. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +125 -0
  148. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  149. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
  150. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +4 -0
  151. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +175 -0
  152. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  153. package/artifacts/contracts/{instance/access/IAccess.sol/IAccessCheckRole.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +11 -11
  154. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  155. package/artifacts/contracts/shared/IService.sol/IService.json +327 -0
  156. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
  157. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +55 -0
  158. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  159. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1030 -0
  160. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  161. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +581 -0
  162. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  163. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -0
  164. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  165. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
  166. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  167. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +238 -0
  168. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  169. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
  170. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  171. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +598 -0
  172. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +4 -0
  173. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +347 -0
  174. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  175. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  176. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  177. package/artifacts/contracts/{registry/IChainNft.sol/IChainNft.json → shared/Service.sol/Service.json} +256 -220
  178. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  179. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +150 -0
  180. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  181. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  182. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
  183. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +78 -0
  184. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  185. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1435 -0
  186. package/artifacts/contracts/staking/IStakingManager.sol/IStakingManager.dbg.json +4 -0
  187. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → staking/IStakingManager.sol/IStakingManager.json} +10 -10
  188. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  189. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +884 -0
  190. package/artifacts/contracts/staking/IStakingStore.sol/IStakingStore.dbg.json +4 -0
  191. package/artifacts/contracts/staking/IStakingStore.sol/IStakingStore.json +357 -0
  192. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  193. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +402 -0
  194. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  195. package/artifacts/contracts/staking/Staking.sol/Staking.json +2002 -0
  196. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  197. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +748 -0
  198. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  199. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +368 -0
  200. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  201. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1207 -0
  202. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  203. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +698 -0
  204. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  205. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1690 -0
  206. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  207. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +494 -0
  208. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  209. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  210. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  211. package/artifacts/contracts/type/Amount.sol/AmountLib.json +281 -0
  212. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  213. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  214. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  215. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  216. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  217. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  218. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  219. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  220. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  221. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  222. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  223. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +185 -0
  224. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  225. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  226. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  227. package/artifacts/contracts/{types → type}/ObjectType.sol/ObjectTypeLib.json +3 -3
  228. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  229. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  230. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  231. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  232. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  233. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
  234. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  235. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +156 -0
  236. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  237. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +174 -0
  238. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  239. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  240. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  241. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +280 -0
  242. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  243. package/artifacts/contracts/{types/ChainId.sol/ChainIdLib.json → type/UFixed.sol/MathLib.json} +4 -4
  244. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  245. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +479 -0
  246. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  247. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  248. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  249. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +49 -0
  250. package/contracts/distribution/Distribution.sol +263 -0
  251. package/contracts/distribution/DistributionService.sol +298 -0
  252. package/contracts/distribution/DistributionServiceManager.sol +54 -0
  253. package/contracts/distribution/IDistributionComponent.sol +66 -0
  254. package/contracts/distribution/IDistributionService.sol +81 -0
  255. package/contracts/instance/BundleManager.sol +126 -0
  256. package/contracts/instance/IInstance.sol +74 -22
  257. package/contracts/instance/IInstanceService.sol +83 -0
  258. package/contracts/instance/Instance.sol +209 -53
  259. package/contracts/instance/InstanceAccessManager.sol +543 -0
  260. package/contracts/instance/InstanceAuthorizationsLib.sol +336 -0
  261. package/contracts/instance/InstanceReader.sol +366 -0
  262. package/contracts/instance/InstanceService.sol +367 -0
  263. package/contracts/instance/InstanceServiceManager.sol +44 -0
  264. package/contracts/instance/InstanceStore.sol +260 -0
  265. package/contracts/instance/base/BalanceStore.sol +118 -0
  266. package/contracts/instance/base/Cloneable.sol +51 -0
  267. package/contracts/instance/base/ObjectManager.sol +82 -0
  268. package/contracts/instance/module/IAccess.sol +54 -0
  269. package/contracts/instance/module/IBundle.sol +20 -0
  270. package/contracts/instance/module/IComponents.sol +52 -0
  271. package/contracts/instance/module/IDistribution.sol +42 -0
  272. package/contracts/instance/module/IPolicy.sol +84 -0
  273. package/contracts/instance/module/IRisk.sol +11 -0
  274. package/contracts/mock/Dip.sol +1 -1
  275. package/contracts/pool/BundleService.sol +296 -0
  276. package/contracts/pool/BundleServiceManager.sol +42 -0
  277. package/contracts/pool/IBundleService.sol +106 -0
  278. package/contracts/pool/IPoolComponent.sol +112 -0
  279. package/contracts/pool/IPoolService.sol +147 -0
  280. package/contracts/pool/Pool.sol +299 -0
  281. package/contracts/pool/PoolService.sol +424 -0
  282. package/contracts/pool/PoolServiceManager.sol +42 -0
  283. package/contracts/product/ApplicationService.sol +254 -0
  284. package/contracts/product/ApplicationServiceManager.sol +38 -0
  285. package/contracts/product/ClaimService.sol +437 -0
  286. package/contracts/product/ClaimServiceManager.sol +38 -0
  287. package/contracts/product/IApplicationService.sol +62 -0
  288. package/contracts/product/IClaimService.sol +93 -0
  289. package/contracts/product/IPolicyService.sol +78 -0
  290. package/contracts/product/IPricingService.sol +39 -0
  291. package/contracts/product/IProductComponent.sol +42 -0
  292. package/contracts/product/IProductService.sol +33 -0
  293. package/contracts/product/PolicyService.sol +473 -0
  294. package/contracts/product/PolicyServiceManager.sol +42 -0
  295. package/contracts/product/PricingService.sol +301 -0
  296. package/contracts/product/PricingServiceManager.sol +42 -0
  297. package/contracts/product/Product.sol +377 -0
  298. package/contracts/product/ProductService.sol +124 -0
  299. package/contracts/product/ProductServiceManager.sol +42 -0
  300. package/contracts/registry/ChainNft.sol +143 -62
  301. package/contracts/registry/IRegistry.sol +97 -39
  302. package/contracts/registry/IRegistryService.sol +68 -0
  303. package/contracts/registry/ITransferInterceptor.sol +7 -0
  304. package/contracts/registry/Registry.sol +523 -127
  305. package/contracts/registry/RegistryAccessManager.sol +196 -0
  306. package/contracts/registry/RegistryService.sol +266 -0
  307. package/contracts/registry/RegistryServiceManager.sol +72 -0
  308. package/contracts/registry/ReleaseManager.sol +563 -0
  309. package/contracts/registry/ServiceAuthorizationsLib.sol +173 -0
  310. package/contracts/registry/TokenRegistry.sol +354 -0
  311. package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +13 -0
  312. package/contracts/shared/Component.sol +286 -0
  313. package/contracts/shared/ComponentService.sol +595 -0
  314. package/contracts/shared/ComponentServiceManager.sol +35 -0
  315. package/contracts/shared/ComponentVerifyingService.sol +111 -0
  316. package/contracts/shared/ERC165.sol +27 -0
  317. package/contracts/shared/IComponent.sol +74 -0
  318. package/contracts/shared/IComponentService.sol +91 -0
  319. package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
  320. package/contracts/shared/IKeyValueStore.sol +53 -0
  321. package/contracts/shared/ILifecycle.sol +30 -0
  322. package/contracts/shared/INftOwnable.sol +23 -0
  323. package/contracts/shared/IPolicyHolder.sol +45 -0
  324. package/contracts/shared/IRegisterable.sol +15 -0
  325. package/contracts/shared/IRegistryLinked.sol +11 -0
  326. package/contracts/shared/IService.sol +18 -0
  327. package/contracts/shared/IVersionable.sol +53 -0
  328. package/contracts/shared/InstanceLinkedComponent.sol +145 -0
  329. package/contracts/shared/KeyValueStore.sol +130 -0
  330. package/contracts/shared/Lifecycle.sol +121 -0
  331. package/contracts/shared/NftIdSetManager.sol +65 -0
  332. package/contracts/shared/NftOwnable.sol +118 -0
  333. package/contracts/shared/PolicyHolder.sol +101 -0
  334. package/contracts/shared/ProxyManager.sol +195 -0
  335. package/contracts/shared/Registerable.sol +75 -0
  336. package/contracts/shared/RegistryLinked.sol +43 -0
  337. package/contracts/shared/Service.sol +77 -0
  338. package/contracts/shared/TokenHandler.sol +58 -0
  339. package/contracts/shared/UpgradableProxyWithAdmin.sol +16 -0
  340. package/contracts/shared/Versionable.sol +59 -0
  341. package/contracts/staking/IStaking.sol +152 -0
  342. package/contracts/staking/IStakingManager.sol +15 -0
  343. package/contracts/staking/IStakingService.sol +162 -0
  344. package/contracts/staking/IStakingStore.sol +130 -0
  345. package/contracts/staking/StakeManagerLib.sol +156 -0
  346. package/contracts/staking/Staking.sol +502 -0
  347. package/contracts/staking/StakingManager.sol +65 -0
  348. package/contracts/staking/StakingReader.sol +147 -0
  349. package/contracts/staking/StakingService.sol +375 -0
  350. package/contracts/staking/StakingServiceManager.sol +44 -0
  351. package/contracts/staking/StakingStore.sol +329 -0
  352. package/contracts/staking/TargetManagerLib.sol +179 -0
  353. package/contracts/type/AddressSet.sol +58 -0
  354. package/contracts/type/Amount.sol +114 -0
  355. package/contracts/{types → type}/Blocknumber.sol +21 -3
  356. package/contracts/type/ClaimId.sol +75 -0
  357. package/contracts/type/DistributorType.sol +55 -0
  358. package/contracts/type/Fee.sol +66 -0
  359. package/contracts/type/Key32.sol +50 -0
  360. package/contracts/{types → type}/NftId.sol +40 -13
  361. package/contracts/type/NftIdSet.sol +62 -0
  362. package/contracts/{types → type}/ObjectType.sol +77 -15
  363. package/contracts/type/PayoutId.sol +82 -0
  364. package/contracts/type/Referral.sol +89 -0
  365. package/contracts/type/RiskId.sol +43 -0
  366. package/contracts/type/RoleId.sol +143 -0
  367. package/contracts/type/Seconds.sol +71 -0
  368. package/contracts/{types → type}/StateId.sol +38 -6
  369. package/contracts/{types → type}/Timestamp.sol +36 -6
  370. package/contracts/type/UFixed.sol +326 -0
  371. package/contracts/type/Version.sol +108 -0
  372. package/package.json +11 -5
  373. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  374. package/artifacts/contracts/components/Component.sol/Component.json +0 -205
  375. package/artifacts/contracts/components/Component.sol/InstanceLinked.dbg.json +0 -4
  376. package/artifacts/contracts/components/Component.sol/InstanceLinked.json +0 -35
  377. package/artifacts/contracts/components/IPool.sol/IPoolComponent.dbg.json +0 -4
  378. package/artifacts/contracts/components/IPool.sol/IPoolComponent.json +0 -255
  379. package/artifacts/contracts/components/IProduct.sol/IProductComponent.dbg.json +0 -4
  380. package/artifacts/contracts/components/IProduct.sol/IProductComponent.json +0 -74
  381. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  382. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -328
  383. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  384. package/artifacts/contracts/components/Product.sol/Product.json +0 -346
  385. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  386. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  387. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  388. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  389. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  390. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  391. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  392. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  393. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  394. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  395. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  396. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  397. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  398. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  399. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  400. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  401. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  402. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  403. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  404. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  405. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  406. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  407. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  408. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  409. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  410. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  411. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  412. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  413. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  414. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  415. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  416. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  417. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  418. package/artifacts/contracts/instance/access/Access.sol/AccessModule.dbg.json +0 -4
  419. package/artifacts/contracts/instance/access/Access.sol/AccessModule.json +0 -400
  420. package/artifacts/contracts/instance/access/IAccess.sol/IAccess.dbg.json +0 -4
  421. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.dbg.json +0 -4
  422. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.dbg.json +0 -4
  423. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.json +0 -50
  424. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  425. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.json +0 -336
  426. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  427. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.json +0 -299
  428. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.dbg.json +0 -4
  429. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.json +0 -202
  430. package/artifacts/contracts/instance/component/IComponent.sol/IComponent.dbg.json +0 -4
  431. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.dbg.json +0 -4
  432. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.json +0 -205
  433. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  434. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.json +0 -217
  435. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.dbg.json +0 -4
  436. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.json +0 -141
  437. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.dbg.json +0 -4
  438. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.json +0 -24
  439. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  440. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycle.json +0 -134
  441. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +0 -4
  442. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +0 -4
  443. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.json +0 -221
  444. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  445. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  446. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.json +0 -254
  447. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  448. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.json +0 -254
  449. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  450. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  451. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.json +0 -129
  452. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  453. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.json +0 -155
  454. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.dbg.json +0 -4
  455. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.json +0 -75
  456. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.dbg.json +0 -4
  457. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.json +0 -127
  458. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.dbg.json +0 -4
  459. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.json +0 -75
  460. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.dbg.json +0 -4
  461. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.json +0 -196
  462. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  463. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  464. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasuryModule.json +0 -490
  465. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  466. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.json +0 -45
  467. package/artifacts/contracts/instance/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  468. package/artifacts/contracts/instance/treasury/TreasuryModule.sol/TreasuryModule.json +0 -490
  469. package/artifacts/contracts/mock/Dip.sol/DIP.dbg.json +0 -4
  470. package/artifacts/contracts/mock/Dip.sol/DIP.json +0 -338
  471. package/artifacts/contracts/mock/TestPool.sol/TestPool.dbg.json +0 -4
  472. package/artifacts/contracts/mock/TestPool.sol/TestPool.json +0 -294
  473. package/artifacts/contracts/mock/TestProduct.sol/TestProduct.dbg.json +0 -4
  474. package/artifacts/contracts/mock/TestProduct.sol/TestProduct.json +0 -384
  475. package/artifacts/contracts/mock/Usdc.sol/USDC.dbg.json +0 -4
  476. package/artifacts/contracts/mock/Usdc.sol/USDC.json +0 -338
  477. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  478. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.dbg.json +0 -4
  479. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.json +0 -24
  480. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.dbg.json +0 -4
  481. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.json +0 -166
  482. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.dbg.json +0 -4
  483. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.json +0 -49
  484. package/artifacts/contracts/registry/Registry.sol/Registerable.dbg.json +0 -4
  485. package/artifacts/contracts/registry/Registry.sol/Registerable.json +0 -166
  486. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.dbg.json +0 -4
  487. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.json +0 -60
  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/NftId.sol/NftIdLib.dbg.json +0 -4
  492. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -92
  493. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  494. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  495. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  496. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -174
  497. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  498. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -479
  499. package/contracts/components/Component.sol +0 -77
  500. package/contracts/components/IPool.sol +0 -15
  501. package/contracts/components/IProduct.sol +0 -16
  502. package/contracts/components/Pool.sol +0 -52
  503. package/contracts/components/Product.sol +0 -89
  504. package/contracts/experiment/errors/Require.sol +0 -38
  505. package/contracts/experiment/errors/Revert.sol +0 -44
  506. package/contracts/experiment/inheritance/A.sol +0 -53
  507. package/contracts/experiment/inheritance/B.sol +0 -28
  508. package/contracts/experiment/inheritance/C.sol +0 -34
  509. package/contracts/experiment/inheritance/IA.sol +0 -13
  510. package/contracts/experiment/inheritance/IB.sol +0 -10
  511. package/contracts/experiment/inheritance/IC.sol +0 -12
  512. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  513. package/contracts/experiment/statemachine/ISM.sol +0 -25
  514. package/contracts/experiment/statemachine/README.md +0 -112
  515. package/contracts/experiment/statemachine/SM.sol +0 -57
  516. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  517. package/contracts/experiment/types/TypeA.sol +0 -47
  518. package/contracts/experiment/types/TypeB.sol +0 -29
  519. package/contracts/instance/access/Access.sol +0 -165
  520. package/contracts/instance/access/IAccess.sol +0 -63
  521. package/contracts/instance/component/ComponentModule.sol +0 -274
  522. package/contracts/instance/component/IComponent.sol +0 -74
  523. package/contracts/instance/lifecycle/ILifecycle.sol +0 -47
  524. package/contracts/instance/lifecycle/LifecycleModule.sol +0 -88
  525. package/contracts/instance/policy/IPolicy.sol +0 -50
  526. package/contracts/instance/policy/PolicyModule.sol +0 -114
  527. package/contracts/instance/pool/IPoolModule.sol +0 -23
  528. package/contracts/instance/pool/PoolModule.sol +0 -81
  529. package/contracts/instance/product/IProductService.sol +0 -36
  530. package/contracts/instance/product/ProductService.sol +0 -136
  531. package/contracts/instance/treasury/ITreasury.sol +0 -91
  532. package/contracts/instance/treasury/TokenHandler.sol +0 -24
  533. package/contracts/instance/treasury/TreasuryModule.sol +0 -168
  534. package/contracts/mock/TestPool.sol +0 -16
  535. package/contracts/mock/TestProduct.sol +0 -39
  536. package/contracts/mock/Usdc.sol +0 -26
  537. package/contracts/registry/IChainNft.sol +0 -21
  538. package/contracts/types/ChainId.sol +0 -38
  539. package/contracts/types/Fee.sol +0 -32
  540. package/contracts/types/UFixed.sol +0 -210
@@ -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,43 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Key32, KeyId, Key32Lib} from "./Key32.sol";
5
+ import {RISK} from "./ObjectType.sol";
6
+
7
+ type RiskId is bytes8;
8
+
9
+ // type bindings
10
+ using {
11
+ eqRiskId as ==,
12
+ neRiskId as !=,
13
+ RiskIdLib.toKey32
14
+ } for RiskId global;
15
+
16
+ // general pure free functions
17
+
18
+ // @dev Returns true iff risk ids a and b are identical
19
+ function eqRiskId(RiskId a, RiskId b) pure returns (bool isSame) {
20
+ return RiskId.unwrap(a) == RiskId.unwrap(b);
21
+ }
22
+
23
+ // @dev Returns true iff risk ids a and b are different
24
+ function neRiskId(RiskId a, RiskId b) pure returns (bool isDifferent) {
25
+ return RiskId.unwrap(a) != RiskId.unwrap(b);
26
+ }
27
+
28
+ library RiskIdLib {
29
+ // @dev Converts a role string into a role id.
30
+ function toRiskId(string memory risk) public pure returns (RiskId) {
31
+ return RiskId.wrap(bytes8(keccak256(abi.encode(risk))));
32
+ }
33
+
34
+ /// @dev Returns the key32 value for the specified nft id and object type.
35
+ function toKey32(RiskId id) public pure returns (Key32 key) {
36
+ return Key32Lib.toKey32(RISK(), toKeyId(id));
37
+ }
38
+
39
+ /// @dev Returns the key id value for the specified nft id
40
+ function toKeyId(RiskId id) public pure returns (KeyId keyId) {
41
+ return KeyId.wrap(bytes31(RiskId.unwrap(id)));
42
+ }
43
+ }
@@ -0,0 +1,143 @@
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 pool service
75
+ function POOL_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2200); }
76
+
77
+ /// @dev instance specific role for product service
78
+ function PRODUCT_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2300); }
79
+
80
+ /// @dev instance specific role for application service
81
+ function APPLICATION_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2400); }
82
+
83
+ /// @dev instance specific role for policy service
84
+ function POLICY_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2410); }
85
+
86
+ /// @dev instance specific role for claim service
87
+ function CLAIM_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2420); }
88
+
89
+ /// @dev instance specific role for bundle service
90
+ function BUNDLE_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2500); }
91
+
92
+ /// @dev instance specific role for pricing service
93
+ function PRICING_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2800); }
94
+
95
+ /// @dev instance specific role for staking service
96
+ function STAKING_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2900); }
97
+
98
+ // @dev Returns true iff role ids a and b are identical
99
+ function eqRoleId(RoleId a, RoleId b) pure returns (bool isSame) {
100
+ return RoleId.unwrap(a) == RoleId.unwrap(b);
101
+ }
102
+
103
+ // @dev Returns true iff role ids a and b are different
104
+ function neRoleId(RoleId a, RoleId b) pure returns (bool isDifferent) {
105
+ return RoleId.unwrap(a) != RoleId.unwrap(b);
106
+ }
107
+
108
+ library RoleIdLib {
109
+ /// @dev Converts the RoleId to a uint.
110
+ function zero() public pure returns (RoleId) {
111
+ return RoleId.wrap(0);
112
+ }
113
+
114
+ /// @dev Converts an uint into a RoleId.
115
+ function toRoleId(uint256 a) public pure returns (RoleId) {
116
+ return RoleId.wrap(uint64(a));
117
+ }
118
+
119
+ /// @dev Converts the RoleId to a uint.
120
+ function toInt(RoleId a) public pure returns (uint64) {
121
+ return uint64(RoleId.unwrap(a));
122
+ }
123
+
124
+ /// @dev Returns true if the value is non-zero (> 0).
125
+ function gtz(RoleId a) public pure returns (bool) {
126
+ return RoleId.unwrap(a) > 0;
127
+ }
128
+
129
+ /// @dev Returns true if the value is zero (== 0).
130
+ function eqz(RoleId a) public pure returns (bool) {
131
+ return RoleId.unwrap(a) == 0;
132
+ }
133
+
134
+ /// @dev Returns the key32 value for the specified id and object type.
135
+ function toKey32(RoleId a) public pure returns (Key32 key) {
136
+ return Key32Lib.toKey32(ROLE(), toKeyId(a));
137
+ }
138
+
139
+ /// @dev Returns the key id value for the specified id
140
+ function toKeyId(RoleId a) public pure returns (KeyId keyId) {
141
+ return KeyId.wrap(bytes31(uint248(RoleId.unwrap(a))));
142
+ }
143
+ }
@@ -0,0 +1,71 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ type Seconds is uint40;
5
+
6
+ using {
7
+ SecondsGt as >,
8
+ SecondsLib.eqz,
9
+ SecondsLib.gtz,
10
+ SecondsLib.toInt
11
+ } for Seconds global;
12
+
13
+ function SecondsGt(Seconds duration1, Seconds duration2) pure returns (bool) {
14
+ return SecondsLib.gt(duration1, duration2);
15
+ }
16
+
17
+ library SecondsLib {
18
+
19
+ error ErrorSecondsLibDurationTooBig(uint256 duration);
20
+
21
+ function zero() public pure returns (Seconds) {
22
+ return Seconds.wrap(0);
23
+ }
24
+
25
+ function max() public pure returns (Seconds) {
26
+ return Seconds.wrap(_max());
27
+ }
28
+
29
+ function oneDay() public pure returns (Seconds duration) {
30
+ return Seconds.wrap(24 * 3600);
31
+ }
32
+
33
+ function oneYear() public pure returns (Seconds duration) {
34
+ return Seconds.wrap(365 * 24 * 3600);
35
+ }
36
+
37
+ /// @dev converts the uint duration into Seconds
38
+ /// function reverts if duration is exceeding max Seconds value
39
+ function toSeconds(uint256 duration) public pure returns (Seconds) {
40
+ // if(duration > type(uint40).max) {
41
+ if(duration > _max()) {
42
+ revert ErrorSecondsLibDurationTooBig(duration);
43
+ }
44
+
45
+ return Seconds.wrap(uint40(duration));
46
+ }
47
+
48
+ /// @dev return true if duration equals 0
49
+ function eqz(Seconds duration) public pure returns (bool) {
50
+ return Seconds.unwrap(duration) == 0;
51
+ }
52
+
53
+ /// @dev return true if duration is larger than 0
54
+ function gtz(Seconds duration) public pure returns (bool) {
55
+ return Seconds.unwrap(duration) > 0;
56
+ }
57
+
58
+ /// @dev return true if duration1 is larger than duration2
59
+ function gt(Seconds duration1, Seconds duration2) public pure returns (bool) {
60
+ return Seconds.unwrap(duration1) > Seconds.unwrap(duration2);
61
+ }
62
+
63
+ function toInt(Seconds duration) public pure returns (uint256) {
64
+ return uint256(uint40(Seconds.unwrap(duration)));
65
+ }
66
+
67
+ function _max() internal pure returns (uint40) {
68
+ // IMPORTANT: type nees to match with actual definition for Seconds
69
+ return type(uint40).max;
70
+ }
71
+ }
@@ -1,13 +1,36 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
2
+ pragma solidity ^0.8.20;
3
3
 
4
4
  // uint96 allows for chain ids up to 13 digits
5
5
  type StateId is uint8;
6
6
 
7
7
  // type bindings
8
- using {eqStateId as ==, neStateId as !=, StateIdLib.toInt} for StateId global;
8
+ using {
9
+ eqStateId as ==,
10
+ neStateId as !=,
11
+ StateIdLib.eqz,
12
+ StateIdLib.gtz,
13
+ StateIdLib.toInt
14
+ } for StateId global;
9
15
 
10
16
  // general pure free functions
17
+
18
+ function INITIAL() pure returns (StateId) {
19
+ return toStateId(1);
20
+ }
21
+
22
+ function SCHEDULED() pure returns (StateId) {
23
+ return toStateId(2);
24
+ }
25
+
26
+ function DEPLOYING() pure returns (StateId) {
27
+ return toStateId(3);
28
+ }
29
+
30
+ function ACTIVE() pure returns (StateId) {
31
+ return toStateId(4);
32
+ }
33
+
11
34
  function APPLIED() pure returns (StateId) {
12
35
  return toStateId(10);
13
36
  }
@@ -20,16 +43,20 @@ function DECLINED() pure returns (StateId) {
20
43
  return toStateId(30);
21
44
  }
22
45
 
23
- function CONFIRMED() pure returns (StateId) {
46
+ function COLLATERALIZED() pure returns (StateId) {
24
47
  return toStateId(40);
25
48
  }
26
49
 
27
- function EXPECTED() pure returns (StateId) {
50
+ function SUBMITTED() pure returns (StateId) {
28
51
  return toStateId(50);
29
52
  }
30
53
 
31
- function ACTIVE() pure returns (StateId) {
32
- return toStateId(100);
54
+ function CONFIRMED() pure returns (StateId) {
55
+ return toStateId(51);
56
+ }
57
+
58
+ function EXPECTED() pure returns (StateId) {
59
+ return toStateId(60);
33
60
  }
34
61
 
35
62
  function PAUSED() pure returns (StateId) {
@@ -48,11 +75,16 @@ function PAID() pure returns (StateId) {
48
75
  return toStateId(220);
49
76
  }
50
77
 
78
+ function KEEP_STATE() pure returns (StateId) {
79
+ return toStateId(type(uint8).max);
80
+ }
81
+
51
82
  /// @dev Converts the uint8 to a StateId.
52
83
  function toStateId(uint256 id) pure returns (StateId) {
53
84
  return StateId.wrap(uint8(id));
54
85
  }
55
86
 
87
+ // TODO move to StateIdLib and rename to zero()
56
88
  /// @dev Return the StateId zero (0)
57
89
  function zeroStateId() pure returns (StateId) {
58
90
  return StateId.wrap(0);
@@ -1,5 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Seconds} from "./Seconds.sol";
3
5
 
4
6
  type Timestamp is uint40;
5
7
 
@@ -9,7 +11,11 @@ using {
9
11
  ltTimestamp as <,
10
12
  lteTimestamp as <=,
11
13
  eqTimestamp as ==,
12
- neTimestamp as !=
14
+ neTimestamp as !=,
15
+ TimestampLib.gtz,
16
+ TimestampLib.eqz,
17
+ TimestampLib.addSeconds,
18
+ TimestampLib.toInt
13
19
  } for Timestamp global;
14
20
 
15
21
  /// @dev return true if Timestamp a is after Timestamp b
@@ -47,16 +53,22 @@ function toTimestamp(uint256 timestamp) pure returns (Timestamp) {
47
53
  return Timestamp.wrap(uint40(timestamp));
48
54
  }
49
55
 
50
- function blockTimestamp() view returns (Timestamp) {
51
- return toTimestamp(block.timestamp);
52
- }
53
-
56
+ // TODO move to TimestampLib and rename to zero()
54
57
  /// @dev Return the Timestamp zero (0)
55
58
  function zeroTimestamp() pure returns (Timestamp) {
56
59
  return toTimestamp(0);
57
60
  }
58
61
 
59
62
  library TimestampLib {
63
+
64
+ function zero() public pure returns (Timestamp) {
65
+ return toTimestamp(0);
66
+ }
67
+
68
+ function blockTimestamp() public view returns (Timestamp) {
69
+ return Timestamp.wrap(uint40(block.timestamp));
70
+ }
71
+
60
72
  /// @dev return true if Timestamp a is after Timestamp b
61
73
  function gt(Timestamp a, Timestamp b) public pure returns (bool isAfter) {
62
74
  return gtTimestamp(a, b);
@@ -96,6 +108,24 @@ library TimestampLib {
96
108
  return neTimestamp(a, b);
97
109
  }
98
110
 
111
+ /// @dev return true if Timestamp equals 0
112
+ function eqz(Timestamp timestamp) public pure returns (bool) {
113
+ return Timestamp.unwrap(timestamp) == 0;
114
+ }
115
+
116
+ /// @dev return true if Timestamp is larger than 0
117
+ function gtz(Timestamp timestamp) public pure returns (bool) {
118
+ return Timestamp.unwrap(timestamp) > 0;
119
+ }
120
+
121
+ /// @dev return true if Timestamp a is not equal to Timestamp b
122
+ function addSeconds(
123
+ Timestamp timestamp,
124
+ Seconds duration
125
+ ) public pure returns (Timestamp) {
126
+ return toTimestamp(Timestamp.unwrap(timestamp) + duration.toInt());
127
+ }
128
+
99
129
  function toInt(Timestamp timestamp) public pure returns (uint256) {
100
130
  return uint256(uint40(Timestamp.unwrap(timestamp)));
101
131
  }