@etherisc/gif-next 0.0.2-89368f7-609 → 0.0.2-8bdd2eb-413

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 (591) hide show
  1. package/README.md +10 -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 +1 -1
  13. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +73 -83
  14. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  15. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +286 -1351
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +321 -212
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +463 -2526
  20. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  21. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +708 -0
  22. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  23. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +204 -0
  24. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  25. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +485 -342
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +487 -425
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +350 -124
  30. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  31. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3458 -0
  32. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  33. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  34. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  35. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +6 -1
  36. package/artifacts/contracts/instance/base/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 -144
  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 +1105 -0
  50. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  51. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +746 -0
  52. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  53. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +299 -278
  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 +1065 -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 +1432 -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 +834 -0
  66. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  67. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +722 -0
  68. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  69. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1278 -0
  70. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  71. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +810 -0
  72. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  73. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +216 -253
  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/{instance/service → product}/IPolicyService.sol/IPolicyService.json +339 -296
  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} +276 -239
  80. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  81. package/artifacts/contracts/{components/Product.sol/Product.json → product/IProductComponent.sol/IProductComponent.json} +449 -229
  82. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  83. package/artifacts/contracts/{components/IBaseComponent.sol/IBaseComponent.json → product/IProductService.sol/IProductService.json} +125 -122
  84. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  85. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1146 -0
  86. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  87. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +754 -0
  88. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  89. package/artifacts/contracts/product/PricingService.sol/PricingService.json +983 -0
  90. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  91. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +778 -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 +388 -127
  102. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  103. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +382 -219
  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 +576 -182
  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 +452 -330
  112. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  113. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +331 -139
  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 +1 -1
  119. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +351 -100
  120. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
  121. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
  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/{components/Pool.sol/Pool.json → shared/Component.sol/Component.json} +434 -380
  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/ComponentServiceBase.sol/ComponentServiceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +209 -204
  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/{components/BaseComponent.sol/BaseComponent.json → shared/IComponent.sol/IComponent.json} +274 -125
  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/{components/Distribution.sol/Distribution.json → shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json} +246 -216
  150. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  151. package/artifacts/contracts/{instance/IInstanceBase.sol/IInstanceBase.json → shared/IKeyValueStore.sol/IKeyValueStore.json} +51 -31
  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/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  162. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  163. package/artifacts/contracts/shared/IService.sol/IService.json +88 -176
  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 +571 -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 +1 -1
  187. package/artifacts/contracts/shared/Service.sol/Service.json +191 -165
  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 +1438 -0
  196. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  197. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +993 -0
  198. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  199. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +444 -0
  200. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  201. package/artifacts/contracts/staking/Staking.sol/Staking.json +2045 -0
  202. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  203. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +777 -0
  204. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  205. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  206. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  207. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1324 -0
  208. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  209. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +726 -0
  210. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  211. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2189 -0
  212. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  213. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
  214. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  215. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  216. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  217. package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
  218. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  219. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  220. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  221. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  222. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  223. package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
  224. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  225. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  226. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  227. package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
  228. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  229. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  230. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  231. package/artifacts/contracts/{types → type}/NftIdSet.sol/LibNftIdSet.json +3 -3
  232. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  233. package/artifacts/contracts/{types → type}/ObjectType.sol/ObjectTypeLib.json +3 -3
  234. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  235. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  236. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  237. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  238. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  239. package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
  240. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  241. package/artifacts/contracts/{types → type}/RoleId.sol/RoleIdLib.json +5 -5
  242. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  243. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  244. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  245. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  246. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  247. package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +39 -8
  248. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  249. package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
  250. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  251. package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
  252. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  253. package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
  254. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  255. package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
  256. package/contracts/distribution/Distribution.sol +261 -0
  257. package/contracts/distribution/DistributionService.sol +298 -0
  258. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  259. package/contracts/distribution/IDistributionComponent.sol +66 -0
  260. package/contracts/distribution/IDistributionService.sol +81 -0
  261. package/contracts/instance/BundleManager.sol +22 -25
  262. package/contracts/instance/IInstance.sol +62 -45
  263. package/contracts/instance/IInstanceService.sol +60 -17
  264. package/contracts/instance/Instance.sol +155 -196
  265. package/contracts/instance/InstanceAdmin.sol +331 -0
  266. package/contracts/instance/InstanceAuthorizationsLib.sol +349 -0
  267. package/contracts/instance/InstanceReader.sol +136 -86
  268. package/contracts/instance/InstanceService.sol +272 -210
  269. package/contracts/instance/InstanceServiceManager.sol +12 -25
  270. package/contracts/instance/InstanceStore.sol +260 -0
  271. package/contracts/instance/base/BalanceStore.sol +118 -0
  272. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +8 -3
  273. package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +16 -35
  274. package/contracts/instance/module/IAccess.sol +20 -22
  275. package/contracts/instance/module/IBundle.sol +8 -8
  276. package/contracts/instance/module/IComponents.sol +52 -0
  277. package/contracts/instance/module/IDistribution.sol +7 -4
  278. package/contracts/instance/module/IPolicy.sol +56 -17
  279. package/contracts/instance/module/IRisk.sol +1 -1
  280. package/contracts/{test/Usdc.sol → mock/Dip.sol} +5 -5
  281. package/contracts/pool/BundleService.sol +296 -0
  282. package/contracts/pool/BundleServiceManager.sol +42 -0
  283. package/contracts/pool/IBundleService.sol +106 -0
  284. package/contracts/pool/IPoolComponent.sol +112 -0
  285. package/contracts/pool/IPoolService.sol +150 -0
  286. package/contracts/pool/Pool.sol +299 -0
  287. package/contracts/pool/PoolService.sol +453 -0
  288. package/contracts/pool/PoolServiceManager.sol +42 -0
  289. package/contracts/product/ApplicationService.sol +254 -0
  290. package/contracts/product/ApplicationServiceManager.sol +38 -0
  291. package/contracts/product/ClaimService.sol +442 -0
  292. package/contracts/product/ClaimServiceManager.sol +38 -0
  293. package/contracts/product/IApplicationService.sol +62 -0
  294. package/contracts/product/IClaimService.sol +93 -0
  295. package/contracts/product/IPolicyService.sol +78 -0
  296. package/contracts/product/IPricingService.sol +39 -0
  297. package/contracts/product/IProductComponent.sol +42 -0
  298. package/contracts/product/IProductService.sol +33 -0
  299. package/contracts/product/PolicyService.sol +475 -0
  300. package/contracts/product/PolicyServiceManager.sol +42 -0
  301. package/contracts/product/PricingService.sol +301 -0
  302. package/contracts/product/PricingServiceManager.sol +42 -0
  303. package/contracts/product/Product.sol +377 -0
  304. package/contracts/product/ProductService.sol +124 -0
  305. package/contracts/product/ProductServiceManager.sol +42 -0
  306. package/contracts/registry/ChainNft.sol +15 -0
  307. package/contracts/registry/IRegistry.sol +73 -30
  308. package/contracts/registry/IRegistryService.sol +47 -28
  309. package/contracts/registry/ITransferInterceptor.sol +1 -0
  310. package/contracts/registry/Registry.sol +375 -247
  311. package/contracts/registry/RegistryAdmin.sol +237 -0
  312. package/contracts/registry/RegistryService.sol +115 -207
  313. package/contracts/registry/RegistryServiceManager.sol +24 -46
  314. package/contracts/registry/ReleaseManager.sol +599 -0
  315. package/contracts/registry/ServiceAuthorizationsLib.sol +173 -0
  316. package/contracts/registry/TokenRegistry.sol +261 -57
  317. package/contracts/shared/AccessManagerCustom.sol +736 -0
  318. package/contracts/shared/AccessManagerExtended.sol +470 -0
  319. package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
  320. package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
  321. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
  322. package/contracts/shared/Component.sol +278 -0
  323. package/contracts/shared/ComponentService.sol +596 -0
  324. package/contracts/shared/ComponentServiceManager.sol +35 -0
  325. package/contracts/shared/ComponentVerifyingService.sol +111 -0
  326. package/contracts/shared/ERC165.sol +15 -13
  327. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  328. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
  329. package/contracts/shared/IComponent.sol +70 -0
  330. package/contracts/shared/IComponentService.sol +91 -0
  331. package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
  332. package/contracts/{instance/base → shared}/IKeyValueStore.sol +15 -11
  333. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -3
  334. package/contracts/shared/INftOwnable.sol +13 -12
  335. package/contracts/shared/IPolicyHolder.sol +45 -0
  336. package/contracts/shared/IRegisterable.sol +4 -6
  337. package/contracts/shared/IRegistryLinked.sol +11 -0
  338. package/contracts/shared/IService.sol +8 -5
  339. package/contracts/shared/IVersionable.sol +5 -48
  340. package/contracts/shared/InitializableCustom.sol +177 -0
  341. package/contracts/shared/InstanceLinkedComponent.sol +144 -0
  342. package/contracts/shared/KeyValueStore.sol +127 -0
  343. package/contracts/{instance/base → shared}/Lifecycle.sol +28 -7
  344. package/contracts/shared/NftIdSetManager.sol +65 -0
  345. package/contracts/shared/NftOwnable.sol +59 -86
  346. package/contracts/shared/PolicyHolder.sol +102 -0
  347. package/contracts/shared/ProxyManager.sol +131 -26
  348. package/contracts/shared/Registerable.sol +26 -41
  349. package/contracts/shared/RegistryLinked.sol +43 -0
  350. package/contracts/shared/Service.sol +46 -24
  351. package/contracts/shared/TokenHandler.sol +37 -6
  352. package/contracts/shared/Versionable.sol +4 -92
  353. package/contracts/staking/IStaking.sol +168 -0
  354. package/contracts/staking/IStakingService.sol +149 -0
  355. package/contracts/staking/StakeManagerLib.sol +179 -0
  356. package/contracts/staking/Staking.sol +551 -0
  357. package/contracts/staking/StakingManager.sol +54 -0
  358. package/contracts/staking/StakingReader.sol +187 -0
  359. package/contracts/staking/StakingService.sol +406 -0
  360. package/contracts/staking/StakingServiceManager.sol +45 -0
  361. package/contracts/staking/StakingStore.sol +572 -0
  362. package/contracts/staking/TargetManagerLib.sol +207 -0
  363. package/contracts/{types → type}/AddressSet.sol +1 -1
  364. package/contracts/type/Amount.sol +128 -0
  365. package/contracts/{types → type}/Blocknumber.sol +21 -3
  366. package/contracts/type/ClaimId.sol +75 -0
  367. package/contracts/{types → type}/DistributorType.sol +2 -2
  368. package/contracts/{types → type}/Fee.sol +33 -23
  369. package/contracts/{types → type}/NftId.sol +21 -15
  370. package/contracts/{types → type}/NftIdSet.sol +2 -2
  371. package/contracts/{types → type}/ObjectType.sol +26 -9
  372. package/contracts/type/PayoutId.sol +82 -0
  373. package/contracts/{types → type}/Referral.sol +5 -1
  374. package/contracts/{types → type}/RiskId.sol +1 -1
  375. package/contracts/type/RoleId.sol +143 -0
  376. package/contracts/type/Seconds.sol +81 -0
  377. package/contracts/{types → type}/StateId.sol +24 -6
  378. package/contracts/{types → type}/Timestamp.sol +18 -13
  379. package/contracts/{types → type}/UFixed.sol +1 -0
  380. package/contracts/{types → type}/Version.sol +2 -1
  381. package/package.json +3 -3
  382. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  383. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  384. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  385. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  386. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  387. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  388. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -275
  389. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  390. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  391. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  392. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  393. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  394. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  395. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  396. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  397. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  398. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  399. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  400. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  401. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  402. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  403. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  404. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  405. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  406. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  407. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  408. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  409. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  410. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  411. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  412. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  413. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  414. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  415. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  416. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  417. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  418. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  419. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  420. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  421. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  422. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  423. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  424. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  425. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  426. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  427. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  428. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  429. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  430. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  431. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  432. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  433. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  434. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  435. package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  436. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  437. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1102
  438. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  439. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -763
  440. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  441. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -285
  442. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  443. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  444. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  445. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  446. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +0 -429
  447. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  448. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  449. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  450. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  451. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  452. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  453. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  454. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  455. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  456. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -923
  457. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  458. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -440
  459. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  460. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  461. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  462. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -684
  463. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  464. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -428
  465. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  466. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  467. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +0 -466
  468. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  469. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  470. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  471. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  472. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  473. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  474. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -984
  475. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  476. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -464
  477. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  478. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -718
  479. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  480. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -428
  481. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  482. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -768
  483. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  484. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -420
  485. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  486. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  487. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  488. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
  489. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  490. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  491. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  492. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  493. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  494. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  495. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  496. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  497. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  498. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  499. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  500. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  501. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  502. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  503. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  504. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  505. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  506. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  507. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  508. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  509. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  510. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  511. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  512. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  513. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  514. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  515. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  516. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  517. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  518. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  519. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  520. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  521. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  522. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  523. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  524. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  525. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  526. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  527. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  528. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  529. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  530. package/contracts/components/BaseComponent.sol +0 -150
  531. package/contracts/components/Distribution.sol +0 -163
  532. package/contracts/components/IBaseComponent.sol +0 -32
  533. package/contracts/components/IDistributionComponent.sol +0 -44
  534. package/contracts/components/IPoolComponent.sol +0 -66
  535. package/contracts/components/IProductComponent.sol +0 -35
  536. package/contracts/components/Pool.sol +0 -271
  537. package/contracts/components/Product.sol +0 -292
  538. package/contracts/experiment/cloning/Cloner.sol +0 -47
  539. package/contracts/experiment/errors/Require.sol +0 -38
  540. package/contracts/experiment/errors/Revert.sol +0 -44
  541. package/contracts/experiment/inheritance/A.sol +0 -53
  542. package/contracts/experiment/inheritance/B.sol +0 -28
  543. package/contracts/experiment/inheritance/C.sol +0 -34
  544. package/contracts/experiment/inheritance/IA.sol +0 -13
  545. package/contracts/experiment/inheritance/IB.sol +0 -10
  546. package/contracts/experiment/inheritance/IC.sol +0 -12
  547. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  548. package/contracts/experiment/statemachine/ISM.sol +0 -25
  549. package/contracts/experiment/statemachine/SM.sol +0 -57
  550. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  551. package/contracts/experiment/types/TypeA.sol +0 -47
  552. package/contracts/experiment/types/TypeB.sol +0 -29
  553. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -23
  554. package/contracts/instance/IInstanceBase.sol +0 -26
  555. package/contracts/instance/InstanceAccessManager.sol +0 -311
  556. package/contracts/instance/InstanceBase.sol +0 -41
  557. package/contracts/instance/base/ComponentServiceBase.sol +0 -74
  558. package/contracts/instance/base/IInstanceBase.sol +0 -23
  559. package/contracts/instance/base/KeyValueStore.sol +0 -172
  560. package/contracts/instance/module/ISetup.sol +0 -46
  561. package/contracts/instance/module/ITreasury.sol +0 -23
  562. package/contracts/instance/service/BundleService.sol +0 -260
  563. package/contracts/instance/service/BundleServiceManager.sol +0 -54
  564. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  565. package/contracts/instance/service/DistributionService.sol +0 -120
  566. package/contracts/instance/service/DistributionServiceManager.sol +0 -54
  567. package/contracts/instance/service/IBundleService.sol +0 -45
  568. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  569. package/contracts/instance/service/IDistributionService.sol +0 -12
  570. package/contracts/instance/service/IPolicyService.sol +0 -87
  571. package/contracts/instance/service/IPoolService.sol +0 -20
  572. package/contracts/instance/service/IProductService.sol +0 -40
  573. package/contracts/instance/service/PolicyService.sol +0 -508
  574. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  575. package/contracts/instance/service/PoolService.sol +0 -126
  576. package/contracts/instance/service/PoolServiceManager.sol +0 -54
  577. package/contracts/instance/service/ProductService.sol +0 -175
  578. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  579. package/contracts/shared/ContractDeployerLib.sol +0 -72
  580. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  581. package/contracts/test/TestFee.sol +0 -25
  582. package/contracts/test/TestRegisterable.sol +0 -18
  583. package/contracts/test/TestRoleId.sol +0 -14
  584. package/contracts/test/TestService.sol +0 -24
  585. package/contracts/test/TestToken.sol +0 -26
  586. package/contracts/test/TestVersion.sol +0 -44
  587. package/contracts/test/TestVersionable.sol +0 -17
  588. package/contracts/types/ChainId.sol +0 -38
  589. package/contracts/types/NumberId.sol +0 -52
  590. package/contracts/types/RoleId.sol +0 -91
  591. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -1,54 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IVersionable} from "../../shared/IVersionable.sol";
