@etherisc/gif-next 0.0.2-10a4efa-693 → 0.0.2-129ca9f-527

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 (406) hide show
  1. package/README.md +71 -14
  2. package/artifacts/contracts/components/Component.sol/Component.dbg.json +4 -0
  3. package/artifacts/contracts/components/Component.sol/Component.json +873 -0
  4. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +1 -1
  5. package/artifacts/contracts/components/Distribution.sol/Distribution.json +976 -270
  6. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +4 -0
  7. package/artifacts/contracts/components/IComponent.sol/IComponent.json +636 -0
  8. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  9. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +833 -37
  10. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  11. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +897 -51
  12. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  13. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +720 -16
  14. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  15. package/artifacts/contracts/components/Pool.sol/Pool.json +858 -241
  16. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  17. package/artifacts/contracts/components/Product.sol/Product.json +715 -292
  18. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +4 -0
  19. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +778 -0
  20. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +4 -0
  21. package/artifacts/contracts/instance/{AccessManagedSimple.sol/AccessManagedSimple.json → Cloneable.sol/Cloneable.json} +91 -2
  22. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  23. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +454 -554
  24. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  25. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +314 -178
  26. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  27. package/artifacts/contracts/instance/Instance.sol/Instance.json +452 -3054
  28. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
  29. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +609 -178
  30. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  31. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +124 -0
  32. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  33. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +425 -244
  34. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  35. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +457 -329
  36. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  37. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +285 -101
  38. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  39. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2788 -0
  40. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  41. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +256 -0
  42. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +4 -0
  43. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.json +631 -0
  44. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  45. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  46. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  47. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +40 -10
  48. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  49. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +36 -11
  50. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  51. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +71 -45
  52. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  53. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  54. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.json +10 -0
  55. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  56. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  57. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  58. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
  59. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
  60. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  61. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +918 -0
  62. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  63. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +648 -0
  64. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +4 -0
  65. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +1288 -0
  66. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  67. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +696 -0
  68. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +4 -0
  69. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +1376 -0
  70. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  71. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +748 -0
  72. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +1 -1
  73. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +1082 -183
  74. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  75. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +421 -77
  76. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  77. package/artifacts/contracts/instance/service/{IComponentOwnerService.sol/IComponentOwnerService.json → IApplicationService.sol/IApplicationService.json} +231 -204
  78. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +4 -0
  79. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.json +735 -0
  80. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +4 -0
  81. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.json +743 -0
  82. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  83. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +540 -146
  84. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  85. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.json +651 -0
  86. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
  87. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +669 -153
  88. package/artifacts/contracts/instance/service/IPricingService.sol/IPricingService.dbg.json +4 -0
  89. package/artifacts/contracts/{shared/RegisterableUpgradable.sol/RegisterableUpgradable.json → instance/service/IPricingService.sol/IPricingService.json} +245 -177
  90. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
  91. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +88 -397
  92. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +4 -0
  93. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +1281 -0
  94. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  95. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +740 -0
  96. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
  97. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +1087 -226
  98. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  99. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +347 -79
  100. package/artifacts/contracts/instance/service/PricingService.sol/PricingService.dbg.json +4 -0
  101. package/artifacts/contracts/instance/service/PricingService.sol/PricingService.json +1004 -0
  102. package/artifacts/contracts/instance/service/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  103. package/artifacts/contracts/instance/service/PricingServiceManager.sol/PricingServiceManager.json +688 -0
  104. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +4 -0
  105. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +864 -0
  106. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  107. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +640 -0
  108. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  109. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
  110. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  111. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +227 -224
  112. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  113. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +231 -226
  114. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  115. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  116. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  117. package/artifacts/contracts/registry/Registry.sol/Registry.json +241 -330
  118. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +4 -0
  119. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +285 -0
  120. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  121. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +224 -311
  122. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  123. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +282 -150
  124. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  125. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +559 -0
  126. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  127. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +128 -53
  128. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +4 -0
  129. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +1206 -0
  130. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +1 -1
  131. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  132. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  133. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  134. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +27 -29
  135. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  136. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +189 -0
  137. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  138. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +8 -34
  139. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  140. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  141. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  142. package/artifacts/contracts/shared/IService.sol/IService.json +84 -178
  143. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  144. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
  145. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  146. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +107 -27
  147. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  148. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +302 -0
  149. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  150. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +283 -63
  151. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  152. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +116 -51
  153. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  154. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  155. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  156. package/artifacts/contracts/shared/Service.sol/Service.json +185 -165
  157. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  158. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +24 -6
  159. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  160. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  161. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  162. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
  163. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  164. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → staking/IStakingService.sol/IStakingService.json} +224 -187
  165. package/artifacts/contracts/staking/StakeingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  166. package/artifacts/contracts/staking/StakeingServiceManager.sol/StakingServiceManager.json +628 -0
  167. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  168. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +767 -0
  169. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  170. package/artifacts/contracts/test/TestFee.sol/TestFee.json +2 -2
  171. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  172. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +116 -51
  173. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  174. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +6 -6
  175. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  176. package/artifacts/contracts/test/TestService.sol/TestService.json +204 -216
  177. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  178. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  179. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +2 -2
  180. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  181. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +8 -190
  182. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
  183. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  184. package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +4 -0
  185. package/artifacts/contracts/types/Amount.sol/AmountLib.json +281 -0
  186. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  187. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +2 -2
  188. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  189. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  190. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +179 -0
  191. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  192. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +2 -2
  193. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
  194. package/artifacts/contracts/types/Fee.sol/FeeLib.json +74 -19
  195. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
  196. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +2 -2
  197. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  198. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +17 -4
  199. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  200. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +26 -3
  201. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +1 -1
  202. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  203. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  204. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  205. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +209 -0
  206. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +1 -1
  207. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +23 -4
  208. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
  209. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +2 -2
  210. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
  211. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +2 -2
  212. package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +4 -0
  213. package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +124 -0
  214. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  215. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  216. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  217. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +38 -7
  218. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +1 -1
  219. package/artifacts/contracts/types/UFixed.sol/MathLib.json +2 -2
  220. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +1 -1
  221. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +2 -2
  222. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  223. package/artifacts/contracts/types/Version.sol/VersionLib.json +2 -2
  224. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  225. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +2 -2
  226. package/contracts/components/Component.sol +272 -0
  227. package/contracts/components/Distribution.sol +202 -83
  228. package/contracts/components/IComponent.sol +90 -0
  229. package/contracts/components/IDistributionComponent.sol +43 -18
  230. package/contracts/components/IPoolComponent.sol +90 -38
  231. package/contracts/components/IProductComponent.sol +15 -9
  232. package/contracts/components/Pool.sol +225 -181
  233. package/contracts/components/Product.sol +255 -177
  234. package/contracts/instance/BundleManager.sol +126 -0
  235. package/contracts/instance/Cloneable.sol +51 -0
  236. package/contracts/instance/IInstance.sol +59 -21
  237. package/contracts/instance/IInstanceService.sol +53 -10
  238. package/contracts/instance/Instance.sol +149 -363
  239. package/contracts/instance/InstanceAccessManager.sol +430 -177
  240. package/contracts/instance/InstanceAuthorizationsLib.sol +308 -0
  241. package/contracts/instance/InstanceReader.sol +99 -37
  242. package/contracts/instance/InstanceService.sol +250 -112
  243. package/contracts/instance/InstanceServiceManager.sol +11 -13
  244. package/contracts/instance/InstanceStore.sol +212 -0
  245. package/contracts/instance/ObjectManager.sol +82 -0
  246. package/contracts/instance/base/ComponentService.sol +150 -0
  247. package/contracts/instance/base/KeyValueStore.sol +13 -36
  248. package/contracts/instance/base/Lifecycle.sol +26 -6
  249. package/contracts/instance/module/IAccess.sol +36 -20
  250. package/contracts/instance/module/IBundle.sol +8 -5
  251. package/contracts/instance/module/IComponents.sol +41 -0
  252. package/contracts/instance/module/IDistribution.sol +3 -0
  253. package/contracts/instance/module/IPolicy.sol +43 -11
  254. package/contracts/instance/module/ISetup.sol +9 -20
  255. package/contracts/instance/service/ApplicationService.sol +186 -0
  256. package/contracts/instance/service/ApplicationServiceManager.sol +35 -0
  257. package/contracts/instance/service/BundleService.sol +382 -0
  258. package/contracts/instance/service/BundleServiceManager.sol +51 -0
  259. package/contracts/instance/service/ClaimService.sol +437 -0
  260. package/contracts/instance/service/ClaimServiceManager.sol +35 -0
  261. package/contracts/instance/service/DistributionService.sol +293 -50
  262. package/contracts/instance/service/DistributionServiceManager.sol +11 -13
  263. package/contracts/instance/service/IApplicationService.sol +62 -0
  264. package/contracts/instance/service/IBundleService.sol +118 -0
  265. package/contracts/instance/service/IClaimService.sol +90 -0
  266. package/contracts/instance/service/IDistributionService.sol +76 -1
  267. package/contracts/instance/service/IPolicyService.sol +80 -0
  268. package/contracts/instance/service/IPoolService.sol +94 -17
  269. package/contracts/instance/service/IPricingService.sol +37 -0
  270. package/contracts/instance/service/IProductService.sol +6 -73
  271. package/contracts/instance/service/PolicyService.sol +376 -0
  272. package/contracts/instance/service/PolicyServiceManager.sol +54 -0
  273. package/contracts/instance/service/PoolService.sol +315 -97
  274. package/contracts/instance/service/PoolServiceManager.sol +11 -13
  275. package/contracts/instance/service/PricingService.sol +275 -0
  276. package/contracts/instance/service/PricingServiceManager.sol +51 -0
  277. package/contracts/instance/service/ProductService.sol +210 -0
  278. package/contracts/instance/service/ProductServiceManager.sol +54 -0
  279. package/contracts/registry/ChainNft.sol +9 -1
  280. package/contracts/registry/IRegistry.sol +40 -33
  281. package/contracts/registry/IRegistryService.sol +46 -13
  282. package/contracts/registry/ITransferInterceptor.sol +1 -0
  283. package/contracts/registry/Registry.sol +234 -256
  284. package/contracts/registry/RegistryAccessManager.sol +216 -0
  285. package/contracts/registry/RegistryService.sol +118 -231
  286. package/contracts/registry/RegistryServiceManager.sol +21 -39
  287. package/contracts/registry/ReleaseManager.sol +324 -0
  288. package/contracts/registry/TokenRegistry.sol +22 -17
  289. package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +13 -0
  290. package/contracts/shared/ERC165.sol +14 -12
  291. package/contracts/shared/INftOwnable.sol +11 -10
  292. package/contracts/shared/IPolicyHolder.sol +40 -0
  293. package/contracts/shared/IRegisterable.sol +4 -6
  294. package/contracts/shared/IRegistryLinked.sol +11 -0
  295. package/contracts/shared/IService.sol +7 -4
  296. package/contracts/shared/IVersionable.sol +4 -47
  297. package/contracts/shared/NftOwnable.sol +65 -83
  298. package/contracts/shared/PolicyHolder.sol +94 -0
  299. package/contracts/shared/ProxyManager.sol +100 -25
  300. package/contracts/shared/Registerable.sol +24 -39
  301. package/contracts/shared/RegistryLinked.sol +43 -0
  302. package/contracts/shared/Service.sol +42 -24
  303. package/contracts/shared/TokenHandler.sol +14 -6
  304. package/contracts/shared/Versionable.sol +4 -92
  305. package/contracts/staking/IStakingService.sol +102 -0
  306. package/contracts/staking/StakeingServiceManager.sol +37 -0
  307. package/contracts/staking/StakingService.sol +210 -0
  308. package/contracts/test/TestRegisterable.sol +1 -1
  309. package/contracts/test/TestService.sol +4 -3
  310. package/contracts/types/Amount.sol +109 -0
  311. package/contracts/types/Blocknumber.sol +1 -0
  312. package/contracts/types/ClaimId.sol +75 -0
  313. package/contracts/types/DistributorType.sol +2 -2
  314. package/contracts/types/Fee.sol +17 -8
  315. package/contracts/types/NftId.sol +8 -0
  316. package/contracts/types/NftIdSet.sol +26 -24
  317. package/contracts/types/ObjectType.sol +16 -7
  318. package/contracts/types/PayoutId.sol +82 -0
  319. package/contracts/types/Referral.sol +4 -0
  320. package/contracts/types/RoleId.sol +26 -17
  321. package/contracts/types/Seconds.sol +54 -0
  322. package/contracts/types/StateId.sol +7 -2
  323. package/contracts/types/Timestamp.sol +18 -13
  324. package/contracts/types/UFixed.sol +1 -0
  325. package/contracts/types/Version.sol +1 -0
  326. package/package.json +3 -3
  327. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  328. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -327
  329. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  330. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -280
  331. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  332. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  333. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  334. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  335. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  336. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  337. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  338. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  339. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  340. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  341. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  342. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  343. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  344. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  345. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  346. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  347. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  348. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  349. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  350. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  351. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  352. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  353. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  354. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  355. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  356. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  357. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  358. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  359. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  360. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  361. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  362. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  363. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  364. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  365. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  366. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  367. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  368. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  369. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  370. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +0 -4
  371. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +0 -4
  372. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +0 -1132
  373. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
  374. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +0 -1082
  375. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  376. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  377. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  378. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  379. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  380. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  381. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  382. package/contracts/components/BaseComponent.sol +0 -91
  383. package/contracts/components/IBaseComponent.sol +0 -25
  384. package/contracts/experiment/cloning/Cloner.sol +0 -47
  385. package/contracts/experiment/errors/Require.sol +0 -38
  386. package/contracts/experiment/errors/Revert.sol +0 -44
  387. package/contracts/experiment/inheritance/A.sol +0 -53
  388. package/contracts/experiment/inheritance/B.sol +0 -28
  389. package/contracts/experiment/inheritance/C.sol +0 -34
  390. package/contracts/experiment/inheritance/IA.sol +0 -13
  391. package/contracts/experiment/inheritance/IB.sol +0 -10
  392. package/contracts/experiment/inheritance/IC.sol +0 -12
  393. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  394. package/contracts/experiment/statemachine/ISM.sol +0 -25
  395. package/contracts/experiment/statemachine/SM.sol +0 -57
  396. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  397. package/contracts/experiment/types/TypeA.sol +0 -47
  398. package/contracts/experiment/types/TypeB.sol +0 -29
  399. package/contracts/instance/AccessManagedSimple.sol +0 -115
  400. package/contracts/instance/AccessManagerSimple.sol +0 -692
  401. package/contracts/instance/IAccessManagerSimple.sol +0 -391
  402. package/contracts/instance/base/ComponentServiceBase.sol +0 -41
  403. package/contracts/instance/base/IInstanceBase.sol +0 -23
  404. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  405. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  406. package/contracts/shared/RegisterableUpgradable.sol +0 -16
