@etherisc/gif-next 0.0.2-f7eda15-119 → 0.0.2-f831797-539

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 (340) hide show
  1. package/README.md +73 -1
  2. package/artifacts/contracts/components/Component.sol/Component.dbg.json +1 -1
  3. package/artifacts/contracts/components/Component.sol/Component.json +252 -94
  4. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +1 -1
  5. package/artifacts/contracts/components/Distribution.sol/Distribution.json +611 -159
  6. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +1 -1
  7. package/artifacts/contracts/components/IComponent.sol/IComponent.json +104 -72
  8. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  9. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +311 -108
  10. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  11. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +331 -164
  12. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  13. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +108 -144
  14. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  15. package/artifacts/contracts/components/Pool.sol/Pool.json +553 -185
  16. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  17. package/artifacts/contracts/components/Product.sol/Product.json +356 -166
  18. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
  19. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +30 -11
  20. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +1 -1
  21. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  22. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +722 -422
  23. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  24. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +94 -171
  25. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  26. package/artifacts/contracts/instance/Instance.sol/Instance.json +911 -779
  27. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
  28. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +39 -89
  29. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  30. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +119 -216
  31. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  32. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +276 -254
  33. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +319 -99
  35. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +1 -1
  36. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +2 -2
  37. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +1 -1
  38. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.json +118 -169
  39. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  40. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  41. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  42. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +40 -10
  43. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  44. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +36 -11
  45. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  46. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +13 -13
  47. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  48. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  49. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.json +10 -0
  50. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  51. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  52. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  53. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
  54. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
  55. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  56. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +968 -0
  57. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  58. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +665 -0
  59. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +1 -1
  60. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +306 -315
  61. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  62. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +305 -93
  63. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +4 -0
  64. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +754 -0
  65. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  66. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +637 -0
  67. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +1 -1
  68. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +1207 -255
  69. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  70. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +449 -85
  71. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  72. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.json +556 -0
  73. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +1 -1
  74. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.json +155 -240
  75. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +4 -0
  76. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.json +409 -0
  77. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  78. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +711 -139
  79. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  80. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.json +60 -286
  81. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
  82. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +81 -147
  83. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
  84. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +22 -169
  85. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +1 -1
  86. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +185 -391
  87. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  88. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +311 -127
  89. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
  90. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +214 -204
  91. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  92. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +306 -90
  93. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +1 -1
  94. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +142 -221
  95. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
  96. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +302 -90
  97. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  98. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  99. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +15 -2
  100. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  101. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +83 -174
  102. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  103. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  104. package/artifacts/contracts/registry/Registry.sol/Registry.json +28 -15
  105. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +1 -1
  106. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +2 -2
  107. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  108. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +193 -216
  109. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  110. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +300 -94
  111. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  112. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +11 -11
  113. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  114. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +141 -37
  115. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +1 -1
  116. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  117. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  118. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  119. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +40 -29
  120. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  121. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +129 -0
  122. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  123. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +21 -29
  124. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  125. package/artifacts/contracts/{experiment/inheritance/IB.sol/IB.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +18 -20
  126. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  127. package/artifacts/contracts/shared/IService.sol/IService.json +22 -169
  128. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  129. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
  130. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  131. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +113 -33
  132. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  133. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +248 -0
  134. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  135. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +294 -74
  136. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  137. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +125 -55
  138. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  139. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +84 -0
  140. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  141. package/artifacts/contracts/shared/Service.sol/Service.json +113 -164
  142. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  143. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
  144. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  145. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  146. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  147. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
  148. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  149. package/artifacts/contracts/test/TestFee.sol/TestFee.json +2 -2
  150. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  151. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +125 -55
  152. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  153. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +2 -2
  154. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  155. package/artifacts/contracts/test/TestService.sol/TestService.json +134 -221
  156. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  157. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  158. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +2 -2
  159. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  160. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +8 -190
  161. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
  162. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  163. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  164. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +2 -2
  165. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  166. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  167. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +100 -0
  168. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  169. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +2 -2
  170. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
  171. package/artifacts/contracts/types/Fee.sol/FeeLib.json +2 -2
  172. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
  173. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +2 -2
  174. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  175. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +17 -4
  176. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  177. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +2 -2
  178. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +1 -1
  179. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  180. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  181. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  182. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +100 -0
  183. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +1 -1
  184. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +23 -4
  185. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
  186. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +2 -2
  187. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
  188. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +2 -2
  189. package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +4 -0
  190. package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +124 -0
  191. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  192. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  193. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  194. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +25 -7
  195. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +1 -1
  196. package/artifacts/contracts/types/UFixed.sol/MathLib.json +2 -2
  197. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +1 -1
  198. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +2 -2
  199. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  200. package/artifacts/contracts/types/Version.sol/VersionLib.json +2 -2
  201. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  202. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +2 -2
  203. package/contracts/components/Component.sol +103 -78
  204. package/contracts/components/Distribution.sol +187 -57
  205. package/contracts/components/IComponent.sol +48 -17
  206. package/contracts/components/IDistributionComponent.sol +39 -15
  207. package/contracts/components/IPoolComponent.sol +84 -31
  208. package/contracts/components/IProductComponent.sol +3 -2
  209. package/contracts/components/Pool.sol +217 -145
  210. package/contracts/components/Product.sol +97 -69
  211. package/contracts/instance/BundleManager.sol +7 -5
  212. package/contracts/instance/IInstance.sol +24 -3
  213. package/contracts/instance/IInstanceService.sol +20 -1
  214. package/contracts/instance/Instance.sol +65 -39
  215. package/contracts/instance/InstanceAccessManager.sol +12 -13
  216. package/contracts/instance/InstanceReader.sol +4 -3
  217. package/contracts/instance/InstanceService.sol +111 -57
  218. package/contracts/instance/InstanceServiceManager.sol +1 -1
  219. package/contracts/instance/base/ComponentService.sol +1 -1
  220. package/contracts/instance/base/KeyValueStore.sol +5 -2
  221. package/contracts/instance/base/Lifecycle.sol +11 -2
  222. package/contracts/instance/module/IAccess.sol +3 -4
  223. package/contracts/instance/module/IBundle.sol +2 -1
  224. package/contracts/instance/module/IComponents.sol +35 -0
  225. package/contracts/instance/module/IDistribution.sol +2 -0
  226. package/contracts/instance/module/IPolicy.sol +30 -3
  227. package/contracts/instance/module/ISetup.sol +7 -20
  228. package/contracts/instance/service/ApplicationService.sol +350 -0
  229. package/contracts/instance/service/ApplicationServiceManager.sol +35 -0
  230. package/contracts/instance/service/BundleService.sol +82 -39
  231. package/contracts/instance/service/BundleServiceManager.sol +1 -1
  232. package/contracts/instance/service/ClaimService.sol +151 -0
  233. package/contracts/instance/service/ClaimServiceManager.sol +35 -0
  234. package/contracts/instance/service/DistributionService.sol +360 -16
  235. package/contracts/instance/service/DistributionServiceManager.sol +1 -1
  236. package/contracts/instance/service/IApplicationService.sol +82 -0
  237. package/contracts/instance/service/IBundleService.sol +30 -12
  238. package/contracts/instance/service/IClaimService.sol +61 -0
  239. package/contracts/instance/service/IDistributionService.sol +86 -0
  240. package/contracts/instance/service/IPolicyService.sol +27 -49
  241. package/contracts/instance/service/IPoolService.sol +17 -2
  242. package/contracts/instance/service/PolicyService.sol +148 -283
  243. package/contracts/instance/service/PolicyServiceManager.sol +2 -2
  244. package/contracts/instance/service/PoolService.sol +75 -22
  245. package/contracts/instance/service/PoolServiceManager.sol +1 -1
  246. package/contracts/instance/service/ProductService.sol +10 -11
  247. package/contracts/instance/service/ProductServiceManager.sol +2 -2
  248. package/contracts/registry/IRegistry.sol +3 -2
  249. package/contracts/registry/IRegistryService.sol +10 -8
  250. package/contracts/registry/Registry.sol +20 -8
  251. package/contracts/registry/RegistryService.sol +69 -48
  252. package/contracts/registry/RegistryServiceManager.sol +13 -13
  253. package/contracts/registry/ReleaseManager.sol +18 -28
  254. package/contracts/registry/TokenRegistry.sol +16 -12
  255. package/contracts/shared/ERC165.sol +14 -12
  256. package/contracts/shared/INftOwnable.sol +11 -10
  257. package/contracts/shared/IPolicyHolder.sol +26 -0
  258. package/contracts/shared/IRegisterable.sol +3 -3
  259. package/contracts/shared/IRegistryLinked.sol +12 -0
  260. package/contracts/shared/IService.sol +2 -0
  261. package/contracts/shared/IVersionable.sol +4 -47
  262. package/contracts/shared/NftOwnable.sol +66 -85
  263. package/contracts/shared/PolicyHolder.sol +81 -0
  264. package/contracts/shared/ProxyManager.sol +100 -25
  265. package/contracts/shared/Registerable.sol +7 -19
  266. package/contracts/shared/RegistryLinked.sol +48 -0
  267. package/contracts/shared/Service.sol +15 -17
  268. package/contracts/shared/TokenHandler.sol +11 -5
  269. package/contracts/shared/Versionable.sol +4 -92
  270. package/contracts/test/TestRegisterable.sol +1 -1
  271. package/contracts/test/TestService.sol +1 -1
  272. package/contracts/types/Blocknumber.sol +1 -0
  273. package/contracts/types/ClaimId.sol +52 -0
  274. package/contracts/types/DistributorType.sol +2 -2
  275. package/contracts/types/Fee.sol +1 -0
  276. package/contracts/types/NftId.sol +8 -0
  277. package/contracts/types/ObjectType.sol +10 -5
  278. package/contracts/types/PayoutId.sol +54 -0
  279. package/contracts/types/Referral.sol +4 -0
  280. package/contracts/types/RoleId.sol +10 -5
  281. package/contracts/types/Seconds.sol +54 -0
  282. package/contracts/types/StateId.sol +1 -0
  283. package/contracts/types/Timestamp.sol +13 -13
  284. package/contracts/types/UFixed.sol +1 -0
  285. package/contracts/types/Version.sol +1 -0
  286. package/package.json +3 -3
  287. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  288. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  289. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  290. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  291. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  292. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  293. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  294. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  295. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  296. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  297. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  298. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  299. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  300. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  301. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  302. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  303. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  304. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  305. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  306. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  307. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  308. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  309. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  310. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  311. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  312. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  313. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  314. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  315. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  316. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  317. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  318. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  319. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  320. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  321. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  322. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  323. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  324. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  325. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  326. package/contracts/experiment/cloning/Cloner.sol +0 -47
  327. package/contracts/experiment/errors/Require.sol +0 -38
  328. package/contracts/experiment/errors/Revert.sol +0 -44
  329. package/contracts/experiment/inheritance/A.sol +0 -53
  330. package/contracts/experiment/inheritance/B.sol +0 -28
  331. package/contracts/experiment/inheritance/C.sol +0 -34
  332. package/contracts/experiment/inheritance/IA.sol +0 -13
  333. package/contracts/experiment/inheritance/IB.sol +0 -10
  334. package/contracts/experiment/inheritance/IC.sol +0 -12
  335. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  336. package/contracts/experiment/statemachine/ISM.sol +0 -25
  337. package/contracts/experiment/statemachine/SM.sol +0 -57
  338. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  339. package/contracts/experiment/types/TypeA.sol +0 -47
  340. package/contracts/experiment/types/TypeB.sol +0 -29
@@ -0,0 +1,52 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ // uint16 allows for 65'535 claims per policy
5
+ type ClaimId is uint16;
6
+
7
+ // type bindings
8
+ using {
9
+ eqClaimId as ==,
10
+ neClaimId as !=,
11
+ ClaimIdLib.eqz,
12
+ ClaimIdLib.gtz,
13
+ ClaimIdLib.toInt
14
+ } for ClaimId global;
15
+
16
+
17
+ // pure free functions for operators
18
+ function eqClaimId(ClaimId a, ClaimId b) pure returns (bool isSame) {
19
+ return ClaimId.unwrap(a) == ClaimId.unwrap(b);
20
+ }
21
+
22
+ function neClaimId(ClaimId a, ClaimId b) pure returns (bool isDifferent) {
23
+ return ClaimId.unwrap(a) != ClaimId.unwrap(b);
24
+ }
25
+
26
+ // library functions that operate on user defined type
27
+ library ClaimIdLib {
28
+ /// @dev Converts the ClaimId to a uint.
29
+ function zero() public pure returns (ClaimId) {
30
+ return ClaimId.wrap(0);
31
+ }
32
+
33
+ /// @dev Converts an uint into a ClaimId.
34
+ function toClaimId(uint256 a) public pure returns (ClaimId) {
35
+ return ClaimId.wrap(uint16(a));
36
+ }
37
+
38
+ /// @dev Converts the ClaimId to a uint.
39
+ function toInt(ClaimId a) public pure returns (uint16) {
40
+ return uint16(ClaimId.unwrap(a));
41
+ }
42
+
43
+ /// @dev Returns true if the value is non-zero (> 0).
44
+ function gtz(ClaimId a) public pure returns (bool) {
45
+ return ClaimId.unwrap(a) > 0;
46
+ }
47
+
48
+ /// @dev Returns true if the value is zero (== 0).
49
+ function eqz(ClaimId a) public pure returns (bool) {
50
+ return ClaimId.unwrap(a) == 0;
51
+ }
52
+ }
@@ -3,7 +3,7 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {Key32, KeyId, Key32Lib} from "./Key32.sol";
5
5
  import {NftId} from "./NftId.sol";
6
- import {DISTRIBUTION_TYPE} from "./ObjectType.sol";
6
+ import {DISTRIBUTOR_TYPE} from "./ObjectType.sol";
7
7
 
8
8
  type DistributorType is bytes8;
9
9
 
@@ -45,7 +45,7 @@ library DistributorTypeLib {
45
45
 
46
46
  /// @dev Returns the key32 value for the specified nft id and object type.
47
47
  function toKey32(DistributorType id) public pure returns (Key32 key) {
48
- return Key32Lib.toKey32(DISTRIBUTION_TYPE(), toKeyId(id));
48
+ return Key32Lib.toKey32(DISTRIBUTOR_TYPE(), toKeyId(id));
49
49
  }
50
50
 
51
51
  /// @dev Returns the key id value for the specified nft id
@@ -40,6 +40,7 @@ library FeeLib {
40
40
  return Fee(UFixedLib.toUFixed(percent, -2), 0);
41
41
  }
42
42
 
43
+ // TODO rename to zero
43
44
  /// @dev Return a zero fee struct (0, 0)
44
45
  function zeroFee() public pure returns (Fee memory fee) {
45
46
  return Fee(UFixed.wrap(0), 0);
@@ -24,6 +24,7 @@ function toNftId(uint256 id) pure returns (NftId) {
24
24
  return NftId.wrap(uint96(id));
25
25
  }
26
26
 
27
+ // TODO move to NftIdLib and rename to zero()
27
28
  /// @dev Return the NftId zero (0)
28
29
  function zeroNftId() pure returns (NftId) {
29
30
  return NftId.wrap(0);
@@ -40,6 +41,13 @@ function neNftId(NftId a, NftId b) pure returns (bool isDifferent) {
40
41
 
41
42
  // library functions that operate on user defined type
42
43
  library NftIdLib {
44
+
45
+ /// @dev the zero nft id
46
+ /// is never a valid nft id and implies a non-initialized value
47
+ function zero() public pure returns (NftId) {
48
+ return NftId.wrap(0);
49
+ }
50
+
43
51
  /// @dev Converts the NftId to a uint256.
44
52
  function toInt(NftId nftId) public pure returns (uint96) {
45
53
  return uint96(NftId.unwrap(nftId));
@@ -66,7 +66,7 @@ function DISTRIBUTION() pure returns (ObjectType) {
66
66
  return toObjectType(120);
67
67
  }
68
68
 
69
- function DISTRIBUTION_TYPE() pure returns (ObjectType) {
69
+ function DISTRIBUTOR_TYPE() pure returns (ObjectType) {
70
70
  return toObjectType(121);
71
71
  }
72
72
 
@@ -90,16 +90,20 @@ function RISK() pure returns (ObjectType) {
90
90
  return toObjectType(200);
91
91
  }
92
92
 
93
- function POLICY() pure returns (ObjectType) {
93
+ function APPLICATION() pure returns (ObjectType) {
94
94
  return toObjectType(210);
95
95
  }
96
96
 
97
- function BUNDLE() pure returns (ObjectType) {
98
- return toObjectType(220);
97
+ function POLICY() pure returns (ObjectType) {
98
+ return toObjectType(211);
99
99
  }
100
100
 
101
101
  function CLAIM() pure returns (ObjectType) {
102
- return toObjectType(211);
102
+ return toObjectType(212);
103
+ }
104
+
105
+ function BUNDLE() pure returns (ObjectType) {
106
+ return toObjectType(220);
103
107
  }
104
108
 
105
109
  function PAYOUT() pure returns (ObjectType) {
@@ -111,6 +115,7 @@ function toObjectType(uint256 objectType) pure returns (ObjectType) {
111
115
  return ObjectType.wrap(uint8(objectType));
112
116
  }
113
117
 
118
+ // TODO move to ObjecTypeLib and rename to zero()
114
119
  /// @dev Return the ObjectType zero (0)
115
120
  function zeroObjectType() pure returns (ObjectType) {
116
121
  return ObjectType.wrap(0);
@@ -0,0 +1,54 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ // uint24 allows for 65'535 claims with 255 payouts each per policy
5
+ type PayoutId is uint24;
6
+
7
+ // type bindings
8
+ using {
9
+ eqPayoutId as ==,
10
+ nePayoutId as !=,
11
+ PayoutIdLib.eqz,
12
+ PayoutIdLib.gtz,
13
+ PayoutIdLib.toInt
14
+ } for PayoutId global;
15
+
16
+
17
+ // pure free functions for operators
18
+ function eqPayoutId(PayoutId a, PayoutId b) pure returns (bool isSame) {
19
+ return PayoutId.unwrap(a) == PayoutId.unwrap(b);
20
+ }
21
+
22
+ function nePayoutId(PayoutId a, PayoutId b) pure returns (bool isDifferent) {
23
+ return PayoutId.unwrap(a) != PayoutId.unwrap(b);
24
+ }
25
+
26
+ // TODO come up with a way to code claim id into payout id
27
+ // eg payoutId.getClaimId(), payoutId.getPayoutNo()
28
+ // library functions that operate on user defined type
29
+ library PayoutIdLib {
30
+ /// @dev Converts the PayoutId to a uint.
31
+ function zero() public pure returns (PayoutId) {
32
+ return PayoutId.wrap(0);
33
+ }
34
+
35
+ /// @dev Converts an uint into a PayoutId.
36
+ function toPayoutId(uint256 a) public pure returns (PayoutId) {
37
+ return PayoutId.wrap(uint24(a));
38
+ }
39
+
40
+ /// @dev Converts the PayoutId to a uint.
41
+ function toInt(PayoutId a) public pure returns (uint24) {
42
+ return uint24(PayoutId.unwrap(a));
43
+ }
44
+
45
+ /// @dev Returns true if the value is non-zero (> 0).
46
+ function gtz(PayoutId a) public pure returns (bool) {
47
+ return PayoutId.unwrap(a) > 0;
48
+ }
49
+
50
+ /// @dev Returns true if the value is zero (== 0).
51
+ function eqz(PayoutId a) public pure returns (bool) {
52
+ return PayoutId.unwrap(a) == 0;
53
+ }
54
+ }
@@ -82,4 +82,8 @@ library ReferralLib {
82
82
  function toKeyId(ReferralId id) public pure returns (KeyId keyId) {
83
83
  return KeyId.wrap(bytes31(ReferralId.unwrap(id)));
84
84
  }
85
+
86
+ function eqz(ReferralId id) public pure returns (bool) {
87
+ return eqReferralId(id, zero());
88
+ }
85
89
  }
@@ -16,28 +16,33 @@ using {
16
16
  RoleIdLib.toKey32
17
17
  } for RoleId global;
18
18
 
19
+
20
+ /// @dev role id needs to match with oz AccessManager.ADMIN_ROLE
21
+ function ADMIN_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(type(uint64).min); }
22
+
23
+ /// @dev role id needs to match with oz AccessManager.PUBLIC_ROLE
24
+ function PUBLIC_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(type(uint64).max); }
25
+
19
26
  // general pure free functions
20
27
  function DISTRIBUTION_OWNER_ROLE_NAME() pure returns (string memory) { return "DistributionOwnerRole"; }
21
28
  function ORACLE_OWNER_ROLE_NAME() pure returns (string memory) { return "OracleOwnerRole"; }
22
29
  function POOL_OWNER_ROLE_NAME() pure returns (string memory) { return "PoolOwnerRole"; }
23
30
  function PRODUCT_OWNER_ROLE_NAME() pure returns (string memory) { return "ProductOwnerRole"; }
24
31
 
25
- function ADMIN_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(0); }
26
-
27
32
  function DISTRIBUTION_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(100); }
28
33
  function ORACLE_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(200); }
29
34
  function POOL_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(300); }
30
35
  function PRODUCT_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(400); }
31
36
 
32
-
33
37
  function INSTANCE_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2000); }
34
38
  function DISTRIBUTION_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2100); }
35
39
  function POOL_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2200); }