5
- import {ProxyManager} from "../../shared/ProxyManager.sol";
6
- import {PoolService} from "./PoolService.sol";
7
- import {Registry} from "../../registry/Registry.sol";
8
- import {RegistryService} from "../../registry/RegistryService.sol";
9
- import {VersionLib} from "../../types/Version.sol";
10
-
11
- contract PoolServiceManager is ProxyManager {
12
-
13
- PoolService private _poolService;
14
-
15
- /// @dev initializes proxy manager with pool service implementation
16
- constructor(
17
- address registryAddress
18
- )
19
- ProxyManager()
20
- {
21
- PoolService poolSrv = new PoolService();
22
- bytes memory data = abi.encode(registryAddress, address(this));
23
- IVersionable versionable = deploy(
24
- address(poolSrv),
25
- data);
26
-
27
- _poolService = PoolService(address(versionable));
28
-
29
- Registry registry = Registry(registryAddress);
30
- address registryServiceAddress = registry.getServiceAddress("RegistryService", VersionLib.toVersion(3, 0, 0).toMajorPart());
31
- RegistryService registryService = RegistryService(registryServiceAddress);
32
- // TODO this must have a role or own nft to register service
33
- //registryService.registerService(_poolService);
34
-
35
- // TODO no nft to link yet
36
- // link ownership of instance service manager ot nft owner of instance service
37
- //_linkToNftOwnable(
38
- // address(registryAddress),
39
- // address(_poolService));
40
-
41
- // implies that after this constructor call only upgrade functionality is available
42
- _isDeployed = true;
43
- }
44
-
45
- //--- view functions ----------------------------------------------------//
46
- function getPoolService()
47
- external
48
- view
49
- returns (PoolService poolService)
50
- {
51
- return _poolService;
52
- }
53
-
54
- }
@@ -1,175 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRegistry} from "../../registry/IRegistry.sol";
5
- import {IProductComponent} from "../../components/IProductComponent.sol";
6
- import {Product} from "../../components/Product.sol";
7
- import {IBaseComponent} from "../../components/IBaseComponent.sol";
8
- import {IPoolComponent} from "../../components/IPoolComponent.sol";
9
- import {IDistributionComponent} from "../../components/IDistributionComponent.sol";
10
- import {IInstance} from "../IInstance.sol";
11
- import {IPolicy} from "../module/IPolicy.sol";
12
- import {IRisk} from "../module/IRisk.sol";
13
- import {IBundle} from "../module/IBundle.sol";
14
- import {IProductService} from "./IProductService.sol";
15
- import {ITreasury} from "../module/ITreasury.sol";
16
- import {ISetup} from "../module/ISetup.sol";
17
-
18
- import {TokenHandler} from "../../shared/TokenHandler.sol";
19
-
20
- import {IVersionable} from "../../shared/IVersionable.sol";
21
- import {Versionable} from "../../shared/Versionable.sol";
22
-
23
- import {Timestamp, zeroTimestamp} from "../../types/Timestamp.sol";
24
- import {UFixed, UFixedLib} from "../../types/UFixed.sol";
25
- import {Blocknumber, blockNumber} from "../../types/Blocknumber.sol";
26
- import {ObjectType, INSTANCE, PRODUCT, POLICY} from "../../types/ObjectType.sol";
27
- import {APPLIED, UNDERWRITTEN, ACTIVE, KEEP_STATE} from "../../types/StateId.sol";
28
- import {NftId, NftIdLib, zeroNftId} from "../../types/NftId.sol";
29
- import {Fee, FeeLib} from "../../types/Fee.sol";
30
- import {ReferralId} from "../../types/Referral.sol";
31
- import {RiskId} from "../../types/RiskId.sol";
32
- import {StateId} from "../../types/StateId.sol";
33
- import {Version, VersionLib} from "../../types/Version.sol";
34
- import {RoleId, PRODUCT_OWNER_ROLE} from "../../types/RoleId.sol";
35
-
36
- import {IService} from "../../shared/IService.sol";
37
- import {Service} from "../../shared/Service.sol";
38
- import {ComponentServiceBase} from "../base/ComponentServiceBase.sol";
39
- import {IProductService} from "./IProductService.sol";
40
- import {InstanceReader} from "../InstanceReader.sol";
41
- import {IPoolService} from "./PoolService.sol";
42
- import {POOL_SERVICE_NAME} from "./PoolService.sol";
43
-
44
- string constant PRODUCT_SERVICE_NAME = "ProductService";
45
-
46
- // TODO or name this ProtectionService to have Product be something more generic (loan, savings account, ...)
47
- contract ProductService is ComponentServiceBase, IProductService {
48
- using NftIdLib for NftId;
49
-
50
- string public constant NAME = "ProductService";
51
-
52
- IPoolService internal _poolService;
53
-
54
- event LogProductServiceSender(address sender);
55
-
56
- function _initialize(
57
- address owner,
58
- bytes memory data
59
- )
60
- internal
61
- initializer
62
- virtual override
63
- {
64
- address registryAddress;
65
- address initialOwner;
66
- (registryAddress, initialOwner) = abi.decode(data, (address, address));
67
-
68
- _initializeService(registryAddress, owner);
69
-
70
- _poolService = IPoolService(_registry.getServiceAddress(POOL_SERVICE_NAME, getMajorVersion()));
71
-
72
- _registerInterface(type(IProductService).interfaceId);
73
- }
74
-
75
-
76
- function getName() public pure override(IService, Service) returns(string memory name) {
77
- return NAME;
78
- }
79
-
80
- function register(address productAddress)
81
- external
82
- returns(NftId productNftId)
83
- {
84
- address productOwner = msg.sender;
85
- IBaseComponent product = IBaseComponent(productAddress);
86
-
87
- IRegistry.ObjectInfo memory info;
88
- bytes memory data;
89
- (info, data) = getRegistryService().registerProduct(product, productOwner);
90
-
91
- IInstance instance = _getInstance(info);
92
- bool hasRole = getInstanceService().hasRole(
93
- productOwner,
94
- PRODUCT_OWNER_ROLE(),
95
- address(instance));
96
-
97
- if(!hasRole) {
98
- revert ExpectedRoleMissing(PRODUCT_OWNER_ROLE(), productOwner);
99
- }
100
-
101
- productNftId = info.nftId;
102
- ISetup.ProductSetupInfo memory initialSetup = _decodeAndVerifyProductSetup(data);
103
- instance.createProductSetup(productNftId, initialSetup);
104
-
105
- // FIXME: create component target
106
- }
107
-
108
- function _decodeAndVerifyProductSetup(bytes memory data) internal returns(ISetup.ProductSetupInfo memory setup)
109
- {
110
- setup = abi.decode(
111
- data,
112
- (ISetup.ProductSetupInfo)
113
- );
114
-
115
- // TODO add checks if applicable
116
- }
117
-
118
- function setFees(
119
- Fee memory productFee,
120
- Fee memory processingFee
121
- )
122
- external
123
- {
124
- // TODO check args
125
-
126
- (
127
- IRegistry.ObjectInfo memory productInfo,
128
- IInstance instance
129
- ) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
130
-
131
- InstanceReader instanceReader = instance.getInstanceReader();
132
- NftId productNftId = productInfo.nftId;
133
- ISetup.ProductSetupInfo memory productSetupInfo = instanceReader.getProductSetupInfo(productNftId);
134
-
135
- productSetupInfo.productFee = productFee;
136
- productSetupInfo.processingFee = processingFee;
137
-
138
- instance.updateProductSetup(productNftId, productSetupInfo, KEEP_STATE());
139
- }
140
-
141
- function createRisk(
142
- RiskId riskId,
143
- bytes memory data
144
- ) external override {
145
- (
146
- IRegistry.ObjectInfo memory productInfo,
147
- IInstance instance
148
- ) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
149
- NftId productNftId = productInfo.nftId;
150
- IRisk.RiskInfo memory riskInfo = IRisk.RiskInfo(productNftId, data);
151
- instance.createRisk(
152
- riskId,
153
- riskInfo
154
- );
155
- }
156
-
157
- function updateRisk(
158
- RiskId riskId,
159
- bytes memory data
160
- ) external {
161
- (, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
162
- InstanceReader instanceReader = instance.getInstanceReader();
163
- IRisk.RiskInfo memory riskInfo = instanceReader.getRiskInfo(riskId);
164
- riskInfo.data = data;
165
- instance.updateRisk(riskId, riskInfo, KEEP_STATE());
166
- }
167
-
168
- function updateRiskState(
169
- RiskId riskId,
170
- StateId state
171
- ) external {
172
- (, IInstance instance) = _getAndVerifyComponentInfoAndInstance(PRODUCT());
173
- instance.updateRiskState(riskId, state);
174
- }
175
- }
@@ -1,54 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IVersionable} from "../../shared/IVersionable.sol";
5
- import {ProxyManager} from "../../shared/ProxyManager.sol";
6
- import {ProductService} from "./ProductService.sol";
7
- import {Registry} from "../../registry/Registry.sol";
8
- import {RegistryService} from "../../registry/RegistryService.sol";
9
- import {VersionLib} from "../../types/Version.sol";
10
-
11
- contract ProductServiceManager is ProxyManager {
12
-
13
- ProductService private _productService;
14
-
15
- /// @dev initializes proxy manager with product service implementation
16
- constructor(
17
- address registryAddress
18
- )
19
- ProxyManager()
20
- {
21
- ProductService svc = new ProductService();
22
- bytes memory data = abi.encode(registryAddress, address(this));
23
- IVersionable versionable = deploy(
24
- address(svc),
25
- data);
26
-
27
- _productService = ProductService(address(versionable));
28
-
29
- // Registry registry = Registry(registryAddress);
30
- // address registryServiceAddress = registry.getServiceAddress("RegistryService", VersionLib.toVersion(3, 0, 0).toMajorPart());
31
- // RegistryService registryService = RegistryService(registryServiceAddress);
32
- // TODO this must have a role or own nft to register service
33
- //registryService.registerService(_productService);
34
-
35
- // TODO no nft to link yet
36
- // link ownership of instance service manager ot nft owner of instance service
37
- //_linkToNftOwnable(
38
- // address(registryAddress),
39
- // address(_productService));
40
-
41
- // implies that after this constructor call only upgrade functionality is available
42
- _isDeployed = true;
43
- }
44
-
45
- //--- view functions ----------------------------------------------------//
46
- function getProductService()
47
- external
48
- view
49
- returns (ProductService productService)
50
- {
51
- return _productService;
52
- }
53
-
54
- }
@@ -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,16 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Registerable} from "./Registerable.sol";
5
- import {Versionable} from "./Versionable.sol";
6
-
7
- /// @dev base contract for upgradable objects like services and upgradable components
8
- /// deriving contracs need to call _initializeRegisterable
9
- /// TODO internalizes versionable here, a non-registerable versionalbe might itself have some value but is outside the scope of the gif
10
- /// after this merge versionable will no longer exist on its own in gif
11
- /// only registerable and upgradable (which is a registerable too) will remain
12
- abstract contract RegisterableUpgradable is
13
- Registerable,
14
- Versionable
15
- {
16
- }
@@ -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,24 +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 {Service} from "../../contracts/shared/Service.sol";
7
-
8
- import {IVersionable} from "../../contracts/shared/IVersionable.sol";
9
- import {Versionable} from "../../contracts/shared/Versionable.sol";
10
-
11
- contract TestService is Service {
12
-
13
- string public constant NAME = "TestService";
14
-
15
- constructor(address registry, NftId registryNftId, address initialOwner)
16
- // solhint-disable-next-line no-empty-blocks
17
- {
18
- _initializeService(registry, initialOwner);
19
- }
20
-
21
- function getName() public pure override returns(string memory name) {
22
- return NAME;
23
- }
24
- }
@@ -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,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
- }