@etherisc/gif-next 0.0.2-af8c650-079 → 0.0.2-afc9e82-014

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 (551) hide show
  1. package/README.md +249 -23
  2. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  3. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1376 -0
  4. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  5. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1556 -0
  6. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  7. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +780 -0
  8. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  9. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +1000 -0
  10. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  11. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +840 -0
  12. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +4 -0
  13. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +778 -0
  14. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  15. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +320 -1684
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +616 -0
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +420 -1756
  20. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +4 -0
  21. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +1348 -0
  22. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  23. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +124 -0
  24. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  25. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1574 -0
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +979 -0
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +656 -0
  30. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  31. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2847 -0
  32. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  33. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +190 -0
  34. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  35. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +478 -0
  36. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  37. package/artifacts/contracts/instance/{module/lifecycle/ILifecycle.sol/ILifecycleModule.json → base/ILifecycle.sol/ILifecycle.json} +10 -77
  38. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  39. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +581 -0
  40. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  41. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +194 -0
  42. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  43. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +256 -0
  44. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  45. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +237 -0
  46. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  47. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  48. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  49. package/artifacts/contracts/instance/module/{access/IAccess.sol/IAccess.json → IComponents.sol/IComponents.json} +2 -2
  50. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  51. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.json +10 -0
  52. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  53. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  54. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  55. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  56. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +4 -0
  57. package/artifacts/contracts/instance/module/{pool/IPoolModule.sol/IPool.json → ISetup.sol/ISetup.json} +2 -2
  58. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +4 -0
  59. package/artifacts/contracts/instance/module/{treasury/ITreasury.sol → ITreasury.sol}/ITreasury.json +1 -1
  60. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  61. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1288 -0
  62. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  63. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +696 -0
  64. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  65. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +735 -0
  66. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  67. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +1095 -0
  68. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  69. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1077 -0
  70. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  71. package/artifacts/contracts/pool/Pool.sol/Pool.json +1407 -0
  72. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  73. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1622 -0
  74. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  75. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +708 -0
  76. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  77. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +918 -0
  78. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  79. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +648 -0
  80. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  81. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1386 -0
  82. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  83. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +748 -0
  84. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  85. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +250 -234
  86. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  87. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +753 -0
  88. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  89. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +651 -0
  90. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  91. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +510 -0
  92. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  93. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +861 -0
  94. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  95. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IProductService.sol/IProductService.json} +222 -156
  96. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  97. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1281 -0
  98. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  99. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +740 -0
  100. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  101. package/artifacts/contracts/product/PricingService.sol/PricingService.json +1004 -0
  102. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  103. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +688 -0
  104. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  105. package/artifacts/contracts/product/Product.sol/Product.json +1198 -0
  106. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  107. package/artifacts/contracts/product/ProductService.sol/ProductService.json +864 -0
  108. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  109. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +640 -0
  110. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  111. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +199 -12
  112. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  113. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +485 -34
  114. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  115. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +858 -0
  116. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  117. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +52 -0
  118. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  119. package/artifacts/contracts/registry/Registry.sol/Registry.json +491 -105
  120. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +4 -0
  121. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +285 -0
  122. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  123. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1150 -0
  124. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  125. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +657 -0
  126. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  127. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +559 -0
  128. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  129. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +485 -0
  130. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +4 -0
  131. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +1206 -0
  132. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  133. package/artifacts/contracts/shared/Component.sol/Component.json +873 -0
  134. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  135. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +631 -0
  136. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  137. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  138. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  139. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +636 -0
  140. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  141. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +125 -0
  142. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  143. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +189 -0
  144. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  145. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +91 -37
  146. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  147. package/artifacts/contracts/{registry → shared}/IRegistryLinked.sol/IRegistryLinked.json +13 -2
  148. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  149. package/artifacts/contracts/{instance/InstanceBase.sol/InstanceBase.json → shared/IService.sol/IService.json} +160 -146
  150. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  151. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +16 -125
  152. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  153. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +238 -0
  154. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  155. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +302 -0
  156. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  157. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +569 -0
  158. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  159. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +245 -27
  160. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  161. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  162. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  163. package/artifacts/contracts/{registry/IChainNft.sol/IChainNft.json → shared/Service.sol/Service.json} +256 -220
  164. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  165. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +114 -0
  166. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  167. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  168. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  169. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +29 -115
  170. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  171. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +523 -0
  172. package/artifacts/contracts/staking/StakeingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  173. package/artifacts/contracts/staking/StakeingServiceManager.sol/StakingServiceManager.json +628 -0
  174. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  175. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +767 -0
  176. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  177. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  178. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  179. package/artifacts/contracts/type/Amount.sol/AmountLib.json +281 -0
  180. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  181. package/artifacts/contracts/{types → type}/Blocknumber.sol/BlocknumberLib.json +3 -3
  182. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  183. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  184. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  185. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  186. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  187. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  188. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  189. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  190. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  191. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +166 -0
  192. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  193. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  194. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  195. package/artifacts/contracts/{types → type}/ObjectType.sol/ObjectTypeLib.json +3 -3
  196. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  197. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  198. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  199. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  200. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  201. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
  202. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  203. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +156 -0
  204. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  205. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +124 -0
  206. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  207. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  208. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  209. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +280 -0
  210. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  211. package/artifacts/contracts/{types/ChainId.sol/ChainIdLib.json → type/UFixed.sol/MathLib.json} +4 -4
  212. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  213. package/artifacts/contracts/{types/UFixed.sol/UFixedMathLib.json → type/UFixed.sol/UFixedLib.json} +4 -4
  214. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  215. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  216. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  217. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +49 -0
  218. package/contracts/distribution/Distribution.sol +285 -0
  219. package/contracts/distribution/DistributionService.sol +349 -0
  220. package/contracts/distribution/DistributionServiceManager.sol +51 -0
  221. package/contracts/distribution/IDistributionComponent.sol +71 -0
  222. package/contracts/distribution/IDistributionService.sol +87 -0
  223. package/contracts/instance/BundleManager.sol +126 -0
  224. package/contracts/instance/IInstance.sol +69 -45
  225. package/contracts/instance/IInstanceService.sol +73 -0
  226. package/contracts/instance/Instance.sol +216 -53
  227. package/contracts/instance/InstanceAccessManager.sol +543 -0
  228. package/contracts/instance/InstanceAuthorizationsLib.sol +308 -0
  229. package/contracts/instance/InstanceReader.sol +368 -0
  230. package/contracts/instance/InstanceService.sol +308 -0
  231. package/contracts/instance/InstanceServiceManager.sol +54 -0
  232. package/contracts/instance/InstanceStore.sol +211 -0
  233. package/contracts/instance/base/Cloneable.sol +51 -0
  234. package/contracts/instance/base/IKeyValueStore.sol +53 -0
  235. package/contracts/instance/base/ILifecycle.sol +30 -0
  236. package/contracts/instance/base/KeyValueStore.sol +169 -0
  237. package/contracts/instance/base/Lifecycle.sol +121 -0
  238. package/contracts/instance/base/ObjectManager.sol +82 -0
  239. package/contracts/instance/module/IAccess.sol +54 -0
  240. package/contracts/instance/module/IBundle.sol +23 -0
  241. package/contracts/instance/module/IComponents.sol +41 -0
  242. package/contracts/instance/module/IDistribution.sol +42 -0
  243. package/contracts/instance/module/IPolicy.sol +78 -0
  244. package/contracts/instance/module/IRisk.sol +11 -0
  245. package/contracts/instance/module/ISetup.sol +33 -0
  246. package/contracts/instance/module/ITreasury.sol +23 -0
  247. package/contracts/pool/BundleService.sol +382 -0
  248. package/contracts/pool/BundleServiceManager.sol +51 -0
  249. package/contracts/pool/IBundleService.sol +118 -0
  250. package/contracts/pool/IPoolComponent.sol +114 -0
  251. package/contracts/pool/IPoolService.sol +114 -0
  252. package/contracts/pool/Pool.sol +302 -0
  253. package/contracts/pool/PoolService.sol +403 -0
  254. package/contracts/pool/PoolServiceManager.sol +51 -0
  255. package/contracts/product/ApplicationService.sol +186 -0
  256. package/contracts/product/ApplicationServiceManager.sol +35 -0
  257. package/contracts/product/ClaimService.sol +442 -0
  258. package/contracts/product/ClaimServiceManager.sol +35 -0
  259. package/contracts/product/IApplicationService.sol +62 -0
  260. package/contracts/product/IClaimService.sol +93 -0
  261. package/contracts/product/IPolicyService.sol +80 -0
  262. package/contracts/product/IPricingService.sol +37 -0
  263. package/contracts/product/IProductComponent.sol +41 -0
  264. package/contracts/product/IProductService.sol +40 -0
  265. package/contracts/product/PolicyService.sol +376 -0
  266. package/contracts/product/PolicyServiceManager.sol +54 -0
  267. package/contracts/product/PricingService.sol +275 -0
  268. package/contracts/product/PricingServiceManager.sol +51 -0
  269. package/contracts/product/Product.sol +379 -0
  270. package/contracts/product/ProductService.sol +210 -0
  271. package/contracts/product/ProductServiceManager.sol +54 -0
  272. package/contracts/registry/ChainNft.sol +87 -36
  273. package/contracts/registry/IRegistry.sol +71 -27
  274. package/contracts/registry/IRegistryService.sol +66 -0
  275. package/contracts/registry/ITransferInterceptor.sol +7 -0
  276. package/contracts/registry/Registry.sol +372 -286
  277. package/contracts/registry/RegistryAccessManager.sol +216 -0
  278. package/contracts/registry/RegistryService.sol +285 -0
  279. package/contracts/registry/RegistryServiceManager.sol +60 -0
  280. package/contracts/registry/ReleaseManager.sol +328 -0
  281. package/contracts/registry/TokenRegistry.sol +116 -0
  282. package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +13 -0
  283. package/contracts/shared/Component.sol +271 -0
  284. package/contracts/shared/ComponentService.sol +150 -0
  285. package/contracts/shared/ERC165.sol +14 -8
  286. package/contracts/shared/IComponent.sol +90 -0
  287. package/contracts/shared/INftOwnable.sol +23 -0
  288. package/contracts/shared/IPolicyHolder.sol +40 -0
  289. package/contracts/shared/IRegisterable.sol +10 -19
  290. package/contracts/shared/IRegistryLinked.sol +11 -0
  291. package/contracts/shared/IService.sol +18 -0
  292. package/contracts/shared/IVersionable.sol +38 -37
  293. package/contracts/shared/NftOwnable.sol +118 -0
  294. package/contracts/shared/PolicyHolder.sol +94 -0
  295. package/contracts/shared/ProxyManager.sol +169 -0
  296. package/contracts/shared/Registerable.sol +54 -65
  297. package/contracts/shared/RegistryLinked.sol +43 -0
  298. package/contracts/shared/Service.sol +72 -0
  299. package/contracts/shared/TokenHandler.sol +35 -0
  300. package/contracts/shared/UpgradableProxyWithAdmin.sol +16 -0
  301. package/contracts/shared/Versionable.sol +38 -68
  302. package/contracts/staking/IStakingService.sol +102 -0
  303. package/contracts/staking/StakeingServiceManager.sol +37 -0
  304. package/contracts/staking/StakingService.sol +166 -0
  305. package/contracts/type/Amount.sol +109 -0
  306. package/contracts/{types → type}/Blocknumber.sol +1 -0
  307. package/contracts/type/ClaimId.sol +75 -0
  308. package/contracts/type/DistributorType.sol +55 -0
  309. package/contracts/type/Fee.sol +65 -0
  310. package/contracts/type/Key32.sol +50 -0
  311. package/contracts/{types → type}/NftId.sol +24 -1
  312. package/contracts/type/NftIdSet.sol +62 -0
  313. package/contracts/{types → type}/ObjectType.sol +62 -15
  314. package/contracts/type/PayoutId.sol +82 -0
  315. package/contracts/type/Referral.sol +89 -0
  316. package/contracts/type/RiskId.sol +43 -0
  317. package/contracts/type/RoleId.sol +132 -0
  318. package/contracts/type/Seconds.sol +54 -0
  319. package/contracts/{types → type}/StateId.sol +19 -4
  320. package/contracts/{types → type}/Timestamp.sol +22 -13
  321. package/contracts/{types → type}/UFixed.sol +129 -12
  322. package/contracts/{types → type}/Version.sol +14 -1
  323. package/package.json +6 -5
  324. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  325. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -174
  326. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  327. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -174
  328. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  329. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -356
  330. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  331. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -279
  332. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  333. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -387
  334. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  335. package/artifacts/contracts/components/Product.sol/Product.json +0 -305
  336. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  337. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  338. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  339. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  340. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  341. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  342. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  343. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  344. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  345. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  346. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  347. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  348. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  349. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  350. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  351. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  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/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  371. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  372. package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.dbg.json +0 -4
  373. package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.json +0 -50
  374. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  375. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  376. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  377. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  378. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  379. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  380. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  381. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -276
  382. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  383. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  384. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -276
  385. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.dbg.json +0 -4
  386. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.json +0 -10
  387. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.dbg.json +0 -4
  388. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.json +0 -10
  389. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.dbg.json +0 -4
  390. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.json +0 -10
  391. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  392. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -188
  393. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  394. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  395. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  396. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -188
  397. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  398. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.json +0 -134
  399. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +0 -4
  400. package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +0 -4
  401. package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.json +0 -221
  402. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  403. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  404. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -261
  405. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  406. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -261
  407. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  408. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  409. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -149
  410. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  411. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -149
  412. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  413. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  414. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -10
  415. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  416. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -10
  417. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  418. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  419. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -533
  420. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  421. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  422. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  423. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -533
  424. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  425. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -491
  426. package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  427. package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.json +0 -300
  428. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  429. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +0 -364
  430. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  431. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  432. package/artifacts/contracts/instance/service/IService.sol/IService.dbg.json +0 -4
  433. package/artifacts/contracts/instance/service/IService.sol/IService.json +0 -300
  434. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  435. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -471
  436. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  437. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -673
  438. package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  439. package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.json +0 -300
  440. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  441. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  442. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  443. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  444. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  445. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  446. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  447. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -387
  448. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  449. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -393
  450. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  451. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -137
  452. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  453. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -82
  454. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  455. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -379
  456. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  457. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  458. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  459. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  460. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  461. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -206
  462. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  463. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -338
  464. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  465. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  466. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  467. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  468. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -218
  469. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  470. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -92
  471. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  472. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  473. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  474. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  475. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  476. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  477. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  478. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  479. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -139
  480. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  481. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  482. package/contracts/components/BaseComponent.sol +0 -89
  483. package/contracts/components/IBaseComponent.sol +0 -19
  484. package/contracts/components/IPoolComponent.sol +0 -57
  485. package/contracts/components/IProductComponent.sol +0 -19
  486. package/contracts/components/Pool.sol +0 -174
  487. package/contracts/components/Product.sol +0 -117
  488. package/contracts/experiment/errors/Require.sol +0 -38
  489. package/contracts/experiment/errors/Revert.sol +0 -44
  490. package/contracts/experiment/inheritance/A.sol +0 -53
  491. package/contracts/experiment/inheritance/B.sol +0 -28
  492. package/contracts/experiment/inheritance/C.sol +0 -34
  493. package/contracts/experiment/inheritance/IA.sol +0 -13
  494. package/contracts/experiment/inheritance/IB.sol +0 -10
  495. package/contracts/experiment/inheritance/IC.sol +0 -12
  496. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  497. package/contracts/experiment/statemachine/ISM.sol +0 -25
  498. package/contracts/experiment/statemachine/README.md +0 -112
  499. package/contracts/experiment/statemachine/SM.sol +0 -57
  500. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  501. package/contracts/experiment/types/TypeA.sol +0 -47
  502. package/contracts/experiment/types/TypeB.sol +0 -29
  503. package/contracts/instance/IInstanceLinked.sol +0 -8
  504. package/contracts/instance/IServiceLinked.sol +0 -12
  505. package/contracts/instance/InstanceBase.sol +0 -71
  506. package/contracts/instance/module/access/Access.sol +0 -149
  507. package/contracts/instance/module/access/IAccess.sol +0 -53
  508. package/contracts/instance/module/bundle/BundleModule.sol +0 -228
  509. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  510. package/contracts/instance/module/compensation/CompensationModule.sol +0 -8
  511. package/contracts/instance/module/compensation/ICompensation.sol +0 -10
  512. package/contracts/instance/module/component/ComponentModule.sol +0 -103
  513. package/contracts/instance/module/component/IComponent.sol +0 -53
  514. package/contracts/instance/module/lifecycle/ILifecycle.sol +0 -47
  515. package/contracts/instance/module/lifecycle/LifecycleModule.sol +0 -89
  516. package/contracts/instance/module/policy/IPolicy.sol +0 -60
  517. package/contracts/instance/module/policy/PolicyModule.sol +0 -84
  518. package/contracts/instance/module/pool/IPoolModule.sol +0 -41
  519. package/contracts/instance/module/pool/PoolModule.sol +0 -87
  520. package/contracts/instance/module/risk/IRisk.sol +0 -10
  521. package/contracts/instance/module/risk/RiskModule.sol +0 -8
  522. package/contracts/instance/module/treasury/ITreasury.sol +0 -103
  523. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  524. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -152
  525. package/contracts/instance/service/ComponentOwnerService.sol +0 -171
  526. package/contracts/instance/service/ComponentServiceBase.sol +0 -41
  527. package/contracts/instance/service/IComponentOwnerService.sol +0 -22
  528. package/contracts/instance/service/IPoolService.sol +0 -30
  529. package/contracts/instance/service/IProductService.sol +0 -58
  530. package/contracts/instance/service/IService.sol +0 -15
  531. package/contracts/instance/service/PoolService.sol +0 -123
  532. package/contracts/instance/service/ProductService.sol +0 -355
  533. package/contracts/instance/service/ServiceBase.sol +0 -39
  534. package/contracts/registry/IChainNft.sol +0 -21
  535. package/contracts/registry/IRegistryLinked.sol +0 -8
  536. package/contracts/shared/IOwnable.sol +0 -6
  537. package/contracts/test/TestFee.sol +0 -25
  538. package/contracts/test/TestPool.sol +0 -22
  539. package/contracts/test/TestProduct.sol +0 -44
  540. package/contracts/test/TestRegisterable.sol +0 -19
  541. package/contracts/test/TestRoleId.sol +0 -14
  542. package/contracts/test/TestService.sol +0 -32
  543. package/contracts/test/TestToken.sol +0 -26
  544. package/contracts/test/TestVersion.sol +0 -44
  545. package/contracts/test/TestVersionable.sol +0 -17
  546. package/contracts/test/Usdc.sol +0 -26
  547. package/contracts/types/ChainId.sol +0 -38
  548. package/contracts/types/Fee.sol +0 -51
  549. package/contracts/types/NftIdSet.sol +0 -60
  550. package/contracts/types/RoleId.sol +0 -36
  551. /package/contracts/{types → type}/AddressSet.sol +0 -0