36
40
  function PRODUCT_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2300); }
37
- function POLICY_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2400); }
41
+ function APPLICATION_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2400); }
42
+ function POLICY_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2410); }
43
+ function CLAIM_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2420); }
38
44
  function BUNDLE_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2500); }
39
45
 
40
-
41
46
  function GIF_ADMIN_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1500); }
42
47
  function GIF_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1600); }
43
48
  function RELEASE_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1700); }
@@ -0,0 +1,54 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ type Seconds is uint40;
5
+
6
+ using {
7
+ SecondsLib.eqz,
8
+ SecondsLib.gtz,
9
+ SecondsLib.toInt
10
+ } for Seconds global;
11
+
12
+
13
+ library SecondsLib {
14
+
15
+ error ErrorSecondsLibDurationTooBig(uint256 duration);
16
+
17
+ function zero() public pure returns (Seconds) {
18
+ return Seconds.wrap(0);
19
+ }
20
+
21
+ function max() public pure returns (Seconds) {
22
+ return Seconds.wrap(_max());
23
+ }
24
+
25
+ /// @dev converts the uint duration into Seconds
26
+ /// function reverts if duration is exceeding max Seconds value
27
+ function toSeconds(uint256 duration) public pure returns (Seconds) {
28
+ // if(duration > type(uint40).max) {
29
+ if(duration > _max()) {
30
+ revert ErrorSecondsLibDurationTooBig(duration);
31
+ }
32
+
33
+ return Seconds.wrap(uint40(duration));
34
+ }
35
+
36
+ /// @dev return true if duration equals 0
37
+ function eqz(Seconds duration) public pure returns (bool) {
38
+ return Seconds.unwrap(duration) == 0;
39
+ }
40
+
41
+ /// @dev return true if duration is larger than 0
42
+ function gtz(Seconds duration) public pure returns (bool) {
43
+ return Seconds.unwrap(duration) > 0;
44
+ }
45
+
46
+ function toInt(Seconds duration) public pure returns (uint256) {
47
+ return uint256(uint40(Seconds.unwrap(duration)));
48
+ }
49
+
50
+ function _max() internal pure returns (uint40) {
51
+ // IMPORTANT: type nees to match with actual definition for Seconds
52
+ return type(uint40).max;
53
+ }
54
+ }
@@ -67,6 +67,7 @@ function toStateId(uint256 id) pure returns (StateId) {
67
67
  return StateId.wrap(uint8(id));
68
68
  }