package/README.md CHANGED
@@ -1,5 +1,6 @@
1
1
  # GIF-Next (Generic Insurance Framework, next version)
2
2
 
3
+
3
4
  ## Add OpenZeppelin V5 Dependencies
4
5
 
5
6
  ```shell
@@ -27,6 +28,10 @@ This repository uses submodules. To checkout or update to the latest submodules,
27
28
  git submodule update --recursive
28
29
  ```
29
30
 
31
+ ## Example components
32
+
33
+ A (very early) example of a product and a pool can be found in the [gif-next-sandbox repository](https://github.com/etherisc/gif-next-sandbox).
34
+
30
35
  ## Hardhat
31
36
 
32
37
  ### NPM Commands
@@ -51,7 +56,7 @@ hh docgen
51
56
  The resulting markdown files are written to `docs`
52
57
 
53
58
 
54
- ### Deployment
59
+ ### Full protocol deployment
55
60
 
56
61
  Install the dependencies before running the script below for the first time.
57
62
 
@@ -81,6 +86,25 @@ Environment variables:
81
86
  - `WALLET_MNEMONIC` the mnemonic of the wallet to use for deployment (required for mumbai and mainnet)
82
87
  - `ETHERSCAN_API_KEY` `POLYGONSCAN_API_KEY` the api key for etherscan/polygonscan (required for mumbai and mainnet)
83
88
 
89
+ ### Create a new instance
90
+
91
+ Requires previous step to be completed.
92
+
93
+ ```bash
94
+ # set appropriate values vor env variables (see below)
95
+
96
+ hh run --network <networkname> scripts/new_instance.ts
97
+ ```
98
+
99
+ Currently an HD wallet is expected to be used for the deployment. The mnemonic of the wallet needs to be provided via the `WALLET_MNEMONIC` environment variable.
100
+ The instance owner will be the 11th address of the wallet.
101
+
102
+ Environment variables:
103
+
104
+ - `WEB3_INFURA_PROJECT_ID` set to infura project id (required for mumbai and mainnet)
105
+ - `WALLET_MNEMONIC` the mnemonic of the wallet to use for deployment (required for mumbai and mainnet)
106
+ - `REGISTRY_ADDRESS` the address of the registry that is already deployed and configured and has a valid master instance
107
+
84
108
 
85
109
  ### Console
86
110
 
@@ -200,17 +224,7 @@ https://book.getfoundry.sh/reference/
200
224
 
201
225
  ## Style Guide
202
226
 
203
- Solidity code is to be written according to the [Solidity Style Guide](https://docs.soliditylang.org/en/latest/style-guide.html).
204
-
205
- Documentation of the code should be written inline using [NatSpec](https://docs.soliditylang.org/en/latest/natspec-format.html).
206
-
207
- ### Naming conventions
208
-
209
- Additionally, we use the following naming conventions:
210
-
211
- - Function arguments and return types: If using custom data types, make the name include the type by appending the Type to the argument name, e.g. `function getInfo(NftId bundleNftId)` instead of `function getInfo(NftId bundleId)`. Background: Custom data types are lost when using the ABI or Typescript binding classes (e.g. instead of `NftID` a `uint96` is used), so the type needs to be included in the name to make it clear what the argument is without having to look at the documentation or checking the solidity source code.
212
- - When naming a field or an attribute `id` and the context is not clear, call it `nftId` instead so its clear what type if id it is as there will be multiple ids for different kind of objects. Example: if you the function has a bundle nft id and a policy nft id as arguments, call them `bundleNftId` and `policyNftId` instead of `id` and `policyId`. In case of doubt, be a bit more verbose for the sake of clarity.
213
- - When naming things, remember that the code will likely be used in Javascript/Typescript as well, so avoid names that are reserved in Javascript/Typescript. A list of reserved words in Javascript can be found [here](https://www.w3schools.com/js/js_reserved.asp) and a list of reserved words in Typescript can be found [here](https://www.tektutorialshub.com/typescript/identifiers-keywords-in-typescript/).
227
+ Please see https://docs.etherisc.com/gif-next/3.x/ for style guide and general coding rules.
214
228
 
215
229
  ### Automatic code formatting
216
230
 
@@ -225,7 +239,7 @@ We use solhint to lint the code.
225
239
  To execute linting run `npm run lint`.
226
240
 
227
241
 
228
- ### Adding Brownie (Legacy)
242
+ ### Adding Brownie (Legacy - don't do that :wink: )
229
243
 
230
244
  python3 is already installed
231
245
 
@@ -375,7 +389,7 @@ Intercepting property
375
389
 
376
390
  ### Pool
377
391
 
378
- ### Distribution
392
+ ### Distribution
379
393
 
380
394
  ### Oracle
381
395
 
@@ -419,3 +433,46 @@ Distribution Service
419
433
  - registered via registry service by registry owner
420
434
  - registers distribution components for registered products via registry service by distribution owner (distribution owner role is permissend by the product's instance)
421
435
  - registers distributors for registered distribution components via registry service
436
+
437
+ ## Contract Organisation
438
+
439
+ now
440
+
441
+ contracts
442
+ components
443
+ instance
444
+ registry
445
+ shared
446
+ types
447
+
448
+
449
+ contracts
450
+ component
451
+ pool
452
+ Pool.sol
453
+ PoolService.sol
454
+ oracle
455
+ distribution
456
+ product
457
+ Product.sol
458
+ ProductService.sol
459
+ Component.sol
460
+ ComponentService.sol
461
+ instance
462
+ Instance.sol
463
+ InstanceAccessManager.sol
464
+ InstanceReader.sol
465
+ InstanceService.sol
466
+ InstanceServiceManager.sol
467
+ registry
468
+ ChainNft.sol
469
+ Registry.sol
470
+ RegistryService.sol
471
+ RegistryServiceManager.sol
472
+ shared
473
+ Registerable.sol
474
+ RegisterableUpgradable.sol
475
+ type
476
+ NftId.sol
477
+ ObjectType.sol
478
+
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/2d6f106414e3482b23ae98b20f5e6ed5.json"
4
+ }