@@ -1,139 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "VersionLib",
4
- "sourceName": "contracts/types/Version.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "Version",
10
- "name": "version",
11
- "type": "uint24"
12
- }
13
- ],
14
- "name": "toInt",
15
- "outputs": [
16
- {
17
- "internalType": "uint256",
18
- "name": "",
19
- "type": "uint256"
20
- }
21
- ],
22
- "stateMutability": "pure",
23
- "type": "function"
24
- },
25
- {
26
- "inputs": [
27
- {
28
- "internalType": "Version",
29
- "name": "version",
30
- "type": "uint24"
31
- }
32
- ],
33
- "name": "toMajorPart",
34
- "outputs": [
35
- {
36
- "internalType": "VersionPart",
37
- "name": "major",
38
- "type": "uint8"
39
- }
40
- ],
41
- "stateMutability": "pure",
42
- "type": "function"
43
- },
44
- {
45
- "inputs": [
46
- {
47
- "internalType": "uint256",
48
- "name": "major",
49
- "type": "uint256"
50
- },
51
- {
52
- "internalType": "uint256",
53
- "name": "minor",
54
- "type": "uint256"
55
- },
56
- {
57
- "internalType": "uint256",
58
- "name": "patch",
59
- "type": "uint256"
60
- }
61
- ],
62
- "name": "toVersion",
63
- "outputs": [
64
- {
65
- "internalType": "Version",
66
- "name": "",
67
- "type": "uint24"
68
- }
69
- ],
70
- "stateMutability": "pure",
71
- "type": "function"
72
- },
73
- {
74
- "inputs": [
75
- {
76
- "internalType": "uint256",
77
- "name": "versionPart",
78
- "type": "uint256"
79
- }
80
- ],
81
- "name": "toVersionPart",
82
- "outputs": [
83
- {
84
- "internalType": "VersionPart",
85
- "name": "",
86
- "type": "uint8"
87
- }
88
- ],
89
- "stateMutability": "pure",
90
- "type": "function"
91
- },
92
- {
93
- "inputs": [
94
- {
95
- "internalType": "Version",
96
- "name": "version",
97
- "type": "uint24"
98
- }
99
- ],
100
- "name": "toVersionParts",
101
- "outputs": [
102
- {
103
- "internalType": "VersionPart",
104
- "name": "major",
105
- "type": "uint8"
106
- },
107
- {
108
- "internalType": "VersionPart",
109
- "name": "minor",
110
- "type": "uint8"
111
- },
112
- {
113
- "internalType": "VersionPart",
114
- "name": "patch",
115
- "type": "uint8"
116
- }
117
- ],
118
- "stateMutability": "pure",
119
- "type": "function"
120
- },
121
- {
122
- "inputs": [],
123
- "name": "zeroVersion",
124
- "outputs": [
125
- {
126
- "internalType": "Version",
127
- "name": "",
128
- "type": "uint24"
129
- }
130
- ],
131
- "stateMutability": "pure",
132
- "type": "function"
133
- }
134
- ],
135
- "bytecode": "0x61030c61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c806304b8f6c5146100715780632efe01131461008d57806349a7111a146100a057806355601007146100d75780638e4ad86c146100fb578063c9e66e291461011e575b600080fd5b60005b60405162ffffff90911681526020015b60405180910390f35b61007461009b366004610213565b610135565b6100b36100ae36600461023f565b6101d6565b6040805160ff94851681529284166020840152921691810191909152606001610084565b6100ed6100e536600461023f565b62ffffff1690565b604051908152602001610084565b61010c61010936600461026b565b90565b60405160ff9091168152602001610084565b61010c61012c36600461023f565b60101c60ff1690565b600061010084108015610149575061010083105b8015610156575061010082105b6101b15760405162461bcd60e51b815260206004820152602260248201527f4552524f523a5652532d3031303a56455253494f4e5f504152545f544f4f5f42604482015261494760f01b606482015260840160405180910390fd5b816101c4600885901b601087901b61029a565b6101ce919061029a565b949350505050565b600080808360ff601082901c166101ed83836102b3565b915061ffff600883901c16600061020481856102b3565b92989197509195509350505050565b60008060006060848603121561022857600080fd5b505081359360208301359350604090920135919050565b60006020828403121561025157600080fd5b813562ffffff8116811461026457600080fd5b9392505050565b60006020828403121561027d57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156102ad576102ad610284565b92915050565b62ffffff8281168282160390808211156102cf576102cf610284565b509291505056fea2646970667358221220ba37649b9b622a7a14f84638f29a11cfa2b93f381baaceb770e1fea23e6fae7964736f6c63430008140033",
136
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c806304b8f6c5146100715780632efe01131461008d57806349a7111a146100a057806355601007146100d75780638e4ad86c146100fb578063c9e66e291461011e575b600080fd5b60005b60405162ffffff90911681526020015b60405180910390f35b61007461009b366004610213565b610135565b6100b36100ae36600461023f565b6101d6565b6040805160ff94851681529284166020840152921691810191909152606001610084565b6100ed6100e536600461023f565b62ffffff1690565b604051908152602001610084565b61010c61010936600461026b565b90565b60405160ff9091168152602001610084565b61010c61012c36600461023f565b60101c60ff1690565b600061010084108015610149575061010083105b8015610156575061010082105b6101b15760405162461bcd60e51b815260206004820152602260248201527f4552524f523a5652532d3031303a56455253494f4e5f504152545f544f4f5f42604482015261494760f01b606482015260840160405180910390fd5b816101c4600885901b601087901b61029a565b6101ce919061029a565b949350505050565b600080808360ff601082901c166101ed83836102b3565b915061ffff600883901c16600061020481856102b3565b92989197509195509350505050565b60008060006060848603121561022857600080fd5b505081359360208301359350604090920135919050565b60006020828403121561025157600080fd5b813562ffffff8116811461026457600080fd5b9392505050565b60006020828403121561027d57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156102ad576102ad610284565b92915050565b62ffffff8281168282160390808211156102cf576102cf610284565b509291505056fea2646970667358221220ba37649b9b622a7a14f84638f29a11cfa2b93f381baaceb770e1fea23e6fae7964736f6c63430008140033",
137
- "linkReferences": {},
138
- "deployedLinkReferences": {}
139
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/7f4061414c08959ccea0f1ff89c2ba75.json"
4
- }
@@ -1,30 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "VersionPartLib",
4
- "sourceName": "contracts/types/Version.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "VersionPart",
10
- "name": "x",
11
- "type": "uint8"
12
- }
13
- ],
14
- "name": "toInt",
15
- "outputs": [
16
- {
17
- "internalType": "uint256",
18
- "name": "",
19
- "type": "uint256"
20
- }
21
- ],
22
- "stateMutability": "pure",
23
- "type": "function"
24
- }
25
- ],
26
- "bytecode": "0x60b9610039600b82828239805160001a60731461002c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c8063ac43d834146038575b600080fd5b60496043366004605b565b60ff1690565b60405190815260200160405180910390f35b600060208284031215606c57600080fd5b813560ff81168114607c57600080fd5b939250505056fea2646970667358221220f9eff042249ef4290a2228b4a1d7046915ad93d6defe14b8c405ef07df444fa264736f6c63430008140033",
27
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361060335760003560e01c8063ac43d834146038575b600080fd5b60496043366004605b565b60ff1690565b60405190815260200160405180910390f35b600060208284031215606c57600080fd5b813560ff81168114607c57600080fd5b939250505056fea2646970667358221220f9eff042249ef4290a2228b4a1d7046915ad93d6defe14b8c405ef07df444fa264736f6c63430008140033",
28
- "linkReferences": {},
29
- "deployedLinkReferences": {}
30
- }
@@ -1,89 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {IRegisterable} from "../shared/IRegisterable.sol";
7
- import {Registerable} from "../shared/Registerable.sol";
8
-
9
- import {IRegistry} from "../registry/IRegistry.sol";
10
- import {IInstance} from "../instance/IInstance.sol";
11
- import {IServiceLinked} from "../instance/IServiceLinked.sol";
12
-
13
- import {IInstance} from "../instance/IInstance.sol";
14
- import {IComponent, IComponentModule} from "../instance/module/component/IComponent.sol";
15
- import {IComponentOwnerService} from "../instance/service/IComponentOwnerService.sol";
16
- import {IBaseComponent} from "./IBaseComponent.sol";
17
- import {NftId} from "../types/NftId.sol";
18
-
19
- abstract contract BaseComponent is
20
- Registerable,
21
- IBaseComponent
22
- {
23
- IComponentOwnerService internal _componentOwnerService;
24
-
25
- address internal _deployer;
26
- address internal _wallet;
27
- IERC20Metadata internal _token;
28
- IInstance internal _instance;
29
-
30
- constructor(
31
- address registry,
32
- NftId instanceNftId,
33
- address token
34
- )
35
- Registerable(registry, instanceNftId)
36
- {
37
- IRegistry.ObjectInfo memory instanceInfo = _registry.getObjectInfo(instanceNftId);
38
- _instance = IInstance(instanceInfo.objectAddress);
39
- require(
40
- _instance.supportsInterface(type(IInstance).interfaceId),
41
- ""
42
- );
43
-
44
- _componentOwnerService = _instance.getComponentOwnerService();
45
- _wallet = address(this);
46
- _token = IERC20Metadata(token);
47
- }
48
-
49
- // from registerable
50
- function register() public override(IRegisterable, Registerable) returns (NftId componentId) {
51
- require(msg.sender == getOwner(), "");
52
- require(
53
- address(_registry) != address(0),
54
- "ERROR:COB-001:REGISTRY_ZERO"
55
- );
56
- require(
57
- _registry.isRegistered(address(_instance)),
58
- "ERROR:COB:INSTANCE_NOT_REGISTERED"
59
- );
60
-
61
- componentId = _componentOwnerService.register(this);
62
- }
63
-
64
- // from component contract
65
- function lock() external onlyOwner override {
66
- _componentOwnerService.lock(this);
67
- }
68
-
69
- function unlock() external onlyOwner override {
70
- _componentOwnerService.unlock(this);
71
- }
72
-
73
- function getWallet()
74
- external
75
- view
76
- override
77
- returns (address walletAddress)
78
- {
79
- return _wallet;
80
- }
81
-
82
- function getToken() external view override returns (IERC20Metadata token) {
83
- return _token;
84
- }
85
-
86
- function getInstance() external view override returns (IInstance instance) {
87
- return _instance;
88
- }
89
- }
@@ -1,19 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {IRegisterable} from "../shared/IRegisterable.sol";
7
- import {IInstanceLinked} from "../instance/IInstanceLinked.sol";
8
-
9
- interface IBaseComponent is IRegisterable, IInstanceLinked {
10
-
11
- function lock() external;
12
-
13
- function unlock() external;
14
-
15
- function getToken() external view returns (IERC20Metadata token);
16
-
17
- function getWallet() external view returns (address walletAddress);
18
-
19
- }
@@ -1,57 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../types/NftId.sol";
5
- import {Fee} from "../types/Fee.sol";
6
- import {UFixed} from "../types/UFixed.sol";
7
- import {IBaseComponent} from "./IBaseComponent.sol";
8
-
9
- interface IPoolComponent is IBaseComponent {
10
-
11
- event LogUnderwrittenByPool(NftId policyNftId, uint256 collateralizationAmount, address pool);
12
-
13
- /**
14
- * @dev creates a new bundle for this pool.
15
- */
16
- function createBundle(
17
- uint256 initialAmount,
18
- uint256 lifetime,
19
- bytes memory filter
20
- ) external returns(NftId bundleNftId);
21
-
22
- /**
23
- * @dev this is a callback function that is called by the product service when underwriting a policy.
24
- * the pool has the option to check the details and object to underwriting by reverting.
25
- * the function is only called for "active" pools that ask to be involved/notified
26
- * by product related state changes.
27
- */
28
- function underwrite(
29
- NftId policyNftId,
30
- bytes memory policyData,
31
- bytes memory bundleFilter,
32
- uint256 collateralizationAmount
33
- ) external;
34
-
35
- /**
36
- * @dev returns true iff the policy application data in policyData matches
37
- * with the bundle filter criteria encoded in bundleFilter.
38
- */
39
- function policyMatchesBundle(
40
- bytes memory policyData,
41
- bytes memory bundleFilter
42
- )
43
- external
44
- view
45
- returns (bool isMatching);
46
-
47
- function isVerifying() external view returns (bool verifying);
48
-
49
- function getCollateralizationLevel() external view returns (UFixed collateralizationLevel);
50
-
51
- function getStakingFee() external view returns (Fee memory stakingFee);
52
-
53
- function getPerformanceFee()
54
- external
55
- view
56
- returns (Fee memory performanceFee);
57
- }
@@ -1,19 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../types/NftId.sol";
5
- import {Fee} from "../types/Fee.sol";
6
- import {IBaseComponent} from "./IBaseComponent.sol";
7
-
8
- interface IProductComponent is IBaseComponent {
9
- function setFees(
10
- Fee memory policyFee,
11
- Fee memory processingFee
12
- ) external;
13
-
14
- function getPoolNftId() external view returns (NftId poolNftId);
15
-
16
- function getPolicyFee() external view returns (Fee memory policyFee);
17
-
18
- function getProcessingFee() external view returns (Fee memory processingFee);
19
- }
@@ -1,174 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {ObjectType, POOL} from "../types/ObjectType.sol";
5
- import {IProductService} from "../instance/service/IProductService.sol";
6
- import {IPoolService} from "../instance/service/IPoolService.sol";
7
- import {NftId} from "../types/NftId.sol";
8
- import {Fee} from "../types/Fee.sol";
9
- import {UFixed} from "../types/UFixed.sol";
10
- import {IPoolComponent} from "./IPoolComponent.sol";
11
- import {BaseComponent} from "./BaseComponent.sol";
12
-
13
- contract Pool is BaseComponent, IPoolComponent {
14
-
15
- bool internal _isVerifying;
16
- UFixed internal _collateralizationLevel;
17
-
18
- // may be used to interact with instance by derived contracts
19
- IPoolService internal _poolService;
20
-
21
- // only relevant to protect callback functions for "active" pools
22
- IProductService private _productService;
23
-
24
- modifier onlyPoolService() {
25
- require(
26
- msg.sender == address(_poolService),
27
- "ERROR:POL-001:NOT_POOL_SERVICE");
28
- _;
29
- }
30
-
31
- modifier onlyProductService() {
32
- require(
33
- msg.sender == address(_productService),
34
- "ERROR:POL-002:NOT_PRODUCT_SERVICE");
35
- _;
36
- }
37
-
38
- constructor(
39
- address registry,
40
- NftId instanceNftId,
41
- // TODO refactor into tokenNftId
42
- address token,
43
- bool verifying,
44
- UFixed collateralizationLevel
45
- )
46
- BaseComponent(registry, instanceNftId, token)
47
- {
48
- _isVerifying = verifying;
49
- // TODO add validation
50
- _collateralizationLevel = collateralizationLevel;
51
-
52
- _poolService = _instance.getPoolService();
53
- _productService = _instance.getProductService();
54
- }
55
-
56
- function createBundle(
57
- uint256 initialAmount,
58
- uint256 lifetime,
59
- bytes memory filter
60
- )
61
- external
62
- virtual override
63
- returns(NftId bundleNftId)
64
- {
65
- address owner = msg.sender;
66
- bundleNftId = _poolService.createBundle(
67
- owner,
68
- initialAmount,
69
- lifetime,
70
- filter
71
- );
72
-
73
- // TODO add logging
74
- }
75
-
76
- /**
77
- * @dev see {IPool.underwrite}.
78
- * Default implementation that only writes a {LogUnderwrittenByPool} entry.
79
- */
80
- function underwrite(
81
- NftId policyNftId,
82
- bytes memory policyData,
83
- bytes memory bundleFilter,
84
- uint256 collateralizationAmount
85
- )
86
- external
87
- onlyProductService
88
- virtual override
89
- {
90
- _underwrite(policyNftId, policyData, bundleFilter, collateralizationAmount);
91
- }
92
-
93
- /**
94
- * @dev see {IPoolComponent.policyMatchesBundle}.
95
- * Default implementation always returns true
96
- */
97
- function policyMatchesBundle(
98
- bytes memory, // policyData
99
- bytes memory // bundleFilter
100
- )
101
- public
102
- view
103
- virtual override
104
- returns (bool isMatching)
105
- {
106
- return true;
107
- }
108
-
109
-
110
- function isVerifying() external view override returns (bool verifying) {
111
- return _isVerifying;
112
- }
113
-
114
- function getCollateralizationLevel() external view override returns (UFixed collateralizationLevel) {
115
- return _collateralizationLevel;
116
- }
117
-
118
- function _underwrite(
119
- NftId policyNftId,
120
- bytes memory policyData,
121
- bytes memory bundleFilter,
122
- uint256 collateralizationAmount
123
- )
124
- internal
125
- {
126
- require(
127
- policyMatchesBundle(policyData, bundleFilter),
128
- "ERROR:POL-020:POLICY_BUNDLE_MISMATCH"
129
- );
130
-
131
- emit LogUnderwrittenByPool(policyNftId, collateralizationAmount, address(this));
132
- }
133
-
134
- function _createBundle(
135
- address bundleOwner,
136
- uint256 amount,
137
- uint256 lifetime,
138
- bytes calldata filter
139
- )
140
- internal
141
- returns(NftId bundleNftId)
142
- {
143
- bundleNftId = _poolService.createBundle(
144
- bundleOwner,
145
- amount,
146
- lifetime,
147
- filter
148
- );
149
- }
150
-
151
- // from pool component
152
- function getStakingFee()
153
- external
154
- view
155
- override
156
- returns (Fee memory stakingFee)
157
- {
158
- return _instance.getPoolSetup(getNftId()).stakingFee;
159
- }
160
-
161
- function getPerformanceFee()
162
- external
163
- view
164
- override
165
- returns (Fee memory performanceFee)
166
- {
167
- return _instance.getPoolSetup(getNftId()).performanceFee;
168
- }
169
-
170
- // from registerable
171
- function getType() public pure override returns (ObjectType) {
172
- return POOL();
173
- }
174
- }
@@ -1,117 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IProductService} from "../instance/service/IProductService.sol";
5
- import {IProductComponent} from "./IProductComponent.sol";
6
- import {NftId} from "../types/NftId.sol";
7
- import {ObjectType, PRODUCT} from "../types/ObjectType.sol";
8
- import {Timestamp} from "../types/Timestamp.sol";
9
- import {Fee} from "../types/Fee.sol";
10
- import {BaseComponent} from "./BaseComponent.sol";
11
-
12
- contract Product is BaseComponent, IProductComponent {
13
- IProductService private _productService;
14
- address private _pool;
15
-
16
- constructor(
17
- address registry,
18
- NftId instanceNftid,
19
- address token,
20
- address pool
21
- ) BaseComponent(registry, instanceNftid, token) {
22
- // TODO add validation
23
- _productService = _instance.getProductService();
24
- _pool = pool;
25
- }
26
-
27
- function _createApplication(
28
- address applicationOwner,
29
- uint256 sumInsuredAmount,
30
- uint256 premiumAmount,
31
- uint256 lifetime,
32
- NftId bundleNftId
33
- ) internal returns (NftId nftId) {
34
- nftId = _productService.createApplication(
35
- applicationOwner,
36
- sumInsuredAmount,
37
- premiumAmount,
38
- lifetime,
39
- bundleNftId
40
- );
41
- }
42
-
43
- function _underwrite(
44
- NftId policyNftId,
45
- bool requirePremiumPayment,
46
- Timestamp activateAt
47
- )
48
- internal
49
- {
50
- _productService.underwrite(
51
- policyNftId,
52
- requirePremiumPayment,
53
- activateAt);
54
- }
55
-
56
- function _collectPremium(
57
- NftId policyNftId,
58
- Timestamp activateAt
59
- )
60
- internal
61
- {
62
- _productService.collectPremium(
63
- policyNftId,
64
- activateAt);
65
- }
66
-
67
- function _activate(
68
- NftId policyNftId,
69
- Timestamp activateAt
70
- )
71
- internal
72
- {
73
- _productService.activate(
74
- policyNftId,
75
- activateAt);
76
- }
77
-
78
- function getPoolNftId() external view override returns (NftId poolNftId) {
79
- return _registry.getNftId(_pool);
80
- }
81
-
82
- // from product component
83
- function setFees(
84
- Fee memory policyFee,
85
- Fee memory processingFee
86
- )
87
- external
88
- onlyOwner
89
- override
90
- {
91
- _productService.setFees(policyFee, processingFee);
92
- }
93
-
94
-
95
- function getPolicyFee()
96
- external
97
- view
98
- override
99
- returns (Fee memory policyFee)
100
- {
101
- return _instance.getProductSetup(getNftId()).policyFee;
102
- }
103
-
104
- function getProcessingFee()
105
- external
106
- view
107
- override
108
- returns (Fee memory processingFee)
109
- {
110
- return _instance.getProductSetup(getNftId()).processingFee;
111
- }
112
-
113
- // from registerable
114
- function getType() public pure override returns (ObjectType) {
115
- return PRODUCT();
116
- }
117
- }
@@ -1,38 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- contract Require {
5
- error AsmallerThanB_S();
6
- error AsmallerThanB_M(uint a);
7
- error AsmallerThanB_L(uint a, uint b);
8
-
9
- uint256 private _b;
10
-
11
- constructor() {
12
- _b = 42;
13
- }
14
-
15
- function isAlargerThanBRequire_S(
16
- uint a
17
- ) external view returns (bool isLarger) {
18
- require(a > _b, "ERROR:ABC-001");
19
-
20
- return true;
21
- }
22
-
23
- function isAlargerThanBRequire_M(
24
- uint a
25
- ) external view returns (bool isLarger) {
26
- require(a > _b, "ERROR:ABC-002:A_IS_SMALLER");
27
-
28
- return true;
29
- }
30
-
31
- function isAlargerThanBRequire_L(
32
- uint a
33
- ) external view returns (bool isLarger) {
34
- require(a > _b, "ERROR:ABC-003:A_IS_SMALLER_THAN_B");
35
-
36
- return true;
37
- }
38
- }