69
69
 
70
+ // TODO move to StateIdLib and rename to zero()
70
71
  /// @dev Return the StateId zero (0)
71
72
  function zeroStateId() pure returns (StateId) {
72
73
  return StateId.wrap(0);
@@ -1,5 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Seconds} from "./Seconds.sol";
3
5
 
4
6
  type Timestamp is uint40;
5
7
 
@@ -12,7 +14,8 @@ using {
12
14
  neTimestamp as !=,
13
15
  TimestampLib.gtz,
14
16
  TimestampLib.eqz,
15
- TimestampLib.addSeconds
17
+ TimestampLib.addSeconds,
18
+ TimestampLib.toInt
16
19
  } for Timestamp global;
17
20
 
18
21
  /// @dev return true if Timestamp a is after Timestamp b
@@ -50,10 +53,7 @@ function toTimestamp(uint256 timestamp) pure returns (Timestamp) {
50
53
  return Timestamp.wrap(uint40(timestamp));
51
54
  }
52
55
 
53
- // function blockTimestamp() view returns (Timestamp) {
54
- // return toTimestamp(block.timestamp);
55
- // }
56
-
56
+ // TODO move to TimestampLib and rename to zero()
57
57
  /// @dev Return the Timestamp zero (0)
58
58
  function zeroTimestamp() pure returns (Timestamp) {
59
59
  return toTimestamp(0);
@@ -103,22 +103,22 @@ library TimestampLib {
103
103
  return neTimestamp(a, b);
104
104
  }
105
105
 
106
- /// @dev return true if Timestamp is larger than 0
107
- function gtz(Timestamp timestamp) public pure returns (bool) {
108
- return Timestamp.unwrap(timestamp) > 0;
109
- }
110
-
111
106
  /// @dev return true if Timestamp equals 0
112
107
  function eqz(Timestamp timestamp) public pure returns (bool) {
113
108
  return Timestamp.unwrap(timestamp) == 0;
114
109
  }
115
110
 
111
+ /// @dev return true if Timestamp is larger than 0
112
+ function gtz(Timestamp timestamp) public pure returns (bool) {
113
+ return Timestamp.unwrap(timestamp) > 0;
114
+ }
115
+
116
116
  /// @dev return true if Timestamp a is not equal to Timestamp b
117
117
  function addSeconds(
118
118
  Timestamp timestamp,
119
- uint256 timeDelta
119
+ Seconds duration
120
120
  ) public pure returns (Timestamp) {
121
- return toTimestamp(Timestamp.unwrap(timestamp) + uint40(timeDelta));
121
+ return toTimestamp(Timestamp.unwrap(timestamp) + duration.toInt());
122
122
  }
123
123
 
124
124
  function toInt(Timestamp timestamp) public pure returns (uint256) {
@@ -19,6 +19,7 @@ using {
19
19
  UFixedLib.gtz
20
20
  } for UFixed global;
21
21
 
22
+ // TODO move to UFixedLib and rename to zero()
22
23
  function zeroUFixed() pure returns (UFixed zero) {
23
24
  return UFixed.wrap(0);
24
25
  }
@@ -101,6 +101,7 @@ library VersionLib {
101
101
  return Version.wrap(uint24(versionNumber));
102
102
  }
103
103
 
104
+ // TODO rename to zero()
104
105
  function zeroVersion() external pure returns(Version) {
105
106
  return Version.wrap(0);
106
107
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etherisc/gif-next",
3
- "version": "0.0.2-f7eda15-119",
3
+ "version": "0.0.2-f831797-539",
4
4
  "description": "This is the repository for the next version of the Generic Insurance Framework (GIF) smart contracts. ",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -32,8 +32,8 @@
32
32
  "@nomicfoundation/hardhat-foundry": "^1.1.1",
33
33
  "@nomicfoundation/hardhat-toolbox": "^3.0.0",
34
34
  "@nomicfoundation/hardhat-verify": "^1.1.1",
35
- "@typescript-eslint/eslint-plugin": "^6.7.2",
36
- "@typescript-eslint/parser": "^6.7.2",
35
+ "@typescript-eslint/eslint-plugin": "^7.1.0",
36
+ "@typescript-eslint/parser": "^7.1.0",
37
37
  "dotenv": "^16.3.1",
38
38
  "eslint": "^8.50.0",
39
39
  "hardhat": "^2.17.2",
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/d4971037c738c8e50f15f37037cf7f06.json"
4
- }
@@ -1,66 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "Cloner",
4
- "sourceName": "contracts/experiment/cloning/Cloner.sol",
5
- "abi": [
6
- {
7
- "inputs": [],
8
- "stateMutability": "nonpayable",
9
- "type": "constructor"
10
- },
11
- {
12
- "inputs": [],
13
- "name": "ERC1167FailedCreateClone",
14
- "type": "error"
15
- },
16
- {
17
- "inputs": [
18
- {
19
- "internalType": "address",
20
- "name": "master",
21
- "type": "address"
22
- }
23
- ],
24
- "name": "createClone",
25
- "outputs": [
26
- {
27
- "internalType": "address",
28
- "name": "cloned",
29
- "type": "address"
30
- }
31
- ],
32
- "stateMutability": "nonpayable",
33
- "type": "function"
34
- },
35
- {
36
- "inputs": [],
37
- "name": "mock1",
38
- "outputs": [
39
- {
40
- "internalType": "contract Mock1",
41
- "name": "",
42
- "type": "address"
43
- }
44
- ],
45
- "stateMutability": "view",
46
- "type": "function"
47
- },
48
- {
49
- "inputs": [],
50
- "name": "mock2",
51
- "outputs": [
52
- {
53
- "internalType": "contract Mock2",
54
- "name": "",
55
- "type": "address"
56
- }
57
- ],
58
- "stateMutability": "view",
59
- "type": "function"
60
- }
61
- ],
62
- "bytecode": "0x608060405234801561001057600080fd5b5060405161001d906100a8565b604051809103906000f080158015610039573d6000803e3d6000fd5b50600080546001600160a01b0319166001600160a01b0392909216919091179055604051610066906100b4565b604051809103906000f080158015610082573d6000803e3d6000fd5b50600180546001600160a01b0319166001600160a01b03929092169190911790556100c0565b60948061025383390190565b60d0806102e783390190565b610184806100cf6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806305e2387f1461004657806357894c1b146100755780638c0a703014610088575b600080fd5b600154610059906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b61005961008336600461011e565b61009b565b600054610059906001600160a01b031681565b60006100a6826100ac565b92915050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b038116610119576040516330be1a3d60e21b815260040160405180910390fd5b919050565b60006020828403121561013057600080fd5b81356001600160a01b038116811461014757600080fd5b939250505056fea264697066735822122071711c9285d7c7b532d7a797bcc9f3b63ee36749326d8f4991c26c7fd318708564736f6c634300081400336080604052348015600f57600080fd5b50607780601d6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80632096525514602d575b600080fd5b602a60405190815260200160405180910390f3fea2646970667358221220387d2c4138f488b061389f8eae5d59b560b2a8fad5f5ad3786c46f28b935021264736f6c63430008140033608060405234801561001057600080fd5b50602a60005560ac806100246000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c8063209652551460375780635524107714604c575b600080fd5b60005460405190815260200160405180910390f35b605c6057366004605e565b600055565b005b600060208284031215606f57600080fd5b503591905056fea264697066735822122053965bc6b3662eeeacbfd922f297d352227b212611b844166a5d55797fb614ea64736f6c63430008140033",
63
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806305e2387f1461004657806357894c1b146100755780638c0a703014610088575b600080fd5b600154610059906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b61005961008336600461011e565b61009b565b600054610059906001600160a01b031681565b60006100a6826100ac565b92915050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b038116610119576040516330be1a3d60e21b815260040160405180910390fd5b919050565b60006020828403121561013057600080fd5b81356001600160a01b038116811461014757600080fd5b939250505056fea264697066735822122071711c9285d7c7b532d7a797bcc9f3b63ee36749326d8f4991c26c7fd318708564736f6c63430008140033",
64
- "linkReferences": {},
65
- "deployedLinkReferences": {}
66
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/d4971037c738c8e50f15f37037cf7f06.json"
4
- }
@@ -1,24 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "Mock1",
4
- "sourceName": "contracts/experiment/cloning/Cloner.sol",
5
- "abi": [
6
- {
7
- "inputs": [],
8
- "name": "getValue",
9
- "outputs": [
10
- {
11
- "internalType": "uint256",
12
- "name": "",
13
- "type": "uint256"
14
- }
15
- ],
16
- "stateMutability": "view",
17
- "type": "function"
18
- }
19
- ],
20
- "bytecode": "0x6080604052348015600f57600080fd5b50607780601d6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80632096525514602d575b600080fd5b602a60405190815260200160405180910390f3fea2646970667358221220387d2c4138f488b061389f8eae5d59b560b2a8fad5f5ad3786c46f28b935021264736f6c63430008140033",
21
- "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c80632096525514602d575b600080fd5b602a60405190815260200160405180910390f3fea2646970667358221220387d2c4138f488b061389f8eae5d59b560b2a8fad5f5ad3786c46f28b935021264736f6c63430008140033",
22
- "linkReferences": {},
23
- "deployedLinkReferences": {}
24
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/d4971037c738c8e50f15f37037cf7f06.json"
4
- }
@@ -1,42 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "Mock2",
4
- "sourceName": "contracts/experiment/cloning/Cloner.sol",
5
- "abi": [
6
- {
7
- "inputs": [],
8
- "stateMutability": "nonpayable",
9
- "type": "constructor"
10
- },
11
- {
12
- "inputs": [],
13
- "name": "getValue",
14
- "outputs": [
15
- {
16
- "internalType": "uint256",
17
- "name": "",
18
- "type": "uint256"
19
- }
20
- ],
21
- "stateMutability": "view",
22
- "type": "function"
23
- },
24
- {
25
- "inputs": [
26
- {
27
- "internalType": "uint256",
28
- "name": "value",
29
- "type": "uint256"
30
- }
31
- ],
32
- "name": "setValue",
33
- "outputs": [],
34
- "stateMutability": "nonpayable",
35
- "type": "function"
36
- }
37
- ],
38
- "bytecode": "0x608060405234801561001057600080fd5b50602a60005560ac806100246000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c8063209652551460375780635524107714604c575b600080fd5b60005460405190815260200160405180910390f35b605c6057366004605e565b600055565b005b600060208284031215606f57600080fd5b503591905056fea264697066735822122053965bc6b3662eeeacbfd922f297d352227b212611b844166a5d55797fb614ea64736f6c63430008140033",
39
- "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060325760003560e01c8063209652551460375780635524107714604c575b600080fd5b60005460405190815260200160405180910390f35b605c6057366004605e565b600055565b005b600060208284031215606f57600080fd5b503591905056fea264697066735822122053965bc6b3662eeeacbfd922f297d352227b212611b844166a5d55797fb614ea64736f6c63430008140033",
40
- "linkReferences": {},
41
- "deployedLinkReferences": {}
42
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/d4971037c738c8e50f15f37037cf7f06.json"
4
- }